[automerger skipped] Merge "Add flag guard to hover actions in TouchInteractionService." into udc-qpr-dev am: 7110ff3bfb -s ours

am skip reason: Merged-In I74818f517b84c4aba8a7dd4a77397495595bbef5 with SHA-1 8bcf485ac4 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/25917278

Change-Id: I8559713c29258b96d8457f3fc1b013c489a77db7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/Android.bp b/Android.bp
index 316f9c0..e2dd48d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -23,42 +23,66 @@
 // All sources are split so they can be reused in many other libraries/apps in other folders
 filegroup {
     name: "launcher-src",
-    srcs: [ "src/**/*.java", "src/**/*.kt" ],
+    srcs: [
+        "src/**/*.java",
+        "src/**/*.kt",
+    ],
 }
 
 filegroup {
     name: "launcher-quickstep-src",
-    srcs: [ "quickstep/src/**/*.java", "quickstep/src/**/*.kt" ],
+    srcs: [
+        "quickstep/src/**/*.java",
+        "quickstep/src/**/*.kt",
+    ],
 }
 
 filegroup {
     name: "launcher-go-src",
-    srcs: [ "go/src/**/*.java", "go/src/**/*.kt" ],
+    srcs: [
+        "go/src/**/*.java",
+        "go/src/**/*.kt",
+    ],
 }
 
 filegroup {
     name: "launcher-go-quickstep-src",
-    srcs: [ "go/quickstep/src/**/*.java", "go/quickstep/src/**/*.kt" ],
+    srcs: [
+        "go/quickstep/src/**/*.java",
+        "go/quickstep/src/**/*.kt",
+    ],
 }
 
 filegroup {
     name: "launcher-src_shortcuts_overrides",
-    srcs: [ "src_shortcuts_overrides/**/*.java", "src_shortcuts_overrides/**/*.kt" ],
+    srcs: [
+        "src_shortcuts_overrides/**/*.java",
+        "src_shortcuts_overrides/**/*.kt",
+    ],
 }
 
 filegroup {
     name: "launcher-src_ui_overrides",
-    srcs: [ "src_ui_overrides/**/*.java", "src_ui_overrides/**/*.kt" ],
+    srcs: [
+        "src_ui_overrides/**/*.java",
+        "src_ui_overrides/**/*.kt",
+    ],
 }
 
 filegroup {
     name: "launcher-ext_tests",
-    srcs: [ "ext_tests/**/*.java", "ext_tests/**/*.kt" ],
+    srcs: [
+        "ext_tests/**/*.java",
+        "ext_tests/**/*.kt",
+    ],
 }
 
 filegroup {
     name: "launcher-quickstep-ext_tests",
-    srcs: [ "quickstep/ext_tests/**/*.java", "quickstep/ext_tests/**/*.kt" ],
+    srcs: [
+        "quickstep/ext_tests/**/*.java",
+        "quickstep/ext_tests/**/*.kt",
+    ],
 }
 
 // Proguard files for Launcher3
@@ -85,7 +109,7 @@
     srcs: [
         "tests/tapl/**/*.java",
     ],
-    resource_dirs: [ ],
+    resource_dirs: [],
     manifest: "tests/tapl/AndroidManifest.xml",
     platform_apis: true,
 }
@@ -99,7 +123,7 @@
     sdk_version: "current",
     proto: {
         type: "lite",
-        local_include_dirs:[
+        local_include_dirs: [
             "protos",
             "protos_overrides",
         ],
@@ -115,14 +139,14 @@
     sdk_version: "current",
     proto: {
         type: "lite",
-        local_include_dirs:[
+        local_include_dirs: [
             "quickstep/protos_overrides",
         ],
     },
     static_libs: [
-      "libprotobuf-java-lite",
-      "launcher_log_protos_lite"
-      ],
+        "libprotobuf-java-lite",
+        "launcher_log_protos_lite",
+    ],
 }
 
 java_library {
@@ -139,7 +163,7 @@
 // Library with all the dependencies for building Launcher3
 android_library {
     name: "Launcher3ResLib",
-    srcs: [ ],
+    srcs: [],
     resource_dirs: ["res"],
     static_libs: [
         "LauncherPluginLib",
@@ -154,13 +178,13 @@
         "com.google.android.material_material",
         "iconloader_base",
         "view_capture",
-        "animationlib"
+        "animationlib",
     ],
     manifest: "AndroidManifest-common.xml",
     sdk_version: "current",
     min_sdk_version: min_launcher3_sdk_version,
     lint: {
-        baseline_filename: "lint-baseline-res-lib.xml",
+        baseline_filename: "lint-baseline2.xml",
     },
 }
 
@@ -171,15 +195,18 @@
     name: "Launcher3CommonDepsLib",
     srcs: ["src_build_config/**/*.java"],
     static_libs: [
+        "SystemUI-statsd",
         "Launcher3ResLib",
         "launcher-testing-shared",
-        "animationlib"
+        "animationlib",
+        "com_android_launcher3_flags_lib",
+        "com_android_wm_shell_flags_lib",
     ],
     sdk_version: "current",
     min_sdk_version: min_launcher3_sdk_version,
     manifest: "AndroidManifest-common.xml",
     lint: {
-        baseline_filename: "lint-baseline-common-deps-lib.xml",
+        baseline_filename: "lint-baseline2.xml",
     },
 }
 
@@ -226,14 +253,14 @@
         "AndroidManifest-common.xml",
     ],
     lint: {
-        baseline_filename: "lint-baseline-launcher3.xml",
+        baseline_filename: "lint-baseline.xml",
     },
 }
 
 // Library with all the dependencies for building quickstep
 android_library {
     name: "QuickstepResLib",
-    srcs: [ ],
+    srcs: [],
     resource_dirs: [
         "quickstep/res",
     ],
@@ -244,6 +271,7 @@
         "Launcher3ResLib",
         "lottie",
         "SystemUISharedLib",
+        "SettingsLibSettingsTheme",
         "SystemUI-statsd",
         "animationlib",
     ],
@@ -251,7 +279,6 @@
     min_sdk_version: "current",
 }
 
-
 // Library with all the dependencies for building Launcher Go
 android_library {
     name: "LauncherGoResLib",
@@ -275,15 +302,12 @@
         "androidx.room_room-runtime",
     ],
     plugins: ["androidx.room_room-compiler-plugin"],
-    manifest: "quickstep/AndroidManifest-launcher.xml",
+    manifest: "quickstep/AndroidManifest.xml",
     additional_manifests: [
         "go/AndroidManifest.xml",
         "AndroidManifest-common.xml",
     ],
     min_sdk_version: "current",
-    lint: {
-        baseline_filename: "lint-baseline-go-res-lib.xml",
-    },
 }
 
 // Build rule for Quickstep library
@@ -312,9 +336,6 @@
     manifest: "quickstep/AndroidManifest.xml",
     platform_apis: true,
     min_sdk_version: "current",
-    lint: {
-        baseline_filename: "lint-baseline-launcher3.xml",
-    },
 }
 
 // Build rule for Launcher3 Go app for Android Go devices.
@@ -356,7 +377,7 @@
     manifest: "go/AndroidManifest.xml",
     jacoco: {
         include_filter: ["com.android.launcher3.*"],
-    }
+    },
 
 }
 
@@ -392,7 +413,7 @@
     manifest: "quickstep/AndroidManifest.xml",
     jacoco: {
         include_filter: ["com.android.launcher3.*"],
-    }
+    },
 
 }
 
@@ -410,7 +431,7 @@
     min_sdk_version: "current",
     target_sdk_version: "current",
 
-    srcs: [ ],
+    srcs: [],
 
     resource_dirs: [
         "go/quickstep/res",
@@ -442,7 +463,6 @@
     manifest: "quickstep/AndroidManifest.xml",
     jacoco: {
         include_filter: ["com.android.launcher3.*"],
-    }
+    },
 
 }
-
diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml
index 14605d8..7e824ec 100644
--- a/AndroidManifest-common.xml
+++ b/AndroidManifest-common.xml
@@ -67,6 +67,7 @@
 
     <application
         android:backupAgent="com.android.launcher3.LauncherBackupAgent"
+        android:name="com.android.launcher3.LauncherApplication"
         android:fullBackupOnly="true"
         android:backupInForeground="true"
         android:fullBackupContent="@xml/backupscheme"
diff --git a/OWNERS b/OWNERS
index 353ac8e..b8aae78 100644
--- a/OWNERS
+++ b/OWNERS
@@ -5,17 +5,25 @@
 #
 
 adamcohen@google.com
-captaincole@google.com
 hyunyoungs@google.com
-sunnygoyal@google.com
 twickham@google.com
 vadimt@google.com
 winsonc@google.com
 jonmiranda@google.com
 alexchau@google.com
 patmanning@google.com
-tsuharesu@google.com
 awickham@google.com
 
+# Launcher workspace eng team
+captaincole@google.com
+sunnygoyal@google.com
+charlander@google.com
+fbaron@google.com
+fengjial@google.com
+fransebas@google.com
+pinyaoting@google.com
+andonian@google.com
+sihua@google.com
+
 per-file FeatureFlags.java, globs = set noparent
 per-file FeatureFlags.java = sunnygoyal@google.com, winsonc@google.com, adamcohen@google.com, hyunyoungs@google.com, captaincole@google.com
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
index a77791f..3d15e77 100644
--- a/PREUPLOAD.cfg
+++ b/PREUPLOAD.cfg
@@ -1,4 +1,6 @@
 [Hook Scripts]
 checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --config_xml tools/checkstyle.xml --sha ${PREUPLOAD_COMMIT}
 
-ktfmt_hook = ${REPO_ROOT}/external/ktfmt/ktfmt.py --check ${PREUPLOAD_FILES}
\ No newline at end of file
+ktfmt_hook = ${REPO_ROOT}/external/ktfmt/ktfmt.py --check ${PREUPLOAD_FILES}
+
+flag_hook = ${REPO_ROOT}/frameworks/base/packages/SystemUI/flag_check.py --msg=${PREUPLOAD_COMMIT_MESSAGE} --files=${PREUPLOAD_FILES} --project=${REPO_PATH}
diff --git a/aconfig/Android.bp b/aconfig/Android.bp
new file mode 100644
index 0000000..5413601
--- /dev/null
+++ b/aconfig/Android.bp
@@ -0,0 +1,30 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+    // See: http://go/android-license-faq
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+aconfig_declarations {
+    name: "com_android_launcher3_flags",
+    package: "com.android.launcher3",
+    container: "system",
+    srcs: ["**/*.aconfig"],
+}
+
+java_aconfig_library {
+    name: "com_android_launcher3_flags_lib",
+    aconfig_declarations: "com_android_launcher3_flags",
+}
diff --git a/aconfig/launcher.aconfig b/aconfig/launcher.aconfig
new file mode 100644
index 0000000..f34105a
--- /dev/null
+++ b/aconfig/launcher.aconfig
@@ -0,0 +1,129 @@
+package: "com.android.launcher3"
+container: "system"
+
+flag {
+    name: "enable_expanding_pause_work_button"
+    namespace: "launcher"
+    description: "Expand and collapse pause work button while scrolling."
+    bug: "270390779"
+}
+
+flag {
+    name: "enable_twoline_allapps"
+    namespace: "launcher"
+    description: "Enables two line label inside all apps."
+    bug: "270390937"
+}
+
+flag {
+    name: "enable_grid_only_overview"
+    namespace: "launcher"
+    description: "Enable a grid-only overview without a focused task."
+    bug: "257950105"
+}
+
+flag {
+    name: "enable_cursor_hover_states"
+    namespace: "launcher"
+    description: "Enables cursor hover states for certain elements."
+    bug: "243191650"
+}
+
+flag {
+    name: "enable_responsive_workspace"
+    namespace: "launcher"
+    description: "Enables new workspace grid calculations method."
+    bug: "302189128"
+}
+
+flag {
+    name: "enable_overview_icon_menu"
+    namespace: "launcher"
+    description: "Enable updated overview icon and menu within task."
+    bug: "257950105"
+}
+
+flag {
+    name: "enable_focus_outline"
+    namespace: "launcher"
+    description: "Enables focus states outline for launcher."
+    bug: "310953377"
+}
+
+flag {
+    name: "enable_taskbar_no_recreate"
+    namespace: "launcher"
+    description: "Enables taskbar with no recreation from lifecycle changes of TaskbarActivityContext."
+    bug: "299193589"
+}
+
+flag {
+    name: "enable_home_transition_listener"
+    namespace: "launcher"
+    description: "Enables launcher to listen to all transitions that include home activity"
+    bug: "306053414"
+}
+
+flag {
+    name: "enable_taskbar_pinning"
+    namespace: "launcher"
+    description: "Enables taskbar pinning to allow user to switch between transient and persistent taskbar flavors."
+    bug: "296231746"
+}
+
+flag {
+    name: "enable_unfolded_two_pane_picker"
+    namespace: "launcher"
+    description: "Enables two pane widget picker for unfolded foldables"
+    bug: "313922374"
+}
+
+flag {
+    name: "enable_tablet_two_pane_picker_v2"
+    namespace: "launcher"
+    description: "Enables full width two pane widget picker for tablets in landscape and portrait"
+    bug: "315055849"
+}
+
+flag {
+    name: "enable_shortcut_dont_suggest_app"
+    namespace: "launcher"
+    description: "Enables don't suggest app shortcut for suggested apps"
+    bug: "319250810"
+}
+
+flag {
+    name: "enable_support_for_archiving"
+    namespace: "launcher"
+    description: "Enables support for archived apps in Launcher3, such as empty progress bar etc."
+    bug: "210590852"
+}
+
+flag {
+    name: "enable_private_space_install_shortcut"
+    namespace: "launcher"
+    description: "Enables long-press shortcut to install a copy of an app to Private space"
+    bug: "316118005"
+}
+
+flag {
+    name: "enable_launcher_br_metrics_fixed"
+    namespace: "launcher"
+    description: "Enables logging of Launcher restore metrics to the Backup & Restore team"
+    bug: "307527314"
+    is_fixed_read_only: true
+}
+
+flag {
+    name: "enable_reboot_unlock_animation"
+    namespace: "launcher"
+    description: "Enables unlock animation after device reboot"
+    bug: "298231234"
+}
+
+flag {
+    name: "enable_workspace_inflation"
+    namespace: "launcher"
+    description: "Enables asnc inflation of workspace icons"
+    bug: "318539160"
+}
diff --git a/aconfig/launcher_search.aconfig b/aconfig/launcher_search.aconfig
new file mode 100644
index 0000000..bdce0f3
--- /dev/null
+++ b/aconfig/launcher_search.aconfig
@@ -0,0 +1,30 @@
+package: "com.android.launcher3"
+container: "system"
+
+flag {
+    name: "enable_private_space"
+    namespace: "launcher_search"
+    description: "Enables all Launcher features associated with private space."
+    bug: "306187906"
+}
+
+flag {
+    name: "private_space_animation"
+    namespace: "launcher_search"
+    description: "This flag enables the animation of the Private Space container"
+    bug: "299294792"
+}
+
+flag {
+    name: "private_space_sys_apps_separation"
+    namespace: "launcher_search"
+    description: "This flag enables showing system apps separate in Private Space container."
+    bug: "308054233"
+}
+
+flag {
+    name: "private_space_app_installer_button"
+    namespace: "launcher_search"
+    description: "This flag enables addition of App Installer button in Private Space container."
+    bug: "308064949"
+}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 090bafe..f4d7261 100644
--- a/build.gradle
+++ b/build.gradle
@@ -157,6 +157,8 @@
     withoutQuickstepImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/libs", include: 'plugin_core.jar')
 
     testImplementation 'junit:junit:4.12'
+    testImplementation libs.mockitoInlineExtended
+    androidTestImplementation libs.mockitoInlineExtended
     androidTestImplementation "org.mockito:mockito-core:1.9.5"
     androidTestImplementation 'com.google.dexmaker:dexmaker:1.2'
     androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
diff --git a/go/quickstep/src/com/android/launcher3/AppSharing.java b/go/quickstep/src/com/android/launcher3/AppSharing.java
index cb1f1c7..78524d1 100644
--- a/go/quickstep/src/com/android/launcher3/AppSharing.java
+++ b/go/quickstep/src/com/android/launcher3/AppSharing.java
@@ -27,6 +27,7 @@
 import android.os.Process;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
@@ -64,14 +65,17 @@
 
     private static final String TAG = "AppSharing";
     private static final String FILE_PROVIDER_SUFFIX = ".overview.fileprovider";
-    private static final String APP_EXSTENSION = ".apk";
+    private static final String APP_EXTENSION = ".apk";
     private static final String APP_MIME_TYPE = "application/application";
 
     private final String mSharingComponent;
     private AppShareabilityManager mShareabilityMgr;
 
     private AppSharing(Launcher launcher) {
-        mSharingComponent = launcher.getText(R.string.app_sharing_component).toString();
+        String sharingComponent = Settings.Secure.getString(launcher.getContentResolver(),
+                Settings.Secure.NEARBY_SHARING_COMPONENT);
+        mSharingComponent = TextUtils.isEmpty(sharingComponent) ? launcher.getText(
+                R.string.app_sharing_component).toString() : sharingComponent;
     }
 
     private Uri getShareableUri(Context context, String path, String displayName) {
@@ -147,7 +151,7 @@
                 PackageInfo packageInfo = packageManager.getPackageInfo(packageName, 0);
                 sourceDir = packageInfo.applicationInfo.sourceDir;
                 appLabel = packageManager.getApplicationLabel(packageInfo.applicationInfo)
-                        .toString() + APP_EXSTENSION;
+                        + APP_EXTENSION;
             } catch (Exception e) {
                 Log.e(TAG, "Could not find info for package \"" + packageName + "\"");
                 return;
@@ -175,9 +179,7 @@
                 return;
             }
             checkShareability(/* requestUpdateIfUnknown */ false);
-            mTarget.runOnUiThread(() -> {
-                mPopupDataProvider.redrawSystemShortcuts();
-            });
+            mTarget.runOnUiThread(mPopupDataProvider::redrawSystemShortcuts);
         }
 
         private void checkShareability(boolean requestUpdateIfUnknown) {
diff --git a/go/src/com/android/launcher3/model/LauncherBinder.java b/go/src/com/android/launcher3/model/LauncherBinder.java
index 437d8ca..7a0dce8 100644
--- a/go/src/com/android/launcher3/model/LauncherBinder.java
+++ b/go/src/com/android/launcher3/model/LauncherBinder.java
@@ -38,4 +38,8 @@
     @Override
     public void bindWidgets() {
     }
+
+    @Override
+    public void bindSmartspaceWidget() {
+    }
 }
diff --git a/go/src/com/android/launcher3/model/WidgetsModel.java b/go/src/com/android/launcher3/model/WidgetsModel.java
index 1aa5d03..3a28444 100644
--- a/go/src/com/android/launcher3/model/WidgetsModel.java
+++ b/go/src/com/android/launcher3/model/WidgetsModel.java
@@ -33,6 +33,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.function.Predicate;
 
 /**
  * Widgets data model that is used by the adapters of the widget views and controllers.
@@ -48,6 +49,19 @@
     private static final ArrayList<WidgetsListBaseEntry> EMPTY_WIDGET_LIST = new ArrayList<>();
 
     /**
+     * Returns a list of {@link WidgetsListBaseEntry} filtered using given widget item filter. All
+     * {@link WidgetItem}s in a single row are sorted (based on label and user), but the overall
+     * list of {@link WidgetsListBaseEntry}s is not sorted.
+     *
+     * @see com.android.launcher3.widget.picker.WidgetsListAdapter#setWidgets(List)
+     */
+    public synchronized ArrayList<WidgetsListBaseEntry> getFilteredWidgetsListForPicker(
+            Context context,
+            Predicate<WidgetItem> widgetItemFilter) {
+        return EMPTY_WIDGET_LIST;
+    }
+
+    /**
      * Returns a list of {@link WidgetsListBaseEntry}. All {@link WidgetItem} in a single row are
      * sorted (based on label and user), but the overall list of {@link WidgetsListBaseEntry}s is
      * not sorted. This list is sorted at the UI when using
@@ -88,4 +102,4 @@
             Context context, ComponentName provider, UserHandle userHandle) {
         return new PackageItemInfo(provider.getPackageName(), userHandle);
     }
-}
\ No newline at end of file
+}
diff --git a/lint-baseline-common-deps-lib.xml b/lint-baseline-common-deps-lib.xml
deleted file mode 100644
index e52f8fb..0000000
--- a/lint-baseline-common-deps-lib.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.1.0" client="cli" variant="all" version="4.1.0">
-
-    <issue
-        id="NewApi"
-        message="`?android:attr/dialogCornerRadius` requires API level 28 (current min is 26)"
-        errorLine1="        android:topLeftRadius=&quot;?android:attr/dialogCornerRadius&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/res/drawable/add_item_dialog_background.xml"
-            line="6"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="`?android:attr/dialogCornerRadius` requires API level 28 (current min is 26)"
-        errorLine1="        android:topRightRadius=&quot;?android:attr/dialogCornerRadius&quot; />"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/res/drawable/add_item_dialog_background.xml"
-            line="7"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="`@android:style/Widget.DeviceDefault.Button.Colored` requires API level 28 (current min is 26)"
-        errorLine1="    &lt;style name=&quot;Widget.DeviceDefault.Button.Rounded.Colored&quot; parent=&quot;@android:style/Widget.DeviceDefault.Button.Colored&quot;>"
-        errorLine2="                                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/res/values/styles.xml"
-            line="287"
-            column="63"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="`@android:dimen/system_app_widget_background_radius` requires API level 31 (current min is 26)"
-        errorLine1="    &lt;corners android:radius=&quot;@android:dimen/system_app_widget_background_radius&quot; />"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/res/drawable/widget_resize_frame.xml"
-            line="20"
-            column="14"/>
-    </issue>
-
-</issues>
diff --git a/lint-baseline-go-res-lib.xml b/lint-baseline-go-res-lib.xml
deleted file mode 100644
index c5669f2..0000000
--- a/lint-baseline-go-res-lib.xml
+++ /dev/null
@@ -1,576 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.1.0" client="cli" variant="all" version="4.1.0">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.View#getWindowInsetsController`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsContainerView.java"
-            line="203"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowInsets.Type#ime`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                                           ~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsContainerView.java"
-            line="203"
-            column="60"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowInsetsController#hide`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                    ~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsContainerView.java"
-            line="203"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.View#getWindowInsetsController`"
-        errorLine1="                getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsRecyclerView.java"
-            line="193"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowInsets.Type#ime`"
-        errorLine1="                getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                                                   ~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsRecyclerView.java"
-            line="193"
-            column="68"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowInsetsController#hide`"
-        errorLine1="                getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                            ~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsRecyclerView.java"
-            line="193"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `android.appwidget.AppWidgetHostView#updateAppWidgetSize`"
-        errorLine1="            widgetView.updateAppWidgetSize(new Bundle(), sizes);"
-        errorLine2="                       ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/AppWidgetResizeFrame.java"
-            line="399"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `android.graphics.Rect#inset`"
-        errorLine1="        potentialTaskRect.inset(insets.left, insets.top, insets.right, insets.bottom);"
-        errorLine2="                          ~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/BaseActivityInterface.java"
-            line="248"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `android.graphics.Rect#inset`"
-        errorLine1="        potentialTaskRect.inset("
-        errorLine2="                          ~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/BaseActivityInterface.java"
-            line="249"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `android.graphics.Rect#inset`"
-        errorLine1="        outRect.inset(Math.max(insets.left, sideMargin), Math.max(insets.top, topMargin),"
-        errorLine2="                ~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/BaseActivityInterface.java"
-            line="291"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `android.graphics.Rect#inset`"
-        errorLine1="        gridRect.inset(0, dp.overviewTaskThumbnailTopMarginPx, 0, 0);"
-        errorLine2="                 ~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/BaseActivityInterface.java"
-            line="315"
-            column="18"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowManager#getCurrentWindowMetrics`"
-        errorLine1="                    .getCurrentWindowMetrics().getWindowInsets();"
-        errorLine2="                     ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java"
-            line="236"
-            column="22"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowMetrics#getWindowInsets`"
-        errorLine1="                    .getCurrentWindowMetrics().getWindowInsets();"
-        errorLine2="                                               ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java"
-            line="236"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.content.Context#getDisplay`"
-        errorLine1="            if (mContext.getDisplay() != null) {"
-        errorLine2="                         ~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/interaction/EdgeBackGestureHandler.java"
-            line="115"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.content.Context#getDisplay`"
-        errorLine1="                mContext.getDisplay().getRealSize(mDisplaySize);"
-        errorLine2="                         ~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/interaction/EdgeBackGestureHandler.java"
-            line="116"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.content.ContextWrapper#getDisplay`"
-        errorLine1="        Display display = getDisplay();"
-        errorLine2="                          ~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/interaction/GestureSandboxActivity.java"
-            line="153"
-            column="27"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `java.util.List#of`"
-        errorLine1="                    List.of(new Rect(0, 0, metrics.widthPixels, metrics.heightPixels)));"
-        errorLine2="                         ~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/interaction/GestureSandboxActivity.java"
-            line="158"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `android.appwidget.AppWidgetHostView#resetColorResources`"
-        errorLine1="            resetColorResources();"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java"
-            line="137"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `java.util.List#of`"
-        errorLine1="            mColorExtractor.addLocation(List.of(mLastLocationRegistered));"
-        errorLine2="                                             ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java"
-            line="367"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `java.util.List#of`"
-        errorLine1="                mColorExtractor.addLocation(List.of(mLastLocationRegistered));"
-        errorLine2="                                                 ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java"
-            line="390"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#maxResizeWidth`"
-        errorLine1="                (ATLEAST_S &amp;&amp; maxResizeWidth > 0)"
-        errorLine2="                              ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="91"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#maxResizeWidth`"
-        errorLine1="                        ? getSpanX(widgetPadding, maxResizeWidth, smallestCellWidth)"
-        errorLine2="                                                  ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="92"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#maxResizeHeight`"
-        errorLine1="                (ATLEAST_S &amp;&amp; maxResizeHeight > 0)"
-        errorLine2="                              ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="95"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#maxResizeHeight`"
-        errorLine1="                        ? getSpanY(widgetPadding, maxResizeHeight, smallestCellHeight)"
-        errorLine2="                                                  ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="96"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#targetCellWidth`"
-        errorLine1="        if (ATLEAST_S &amp;&amp; targetCellWidth >= minSpanX &amp;&amp; targetCellWidth &lt;= maxSpanX"
-        errorLine2="                         ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="101"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#targetCellWidth`"
-        errorLine1="        if (ATLEAST_S &amp;&amp; targetCellWidth >= minSpanX &amp;&amp; targetCellWidth &lt;= maxSpanX"
-        errorLine2="                                                        ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="101"
-            column="57"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#targetCellHeight`"
-        errorLine1="                &amp;&amp; targetCellHeight >= minSpanY &amp;&amp; targetCellHeight &lt;= maxSpanY) {"
-        errorLine2="                   ~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="102"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#targetCellHeight`"
-        errorLine1="                &amp;&amp; targetCellHeight >= minSpanY &amp;&amp; targetCellHeight &lt;= maxSpanY) {"
-        errorLine2="                                                   ~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="102"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#targetCellWidth`"
-        errorLine1="            spanX = targetCellWidth;"
-        errorLine2="                    ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="103"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#targetCellHeight`"
-        errorLine1="            spanY = targetCellHeight;"
-        errorLine2="                    ~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="104"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.content.Context#getDisplay`"
-        errorLine1="        final Display display = mContext.getDisplay();"
-        errorLine2="                                         ~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/interaction/NavBarGestureHandler.java"
-            line="94"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `android.content.pm.LauncherActivityInfo#getLoadingProgress`"
-        errorLine1="            return (int) (100 * info.getLoadingProgress());"
-        errorLine2="                                     ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/util/PackageManagerHelper.java"
-            line="338"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `java.util.List#of`"
-        errorLine1="    private List&lt;WidgetsListBaseEntry> mAllWidgets = List.of();"
-        errorLine2="                                                          ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/popup/PopupDataProvider.java"
-            line="64"
-            column="59"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `java.util.List#of`"
-        errorLine1="    private List&lt;ItemInfo> mRecommendedWidgets = List.of();"
-        errorLine2="                                                      ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/popup/PopupDataProvider.java"
-            line="66"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `new android.view.SurfaceControlViewHost`"
-        errorLine1="                    .submit(() -> new SurfaceControlViewHost(mContext, mDisplay, mHostToken))"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="91"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.SurfaceControlViewHost#getSurfacePackage`"
-        errorLine1="            surfacePackage = mSurfaceControlViewHost.getSurfacePackage();"
-        errorLine2="                                                     ~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="93"
-            column="54"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.SurfaceControlViewHost#setView`"
-        errorLine1="                host.setView(view, view.getMeasuredWidth(), view.getMeasuredHeight());"
-        errorLine2="                     ~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="127"
-            column="22"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Cast from `SurfacePackage` to `Parcelable` requires API level 30 (current min is 29)"
-        errorLine1="        result.putParcelable(KEY_SURFACE_PACKAGE, surfacePackage);"
-        errorLine2="                                                  ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="132"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.SurfaceControlViewHost#release`"
-        errorLine1="                mSurfaceControlViewHost.release();"
-        errorLine2="                                        ~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="149"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.graphics.Outline#setPath`"
-        errorLine1="        outline.setPath(mPath);"
-        errorLine2="                ~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/popup/RoundedArrowDrawable.java"
-            line="88"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `new android.widget.EdgeEffect`"
-        errorLine1="                ? new EdgeEffect(context, attrs) : new EdgeEffect(context);"
-        errorLine2="                  ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/views/SpringRelativeLayout.java"
-            line="49"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `new android.widget.EdgeEffect`"
-        errorLine1="                ? new EdgeEffect(context, attrs) : new EdgeEffect(context);"
-        errorLine2="                  ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/views/SpringRelativeLayout.java"
-            line="51"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowManager.LayoutParams#setFitInsetsTypes`"
-        errorLine1="        mWindowLayoutParams.setFitInsetsTypes(0);"
-        errorLine2="                            ~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/launcher3/taskbar/TaskbarController.java"
-            line="316"
-            column="29"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowInsets#getInsets`"
-        errorLine1="            Insets systemInsets = insets.getInsets(WindowInsets.Type.systemBars());"
-        errorLine2="                                         ~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/interaction/TutorialFragment.java"
-            line="118"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowInsets.Type#systemBars`"
-        errorLine1="            Insets systemInsets = insets.getInsets(WindowInsets.Type.systemBars());"
-        errorLine2="                                                                     ~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/quickstep/src/com/android/quickstep/interaction/TutorialFragment.java"
-            line="118"
-            column="70"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#loadDescription`"
-        errorLine1="            CharSequence description = mItem.widgetInfo.loadDescription(getContext());"
-        errorLine2="                                                        ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/WidgetCell.java"
-            line="193"
-            column="57"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#previewLayout`"
-        errorLine1="                &amp;&amp; item.widgetInfo.previewLayout != Resources.ID_NULL) {"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/WidgetCell.java"
-            line="214"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 29): `android.appwidget.AppWidgetProviderInfo#previewLayout`"
-        errorLine1="            launcherAppWidgetProviderInfo.initialLayout = item.widgetInfo.previewLayout;"
-        errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/WidgetCell.java"
-            line="222"
-            column="59"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.View#getWindowInsetsController`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
-            line="558"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowInsets.Type#ime`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                                           ~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
-            line="558"
-            column="60"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `android.view.WindowInsetsController#hide`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                    ~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
-            line="558"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 29): `java.util.List#of`"
-        errorLine1="            return new RecommendationTableData(List.of(), previewScale);"
-        errorLine2="                                                    ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsRecommendationTableLayout.java"
-            line="139"
-            column="53"/>
-    </issue>
-
-</issues>
diff --git a/lint-baseline-launcher3.xml b/lint-baseline-launcher3.xml
deleted file mode 100644
index 107a346..0000000
--- a/lint-baseline-launcher3.xml
+++ /dev/null
@@ -1,609 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.1.0" client="cli" variant="all" version="4.1.0">
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 26): `android.os.UserManager#requestQuietModeEnabled`"
-        errorLine1="            showConfirm |= !userManager.requestQuietModeEnabled(!toState, userProfile);"
-        errorLine2="                                        ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/WorkModeSwitch.java"
-            line="110"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.View#getWindowInsetsController`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsContainerView.java"
-            line="203"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.WindowInsets.Type#ime`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                                           ~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsContainerView.java"
-            line="203"
-            column="60"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.WindowInsetsController#hide`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                    ~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsContainerView.java"
-            line="203"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.View#getWindowInsetsController`"
-        errorLine1="                getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsRecyclerView.java"
-            line="193"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.WindowInsets.Type#ime`"
-        errorLine1="                getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                                                   ~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsRecyclerView.java"
-            line="193"
-            column="68"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.WindowInsetsController#hide`"
-        errorLine1="                getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                            ~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsRecyclerView.java"
-            line="193"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 26): `android.appwidget.AppWidgetHostView#updateAppWidgetSize`"
-        errorLine1="            widgetView.updateAppWidgetSize(new Bundle(), sizes);"
-        errorLine2="                       ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/AppWidgetResizeFrame.java"
-            line="399"
-            column="24"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.WindowManager#getCurrentWindowMetrics`"
-        errorLine1="                    .getCurrentWindowMetrics().getWindowInsets();"
-        errorLine2="                     ~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java"
-            line="236"
-            column="22"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.WindowMetrics#getWindowInsets`"
-        errorLine1="                    .getCurrentWindowMetrics().getWindowInsets();"
-        errorLine2="                                               ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java"
-            line="236"
-            column="48"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 26): `android.content.res.Resources#getFloat`"
-        errorLine1="        folderLabelTextScale = res.getFloat(R.dimen.folder_label_text_scale);"
-        errorLine2="                                   ~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java"
-            line="256"
-            column="36"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 26): `android.content.res.Resources#getFloat`"
-        errorLine1="        return mContext.getResources().getFloat(resId);"
-        errorLine2="                                       ~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/util/DynamicResource.java"
-            line="73"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 26): `android.appwidget.AppWidgetHostView#resetColorResources`"
-        errorLine1="            resetColorResources();"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java"
-            line="137"
-            column="13"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `java.util.List#of`"
-        errorLine1="            mColorExtractor.addLocation(List.of(mLastLocationRegistered));"
-        errorLine2="                                             ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java"
-            line="367"
-            column="46"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `java.util.List#of`"
-        errorLine1="                mColorExtractor.addLocation(List.of(mLastLocationRegistered));"
-        errorLine2="                                                 ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java"
-            line="390"
-            column="50"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#maxResizeWidth`"
-        errorLine1="                (ATLEAST_S &amp;&amp; maxResizeWidth > 0)"
-        errorLine2="                              ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="91"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#maxResizeWidth`"
-        errorLine1="                        ? getSpanX(widgetPadding, maxResizeWidth, smallestCellWidth)"
-        errorLine2="                                                  ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="92"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#maxResizeHeight`"
-        errorLine1="                (ATLEAST_S &amp;&amp; maxResizeHeight > 0)"
-        errorLine2="                              ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="95"
-            column="31"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#maxResizeHeight`"
-        errorLine1="                        ? getSpanY(widgetPadding, maxResizeHeight, smallestCellHeight)"
-        errorLine2="                                                  ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="96"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#targetCellWidth`"
-        errorLine1="        if (ATLEAST_S &amp;&amp; targetCellWidth >= minSpanX &amp;&amp; targetCellWidth &lt;= maxSpanX"
-        errorLine2="                         ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="101"
-            column="26"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#targetCellWidth`"
-        errorLine1="        if (ATLEAST_S &amp;&amp; targetCellWidth >= minSpanX &amp;&amp; targetCellWidth &lt;= maxSpanX"
-        errorLine2="                                                        ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="101"
-            column="57"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#targetCellHeight`"
-        errorLine1="                &amp;&amp; targetCellHeight >= minSpanY &amp;&amp; targetCellHeight &lt;= maxSpanY) {"
-        errorLine2="                   ~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="102"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#targetCellHeight`"
-        errorLine1="                &amp;&amp; targetCellHeight >= minSpanY &amp;&amp; targetCellHeight &lt;= maxSpanY) {"
-        errorLine2="                                                   ~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="102"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#targetCellWidth`"
-        errorLine1="            spanX = targetCellWidth;"
-        errorLine2="                    ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="103"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#targetCellHeight`"
-        errorLine1="            spanY = targetCellHeight;"
-        errorLine2="                    ~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java"
-            line="104"
-            column="21"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 28 (current min is 26): `android.app.Person#getKey`"
-        errorLine1="        return people.stream().filter(person -> person.getKey() != null)"
-        errorLine2="                                                       ~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/notification/NotificationKeyData.java"
-            line="72"
-            column="56"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Method reference requires API level 28 (current min is 26): `Person::getKey`"
-        errorLine1="                .map(Person::getKey).sorted().toArray(String[]::new);"
-        errorLine2="                     ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/notification/NotificationKeyData.java"
-            line="73"
-            column="22"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 26): `android.content.pm.LauncherActivityInfo#getLoadingProgress`"
-        errorLine1="            return (int) (100 * info.getLoadingProgress());"
-        errorLine2="                                     ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/util/PackageManagerHelper.java"
-            line="338"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_LEFT`"
-        errorLine1="                AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_LEFT"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
-            line="1752"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_RIGHT`"
-        errorLine1="                : AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_RIGHT);"
-        errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
-            line="1753"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_RIGHT`"
-        errorLine1="                AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_RIGHT"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
-            line="1760"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_LEFT`"
-        errorLine1="                : AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_LEFT);"
-        errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
-            line="1761"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `java.util.List#of`"
-        errorLine1="    private List&lt;WidgetsListBaseEntry> mAllWidgets = List.of();"
-        errorLine2="                                                          ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/popup/PopupDataProvider.java"
-            line="64"
-            column="59"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `java.util.List#of`"
-        errorLine1="    private List&lt;ItemInfo> mRecommendedWidgets = List.of();"
-        errorLine2="                                                      ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/popup/PopupDataProvider.java"
-            line="66"
-            column="55"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `new android.view.SurfaceControlViewHost`"
-        errorLine1="                    .submit(() -> new SurfaceControlViewHost(mContext, mDisplay, mHostToken))"
-        errorLine2="                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="91"
-            column="35"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.SurfaceControlViewHost#getSurfacePackage`"
-        errorLine1="            surfacePackage = mSurfaceControlViewHost.getSurfacePackage();"
-        errorLine2="                                                     ~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="93"
-            column="54"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.SurfaceControlViewHost#setView`"
-        errorLine1="                host.setView(view, view.getMeasuredWidth(), view.getMeasuredHeight());"
-        errorLine2="                     ~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="127"
-            column="22"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Cast from `SurfacePackage` to `Parcelable` requires API level 30 (current min is 26)"
-        errorLine1="        result.putParcelable(KEY_SURFACE_PACKAGE, surfacePackage);"
-        errorLine2="                                                  ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="132"
-            column="51"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.SurfaceControlViewHost#release`"
-        errorLine1="                mSurfaceControlViewHost.release();"
-        errorLine2="                                        ~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java"
-            line="149"
-            column="41"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.graphics.Outline#setPath`"
-        errorLine1="        outline.setPath(mPath);"
-        errorLine2="                ~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/popup/RoundedArrowDrawable.java"
-            line="88"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 26): `new android.widget.EdgeEffect`"
-        errorLine1="                ? new EdgeEffect(context, attrs) : new EdgeEffect(context);"
-        errorLine2="                  ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/views/SpringRelativeLayout.java"
-            line="49"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 26): `new android.widget.EdgeEffect`"
-        errorLine1="                ? new EdgeEffect(context, attrs) : new EdgeEffect(context);"
-        errorLine2="                  ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/views/SpringRelativeLayout.java"
-            line="51"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 26): `android.view.WindowInsets#getTappableElementInsets`"
-        errorLine1="            return windowInsets.getTappableElementInsets().bottom > 0;"
-        errorLine2="                                ~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/SysUiScrim.java"
-            line="190"
-            column="33"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 29 (current min is 26): `android.graphics.Insets#bottom`"
-        errorLine1="            return windowInsets.getTappableElementInsets().bottom > 0;"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/SysUiScrim.java"
-            line="190"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 28 (current min is 26): `android.appwidget.AppWidgetProviderInfo#widgetFeatures`"
-        errorLine1="        int featureFlags = mProviderInfo.widgetFeatures;"
-        errorLine2="                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/WidgetAddFlowHandler.java"
-            line="93"
-            column="28"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#loadDescription`"
-        errorLine1="            CharSequence description = mItem.widgetInfo.loadDescription(getContext());"
-        errorLine2="                                                        ~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/WidgetCell.java"
-            line="193"
-            column="57"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#previewLayout`"
-        errorLine1="                &amp;&amp; item.widgetInfo.previewLayout != Resources.ID_NULL) {"
-        errorLine2="                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/WidgetCell.java"
-            line="214"
-            column="20"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 31 (current min is 26): `android.appwidget.AppWidgetProviderInfo#previewLayout`"
-        errorLine1="            launcherAppWidgetProviderInfo.initialLayout = item.widgetInfo.previewLayout;"
-        errorLine2="                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/WidgetCell.java"
-            line="222"
-            column="59"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.View#getWindowInsetsController`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
-            line="558"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.WindowInsets.Type#ime`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                                           ~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
-            line="558"
-            column="60"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `android.view.WindowInsetsController#hide`"
-        errorLine1="        getWindowInsetsController().hide(WindowInsets.Type.ime());"
-        errorLine2="                                    ~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
-            line="558"
-            column="37"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level R (current min is 26): `java.util.List#of`"
-        errorLine1="            return new RecommendationTableData(List.of(), previewScale);"
-        errorLine2="                                                    ~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsRecommendationTableLayout.java"
-            line="139"
-            column="53"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Method reference requires API level 28 (current min is 26): `Person::getKey`"
-        errorLine1="            : Arrays.stream(persons).map(Person::getKey).sorted().toArray(String[]::new);"
-        errorLine2="                                         ~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/model/data/WorkspaceItemInfo.java"
-            line="178"
-            column="42"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 26): `android.appwidget.AppWidgetHostView#setColorResources`"
-        errorLine1="                setColorResources(mWallpaperColorResources);"
-        errorLine2="                ~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java"
-            line="528"
-            column="17"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 27 (current min is 26): `android.app.WallpaperManager#getWallpaperColors`"
-        errorLine1="                    : WallpaperManager.getInstance(context).getWallpaperColors(FLAG_SYSTEM);"
-        errorLine2="                                                            ~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java"
-            line="288"
-            column="61"/>
-    </issue>
-
-</issues>
diff --git a/lint-baseline-res-lib.xml b/lint-baseline-res-lib.xml
deleted file mode 100644
index e52f8fb..0000000
--- a/lint-baseline-res-lib.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<issues format="5" by="lint 4.1.0" client="cli" variant="all" version="4.1.0">
-
-    <issue
-        id="NewApi"
-        message="`?android:attr/dialogCornerRadius` requires API level 28 (current min is 26)"
-        errorLine1="        android:topLeftRadius=&quot;?android:attr/dialogCornerRadius&quot;"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/res/drawable/add_item_dialog_background.xml"
-            line="6"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="`?android:attr/dialogCornerRadius` requires API level 28 (current min is 26)"
-        errorLine1="        android:topRightRadius=&quot;?android:attr/dialogCornerRadius&quot; />"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/res/drawable/add_item_dialog_background.xml"
-            line="7"
-            column="9"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="`@android:style/Widget.DeviceDefault.Button.Colored` requires API level 28 (current min is 26)"
-        errorLine1="    &lt;style name=&quot;Widget.DeviceDefault.Button.Rounded.Colored&quot; parent=&quot;@android:style/Widget.DeviceDefault.Button.Colored&quot;>"
-        errorLine2="                                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/res/values/styles.xml"
-            line="287"
-            column="63"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="`@android:dimen/system_app_widget_background_radius` requires API level 31 (current min is 26)"
-        errorLine1="    &lt;corners android:radius=&quot;@android:dimen/system_app_widget_background_radius&quot; />"
-        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="packages/apps/Launcher3/res/drawable/widget_resize_frame.xml"
-            line="20"
-            column="14"/>
-    </issue>
-
-</issues>
diff --git a/lint-baseline.xml b/lint-baseline.xml
index 23a22be..fe005ca 100644
--- a/lint-baseline.xml
+++ b/lint-baseline.xml
@@ -1,148 +1,169 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<issues format="6" by="lint 8.0.0-dev" type="baseline" dependencies="true" variant="all" version="8.0.0-dev">
+<issues format="6" by="lint 8.4.0-alpha01" type="baseline" client="" dependencies="true" name="" variant="all" version="8.4.0-alpha01">
 
     <issue
         id="NewApi"
-        message="Call requires API level 28 (current min is 26): `android.app.Person#getKey`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/notification/NotificationKeyData.java"
-            line="72"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 29 (current min is 26): `android.content.res.Resources#getFloat`">
+        message="Call requires API level 29 (current min is 26): `android.content.res.Resources#getFloat`"
+        errorLine1="        return mContext.getResources().getFloat(resId);"
+        errorLine2="                                       ~~~~~~~~">
         <location
             file="packages/apps/Launcher3/src/com/android/launcher3/util/DynamicResource.java"
-            line="73"/>
+            line="73"
+            column="40"/>
     </issue>
 
     <issue
         id="NewApi"
-        message="Call requires API level 30 (current min is 26): `android.graphics.Outline#setPath`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/popup/RoundedArrowDrawable.java"
-            line="114"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 30 (current min is 26): `android.view.View#getWindowInsetsController`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
-            line="902"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 30 (current min is 26): `android.view.WindowInsets.Type#ime`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
-            line="902"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 30 (current min is 26): `android.view.WindowInsetsController#hide`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
-            line="902"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Call requires API level 31 (current min is 26): `android.appwidget.AppWidgetHostView#resetColorResources`">
+        message="Call requires API level 31 (current min is 26): `android.appwidget.AppWidgetHostView#resetColorResources`"
+        errorLine1="            resetColorResources();"
+        errorLine2="            ~~~~~~~~~~~~~~~~~~~">
         <location
             file="packages/apps/Launcher3/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java"
-            line="114"/>
+            line="117"
+            column="13"/>
     </issue>
 
     <issue
         id="NewApi"
-        message="Call requires API level 31 (current min is 30): `android.appwidget.AppWidgetHostView#setColorResources`">
+        message="Call requires API level 31 (current min is 30): `android.appwidget.AppWidgetHostView#setColorResources`"
+        errorLine1="            view.setColorResources(mWallpaperColorResources);"
+        errorLine2="                 ~~~~~~~~~~~~~~~~~">
         <location
             file="packages/apps/Launcher3/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java"
-            line="415"/>
+            line="433"
+            column="18"/>
     </issue>
 
     <issue
         id="NewApi"
-        message="Field requires API level 28 (current min is 26): `android.appwidget.AppWidgetProviderInfo#widgetFeatures`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/widget/WidgetAddFlowHandler.java"
-            line="93"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_LEFT`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
-            line="1814"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_LEFT`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
-            line="1824"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_RIGHT`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
-            line="1815"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_RIGHT`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
-            line="1823"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Method reference requires API level 28 (current min is 26): `Person::getKey`">
-        <location
-            file="packages/apps/Launcher3/src/com/android/launcher3/model/data/WorkspaceItemInfo.java"
-            line="195"/>
-    </issue>
-
-    <issue
-        id="NewApi"
-        message="Method reference requires API level 28 (current min is 26): `Person::getKey`">
+        message="Call requires API level 28 (current min is 26): `android.app.Person#getKey`"
+        errorLine1="        return people.stream().filter(person -&gt; person.getKey() != null)"
+        errorLine2="                                                       ~~~~~~">
         <location
             file="packages/apps/Launcher3/src/com/android/launcher3/notification/NotificationKeyData.java"
-            line="73"/>
+            line="72"
+            column="56"/>
     </issue>
 
     <issue
         id="NewApi"
-        message="`?android:attr/dialogCornerRadius` requires API level 28 (current min is 26)">
+        message="Method reference requires API level 28 (current min is 26): `Person::getKey`"
+        errorLine1="                .map(Person::getKey).sorted().toArray(String[]::new);"
+        errorLine2="                     ~~~~~~~~~~~~~~">
         <location
-            file="packages/apps/Launcher3/res/drawable/add_item_dialog_background.xml"
-            line="6"/>
+            file="packages/apps/Launcher3/src/com/android/launcher3/notification/NotificationKeyData.java"
+            line="73"
+            column="22"/>
     </issue>
 
     <issue
         id="NewApi"
-        message="`?android:attr/dialogCornerRadius` requires API level 28 (current min is 26)">
+        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_LEFT`"
+        errorLine1="                AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_LEFT"
+        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="packages/apps/Launcher3/res/drawable/add_item_dialog_background.xml"
-            line="7"/>
+            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
+            line="1814"
+            column="17"/>
     </issue>
 
     <issue
         id="NewApi"
-        message="`@android:dimen/system_app_widget_background_radius` requires API level 31 (current min is 26)">
+        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_RIGHT`"
+        errorLine1="                : AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_RIGHT);"
+        errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="packages/apps/Launcher3/res/drawable/widget_resize_frame.xml"
-            line="20"/>
+            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
+            line="1815"
+            column="19"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_RIGHT`"
+        errorLine1="                AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_RIGHT"
+        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
+            line="1823"
+            column="17"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Field requires API level 29 (current min is 26): `android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_PAGE_LEFT`"
+        errorLine1="                : AccessibilityNodeInfo.AccessibilityAction.ACTION_PAGE_LEFT);"
+        errorLine2="                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/Launcher3/src/com/android/launcher3/PagedView.java"
+            line="1824"
+            column="19"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 30 (current min is 26): `android.graphics.Outline#setPath`"
+        errorLine1="        outline.setPath(mPath);"
+        errorLine2="                ~~~~~~~">
+        <location
+            file="packages/apps/Launcher3/src/com/android/launcher3/popup/RoundedArrowDrawable.java"
+            line="114"
+            column="17"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Field requires API level 28 (current min is 26): `android.appwidget.AppWidgetProviderInfo#widgetFeatures`"
+        errorLine1="        int featureFlags = mProviderInfo.widgetFeatures;"
+        errorLine2="                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/Launcher3/src/com/android/launcher3/widget/WidgetAddFlowHandler.java"
+            line="93"
+            column="28"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 30 (current min is 26): `android.view.View#getWindowInsetsController`"
+        errorLine1="        WindowInsetsController insetsController = getWindowInsetsController();"
+        errorLine2="                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
+            line="820"
+            column="51"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 30 (current min is 26): `android.view.WindowInsets.Type#ime`"
+        errorLine1="            insetsController.hide(WindowInsets.Type.ime());"
+        errorLine2="                                                    ~~~">
+        <location
+            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
+            line="822"
+            column="53"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Call requires API level 30 (current min is 26): `android.view.WindowInsetsController#hide`"
+        errorLine1="            insetsController.hide(WindowInsets.Type.ime());"
+        errorLine2="                             ~~~~">
+        <location
+            file="packages/apps/Launcher3/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java"
+            line="822"
+            column="30"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="Method reference requires API level 28 (current min is 26): `Person::getKey`"
+        errorLine1="            : Arrays.stream(persons).map(Person::getKey).sorted().toArray(String[]::new);"
+        errorLine2="                                         ~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/Launcher3/src/com/android/launcher3/model/data/WorkspaceItemInfo.java"
+            line="194"
+            column="42"/>
     </issue>
 
 </issues>
\ No newline at end of file
diff --git a/lint-baseline2.xml b/lint-baseline2.xml
new file mode 100644
index 0000000..84f1b15
--- /dev/null
+++ b/lint-baseline2.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="6" by="lint 8.4.0-alpha01" type="baseline" client="" dependencies="true" name="" variant="all" version="8.4.0-alpha01">
+
+    <issue
+        id="NewApi"
+        message="`?android:attr/dialogCornerRadius` requires API level 28 (current min is 26)"
+        errorLine1='        android:topLeftRadius="?android:attr/dialogCornerRadius"'
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/Launcher3/res/drawable/add_item_dialog_background.xml"
+            line="6"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="`?android:attr/dialogCornerRadius` requires API level 28 (current min is 26)"
+        errorLine1='        android:topRightRadius="?android:attr/dialogCornerRadius" /&gt;'
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/Launcher3/res/drawable/add_item_dialog_background.xml"
+            line="7"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="NewApi"
+        message="`@android:dimen/system_app_widget_background_radius` requires API level 31 (current min is 26)"
+        errorLine1='    &lt;corners android:radius="@android:dimen/system_app_widget_background_radius" /&gt;'
+        errorLine2="             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="packages/apps/Launcher3/res/drawable/widget_resize_frame.xml"
+            line="20"
+            column="14"/>
+    </issue>
+
+</issues>
\ No newline at end of file
diff --git a/protos/launcher_atom.proto b/protos/launcher_atom.proto
index f8b08f8..7c648b6 100644
--- a/protos/launcher_atom.proto
+++ b/protos/launcher_atom.proto
@@ -38,7 +38,7 @@
   optional int32 rank = 5;
 
   // Stores whether the Item belows to non primary user
-  optional bool is_work = 6;
+  optional bool is_work = 6 [deprecated = true];
 
   // Item can be child node to parent container or parent containers (nested)
   optional ContainerInfo container_info = 7;
@@ -48,6 +48,9 @@
 
   // Stores whether the navigation bar is in kids mode.
   optional bool is_kids_mode = 13;
+
+  // Stores type of the user the Item belong to
+  optional int32 user_type = 14;
 }
 
 message LauncherAttributes{
@@ -135,7 +138,7 @@
   }
 }
 
-// Next value 52
+// Next value 54
 enum Attribute {
   option allow_alias = true;
 
@@ -180,7 +183,8 @@
   ALL_APPS_SEARCH_RESULT_CHROMETAB = 24;
   ALL_APPS_SEARCH_RESULT_NAVVYSITE = 25 [deprecated = true];
   ALL_APPS_SEARCH_RESULT_TIPS = 26;
-  ALL_APPS_SEARCH_RESULT_PEOPLE_TILE = 27;
+  ALL_APPS_SEARCH_RESULT_QS_TILE = 27;
+  ALL_APPS_SEARCH_RESULT_PEOPLE_TILE = 27 [deprecated = true];
   ALL_APPS_SEARCH_RESULT_LEGACY_SHORTCUT = 30;
   ALL_APPS_SEARCH_RESULT_ASSISTANT_MEMORY = 31;
   ALL_APPS_SEARCH_RESULT_VIDEO = 41;
@@ -188,6 +192,7 @@
   ALL_APPS_SEARCH_RESULT_EDUCARD = 43;
   ALL_APPS_SEARCH_RESULT_LOCATION = 50;
   ALL_APPS_SEARCH_RESULT_TEXT_HEADER = 51;
+  ALL_APPS_SEARCH_RESULT_NO_FULFILLMENT = 52;
 
   // Result sources
   DATA_SOURCE_APPSEARCH_APP_PREVIEW = 45;
@@ -195,6 +200,7 @@
   DATA_SOURCE_APPSEARCH_CATEGORY_SRP_PREVIEW = 48;
   DATA_SOURCE_APPSEARCH_ENTITY_SRP_PREVIEW = 49;
   DATA_SOURCE_AIAI_SEARCH_ROOT = 47;
+  DATA_SOURCE_LAUNCHER = 53;
 
   // Web suggestions provided by AGA
   ALL_APPS_SEARCH_RESULT_WEB_SUGGEST = 39;
diff --git a/quickstep/Android.bp b/quickstep/Android.bp
index 638ce27..ec4f6fc 100644
--- a/quickstep/Android.bp
+++ b/quickstep/Android.bp
@@ -41,6 +41,7 @@
         "tests/src/com/android/quickstep/TaskbarModeSwitchRule.java",
         "tests/src/com/android/quickstep/NavigationModeSwitchRule.java",
         "tests/src/com/android/quickstep/AbstractQuickStepTest.java",
+        "tests/src/com/android/quickstep/TaplOverviewIconTest.java",
         "tests/src/com/android/quickstep/TaplTestsQuickstep.java",
         "tests/src/com/android/quickstep/TaplTestsSplitscreen.java",
     ]
diff --git a/quickstep/AndroidManifest.xml b/quickstep/AndroidManifest.xml
index 7c0a5ae..db46508 100644
--- a/quickstep/AndroidManifest.xml
+++ b/quickstep/AndroidManifest.xml
@@ -30,7 +30,9 @@
     <uses-permission android:name="android.permission.REMOVE_TASKS"/>
     <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
     <uses-permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"/>
+    <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"/>
     <uses-permission android:name="android.permission.STATUS_BAR"/>
+    <uses-permission android:name="android.permission.STATUS_BAR_SERVICE"/>
     <uses-permission android:name="android.permission.STOP_APP_SWITCHES"/>
     <uses-permission android:name="android.permission.SET_ORIENTATION"/>
     <uses-permission android:name="android.permission.READ_FRAME_BUFFER"/>
@@ -41,6 +43,10 @@
 
     <uses-permission android:name="android.permission.SYSTEM_APPLICATION_OVERLAY" />
 
+    <!-- Permission required to start a WidgetPickerActivity. -->
+    <permission android:name="${packageName}.permission.START_WIDGET_PICKER_ACTIVITY"
+        android:protectionLevel="signature|privileged" />
+
     <application android:backupAgent="com.android.launcher3.LauncherBackupAgent"
          android:fullBackupOnly="true"
          android:fullBackupContent="@xml/backupscheme"
@@ -95,10 +101,11 @@
         </provider>
 
         <activity android:name="com.android.launcher3.proxy.ProxyActivityStarter"
-             android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
-             android:launchMode="singleTask"
-             android:clearTaskOnLaunch="true"
-             android:exported="false"/>
+            android:theme="@style/ProxyActivityStarterTheme"
+            android:launchMode="singleTask"
+            android:clearTaskOnLaunch="true"
+            android:exported="false"
+            />
 
         <activity android:name="com.android.quickstep.interaction.GestureSandboxActivity"
             android:autoRemoveFromRecents="true"
@@ -130,6 +137,20 @@
             </intent-filter>
         </activity>
 
+        <activity android:name="com.android.launcher3.WidgetPickerActivity"
+            android:theme="@style/WidgetPickerActivityTheme"
+            android:excludeFromRecents="true"
+            android:autoRemoveFromRecents="true"
+            android:showOnLockScreen="true"
+            android:launchMode="singleTop"
+            android:exported="true"
+            android:permission="android.permission.START_WIDGET_PICKER_ACTIVITY">
+            <intent-filter>
+                <action android:name="android.intent.action.PICK" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
     </application>
 
 </manifest>
diff --git a/quickstep/protos_overrides/launcher_atom_extension.proto b/quickstep/protos_overrides/launcher_atom_extension.proto
index b3df353..4dbec98 100644
--- a/quickstep/protos_overrides/launcher_atom_extension.proto
+++ b/quickstep/protos_overrides/launcher_atom_extension.proto
@@ -41,6 +41,7 @@
   // For application, it will be the column number in the apps row.
   optional int32 grid_x = 3;
 
+  // LINT.IfChange
   // Next ID = 4
   message SearchAttributes{
 
@@ -64,6 +65,10 @@
 
       // User entered by swiping up from overview (using Rocket Gesture).
       OVERVIEW = 3;
+
+      // User entered by tapping the search box in the Taskbar AllApps drawer.
+      TASKBAR = 4;
     }
   }
+  // LINT.ThenChange(//quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java)
 }
diff --git a/quickstep/res/drawable-sw600dp-land/gesture_tutorial_back_step_shape.xml b/quickstep/res/drawable-sw600dp-land/gesture_tutorial_back_step_shape.xml
index a07aeaa..8b4127a 100644
--- a/quickstep/res/drawable-sw600dp-land/gesture_tutorial_back_step_shape.xml
+++ b/quickstep/res/drawable-sw600dp-land/gesture_tutorial_back_step_shape.xml
@@ -16,7 +16,8 @@
     android:width="84dp"
     android:height="208dp"
     android:viewportWidth="84"
-    android:viewportHeight="208">
+    android:viewportHeight="208"
+    android:autoMirrored="true">
   <path
       android:pathData="M24.53,169.2L32.09,165.56C77.7,143.55 77.7,64.45 32.09,42.35L24.53,38.71C14.55,33.95 6.06,25.56 0,14.92V193.08C6.06,182.44 14.55,174.05 24.53,169.2Z"
       android:fillColor="?attr/onSurfaceBack"/>
diff --git a/quickstep/res/drawable-sw720dp-land/gesture_tutorial_back_step_shape.xml b/quickstep/res/drawable-sw720dp-land/gesture_tutorial_back_step_shape.xml
index e20458e..3a11f21 100644
--- a/quickstep/res/drawable-sw720dp-land/gesture_tutorial_back_step_shape.xml
+++ b/quickstep/res/drawable-sw720dp-land/gesture_tutorial_back_step_shape.xml
@@ -16,7 +16,8 @@
     android:width="122dp"
     android:height="303dp"
     android:viewportWidth="122"
-    android:viewportHeight="303">
+    android:viewportHeight="303"
+    android:autoMirrored="true">
   <path
       android:pathData="M35.65,245.9L46.63,240.61C112.92,208.62 112.92,93.67 46.63,61.54L35.65,56.26C21.15,49.34 8.81,37.14 0,21.69V280.6C8.81,265.15 21.15,252.95 35.65,245.9Z"
       android:fillColor="?attr/onSurfaceBack"/>
diff --git a/quickstep/res/drawable/gesture_tutorial_back_step_shape.xml b/quickstep/res/drawable/gesture_tutorial_back_step_shape.xml
index 9389340..c217be2 100644
--- a/quickstep/res/drawable/gesture_tutorial_back_step_shape.xml
+++ b/quickstep/res/drawable/gesture_tutorial_back_step_shape.xml
@@ -16,7 +16,8 @@
     android:width="83dp"
     android:height="208dp"
     android:viewportWidth="83"
-    android:viewportHeight="208">
+    android:viewportHeight="208"
+    android:autoMirrored="true">
   <path
       android:pathData="M23.53,169.2L31.09,165.56C76.7,143.55 76.7,64.45 31.09,42.35L23.53,38.71C13.55,33.95 5.06,25.56 -1,14.92V193.08C5.06,182.44 13.55,174.05 23.53,169.2Z"
       android:fillColor="?attr/onSurfaceBack"/>
diff --git a/quickstep/res/drawable/ic_chevron_down.xml b/quickstep/res/drawable/ic_chevron_down.xml
new file mode 100644
index 0000000..77a8295
--- /dev/null
+++ b/quickstep/res/drawable/ic_chevron_down.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:aapt="http://schemas.android.com/aapt"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+    <target android:name="scaleGroup">
+        <aapt:attr name="android:animation">
+            <objectAnimator
+                android:duration="150"
+                android:propertyName="scaleX"
+                android:valueFrom="1"
+                android:valueTo="-1" />
+        </aapt:attr>
+    </target>
+    <aapt:attr name="android:drawable">
+        <vector
+            android:width="48dp"
+            android:height="48dp"
+            android:autoMirrored="true"
+            android:tint="?androidprv:attr/materialColorOnSurface"
+            android:viewportHeight="48"
+            android:viewportWidth="48">
+            <group
+                android:name="scaleGroup"
+                android:pivotX="24"
+                android:pivotY="24"
+                android:rotation="90">
+                <path
+                    android:fillColor="@android:color/white"
+                    android:pathData="M18.75,36 L16.6,33.85 26.5,23.95 16.6,14.05 18.75,11.9 30.8,23.95Z" />
+            </group>
+        </vector>
+    </aapt:attr>
+</animated-vector>
diff --git a/quickstep/res/layout/icon_app_chip_view.xml b/quickstep/res/layout/icon_app_chip_view.xml
new file mode 100644
index 0000000..b7acb70
--- /dev/null
+++ b/quickstep/res/layout/icon_app_chip_view.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2023 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<com.android.quickstep.views.IconAppChipView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:id="@+id/icon"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:focusable="false"
+    android:importantForAccessibility="no"
+    android:autoMirrored="true"
+    android:background="@drawable/icon_menu_elevation_background"
+    android:elevation="@dimen/task_thumbnail_icon_menu_elevation" >
+
+    <ImageView
+        android:id="@+id/icon_view_background_corners_start"
+        android:layout_width="@dimen/task_thumbnail_icon_menu_corner_width"
+        android:layout_height="@dimen/task_thumbnail_icon_menu_min_height"
+        android:src="@drawable/icon_menu_background_corners"
+        android:importantForAccessibility="no" />
+    <ImageView
+        android:id="@+id/icon_view_background"
+        android:layout_width="@dimen/task_thumbnail_icon_menu_background_min_width"
+        android:layout_height="@dimen/task_thumbnail_icon_menu_min_height"
+        android:src="@drawable/icon_menu_background"
+        android:importantForAccessibility="no" />
+    <ImageView
+        android:id="@+id/icon_view_background_corners_end"
+        android:layout_width="@dimen/task_thumbnail_icon_menu_corner_width"
+        android:layout_height="@dimen/task_thumbnail_icon_menu_min_height"
+        android:src="@drawable/icon_menu_background_corners"
+        android:importantForAccessibility="no" />
+
+    <com.android.quickstep.views.IconView
+        android:id="@+id/icon_view"
+        android:layout_width="@dimen/task_thumbnail_icon_size"
+        android:layout_height="@dimen/task_thumbnail_icon_size"
+        android:focusable="false"
+        android:importantForAccessibility="no" />
+
+    <TextView
+        android:id="@+id/icon_text_collapsed"
+        android:layout_width="@dimen/task_thumbnail_icon_menu_text_width"
+        android:layout_height="@dimen/task_thumbnail_icon_menu_drawable_size"
+        android:gravity="start|center_vertical"
+        android:maxLines="1"
+        android:ellipsize="end"
+        android:textAlignment="viewStart"
+        android:importantForAccessibility="no"
+        style="@style/IconAppChipMenuTextStyle" />
+
+    <TextView
+        android:id="@+id/icon_text_expanded"
+        android:layout_width="@dimen/task_thumbnail_icon_menu_text_max_width"
+        android:layout_height="@dimen/task_thumbnail_icon_menu_drawable_size"
+        android:gravity="start|center_vertical"
+        android:maxLines="1"
+        android:ellipsize="end"
+        android:textAlignment="viewStart"
+        android:importantForAccessibility="no"
+        style="@style/IconAppChipMenuTextStyle" />
+
+    <ImageView
+        android:id="@+id/icon_arrow"
+        android:layout_width="@dimen/task_thumbnail_icon_menu_arrow_size"
+        android:layout_height="@dimen/task_thumbnail_icon_menu_arrow_size"
+        android:background="@drawable/icon_menu_arrow_background"
+        android:src="@drawable/ic_chevron_down"
+        android:importantForAccessibility="no" />
+</com.android.quickstep.views.IconAppChipView>
\ No newline at end of file
diff --git a/res/layout/popup_container_material_u.xml b/quickstep/res/layout/icon_view.xml
similarity index 60%
copy from res/layout/popup_container_material_u.xml
copy to quickstep/res/layout/icon_view.xml
index d34c500..e8c9cc5 100644
--- a/res/layout/popup_container_material_u.xml
+++ b/quickstep/res/layout/icon_view.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
+<!--
+     Copyright (C) 2023 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,11 +14,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.launcher3.popup.PopupContainerWithArrow
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/popup_container"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:orientation="vertical"/>
\ No newline at end of file
+<com.android.quickstep.views.IconView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:focusable="false"
+    android:importantForAccessibility="no"/>
\ No newline at end of file
diff --git a/quickstep/res/layout/keyboard_quick_switch_view.xml b/quickstep/res/layout/keyboard_quick_switch_view.xml
index 16abdee..5af8d51 100644
--- a/quickstep/res/layout/keyboard_quick_switch_view.xml
+++ b/quickstep/res/layout/keyboard_quick_switch_view.xml
@@ -17,6 +17,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/keyboard_quick_switch_view"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginTop="@dimen/keyboard_quick_switch_margin_top"
diff --git a/quickstep/res/layout/split_instructions_view.xml b/quickstep/res/layout/split_instructions_view.xml
index c663bf4..0bbbfd5 100644
--- a/quickstep/res/layout/split_instructions_view.xml
+++ b/quickstep/res/layout/split_instructions_view.xml
@@ -30,9 +30,15 @@
         android:id="@+id/split_instructions_text"
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
-        android:gravity="center"
         android:textColor="?androidprv:attr/textColorOnAccent"
-        android:drawableEnd="@drawable/ic_split_exit"
-        android:drawablePadding="@dimen/split_instructions_drawable_padding"
         android:text="@string/toast_split_select_app" />
+
+    <androidx.appcompat.widget.AppCompatTextView
+        android:id="@+id/split_instructions_text_cancel"
+        android:layout_height="wrap_content"
+        android:layout_width="wrap_content"
+        android:textColor="?androidprv:attr/textColorOnAccent"
+        android:layout_marginStart="@dimen/split_instructions_start_margin_cancel"
+        android:text="@string/toast_split_select_app_cancel"
+        android:visibility="gone"/>
 </com.android.quickstep.views.SplitInstructionsView>
\ No newline at end of file
diff --git a/quickstep/res/layout/task.xml b/quickstep/res/layout/task.xml
index 29c9992..823a86e 100644
--- a/quickstep/res/layout/task.xml
+++ b/quickstep/res/layout/task.xml
@@ -44,10 +44,9 @@
         android:importantForAccessibility="no"
         android:src="@drawable/ic_select_windows" />
 
-    <com.android.quickstep.views.IconView
+    <ViewStub
         android:id="@+id/icon"
-        android:layout_width="@dimen/task_thumbnail_icon_size"
-        android:layout_height="@dimen/task_thumbnail_icon_size"
-        android:focusable="false"
-        android:importantForAccessibility="no"/>
+        android:inflatedId="@id/icon"
+        android:layout_height="wrap_content"
+        android:layout_width="wrap_content" />
 </com.android.quickstep.views.TaskView>
\ No newline at end of file
diff --git a/quickstep/res/layout/task_desktop.xml b/quickstep/res/layout/task_desktop.xml
index 06f4d06..60827cd 100644
--- a/quickstep/res/layout/task_desktop.xml
+++ b/quickstep/res/layout/task_desktop.xml
@@ -22,12 +22,14 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:clipChildren="true"
-    android:clipToOutline="true"
     android:defaultFocusHighlightEnabled="false"
     android:focusable="true"
     launcher:focusBorderColor="?androidprv:attr/materialColorOutline"
-    launcher:hoverBorderColor="?androidprv:attr/materialColorPrimary">
-
+    launcher:hoverBorderColor="?androidprv:attr/materialColorPrimary"
+    android:clipToPadding="true"
+    android:padding="0.1dp">
+    <!-- Setting a padding of 0.1 dp since android:clipToPadding needs a non-zero value for
+    padding to work-->
     <View
         android:id="@+id/background"
         android:layout_width="match_parent"
@@ -45,11 +47,10 @@
         android:layout_height="wrap_content"
         android:visibility="gone" />
 
-    <com.android.quickstep.views.IconView
+    <ViewStub
         android:id="@+id/icon"
-        android:layout_width="@dimen/task_thumbnail_icon_size"
-        android:layout_height="@dimen/task_thumbnail_icon_size"
-        android:focusable="false"
-        android:importantForAccessibility="no" />
+        android:inflatedId="@id/icon"
+        android:layout_height="wrap_content"
+        android:layout_width="wrap_content" />
 
 </com.android.quickstep.views.DesktopTaskView>
diff --git a/quickstep/res/layout/task_grouped.xml b/quickstep/res/layout/task_grouped.xml
index 75ff626..d20afd3 100644
--- a/quickstep/res/layout/task_grouped.xml
+++ b/quickstep/res/layout/task_grouped.xml
@@ -66,17 +66,15 @@
         android:importantForAccessibility="no"
         android:src="@drawable/ic_select_windows" />
 
-    <com.android.quickstep.views.IconView
+    <ViewStub
         android:id="@+id/icon"
-        android:layout_width="@dimen/task_thumbnail_icon_size"
-        android:layout_height="@dimen/task_thumbnail_icon_size"
-        android:focusable="false"
-        android:importantForAccessibility="no"/>
+        android:inflatedId="@id/icon"
+        android:layout_height="wrap_content"
+        android:layout_width="wrap_content" />
 
-    <com.android.quickstep.views.IconView
+    <ViewStub
         android:id="@+id/bottomRight_icon"
-        android:layout_width="@dimen/task_thumbnail_icon_size"
-        android:layout_height="@dimen/task_thumbnail_icon_size"
-        android:focusable="false"
-        android:importantForAccessibility="no"/>
+        android:inflatedId="@id/bottomRight_icon"
+        android:layout_height="wrap_content"
+        android:layout_width="wrap_content" />
 </com.android.quickstep.views.GroupedTaskView>
\ No newline at end of file
diff --git a/quickstep/res/layout/task_menu.xml b/quickstep/res/layout/task_menu.xml
index a5c9445..622edfe 100644
--- a/quickstep/res/layout/task_menu.xml
+++ b/quickstep/res/layout/task_menu.xml
@@ -31,8 +31,8 @@
         android:layout_height="match_parent"
         android:gravity="center"
         android:layout_marginBottom="2dp"
-        android:paddingTop="@dimen/task_menu_vertical_padding"
-        android:paddingBottom="@dimen/task_menu_vertical_padding"
+        android:paddingTop="@dimen/task_menu_edge_padding"
+        android:paddingBottom="@dimen/task_menu_edge_padding"
         android:textSize="16sp"/>
 
     <LinearLayout
diff --git a/quickstep/res/layout/task_view_menu_option.xml b/quickstep/res/layout/task_view_menu_option.xml
index c736c8c..30ab4b1 100644
--- a/quickstep/res/layout/task_view_menu_option.xml
+++ b/quickstep/res/layout/task_view_menu_option.xml
@@ -38,7 +38,7 @@
         android:id="@+id/text"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginStart="@dimen/task_menu_option_start_margin"
+        android:layout_marginStart="@dimen/task_menu_option_text_start_margin"
         android:textSize="14sp"
         android:textColor="?androidprv:attr/materialColorOnSurface"
         android:focusable="false" />
diff --git a/quickstep/res/layout/taskbar.xml b/quickstep/res/layout/taskbar.xml
index 94388b4..72d7485 100644
--- a/quickstep/res/layout/taskbar.xml
+++ b/quickstep/res/layout/taskbar.xml
@@ -45,9 +45,6 @@
             android:id="@+id/start_contextual_buttons"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
-            android:paddingStart="@dimen/taskbar_contextual_button_padding"
-            android:paddingEnd="@dimen/taskbar_contextual_button_padding"
-            android:paddingTop="@dimen/taskbar_contextual_padding_top"
             android:gravity="center_vertical"
             android:layout_gravity="start"/>
 
@@ -63,7 +60,6 @@
             android:id="@+id/end_contextual_buttons"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
-            android:paddingTop="@dimen/taskbar_contextual_padding_top"
             android:gravity="center_vertical"
             android:layout_gravity="end"/>
     </FrameLayout>
diff --git a/quickstep/res/layout/taskbar_divider_popup_menu.xml b/quickstep/res/layout/taskbar_divider_popup_menu.xml
index 00e47c9..7f4f76c 100644
--- a/quickstep/res/layout/taskbar_divider_popup_menu.xml
+++ b/quickstep/res/layout/taskbar_divider_popup_menu.xml
@@ -19,7 +19,7 @@
     android:layout_width="@dimen/taskbar_pinning_popup_menu_width"
     android:layout_height="wrap_content"
     android:focusable="true"
-    android:background="@drawable/popup_background_material_u"
+    android:background="@drawable/popup_background"
     android:orientation="vertical">
 
     <LinearLayout
@@ -38,6 +38,7 @@
         android:theme="@style/PopupItem">
 
         <View
+            android:id="@+id/taskbar_pinning_visibility_icon"
             android:layout_margin="6dp"
             android:layout_width="20dp"
             android:layout_height="20dp"
@@ -45,14 +46,18 @@
             android:backgroundTint="?android:attr/textColorPrimary" />
 
         <Switch
-            style="@style/BaseIcon"
+            style="@style/Switch.SettingsLib"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
             android:id="@+id/taskbar_pinning_switch"
             android:background="@null"
             android:clickable="false"
             android:gravity="start|center_vertical"
             android:textAlignment="viewStart"
             android:paddingStart="12dp"
-            android:singleLine="true"
+            android:layout_weight="1"
+            android:fontFamily="@*android:string/config_bodyFontFamilyMedium"
+            android:lines="1"
             android:ellipsize="end"
             android:textSize="14sp"
             android:textColor="?android:attr/textColorPrimary"
diff --git a/quickstep/res/layout/taskbar_edu_features.xml b/quickstep/res/layout/taskbar_edu_features.xml
index efbe7f8..15de74c 100644
--- a/quickstep/res/layout/taskbar_edu_features.xml
+++ b/quickstep/res/layout/taskbar_edu_features.xml
@@ -51,40 +51,40 @@
         android:layout_height="wrap_content"
         android:text="@string/taskbar_edu_splitscreen"
 
-        app:layout_constraintEnd_toStartOf="@id/settings_text"
+        app:layout_constraintEnd_toStartOf="@id/pinning_text"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@id/splitscreen_animation" />
 
     <androidx.constraintlayout.widget.Group
-        android:id="@+id/settings_edu"
+        android:id="@+id/pinning_edu"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        app:constraint_referenced_ids="settings_animation,settings_text" />
+        app:constraint_referenced_ids="pinning_animation,pinning_text" />
 
     <com.airbnb.lottie.LottieAnimationView
-        android:id="@+id/settings_animation"
+        android:id="@+id/pinning_animation"
         android:layout_width="@dimen/taskbar_edu_features_lottie_width"
         android:layout_height="@dimen/taskbar_edu_features_lottie_height"
 
         app:lottie_autoPlay="true"
         app:lottie_loop="true"
-        app:lottie_rawRes="@raw/taskbar_edu_settings"
+        app:lottie_rawRes="@raw/taskbar_edu_pinning"
 
-        app:layout_constraintEnd_toEndOf="@id/settings_text"
-        app:layout_constraintStart_toStartOf="@id/settings_text"
+        app:layout_constraintEnd_toEndOf="@id/pinning_text"
+        app:layout_constraintStart_toStartOf="@id/pinning_text"
         app:layout_constraintTop_toBottomOf="@id/title" />
 
     <TextView
-        android:id="@+id/settings_text"
+        android:id="@+id/pinning_text"
         style="@style/TextAppearance.TaskbarEduTooltip.Subtext"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:text="@string/taskbar_edu_settings_persistent"
+        android:text="@string/taskbar_edu_pinning"
         android:layout_marginStart="@dimen/taskbar_edu_features_horizontal_spacing"
 
-        app:layout_constraintEnd_toStartOf="@id/suggestions_text"
         app:layout_constraintStart_toEndOf="@id/splitscreen_text"
-        app:layout_constraintTop_toBottomOf="@id/settings_animation" />
+        app:layout_constraintEnd_toStartOf="@id/suggestions_text"
+        app:layout_constraintTop_toBottomOf="@id/pinning_animation" />
 
     <com.airbnb.lottie.LottieAnimationView
         android:id="@+id/suggestions_animation"
@@ -107,7 +107,7 @@
         android:layout_marginStart="@dimen/taskbar_edu_features_horizontal_spacing"
 
         app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@id/settings_text"
+        app:layout_constraintStart_toEndOf="@id/pinning_text"
         app:layout_constraintTop_toBottomOf="@id/suggestions_animation" />
 
     <androidx.constraintlayout.widget.Barrier
@@ -115,7 +115,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         app:barrierDirection="bottom"
-        app:constraint_referenced_ids="splitscreen_text,settings_text,suggestions_text" />
+        app:constraint_referenced_ids="splitscreen_text,pinning_text,suggestions_text" />
 
     <Button
         android:id="@+id/done_button"
diff --git a/quickstep/res/layout/taskbar_edu_pinning.xml b/quickstep/res/layout/taskbar_edu_pinning.xml
new file mode 100644
index 0000000..27a7b23
--- /dev/null
+++ b/quickstep/res/layout/taskbar_edu_pinning.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <TextView
+        android:id="@+id/title"
+        style="@style/TextAppearance.TaskbarEduTooltip.Title"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:text="@string/taskbar_edu_pinning_title"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toTopOf="@+id/standalone_pinning_animation" />
+
+    <com.airbnb.lottie.LottieAnimationView
+        android:id="@+id/standalone_pinning_animation"
+        android:layout_width="@dimen/taskbar_edu_swipe_lottie_width"
+        android:layout_height="@dimen/taskbar_edu_swipe_lottie_height"
+        android:layout_marginTop="@dimen/taskbar_edu_tooltip_vertical_margin"
+        app:layout_constraintBottom_toTopOf="@id/pinning_text"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/title"
+        app:lottie_rawRes="@raw/taskbar_edu_pinning"
+        app:lottie_autoPlay="true"
+        app:lottie_loop="true" />
+
+    <TextView
+        android:id="@+id/pinning_text"
+        style="@style/TextAppearance.TaskbarEduTooltip.Subtext"
+        android:layout_width="@dimen/taskbar_edu_swipe_lottie_width"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:text="@string/taskbar_edu_pinning_standalone"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/standalone_pinning_animation"
+        app:layout_constraintBottom_toBottomOf="parent" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
+
diff --git a/quickstep/res/layout/widget_picker_activity.xml b/quickstep/res/layout/widget_picker_activity.xml
new file mode 100644
index 0000000..3388e40
--- /dev/null
+++ b/quickstep/res/layout/widget_picker_activity.xml
@@ -0,0 +1,24 @@
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<com.android.launcher3.dragndrop.SimpleDragLayer
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/drag_layer"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:clipChildren="false"
+    android:clipToPadding="false"
+    android:importantForAccessibility="no" />
diff --git a/quickstep/res/raw/overview_gesture_tutorial_animation.json b/quickstep/res/raw/overview_gesture_tutorial_animation.json
index b2dafee..3a39acd 100644
--- a/quickstep/res/raw/overview_gesture_tutorial_animation.json
+++ b/quickstep/res/raw/overview_gesture_tutorial_animation.json
@@ -1 +1 @@
-{"v":"5.10.0","fr":60,"ip":0,"op":1337,"w":412,"h":892,"nm":"SUW_Overview V02","ddd":0,"assets":[{"id":"comp_0","nm":"Part03_Demonstration_Overview_V02","fr":60,"pfr":1,"layers":[{"ddd":0,"ind":2,"ty":3,"nm":"Reset to Center","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":292,"s":[321.599]},{"t":362,"s":[155.599]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":292,"s":[758]},{"t":372,"s":[649]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"OVERSHOOT CHARACTER","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":227,"s":[-32.599]},{"t":329,"s":[7.401]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-609,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-599,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":405,"s":[100]},{"t":411,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[110.1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[109.629],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[108.115],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[105.387],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.233],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[95.393],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.556],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[77.356],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.399],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[48.322],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.939],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.457],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-18.352],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.227],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.819],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.1],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.516],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-136.892],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.275],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-171.817],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-186.701],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-200.108],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-212.206],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-223.143],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-233.047],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-242.028],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-250.181],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-257.587],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.318],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.434],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.988],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.028],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.594],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.722],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.445],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.791],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.786],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.453],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.812],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.882],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.681],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.224],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.524],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.595],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.449],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.097],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.549],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.814],"t":100,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.663],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.237],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.984],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.933],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.849],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.728],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.57],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.373],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.136],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.858],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.536],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.17],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.756],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.294],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.782],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.216],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.595],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.916],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.177],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.374],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.504],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.565],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.552],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.461],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.288],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.03],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.679],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.232],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.682],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.023],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.248],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.348],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-22.316],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.141],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.815],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-15.326],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-12.661],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-9.808],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-6.751],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.477],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.031],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.789],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[7.814],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[12.12],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.718],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.613],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.801],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[32.264],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[37.963],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.839],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[49.804],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.753],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.75]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.75]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.25]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.25]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":446,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"App 3 Matte","parent":12,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[296.8]},{"t":418,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[488.8]},{"t":418,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":245,"op":435,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Pill to Arc | Elevation 2","parent":3,"tt":1,"tp":5,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":405,"s":[15]},{"t":411,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[110.1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[109.629],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[108.115],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[105.387],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.233],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[95.393],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.556],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[77.356],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.399],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[48.322],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.939],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.457],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-18.352],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.227],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.819],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.1],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.516],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-136.892],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.275],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-171.817],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-186.701],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-200.108],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-212.206],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-223.143],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-233.047],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-242.028],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-250.181],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-257.587],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.318],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.434],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.988],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.028],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.594],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.722],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.445],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.791],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.786],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.453],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.812],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.882],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.681],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.224],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.524],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.595],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.449],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.097],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.549],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.814],"t":100,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.663],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.237],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.984],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.933],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.849],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.728],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.57],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.373],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.136],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.858],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.536],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.17],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.756],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.294],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.782],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.216],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.595],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.916],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.177],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.374],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.504],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.565],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.552],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.461],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.288],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.03],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.679],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.232],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.682],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.023],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.248],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.348],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-22.316],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.141],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.815],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-15.326],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-12.661],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-9.808],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-6.751],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.477],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.031],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.789],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[7.814],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[12.12],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.718],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.613],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.801],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[32.264],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[37.963],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.839],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[49.804],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.753],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":245,"op":435,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"App 1 Matte","parent":10,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,848,0],"to":[0,0,0],"ti":[0,0,0]},{"t":101,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[412]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[442],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[442]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-205.946,89.982],[-115.964,0],[115.964,0],[205.946,89.982],[205.946,491.767],[115.964,581.749],[-115.964,581.749],[-205.946,491.767]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-205.77,89.923],[-115.847,0],[115.847,0],[205.77,89.923],[205.77,491.004],[115.847,580.927],[-115.847,580.927],[-205.77,491.004]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-205.445,89.815],[-115.63,0],[115.63,0],[205.445,89.815],[205.445,489.595],[115.63,579.41],[-115.63,579.41],[-205.445,489.595]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-204.936,89.645],[-115.291,0],[115.291,0],[204.936,89.645],[204.936,487.391],[115.291,577.037],[-115.291,577.037],[-204.936,487.391]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-204.201,89.4],[-114.8,0],[114.8,0],[204.201,89.4],[204.201,484.203],[114.8,573.603],[-114.8,573.603],[-204.201,484.203]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-203.185,89.062],[-114.123,0],[114.123,0],[203.185,89.062],[203.185,479.8],[114.123,568.862],[-114.123,568.862],[-203.185,479.8]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-201.834,88.611],[-113.223,0],[113.223,0],[201.834,88.611],[201.834,473.946],[113.223,562.558],[-113.223,562.558],[-201.834,473.946]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-200.114,88.038],[-112.076,0],[112.076,0],[200.114,88.038],[200.114,466.493],[112.076,554.531],[-112.076,554.531],[-200.114,466.493]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-198.054,87.351],[-110.703,0],[110.703,0],[198.054,87.351],[198.054,457.566],[110.703,544.918],[-110.703,544.918],[-198.054,457.566]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-195.782,86.594],[-109.188,0],[109.188,0],[195.782,86.594],[195.782,447.721],[109.188,534.315],[-109.188,534.315],[-195.782,447.721]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-193.487,85.829],[-107.658,0],[107.658,0],[193.487,85.829],[193.487,437.775],[107.658,523.604],[-107.658,523.604],[-193.487,437.775]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-191.327,85.109],[-106.218,0],[106.218,0],[191.327,85.109],[191.327,428.416],[106.218,513.525],[-106.218,513.525],[-191.327,428.416]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-189.38,84.46],[-104.92,0],[104.92,0],[189.38,84.46],[189.38,419.982],[104.92,504.442],[-104.92,504.442],[-189.38,419.982]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-187.663,83.888],[-103.775,0],[103.775,0],[187.663,83.888],[187.663,412.539],[103.775,496.426],[-103.775,496.426],[-187.663,412.539]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-186.158,83.386],[-102.772,0],[102.772,0],[186.158,83.386],[186.158,406.02],[102.772,489.406],[-102.772,489.406],[-186.158,406.02]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-184.842,82.947],[-101.895,0],[101.895,0],[184.842,82.947],[184.842,400.315],[101.895,483.262],[-101.895,483.262],[-184.842,400.315]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-183.688,82.563],[-101.125,0],[101.125,0],[183.688,82.563],[183.688,395.313],[101.125,477.875],[-101.125,477.875],[-183.688,395.313]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-182.673,82.224],[-100.448,0],[100.448,0],[182.673,82.224],[182.673,390.915],[100.448,473.139],[-100.448,473.139],[-182.673,390.915]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-181.778,81.926],[-99.852,0],[99.852,0],[181.778,81.926],[181.778,387.037],[99.852,468.963],[-99.852,468.963],[-181.778,387.037]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-180.987,81.662],[-99.325,0],[99.325,0],[180.987,81.662],[180.987,383.61],[99.325,465.273],[-99.325,465.273],[-180.987,383.61]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-180.287,81.429],[-98.858,0],[98.858,0],[180.287,81.429],[180.287,380.577],[98.858,462.006],[-98.858,462.006],[-180.287,380.577]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-179.667,81.222],[-98.445,0],[98.445,0],[179.667,81.222],[179.667,377.889],[98.445,459.112],[-98.445,459.112],[-179.667,377.889]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-179.117,81.039],[-98.078,0],[98.078,0],[179.117,81.039],[179.117,375.508],[98.078,456.547],[-98.078,456.547],[-179.117,375.508]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-178.631,80.877],[-97.754,0],[97.754,0],[178.631,80.877],[178.631,373.399],[97.754,454.276],[-97.754,454.276],[-178.631,373.399]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-178.2,80.733],[-97.467,0],[97.467,0],[178.2,80.733],[178.2,371.535],[97.467,452.269],[-97.467,452.269],[-178.2,371.535]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-177.821,80.607],[-97.214,0],[97.214,0],[177.821,80.607],[177.821,369.892],[97.214,450.499],[-97.214,450.499],[-177.821,369.892]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-177.488,80.496],[-96.992,0],[96.992,0],[177.488,80.496],[177.488,368.45],[96.992,448.946],[-96.992,448.946],[-177.488,368.45]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-177.198,80.399],[-96.798,0],[96.798,0],[177.198,80.399],[177.198,367.19],[96.798,447.589],[-96.798,447.589],[-177.198,367.19]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-176.945,80.315],[-96.63,0],[96.63,0],[176.945,80.315],[176.945,366.097],[96.63,446.412],[-96.63,446.412],[-176.945,366.097]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-176.729,80.243],[-96.486,0],[96.486,0],[176.729,80.243],[176.729,365.158],[96.486,445.4],[-96.486,445.4],[-176.729,365.158]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-176.545,80.182],[-96.363,0],[96.363,0],[176.545,80.182],[176.545,364.36],[96.363,444.542],[-96.363,444.542],[-176.545,364.36]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-176.391,80.13],[-96.261,0],[96.261,0],[176.391,80.13],[176.391,363.694],[96.261,443.825],[-96.261,443.825],[-176.391,363.694]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-176.266,80.089],[-96.177,0],[96.177,0],[176.266,80.089],[176.266,363.151],[96.177,443.239],[-96.177,443.239],[-176.266,363.151]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-176.166,80.055],[-96.111,0],[96.111,0],[176.166,80.055],[176.166,362.721],[96.111,442.776],[-96.111,442.776],[-176.166,362.721]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.092,80.031],[-96.061,0],[96.061,0],[176.092,80.031],[176.092,362.397],[96.061,442.427],[-96.061,442.427],[-176.092,362.397]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.01,80.003],[-96.007,0],[96.007,0],[176.01,80.003],[176.01,362.042],[96.007,442.046],[-96.007,442.046],[-176.01,362.042]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,362],[96,442],[-96,442],[-176,362]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,361.402],[95.852,441.356],[-95.852,441.356],[-175.806,361.402]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,359.379],[95.351,439.179],[-95.351,439.179],[-175.151,359.379]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,355.463],[94.381,434.965],[-94.381,434.965],[-173.883,355.463]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,348.92],[92.761,427.924],[-92.761,427.924],[-171.765,348.92]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,338.542],[90.191,416.754],[-90.191,416.754],[-168.404,338.542]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,322.292],[86.168,399.267],[-86.168,399.267],[-163.142,322.292]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,297.387],[80.001,372.464],[-80.001,372.464],[-155.078,297.387]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,264.543],[71.868,337.118],[-71.868,337.118],[-144.442,264.543]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,233.528],[64.188,303.739],[-64.188,303.739],[-134.399,233.528]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,210.354],[58.449,278.8],[-58.449,278.8],[-126.895,210.354]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,193.758],[54.34,260.939],[-54.34,260.939],[-121.522,193.758]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,181.674],[51.348,247.935],[-51.348,247.935],[-117.609,181.674]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,172.72],[49.131,238.299],[-49.131,238.299],[-114.709,172.72]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,166.034],[47.475,231.104],[-47.475,231.104],[-112.544,166.034]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,161.062],[46.244,225.752],[-46.244,225.752],[-110.934,161.062]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,157.429],[45.344,221.843],[-45.344,221.843],[-109.758,157.429]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.875],[44.712,219.094],[-44.712,219.094],[-108.931,154.875]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,153.209],[44.299,217.301],[-44.299,217.301],[-108.391,153.209]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.287],[44.071,216.309],[-44.071,216.309],[-108.093,152.287]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":198,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Pill to Arc | Elevation 1","parent":3,"tt":1,"tp":7,"sr":1,"ks":{"o":{"a":0,"k":15,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[110.1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[109.629],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[108.115],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[105.387],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.233],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[95.393],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.556],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[77.356],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.399],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[48.322],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.939],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.457],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-18.352],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.227],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.819],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.1],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.516],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-136.892],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.275],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-171.817],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-186.701],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-200.108],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-212.206],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-223.143],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-233.047],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-242.028],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-250.181],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-257.587],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.318],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.434],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.988],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.028],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.594],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.722],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.445],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.791],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.786],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.453],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.812],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.882],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.681],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.224],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.524],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.595],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.449],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.097],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.549],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.814],"t":100,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.663],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.237],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.984],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.933],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.849],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.728],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.57],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.373],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.136],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.858],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.536],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.17],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.756],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.294],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.782],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.216],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.595],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.916],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.177],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.374],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.504],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.565],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.552],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.461],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.288],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.03],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.679],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.232],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.682],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.023],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.248],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.348],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-22.316],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.141],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.815],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-15.326],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-12.661],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-9.808],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-6.751],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.477],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.031],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.789],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[7.814],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[12.12],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.718],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.613],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.801],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[32.264],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[37.963],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.839],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[49.804],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.753],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":198,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":3,"nm":"All Overview Scroll","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":244,"s":[204.8]},{"t":329,"s":[512]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"Initial Overview In","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[-156]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[209]},{"t":148,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":3,"nm":"Loop App to Center","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-306,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[532]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":394.666,"s":[497.6]},{"t":428,"s":[446]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":2,"op":446,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":388,"s":[-768]},{"t":418,"s":[-858]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":28,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":53,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[296.8]},{"t":418,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[488.8]},{"t":418,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":53,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":245,"s":[100]},{"t":262,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":388,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":418,"s":[-176,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":446,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":10,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,848,0],"to":[0,0,0],"ti":[0,0,0]},{"t":101,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[412]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[442],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[442]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-205.946,89.982],[-115.964,0],[115.964,0],[205.946,89.982],[205.946,491.767],[115.964,581.749],[-115.964,581.749],[-205.946,491.767]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-205.77,89.923],[-115.847,0],[115.847,0],[205.77,89.923],[205.77,491.004],[115.847,580.927],[-115.847,580.927],[-205.77,491.004]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-205.445,89.815],[-115.63,0],[115.63,0],[205.445,89.815],[205.445,489.595],[115.63,579.41],[-115.63,579.41],[-205.445,489.595]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-204.936,89.645],[-115.291,0],[115.291,0],[204.936,89.645],[204.936,487.391],[115.291,577.037],[-115.291,577.037],[-204.936,487.391]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-204.201,89.4],[-114.8,0],[114.8,0],[204.201,89.4],[204.201,484.203],[114.8,573.603],[-114.8,573.603],[-204.201,484.203]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-203.185,89.062],[-114.123,0],[114.123,0],[203.185,89.062],[203.185,479.8],[114.123,568.862],[-114.123,568.862],[-203.185,479.8]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-201.834,88.611],[-113.223,0],[113.223,0],[201.834,88.611],[201.834,473.946],[113.223,562.558],[-113.223,562.558],[-201.834,473.946]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-200.114,88.038],[-112.076,0],[112.076,0],[200.114,88.038],[200.114,466.493],[112.076,554.531],[-112.076,554.531],[-200.114,466.493]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-198.054,87.351],[-110.703,0],[110.703,0],[198.054,87.351],[198.054,457.566],[110.703,544.918],[-110.703,544.918],[-198.054,457.566]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-195.782,86.594],[-109.188,0],[109.188,0],[195.782,86.594],[195.782,447.721],[109.188,534.315],[-109.188,534.315],[-195.782,447.721]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-193.487,85.829],[-107.658,0],[107.658,0],[193.487,85.829],[193.487,437.775],[107.658,523.604],[-107.658,523.604],[-193.487,437.775]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-191.327,85.109],[-106.218,0],[106.218,0],[191.327,85.109],[191.327,428.416],[106.218,513.525],[-106.218,513.525],[-191.327,428.416]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-189.38,84.46],[-104.92,0],[104.92,0],[189.38,84.46],[189.38,419.982],[104.92,504.442],[-104.92,504.442],[-189.38,419.982]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-187.663,83.888],[-103.775,0],[103.775,0],[187.663,83.888],[187.663,412.539],[103.775,496.426],[-103.775,496.426],[-187.663,412.539]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-186.158,83.386],[-102.772,0],[102.772,0],[186.158,83.386],[186.158,406.02],[102.772,489.406],[-102.772,489.406],[-186.158,406.02]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-184.842,82.947],[-101.895,0],[101.895,0],[184.842,82.947],[184.842,400.315],[101.895,483.262],[-101.895,483.262],[-184.842,400.315]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-183.688,82.563],[-101.125,0],[101.125,0],[183.688,82.563],[183.688,395.313],[101.125,477.875],[-101.125,477.875],[-183.688,395.313]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-182.673,82.224],[-100.448,0],[100.448,0],[182.673,82.224],[182.673,390.915],[100.448,473.139],[-100.448,473.139],[-182.673,390.915]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-181.778,81.926],[-99.852,0],[99.852,0],[181.778,81.926],[181.778,387.037],[99.852,468.963],[-99.852,468.963],[-181.778,387.037]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-180.987,81.662],[-99.325,0],[99.325,0],[180.987,81.662],[180.987,383.61],[99.325,465.273],[-99.325,465.273],[-180.987,383.61]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-180.287,81.429],[-98.858,0],[98.858,0],[180.287,81.429],[180.287,380.577],[98.858,462.006],[-98.858,462.006],[-180.287,380.577]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-179.667,81.222],[-98.445,0],[98.445,0],[179.667,81.222],[179.667,377.889],[98.445,459.112],[-98.445,459.112],[-179.667,377.889]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-179.117,81.039],[-98.078,0],[98.078,0],[179.117,81.039],[179.117,375.508],[98.078,456.547],[-98.078,456.547],[-179.117,375.508]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-178.631,80.877],[-97.754,0],[97.754,0],[178.631,80.877],[178.631,373.399],[97.754,454.276],[-97.754,454.276],[-178.631,373.399]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-178.2,80.733],[-97.467,0],[97.467,0],[178.2,80.733],[178.2,371.535],[97.467,452.269],[-97.467,452.269],[-178.2,371.535]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-177.821,80.607],[-97.214,0],[97.214,0],[177.821,80.607],[177.821,369.892],[97.214,450.499],[-97.214,450.499],[-177.821,369.892]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-177.488,80.496],[-96.992,0],[96.992,0],[177.488,80.496],[177.488,368.45],[96.992,448.946],[-96.992,448.946],[-177.488,368.45]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-177.198,80.399],[-96.798,0],[96.798,0],[177.198,80.399],[177.198,367.19],[96.798,447.589],[-96.798,447.589],[-177.198,367.19]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-176.945,80.315],[-96.63,0],[96.63,0],[176.945,80.315],[176.945,366.097],[96.63,446.412],[-96.63,446.412],[-176.945,366.097]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-176.729,80.243],[-96.486,0],[96.486,0],[176.729,80.243],[176.729,365.158],[96.486,445.4],[-96.486,445.4],[-176.729,365.158]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-176.545,80.182],[-96.363,0],[96.363,0],[176.545,80.182],[176.545,364.36],[96.363,444.542],[-96.363,444.542],[-176.545,364.36]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-176.391,80.13],[-96.261,0],[96.261,0],[176.391,80.13],[176.391,363.694],[96.261,443.825],[-96.261,443.825],[-176.391,363.694]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-176.266,80.089],[-96.177,0],[96.177,0],[176.266,80.089],[176.266,363.151],[96.177,443.239],[-96.177,443.239],[-176.266,363.151]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-176.166,80.055],[-96.111,0],[96.111,0],[176.166,80.055],[176.166,362.721],[96.111,442.776],[-96.111,442.776],[-176.166,362.721]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.092,80.031],[-96.061,0],[96.061,0],[176.092,80.031],[176.092,362.397],[96.061,442.427],[-96.061,442.427],[-176.092,362.397]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.01,80.003],[-96.007,0],[96.007,0],[176.01,80.003],[176.01,362.042],[96.007,442.046],[-96.007,442.046],[-176.01,362.042]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,362],[96,442],[-96,442],[-176,362]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,361.402],[95.852,441.356],[-95.852,441.356],[-175.806,361.402]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,359.379],[95.351,439.179],[-95.351,439.179],[-175.151,359.379]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,355.463],[94.381,434.965],[-94.381,434.965],[-173.883,355.463]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,348.92],[92.761,427.924],[-92.761,427.924],[-171.765,348.92]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,338.542],[90.191,416.754],[-90.191,416.754],[-168.404,338.542]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,322.292],[86.168,399.267],[-86.168,399.267],[-163.142,322.292]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,297.387],[80.001,372.464],[-80.001,372.464],[-155.078,297.387]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,264.543],[71.868,337.118],[-71.868,337.118],[-144.442,264.543]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,233.528],[64.188,303.739],[-64.188,303.739],[-134.399,233.528]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,210.354],[58.449,278.8],[-58.449,278.8],[-126.895,210.354]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,193.758],[54.34,260.939],[-54.34,260.939],[-121.522,193.758]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,181.674],[51.348,247.935],[-51.348,247.935],[-117.609,181.674]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,172.72],[49.131,238.299],[-49.131,238.299],[-114.709,172.72]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,166.034],[47.475,231.104],[-47.475,231.104],[-112.544,166.034]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,161.062],[46.244,225.752],[-46.244,225.752],[-110.934,161.062]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,157.429],[45.344,221.843],[-45.344,221.843],[-109.758,157.429]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.875],[44.712,219.094],[-44.712,219.094],[-108.931,154.875]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,153.209],[44.299,217.301],[-44.299,217.301],[-108.391,153.209]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.287],[44.071,216.309],[-44.071,216.309],[-108.093,152.287]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":2,"op":446,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[412,892],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.875,0.953,0.686,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.875,0.953,0.686,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":446,"st":0,"ct":1,"bm":0}]},{"id":"comp_1","nm":"Part02_Charade_Overview_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Secondary Y Movement","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":206,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[807.709]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":40.334,"s":[814.909]},{"t":52,"s":[807.709]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"MASTER Y POSITION","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.426],"y":[0.38]},"o":{"x":[0.48],"y":[0.051]},"t":0,"s":[-97.709]},{"i":{"x":[0.633],"y":[1]},"o":{"x":[0.654],"y":[-0.375]},"t":23,"s":[-103.709]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":38,"s":[-92.709]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":44.666,"s":[-50.709]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":78,"s":[12.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":109,"s":[-7.709]},{"i":{"x":[0.8],"y":[0.764]},"o":{"x":[0.3],"y":[0]},"t":118,"s":[-7.709]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":128,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.78],"y":[0]},"t":143,"s":[46.291]},{"i":{"x":[0.8],"y":[0.528]},"o":{"x":[0.3],"y":[0]},"t":145,"s":[46.291]},{"i":{"x":[0.22],"y":[1]},"o":{"x":[0.18],"y":[1]},"t":155,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":184,"s":[-7.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":195,"s":[-7.709]},{"i":{"x":[0.428],"y":[1]},"o":{"x":[0.681],"y":[0]},"t":235,"s":[-261.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[-239.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":294,"s":[-239.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":334,"s":[-261.709]},{"i":{"x":[0.473],"y":[1.533]},"o":{"x":[0.63],"y":[0]},"t":343,"s":[-261.709]},{"i":{"x":[0.105],"y":[1]},"o":{"x":[0.497],"y":[-0.207]},"t":406,"s":[-157.709]},{"t":466,"s":[62.291]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":60,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":72,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":84,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":96,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":108,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":162,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":174,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":186,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":198,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":210,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":264,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":276,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":288,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":300,"s":[100]},{"t":312,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,1429,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":6,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":0,"k":414,"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":0,"k":581,"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":0,"k":90,"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"a":0,"k":90,"ix":8}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"a":0,"k":135,"ix":9}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"a":0,"k":135,"ix":10}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.507,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.507,0],[0,0]],"v":[[-207,-491],[-117,-581],[117,-581],[207,-491],[207,-135],[72,0],[-72,0],[-207,-135]],"c":true}],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.507,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.507,0],[0,0]],"v":[[-207,-491],[-117,-581],[117,-581],[207,-491],[207,-135],[72,0],[-72,0],[-207,-135]],"c":true}],"t":466,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"k":[{"s":[0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":466,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 11986","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":312,"st":-205,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-144,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-134,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.108},"t":426,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":465,"s":[0,-10.9,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[206,709.342],"t":7,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,708.844],"t":9,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,708.163],"t":11,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.778],"t":12,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.383],"t":13,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.991],"t":14,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.607],"t":15,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.236],"t":16,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,705.536],"t":18,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.888],"t":20,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.286],"t":22,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,703.634],"t":24,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.162],"t":29,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.995],"t":30,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.186],"t":31,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.757],"t":32,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,709.623],"t":33,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,711.521],"t":34,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,713.117],"t":35,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,714.218],"t":36,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,714.82],"t":37,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,715],"t":38,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,718.61],"t":39,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,723.334],"t":40,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,727.28],"t":41,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,731.651],"t":42,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,737.952],"t":43,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,747.768],"t":44,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,767.765],"t":45,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,783.252],"t":46,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,791.43],"t":47,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,796.66],"t":48,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,800.434],"t":49,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,803.356],"t":50,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,805.726],"t":51,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,807.709],"t":52,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,809.387],"t":53,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,810.811],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,812.032],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,813.088],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,814.009],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,814.815],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,815.523],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,816.146],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,816.697],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,817.183],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,817.991],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,818.618],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,819.289],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,818.559],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,817.822],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,816.803],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,815.403],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,813.559],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,811.411],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,809.329],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,807.568],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,806.151],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,805.013],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,804.089],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,803.33],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,802.701],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,802.177],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.737],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.06],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,800.28],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,800],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.695],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,805.856],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,811.656],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,818.633],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,826.494],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,835.028],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,844.063],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,853.43],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,862.906],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,872],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,870.974],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,866.807],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,863],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,860.542],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,858.826],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,857.559],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,856.595],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.851],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.277],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,854.508],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.056],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,856.15],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,857.521],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,859.142],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,861.007],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,863.131],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,865.561],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,868.408],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,872],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,858.505],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,846.072],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,835.381],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,826.799],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,820.238],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,815.333],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,811.679],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,808.94],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,806.868],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,805.285],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,804.066],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,803.121],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,802.386],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.812],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.016],"t":171,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,800.261],"t":175,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,799.796],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,799.146],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,797.987],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,796.238],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,793.802],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,790.556],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,786.342],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,780.962],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,774.161],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,765.62],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,754.959],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,741.8],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,725.947],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.739],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,688.322],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,669.296],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,651.898],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,636.626],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,623.459],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,612.161],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,602.455],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,594.089],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,586.851],"t":218,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,580.57],"t":219,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,575.108],"t":220,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,570.351],"t":221,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.208],"t":222,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,562.606],"t":223,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,559.48],"t":224,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,556.781],"t":225,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,554.462],"t":226,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,552.488],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.826],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.449],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.332],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.454],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.798],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.346],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.8],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.177],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.656],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.94],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.258],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.613],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.008],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.448],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.938],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.483],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,551.089],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,551.76],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,552.504],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,553.322],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,554.216],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,555.181],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,556.206],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,557.271],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,558.349],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,559.409],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,560.422],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,561.368],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,562.234],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,563.016],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,563.716],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,564.338],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,564.888],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.372],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.798],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.171],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.496],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,567.025],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,567.564],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,567.182],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.817],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.351],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.762],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.022],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,564.099],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,562.959],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,561.586],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,560.009],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,558.327],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,556.679],"t":310,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,555.172],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,553.85],"t":312,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,552.709],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,551.73],"t":314,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.89],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.165],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.538],"t":317,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.994],"t":318,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.521],"t":319,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.109],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.75],"t":321,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.438],"t":322,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.934],"t":324,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.418],"t":327,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.909],"t":348,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.33],"t":349,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.84],"t":350,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.444],"t":351,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.146],"t":352,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.951],"t":353,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.867],"t":354,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,551.897],"t":355,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,553.05],"t":356,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,554.331],"t":357,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,555.75],"t":358,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,557.313],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,559.03],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,560.909],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,562.961],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.196],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,567.625],"t":364,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,570.259],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,573.108],"t":366,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,576.182],"t":367,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,579.492],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,583.045],"t":369,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,586.844],"t":370,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,590.888],"t":371,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,595.171],"t":372,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,599.675],"t":373,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,604.372],"t":374,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,609.22],"t":375,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,614.165],"t":376,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,619.139],"t":377,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,624.062],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,628.854],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,633.436],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,637.74],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,641.713],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,645.319],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,648.538],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,651.365],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,653.807],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,655.876],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,657.593],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,658.978],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,660.055],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,660.846],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,661.373],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,660.714],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,660.036],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,659.208],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,658.241],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,657.143],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,655.925],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,654.595],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,653.159],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,651.626],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,650],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,648.564],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,647.319],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,646.287],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,645.494],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,644.972],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,645.439],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,646.461],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,648.043],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,650.295],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,653.352],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,657.389],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,662.625],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,669.323],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,677.764],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,688.164],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,700.486],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,714.241],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,728.508],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,742.068],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,754.388],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,765.254],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,774.723],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,783.006],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,790.334],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,796.881],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,802.769],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,808.088],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,812.91],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,817.296],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,821.294],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,824.947],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,828.291],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,831.357],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,834.17],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,836.755],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,839.128],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,841.307],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,843.308],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,845.143],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,846.825],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,848.365],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,849.769],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,851.048],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,852.209],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,853.259],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,854.203],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.049],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.801],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,856.465],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,857.044],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,857.544],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,858.32],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}]},{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.167},"t":426,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}]},{"t":465,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.44],"y":[0]},"t":406,"s":[54]},{"t":426,"s":[58]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":18,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.461,-40.238]],"c":false}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.979,-40.201]],"c":false}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.191,-40.142]],"c":false}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[53.112,-40.06]],"c":false}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[51.754,-39.958]],"c":false}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[50.13,-39.835]],"c":false}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[48.251,-39.693]],"c":false}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[46.13,-39.533]],"c":false}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[43.779,-39.356]],"c":false}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[41.212,-39.162]],"c":false}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[38.443,-38.953]],"c":false}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[35.488,-38.73]],"c":false}],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[32.365,-38.494]],"c":false}],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[29.095,-38.248]],"c":false}],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[25.705,-37.992]],"c":false}],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[22.232,-37.73]],"c":false}],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[18.728,-37.465]],"c":false}],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[15.275,-37.205]],"c":false}],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[12.014,-36.959]],"c":false}],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.245]],"c":false}],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-35.487]],"c":false}],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-34.479]],"c":false}],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-33.307]],"c":false}],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-32.102]],"c":false}],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-30.966]],"c":false}],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.94]],"c":false}],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.029]],"c":false}],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-28.223]],"c":false}],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-27.508]],"c":false}],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.872]],"c":false}],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.304]],"c":false}],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.794]],"c":false}],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.335]],"c":false}],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.92]],"c":false}],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.545]],"c":false}],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.205]],"c":false}],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.896]],"c":false}],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.615]],"c":false}],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.36]],"c":false}],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.129]],"c":false}],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.918]],"c":false}],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.728]],"c":false}],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.555]],"c":false}],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.4]],"c":false}],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.26]],"c":false}],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.135]],"c":false}],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.023]],"c":false}],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.924]],"c":false}],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.837]],"c":false}],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.762]],"c":false}],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.697]],"c":false}],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.642]],"c":false}],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.597]],"c":false}],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.561]],"c":false}],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.534]],"c":false}],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.515]],"c":false}],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"k":[{"s":[54.014],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.056],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.123],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.216],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.333],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.474],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.636],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.819],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.022],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.244],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.483],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.738],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.008],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.291],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.584],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.883],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.185],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.482],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.763],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":1,"k":[{"t":-145,"s":[0],"h":1},{"t":18,"s":[100],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[6.167,-3.179],[-15.352,0],[5.008,2.581]],"o":[[-5.59,2.881],[13.869,0],[-6.167,-3.179]],"v":[[-9.526,-79.571],[0.604,-100.669],[9.867,-79.571]],"c":true}]},{"t":426,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,-79.571],[0.709,-100.669],[11.321,-79.571]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.765,"y":0.675},"o":{"x":0.399,"y":0},"t":406,"s":[0,139],"to":[0,0],"ti":[0,0]},{"i":{"x":0.24,"y":1},"o":{"x":0.4,"y":0.441},"t":424,"s":[0,101],"to":[0,0],"ti":[0,0]},{"t":427,"s":[0,93]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":406,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-6,"s":[100]},{"t":5,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.033,-21.75],[-55.984,-40.016]],"c":false}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-7.198,-21.75],[-50.169,-39.599]],"c":false}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5.356,-21.75],[-37.325,-38.678]],"c":false}],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-2.425,-21.75],[-16.892,-37.213]],"c":false}],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0.467,-21.75],[3.272,-35.766]],"c":false}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.584,-21.75],[18.031,-34.708]],"c":false}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.048,-21.75],[28.237,-33.976]],"c":false}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.064,-21.75],[35.32,-33.468]],"c":false}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.767,-21.75],[40.22,-33.116]],"c":false}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.241,-21.75],[43.523,-32.88]],"c":false}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.54,-21.75],[45.607,-32.73]],"c":false}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.701,-21.75],[46.73,-32.65]],"c":false}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[49.587,-33.707]],"c":false}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[54.144,-35.668]],"c":false}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[57.197,-36.982]],"c":false}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[59.162,-37.828]],"c":false}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[60.549,-38.425]],"c":false}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[61.581,-38.869]],"c":false}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.369,-39.208]],"c":false}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.978,-39.47]],"c":false}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.45,-39.673]],"c":false}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.811,-39.829]],"c":false}],"t":218,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.082,-39.945]],"c":false}],"t":219,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.276,-40.028]],"c":false}],"t":220,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.405,-40.084]],"c":false}],"t":221,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.477,-40.115]],"c":false}],"t":222,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":195,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.01,"y":1},"o":{"x":0.167,"y":0.167},"t":208,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}]},{"t":223,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.5,-40.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":200,"op":221,"st":-6,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-145,"s":[100]},{"t":-134,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.725,-44.786]],"c":false}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.906,-43.051]],"c":false}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.119,-41.012]],"c":false}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.349,-38.801]],"c":false}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.591,-36.476]],"c":false}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.841,-34.073]],"c":false}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.097,-31.615]],"c":false}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.357,-29.121]],"c":false}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.618,-26.612]],"c":false}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.878,-24.121]],"c":false}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.021,-24.795]],"c":false}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.846,-29.943]],"c":false}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.74,-33.077]],"c":false}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.672,-35.065]],"c":false}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.625,-36.457]],"c":false}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.59,-37.483]],"c":false}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.564,-38.258]],"c":false}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.543,-38.847]],"c":false}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.528,-39.292]],"c":false}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.517,-39.621]],"c":false}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.509,-39.856]],"c":false}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.504,-40.011]],"c":false}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.501,-40.098]],"c":false}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.048]],"c":false}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.825]],"c":false}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.469]],"c":false}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.991]],"c":false}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.401]],"c":false}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-37.708]],"c":false}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.919]],"c":false}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.042]],"c":false}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-35.084]],"c":false}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-34.051]],"c":false}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-32.951]],"c":false}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-31.79]],"c":false}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-30.576]],"c":false}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-29.316]],"c":false}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-28.021]],"c":false}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-26.701]],"c":false}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-25.375]],"c":false}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-24.067]],"c":false}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-22.825]],"c":false}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.38,-24.323]],"c":false}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.199,-28.188]],"c":false}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.031,-31.777]],"c":false}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.898,-34.618]],"c":false}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.795,-36.811]],"c":false}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.716,-38.509]],"c":false}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.654,-39.829]],"c":false}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.606,-40.851]],"c":false}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.57,-41.634]],"c":false}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.542,-42.22]],"c":false}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.523,-42.64]],"c":false}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.51,-42.919]],"c":false}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.502,-43.076]],"c":false}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.5,-43.125]],"c":false}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}]},{"t":118,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.5,-43.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,10.429],[0.709,-10.669],[11.321,10.429]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[4.884,-3.179],[-12.16,0],[3.966,2.581]],"o":[[-4.427,2.881],[10.985,0],[-4.884,-3.179]],"v":[[-7.577,14.554],[0.447,-6.544],[7.784,14.554]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[5.367,-3.179],[-13.36,0],[4.358,2.581]],"o":[[-4.864,2.881],[12.069,0],[-5.367,-3.179]],"v":[[-8.36,13.429],[0.455,-7.669],[8.517,13.429]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]},{"t":112,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-90],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Round Bottom","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":59,"op":112,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[206,709.342],"t":7,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,708.844],"t":9,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,708.163],"t":11,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.778],"t":12,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.383],"t":13,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.991],"t":14,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.607],"t":15,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.236],"t":16,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,705.536],"t":18,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.888],"t":20,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.286],"t":22,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,703.634],"t":24,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.162],"t":29,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.995],"t":30,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.186],"t":31,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.757],"t":32,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,709.623],"t":33,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,711.521],"t":34,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,713.117],"t":35,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,714.218],"t":36,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,714.82],"t":37,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,715],"t":38,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,718.61],"t":39,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,723.334],"t":40,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,727.28],"t":41,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,731.651],"t":42,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,737.952],"t":43,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,747.768],"t":44,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,767.765],"t":45,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,783.252],"t":46,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,791.43],"t":47,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,796.66],"t":48,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,800.434],"t":49,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,803.356],"t":50,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,805.726],"t":51,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,807.709],"t":52,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,809.387],"t":53,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,810.811],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,812.032],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,813.088],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,814.009],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,814.815],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,815.523],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,816.146],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,816.697],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,817.183],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,817.991],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,818.618],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,819.289],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,818.559],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,817.822],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,816.803],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,815.403],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,813.559],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,811.411],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,809.329],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,807.568],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,806.151],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,805.013],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,804.089],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,803.33],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,802.701],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,802.177],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.737],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.06],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,800.28],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,800],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.695],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,805.856],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,811.656],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,818.633],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,826.494],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,835.028],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,844.063],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,853.43],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,862.906],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,872],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,870.974],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,866.807],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,863],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,860.542],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,858.826],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,857.559],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,856.595],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.851],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.277],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,854.508],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.056],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,856.15],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,857.521],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,859.142],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,861.007],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,863.131],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,865.561],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,868.408],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,872],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,858.505],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,846.072],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,835.381],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,826.799],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,820.238],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,815.333],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,811.679],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,808.94],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,806.868],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,805.285],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,804.066],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,803.121],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,802.386],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.812],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.016],"t":171,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,800.261],"t":175,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,799.796],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,799.146],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,797.987],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,796.238],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,793.802],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,790.556],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,786.342],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,780.962],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,774.161],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,765.62],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,754.959],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,741.8],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,725.947],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.739],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,688.322],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,669.296],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,651.898],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,636.626],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,623.459],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,612.161],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,602.455],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,594.089],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,586.851],"t":218,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,580.57],"t":219,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,575.108],"t":220,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,570.351],"t":221,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.208],"t":222,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,562.606],"t":223,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,559.48],"t":224,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,556.781],"t":225,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,554.462],"t":226,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,552.488],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.826],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.449],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.332],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.454],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.798],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.346],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.8],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.177],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.656],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.94],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.258],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.613],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.008],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.448],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.938],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.483],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,551.089],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,551.76],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,552.504],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,553.322],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,554.216],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,555.181],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,556.206],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,557.271],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,558.349],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,559.409],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,560.422],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,561.368],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,562.234],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,563.016],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,563.716],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,564.338],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,564.888],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.372],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.798],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.171],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.496],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,567.025],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,567.564],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,567.182],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.817],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,566.351],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.762],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.022],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,564.099],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,562.959],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,561.586],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,560.009],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,558.327],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,556.679],"t":310,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,555.172],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,553.85],"t":312,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,552.709],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,551.73],"t":314,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.89],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.165],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.538],"t":317,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.994],"t":318,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.521],"t":319,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.109],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.75],"t":321,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.438],"t":322,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.934],"t":324,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.418],"t":327,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.909],"t":348,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.33],"t":349,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,547.84],"t":350,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,548.444],"t":351,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.146],"t":352,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,549.951],"t":353,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,550.867],"t":354,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,551.897],"t":355,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,553.05],"t":356,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,554.331],"t":357,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,555.75],"t":358,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,557.313],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,559.03],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,560.909],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,562.961],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,565.196],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,567.625],"t":364,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,570.259],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,573.108],"t":366,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,576.182],"t":367,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,579.492],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,583.045],"t":369,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,586.844],"t":370,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,590.888],"t":371,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,595.171],"t":372,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,599.675],"t":373,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,604.372],"t":374,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,609.22],"t":375,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,614.165],"t":376,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,619.139],"t":377,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,624.062],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,628.854],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,633.436],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,637.74],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,641.713],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,645.319],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,648.538],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,651.365],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,653.807],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,655.876],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,657.593],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,658.978],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,660.055],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,660.846],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,661.373],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,660.714],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,660.036],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,659.208],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,658.241],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,657.143],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,655.925],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,654.595],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,653.159],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,651.626],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,650],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,648.564],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,647.319],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,646.287],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,645.494],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,644.972],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,645.439],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,646.461],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,648.043],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,650.295],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,653.352],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,657.389],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,662.625],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,669.323],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,677.764],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,688.164],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,700.486],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,714.241],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,728.508],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,742.339],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,755.125],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,766.645],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,776.916],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,786.055],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,794.201],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,801.49],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,808.038],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,813.944],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,819.291],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,824.146],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,828.567],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,832.601],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,836.291],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,839.669],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,842.765],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,845.605],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,848.211],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,850.603],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,852.796],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,854.806],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,856.646],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,858.328],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,859.862],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,861.259],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,862.526],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,863.671],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,864.701],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,865.624],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,866.443],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,867.166],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,867.796],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,868.339],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,869.178],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":16,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-37]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-7.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":28,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"t":52,"s":[100],"h":1},{"t":62,"s":[0],"h":1},{"t":112,"s":[100],"h":1},{"t":200,"s":[0],"h":1},{"t":221,"s":[100],"h":1},{"t":408,"s":[0],"h":1}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-259.147,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.001,"y":0},"t":27,"s":[{"i":[[4.22,-5.198],[6.889,-2.445],[6.141,2.195],[4.414,5.745],[2.09,6.003],[1.842,5.673],[0,0],[-4.629,7.032],[-3.668,2.338],[-9.176,-4.129],[0,0],[-2.537,1.423],[0,0],[-5.764,-2.348],[-3.35,-5.761],[3.559,-9.527],[0,0],[2.211,-5.388]],"o":[[-4.607,5.675],[-6.146,2.181],[-6.823,-2.438],[-3.873,-5.041],[-1.961,-5.633],[-0.673,-2.074],[-3.418,-8.054],[2.391,-3.632],[7.091,-4.519],[0,0],[2.053,0.611],[0,0],[6.766,-3.045],[6.042,2.461],[4.226,7.269],[0,0],[0,0],[-2.542,6.194]],"v":[[26.625,263.759],[9.088,276.927],[-10.477,276.927],[-27.766,263.755],[-34.35,245.857],[-39.92,228.853],[-41.895,222.617],[-38.621,196.593],[-29.625,187.329],[-2.764,182.988],[-0.678,184.077],[3.537,183.327],[5.123,182.613],[23.746,183.97],[38.891,196.367],[42.816,222.402],[40.88,229.024],[34.705,245.369]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":40,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":49,"s":[{"i":[[0,0],[5.924,-2.615],[6.267,2.766],[3.263,7.561],[2.981,6.909],[0,0],[0,0],[-4.825,8.784],[-3.668,2.709],[-9.176,-4.785],[0,0],[-7.064,3.683],[0,0],[-5.942,-2.295],[-3.35,-6.676],[4.5,-10.429],[0,0],[2.725,-6.315]],"o":[[-3.262,7.56],[-6.266,2.766],[-5.925,-2.615],[0,0],[-2.981,-6.909],[0,0],[-3.988,-9.246],[2.335,-4.251],[7.091,-5.237],[0,0],[7.064,3.683],[0,0],[6.766,-3.528],[6.387,2.466],[4.226,8.423],[0,0],[0,0],[-3.063,7.1]],"v":[[23.515,261.285],[9.088,276.548],[-10.477,276.549],[-24.906,261.285],[-33.85,240.557],[-42.795,219.829],[-48.707,206.127],[-47.871,176.22],[-38.875,165.486],[-13.389,163.498],[-11.803,164.325],[10.412,164.325],[11.998,163.498],[31.496,162.173],[46.641,176.538],[47.316,206.126],[40.88,221.041],[32.705,239.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.61,"y":0},"t":57,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[5.829,-2.275],[6.166,2.405],[3.21,6.575],[2.933,6.009],[0,0],[0,0],[-4.747,7.639],[-3.609,2.356],[-9.028,-5.782],[0,0],[-6.95,4.451],[0,0],[-5.847,-1.996],[-3.296,-5.806],[4.428,-9.07],[0,0],[2.681,-5.492]],"o":[[-3.21,6.575],[-6.165,2.406],[-5.83,-2.274],[0,0],[-2.933,-6.009],[0,0],[-3.924,-8.041],[2.297,-3.697],[6.977,-4.554],[0,0],[6.95,4.451],[0,0],[6.657,-4.263],[6.284,2.145],[4.158,7.326],[0,0],[0,0],[-3.014,6.174]],"v":[[23.147,263.139],[8.953,276.413],[-10.297,276.414],[-24.493,263.14],[-31.981,245.113],[-39.468,227.086],[-43.871,215.169],[-44.463,189.161],[-35.612,179.825],[-10.537,178.375],[-8.977,179.374],[7.631,179.374],[9.191,178.375],[28.374,176.944],[43.275,189.437],[42.525,215.169],[37.607,228.14],[30.877,244.617]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[5.782,-2.283],[6.116,2.414],[3.184,6.6],[2.91,6.031],[0,0],[0,0],[-4.709,7.668],[-3.58,2.365],[-8.956,-2.881],[0,0],[-6.894,2.218],[0,0],[-5.8,-2.003],[-3.269,-5.828],[4.392,-9.104],[0,0],[2.66,-5.513]],"o":[[-3.184,6.599],[-6.116,2.415],[-5.783,-2.283],[0,0],[-2.91,-6.031],[0,0],[-3.893,-8.071],[2.279,-3.711],[6.921,-4.571],[0,0],[6.894,2.218],[0,0],[6.604,-2.124],[6.234,2.153],[4.125,7.353],[0,0],[0,0],[-2.99,6.198]],"v":[[22.966,262.838],[8.886,276.162],[-10.209,276.162],[-24.29,262.838],[-31.064,244.743],[-37.837,226.649],[-41.5,214.688],[-42.792,188.581],[-34.012,179.21],[-9.139,174.179],[-7.591,174.677],[6.267,174.677],[7.814,174.179],[26.844,176.318],[41.625,188.859],[40.176,214.688],[36.003,227.707],[29.98,244.245]],"c":true}]},{"i":{"x":0.48,"y":1},"o":{"x":0.26,"y":1},"t":111,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,1.445],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,1.445],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[22.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-30.85,245.866],[-37.795,227.978],[-42.707,216.152],[-41.871,190.343],[-32.875,181.079],[-7.389,179.363],[-5.803,180.077],[5.412,180.077],[6.998,179.363],[26.496,178.22],[41.641,190.617],[42.316,216.152],[38.88,229.024],[31.705,245.374]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.902,"y":0},"o":{"x":0.3,"y":0},"t":119,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":129,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.78,"y":0},"t":144,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.4,"y":0},"t":146,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.884},"t":156,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":175,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":195,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"t":200,"s":[{"i":[[0,0],[4.982,-1.843],[5.269,1.949],[2.743,5.327],[2.507,4.868],[0,0],[0,0],[-4.057,6.188],[-3.084,1.909],[-7.716,-3.371],[0,0],[-5.94,2.595],[0,0],[-4.997,-1.617],[-2.817,-4.703],[3.784,-7.348],[0,0],[2.291,-4.449]],"o":[[-2.743,5.326],[-5.269,1.949],[-4.982,-1.842],[0,0],[-2.507,-4.868],[0,0],[-3.354,-6.514],[1.963,-2.995],[5.963,-3.69],[0,0],[5.94,2.595],[0,0],[5.69,-2.486],[5.371,1.738],[3.554,5.935],[0,0],[0,0],[-2.576,5.002]],"v":[[21.328,266.623],[7.572,277.365],[-8.88,277.366],[-21.013,266.612],[-30.158,252.046],[-38.929,237.463],[-42.276,232.155],[-38.901,208.3],[-31.337,200.737],[-7.657,199.329],[-6.324,199.912],[6.078,199.877],[7.412,199.294],[26.437,198.157],[39.172,208.278],[42.466,230.78],[38.179,240.068],[31.18,251.666]],"c":true}],"h":1},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":221,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":225,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":230,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":235,"s":[{"i":[[0,0],[-6.469,2.527],[-6.843,-2.672],[-3.562,-7.305],[-2.238,-6.948],[0,0],[0,0],[6.26,-7.958],[4.298,-2.236],[9.409,5.515],[0,0],[2.81,-1.723],[0,0],[6.751,1.509],[4.533,6.012],[-3.466,10.525],[0,0],[-1.94,6.411]],"o":[[3.562,-7.305],[6.843,-2.673],[6.47,2.527],[0,0],[2.25,6.984],[0,0],[3.257,9.283],[-3.029,3.851],[-8.309,4.323],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.171],[-7.256,-1.622],[-5.72,-7.586],[0,0],[0,0],[2.154,-7.118]],"v":[[-25.972,256.282],[-10.844,241.57],[10.52,241.569],[26.276,256.317],[31.363,275.406],[37.793,296.199],[41.622,309.972],[42.615,338.644],[31.6,348.06],[3.818,347.368],[2.192,346.415],[-2.497,346.685],[-4.104,347.662],[-23.931,350.493],[-42.288,338.48],[-42.272,310.249],[-38.575,296.613],[-32.279,277.866]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":240,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.17,"y":0},"t":250,"s":[{"i":[[0,0],[-6.469,2.528],[-6.843,-2.674],[-3.562,-7.309],[-2.238,-6.951],[0,0],[0,0],[6.26,-7.962],[4.298,-2.237],[9.409,5.517],[0,0],[2.81,-1.724],[0,0],[6.751,1.51],[4.533,6.015],[-3.466,10.53],[0,0],[-1.94,6.414]],"o":[[3.562,-7.308],[6.843,-2.674],[6.47,2.528],[0,0],[2.25,6.988],[0,0],[3.257,9.287],[-3.029,3.853],[-8.309,4.325],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.173],[-7.256,-1.623],[-5.72,-7.59],[0,0],[0,0],[2.154,-7.121]],"v":[[-25.972,256.238],[-10.844,241.519],[10.52,241.518],[26.276,256.273],[31.363,275.37],[37.793,296.172],[41.622,309.952],[42.615,338.637],[31.6,348.057],[3.818,347.366],[2.192,346.412],[-2.497,346.682],[-4.104,347.66],[-23.931,350.492],[-42.288,338.473],[-42.272,310.229],[-38.575,296.587],[-32.279,277.831]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":296,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":313,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":318,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":323,"s":[{"i":[[0,0],[-6.37,2.351],[-6.738,-2.486],[-3.508,-6.797],[-3.206,-6.211],[0,0],[0,0],[5.188,-7.896],[3.944,-2.435],[9.867,4.301],[0,0],[7.596,-3.311],[0,0],[6.39,2.063],[3.602,6.001],[-4.839,9.375],[0,0],[-2.93,5.677]],"o":[[3.508,-6.796],[6.738,-2.487],[6.371,2.351],[0,0],[3.206,6.211],[0,0],[4.289,8.311],[-2.511,3.821],[-7.625,4.707],[0,0],[-7.596,-3.311],[0,0],[-7.276,3.172],[-6.868,-2.217],[-4.545,-7.572],[0,0],[0,0],[3.294,-6.382]],"v":[[-26.198,255.941],[-10.685,242.221],[10.353,242.22],[25.868,255.941],[35.486,274.574],[45.103,294.249],[51.461,306.566],[50.562,333.45],[40.889,343.1],[13.484,344.887],[11.779,344.143],[-12.109,344.143],[-13.814,344.887],[-34.78,346.078],[-51.065,333.164],[-51.791,306.566],[-44.871,293.159],[-36.08,275.087]],"c":true}]},{"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0},"t":328,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.52,"y":0.96},"o":{"x":0.48,"y":0.04},"t":343,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":370,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.59,"y":1},"o":{"x":0.5,"y":0},"t":389,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"t":406,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[30.971,273.182],[38.915,291.071],[43.202,302.895],[42.366,328.704],[33.371,337.968],[7.884,339.684],[6.299,338.97],[-6.167,338.97],[-7.753,339.684],[-27.251,340.827],[-42.396,328.43],[-43.071,302.895],[-38.76,290.025],[-31.585,273.675]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"animated arrow","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":27,"op":408,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[412,892],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.886274509804,0.952941176471,0.686274509804,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0}]},{"id":"comp_2","nm":"Part01_ThumbDemo_Overview_V02","fr":60,"pfr":1,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"OVERSHOOT THUMB","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":246,"s":[289]},{"t":331,"s":[329]}],"ix":3},"y":{"a":0,"k":758,"ix":4}},"a":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":321,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":371,"s":[40,0,0]}],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":425,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"HAND NULL","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.59],"y":[0]},"t":3,"s":[10]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.15],"y":[0]},"t":59,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.6],"y":[0]},"t":95,"s":[-3]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[-4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.166],"y":[0]},"t":170,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[15]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":231,"s":[12]},{"i":{"x":[0.22],"y":[0.993]},"o":{"x":[0.41],"y":[0]},"t":246,"s":[15.59]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[40]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":321,"s":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":381,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[15]},{"t":425,"s":[52]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.06],"y":[0.36]},"t":0,"s":[260]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[123]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[123]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":231,"s":[0]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":256.666,"s":[60.8]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":310,"s":[152]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":331,"s":[152]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":371,"s":[134]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[134]},{"t":425,"s":[264]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.194],"y":[0]},"t":0,"s":[273.366]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":63,"s":[162]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[162]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.259],"y":[0]},"t":170,"s":[0]},{"i":{"x":[0.33],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":246,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":310,"s":[13]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":321,"s":[13]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":381,"s":[-109]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[-109]},{"t":425,"s":[67]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":425,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Thumb - KO","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"k":[{"s":[17.7],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[17.084],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.752],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.548],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.405],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.298],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.213],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.144],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.086],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.037],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.995],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.958],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.926],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.898],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.874],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.852],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.832],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.815],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.8],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.786],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.773],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.763],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.753],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.744],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.73],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.715],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"p":{"k":[{"s":[0,0,0],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.015,0,0],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.077,0,0],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.192,0,0],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.364,0,0],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.598,0,0],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.902,0,0],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.285,0,0],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.76,0,0],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.347,0,0],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.074,0,0],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.968,0,0],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.068,0,0],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-6.423,0,0],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-8.089,0,0],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.109,0,0],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-12.416,0,0],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.732,0,0],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-16.688,0,0],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.11,0,0],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.047,0,0],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.624,0,0],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.922,0,0],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.792,0,0],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.993,0,0],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-17.321,0,0],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.437,0,0],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.855,0,0],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-7.728,0,0],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.403,0,0],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.711,0,0],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.481,0,0],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.587,0,0],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.945,0,0],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.494,0,0],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.2,0,0],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.041,0,0],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.909],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.63],[31.09,-15.283],[13.475,-3.311],[35.363,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.667,116.665],[-117.97,119.232],[-229.615,116.95],[-229.867,50.888],[-139.016,15.389],[-88.152,4.787],[-12.612,-36.255]],"c":true}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.127],[20.863,-4.414],[30.005,14.508],[-19.477,9.414],[-43.782,10.829],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.287,-4.716],[-20.863,4.414],[-30.007,-14.235],[31.121,-15.037],[13.472,-3.332],[35.361,-7.859],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.82,116.749],[-117.884,119.917],[-226.898,115.937],[-226.972,51.297],[-139.102,14.702],[-86.526,4.409],[-12.612,-36.255]],"c":true}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.142],[20.861,-4.429],[29.974,14.261],[-19.489,9.319],[-43.776,10.871],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.733],[-20.861,4.429],[-29.977,-13.992],[31.139,-14.886],[13.471,-3.345],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.3,116.8],[-117.832,120.338],[-225.228,115.315],[-225.194,51.548],[-139.154,14.28],[-85.528,4.177],[-12.612,-36.255]],"c":true}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.438],[29.953,14.089],[-19.498,9.253],[-43.773,10.9],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.438],[-29.956,-13.823],[31.153,-14.781],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.936,116.835],[-117.796,120.632],[-224.061,114.88],[-223.952,51.724],[-139.191,13.985],[-84.829,4.015],[-12.612,-36.255]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.937,13.959],[-19.504,9.203],[-43.77,10.923],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.753],[-20.859,4.446],[-29.94,-13.695],[31.162,-14.701],[13.469,-3.361],[35.359,-7.874],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.662,116.862],[-117.768,120.854],[-223.181,114.552],[-223.014,51.856],[-139.219,13.762],[-84.303,3.893],[-12.612,-36.255]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.166],[20.858,-4.452],[29.924,13.857],[-19.509,9.163],[-43.768,10.94],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.76],[-20.858,4.452],[-29.927,-13.594],[31.17,-14.638],[13.468,-3.366],[35.359,-7.877],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.446,116.884],[-117.746,121.029],[-222.486,114.293],[-222.274,51.961],[-139.241,13.586],[-83.887,3.796],[-12.612,-36.255]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.457],[29.914,13.773],[-19.513,9.131],[-43.766,10.954],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.766],[-20.858,4.457],[-29.917,-13.511],[31.177,-14.587],[13.467,-3.371],[35.359,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.269,116.901],[-117.728,121.172],[-221.919,114.082],[-221.67,52.046],[-139.258,13.443],[-83.548,3.717],[-12.612,-36.255]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.175],[20.857,-4.461],[29.905,13.703],[-19.516,9.104],[-43.764,10.966],[-18.617,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.771],[-20.857,4.461],[-29.908,-13.443],[31.182,-14.544],[13.467,-3.375],[35.358,-7.882],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.121,116.915],[-117.714,121.291],[-221.446,113.906],[-221.166,52.118],[-139.273,13.323],[-83.265,3.652],[-12.612,-36.255]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.997,116.928],[-117.701,121.392],[-221.044,113.756],[-220.739,52.178],[-139.286,13.222],[-83.025,3.596],[-12.612,-36.255]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.593],[-19.522,9.062],[-43.762,10.985],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.895,-13.334],[31.19,-14.477],[13.466,-3.38],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.889,116.938],[-117.69,121.479],[-220.7,113.628],[-220.372,52.23],[-139.297,13.135],[-82.819,3.548],[-12.612,-36.255]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[20.856,-4.47],[29.886,13.549],[-19.524,9.045],[-43.761,10.993],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.781],[-20.856,4.47],[-29.89,-13.291],[31.194,-14.45],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.796,116.947],[-117.681,121.554],[-220.401,113.516],[-220.054,52.275],[-139.306,13.059],[-82.64,3.507],[-12.612,-36.255]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.187],[20.856,-4.472],[29.881,13.51],[-19.526,9.03],[-43.76,10.999],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.784],[-20.856,4.472],[-29.885,-13.253],[31.197,-14.426],[13.466,-3.385],[35.358,-7.887],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.715,116.955],[-117.673,121.62],[-220.14,113.419],[-219.776,52.314],[-139.314,12.993],[-82.484,3.47],[-12.612,-36.255]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.189],[20.856,-4.474],[29.877,13.477],[-19.527,9.017],[-43.76,11.005],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.219],[31.199,-14.406],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.643,116.962],[-117.665,121.678],[-219.911,113.334],[-219.531,52.349],[-139.322,12.935],[-82.347,3.438],[-12.612,-36.255]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.191],[20.855,-4.476],[29.873,13.447],[-19.529,9.005],[-43.759,11.01],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.476],[-29.877,-13.19],[31.201,-14.387],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.58,116.969],[-117.659,121.729],[-219.708,113.258],[-219.316,52.379],[-139.328,12.884],[-82.226,3.41],[-12.612,-36.255]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.192],[20.855,-4.477],[29.87,13.42],[-19.53,8.995],[-43.758,11.015],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.79],[-20.855,4.477],[-29.874,-13.164],[31.203,-14.371],[13.465,-3.389],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.524,116.974],[-117.654,121.774],[-219.529,113.191],[-219.124,52.406],[-139.334,12.839],[-82.118,3.385],[-12.612,-36.255]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.478],[29.867,13.397],[-19.531,8.986],[-43.758,11.019],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.871,-13.141],[31.205,-14.357],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.475,116.979],[-117.649,121.815],[-219.369,113.132],[-218.955,52.43],[-139.339,12.798],[-82.023,3.363],[-12.612,-36.255]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.376],[-19.532,8.978],[-43.757,11.022],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.12],[31.207,-14.344],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.43,116.983],[-117.644,121.85],[-219.227,113.079],[-218.803,52.451],[-139.343,12.762],[-81.938,3.343],[-12.612,-36.255]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[20.855,-4.481],[29.862,13.357],[-19.533,8.971],[-43.757,11.026],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-20.855,4.481],[-29.866,-13.102],[31.208,-14.332],[13.465,-3.393],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.391,116.987],[-117.64,121.882],[-219.101,113.032],[-218.669,52.47],[-139.347,12.73],[-81.862,3.326],[-12.612,-36.255]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.34],[-19.534,8.965],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.482],[-29.864,-13.085],[31.21,-14.322],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.356,116.991],[-117.637,121.911],[-218.988,112.99],[-218.549,52.487],[-139.351,12.702],[-81.795,3.31],[-12.612,-36.255]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.198],[20.854,-4.483],[29.858,13.326],[-19.535,8.959],[-43.756,11.031],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.854,4.483],[-29.862,-13.071],[31.211,-14.313],[13.464,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.324,116.994],[-117.633,121.936],[-218.888,112.952],[-218.441,52.503],[-139.354,12.676],[-81.735,3.296],[-12.612,-36.255]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.199],[20.854,-4.483],[29.856,13.312],[-19.535,8.954],[-43.756,11.033],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.483],[-29.861,-13.058],[31.212,-14.305],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.297,116.997],[-117.631,121.959],[-218.798,112.919],[-218.346,52.516],[-139.357,12.654],[-81.681,3.284],[-12.612,-36.255]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.272,116.999],[-117.628,121.979],[-218.719,112.889],[-218.261,52.528],[-139.359,12.634],[-81.633,3.273],[-12.612,-36.255]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.485],[29.854,13.29],[-19.537,8.945],[-43.756,11.037],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.858,-13.036],[31.213,-14.291],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.25,117.001],[-117.626,121.996],[-218.648,112.863],[-218.186,52.539],[-139.361,12.616],[-81.591,3.263],[-12.612,-36.255]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.485],[29.852,13.281],[-19.537,8.942],[-43.755,11.039],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.857,-13.027],[31.214,-14.286],[13.464,-3.397],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.23,117.003],[-117.624,122.012],[-218.586,112.84],[-218.12,52.548],[-139.363,12.6],[-81.554,3.254],[-12.612,-36.255]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.273],[-19.537,8.939],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.856,-13.019],[31.215,-14.281],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.213,117.005],[-117.622,122.026],[-218.531,112.819],[-218.062,52.556],[-139.365,12.586],[-81.521,3.247],[-12.612,-36.255]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.85,13.266],[-19.538,8.936],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.012],[31.215,-14.277],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.199,117.006],[-117.621,122.038],[-218.483,112.801],[-218.011,52.563],[-139.366,12.574],[-81.493,3.24],[-12.612,-36.255]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.486],[29.85,13.26],[-19.538,8.933],[-43.755,11.042],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.486],[-29.854,-13.006],[31.216,-14.273],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.186,117.007],[-117.619,122.048],[-218.442,112.786],[-217.967,52.57],[-139.368,12.564],[-81.468,3.234],[-12.612,-36.255]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.255],[-19.538,8.931],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-13.001],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.174,117.009],[-117.618,122.057],[-218.406,112.773],[-217.929,52.575],[-139.369,12.555],[-81.446,3.229],[-12.612,-36.255]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.996],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.165,117.009],[-117.617,122.065],[-218.376,112.761],[-217.896,52.58],[-139.37,12.547],[-81.428,3.225],[-12.612,-36.255]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.246],[-19.539,8.928],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.992],[31.217,-14.265],[13.464,-3.399],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.157,117.01],[-117.617,122.071],[-218.35,112.752],[-217.869,52.583],[-139.371,12.541],[-81.413,3.221],[-12.612,-36.255]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.243],[-19.539,8.927],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.99],[31.217,-14.263],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.151,117.011],[-117.616,122.077],[-218.33,112.744],[-217.847,52.586],[-139.371,12.535],[-81.401,3.219],[-12.612,-36.255]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.241],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.146,117.011],[-117.615,122.081],[-218.313,112.738],[-217.83,52.589],[-139.372,12.531],[-81.391,3.216],[-12.612,-36.255]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.853,-4.49],[29.848,13.234],[-19.538,8.926],[-43.753,11.05],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.853,4.49],[-29.852,-12.98],[31.216,-14.262],[13.464,-3.4],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.609,122.089],[-218.282,112.739],[-217.802,52.604],[-139.378,12.528],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.852,-4.496],[29.852,13.224],[-19.535,8.933],[-43.749,11.064],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.852,4.496],[-29.856,-12.971],[31.211,-14.271],[13.462,-3.405],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.592,122.092],[-218.266,112.774],[-217.805,52.64],[-139.395,12.539],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.849,-4.509],[29.859,13.206],[-19.529,8.944],[-43.742,11.09],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.849,4.509],[-29.863,-12.952],[31.202,-14.29],[13.46,-3.413],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.558,122.098],[-218.236,112.841],[-217.812,52.707],[-139.427,12.561],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.843,-4.529],[29.871,13.176],[-19.52,8.963],[-43.729,11.133],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.843,4.529],[-29.875,-12.923],[31.187,-14.32],[13.456,-3.426],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.504,122.108],[-218.187,112.95],[-217.822,52.818],[-139.479,12.596],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.835,-4.56],[29.89,13.13],[-19.505,8.992],[-43.71,11.199],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.835,4.56],[-29.893,-12.877],[31.163,-14.367],[13.45,-3.446],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.42,122.123],[-218.112,113.119],[-217.838,52.99],[-139.56,12.65],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.823,-4.609],[29.918,13.059],[-19.483,9.037],[-43.681,11.3],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.823,4.609],[-29.921,-12.806],[31.128,-14.438],[13.441,-3.477],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.29,122.147],[-217.996,113.379],[-217.863,53.253],[-139.685,12.734],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.804,-4.686],[29.964,12.946],[-19.447,9.109],[-43.634,11.462],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.804,4.686],[-29.966,-12.693],[31.07,-14.553],[13.427,-3.527],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.083,122.185],[-217.811,113.794],[-217.902,53.674],[-139.884,12.867],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.77,-4.822],[30.044,12.747],[-19.384,9.235],[-43.551,11.747],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.77,4.822],[-30.044,-12.494],[30.969,-14.755],[13.401,-3.615],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.718,122.253],[-217.485,114.525],[-217.971,54.416],[-140.234,13.103],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.705,-5.078],[30.195,12.372],[-19.265,9.473],[-43.396,12.284],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.705,5.078],[-30.192,-12.118],[30.779,-15.136],[13.353,-3.78],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.032,122.379],[-216.87,115.902],[-218.102,55.813],[-140.895,13.546],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.64,-5.337],[30.347,11.993],[-19.145,9.713],[-43.239,12.825],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.64,5.337],[-30.341,-11.74],[30.588,-15.519],[13.305,-3.947],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.339,122.506],[-216.251,117.29],[-218.233,57.222],[-141.561,13.993],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.601,-5.492],[30.439,11.766],[-19.073,9.857],[-43.144,13.15],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.601,5.492],[-30.431,-11.513],[30.473,-15.749],[13.276,-4.047],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.924,122.583],[-215.879,118.123],[-218.312,58.067],[-141.96,14.261],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.575,-5.593],[30.498,11.617],[-19.026,9.952],[-43.083,13.363],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.575,5.593],[-30.489,-11.364],[30.397,-15.9],[13.257,-4.112],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.651,122.633],[-215.635,118.67],[-218.364,58.621],[-142.223,14.437],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.557,-5.667],[30.542,11.51],[-18.992,10.02],[-43.038,13.517],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.557,5.667],[-30.532,-11.257],[30.343,-16.009],[13.243,-4.159],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.455,122.669],[-215.459,119.064],[-218.401,59.021],[-142.412,14.564],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.543,-5.723],[30.575,11.428],[-18.966,10.072],[-43.004,13.634],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.543,5.723],[-30.564,-11.175],[30.301,-16.092],[13.233,-4.195],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.305,122.697],[-215.325,119.365],[-218.43,59.326],[-142.556,14.661],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.531,-5.767],[30.601,11.363],[-18.945,10.113],[-42.977,13.727],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.531,5.767],[-30.589,-11.11],[30.269,-16.158],[13.225,-4.224],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.186,122.719],[-215.219,119.602],[-218.452,59.567],[-142.67,14.737],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.523,-5.802],[30.622,11.312],[-18.929,10.146],[-42.956,13.801],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.523,5.802],[-30.61,-11.058],[30.242,-16.21],[13.218,-4.247],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.092,122.736],[-215.134,119.792],[-218.47,59.76],[-142.761,14.798],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.515,-5.831],[30.638,11.269],[-18.916,10.173],[-42.938,13.861],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.515,5.831],[-30.626,-11.016],[30.221,-16.253],[13.213,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.014,122.75],[-215.066,119.947],[-218.485,59.916],[-142.835,14.848],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.855],[30.652,11.235],[-18.905,10.194],[-42.924,13.91],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.855],[-30.64,-10.982],[30.204,-16.288],[13.208,-4.28],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.952,122.762],[-215.009,120.073],[-218.497,60.044],[-142.896,14.888],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.505,-5.874],[30.664,11.207],[-18.896,10.212],[-42.912,13.951],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.505,5.874],[-30.651,-10.954],[30.19,-16.316],[13.205,-4.293],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.9,122.771],[-214.963,120.176],[-218.507,60.149],[-142.945,14.922],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.501,-5.889],[30.673,11.184],[-18.889,10.227],[-42.903,13.983],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.501,5.889],[-30.66,-10.931],[30.178,-16.339],[13.202,-4.303],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.858,122.779],[-214.926,120.259],[-218.514,60.234],[-142.985,14.948],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.497,-5.902],[30.68,11.166],[-18.883,10.238],[-42.895,14.009],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.497,5.902],[-30.667,-10.913],[30.169,-16.358],[13.2,-4.311],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.825,122.785],[-214.896,120.327],[-218.521,60.302],[-143.017,14.97],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.495,-5.912],[30.686,11.151],[-18.878,10.248],[-42.889,14.03],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.495,5.912],[-30.673,-10.898],[30.161,-16.372],[13.198,-4.317],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.799,122.79],[-214.872,120.38],[-218.526,60.356],[-143.043,14.987],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.493,-5.919],[30.69,11.14],[-18.875,10.255],[-42.885,14.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.493,5.919],[-30.677,-10.887],[30.156,-16.384],[13.196,-4.322],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.778,122.794],[-214.854,120.42],[-218.53,60.397],[-143.062,15],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.492,-5.925],[30.694,11.132],[-18.872,10.26],[-42.881,14.058],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.492,5.925],[-30.68,-10.879],[30.152,-16.392],[13.195,-4.326],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.763,122.797],[-214.841,120.45],[-218.533,60.427],[-143.077,15.01],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.929],[30.696,11.127],[-18.87,10.263],[-42.879,14.065],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.929],[-30.683,-10.873],[30.149,-16.397],[13.195,-4.328],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.753,122.798],[-214.832,120.47],[-218.534,60.448],[-143.086,15.016],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.926],[30.694,11.13],[-18.871,10.261],[-42.88,14.06],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.926],[-30.681,-10.877],[30.15,-16.393],[13.195,-4.327],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.76,122.801],[-214.837,120.461],[-218.532,60.439],[-143.08,15.017],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.494,-5.909],[30.683,11.154],[-18.878,10.245],[-42.888,14.024],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.494,5.909],[-30.67,-10.901],[30.161,-16.368],[13.197,-4.315],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.807,122.805],[-214.874,120.382],[-218.52,60.362],[-143.036,15.005],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.5,-5.878],[30.662,11.198],[-18.891,10.215],[-42.903,13.959],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.5,5.878],[-30.649,-10.945],[30.181,-16.321],[13.202,-4.295],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.891,122.811],[-214.94,120.24],[-218.497,60.223],[-142.957,14.984],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.831],[30.631,11.264],[-18.91,10.171],[-42.926,13.86],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.831],[-30.619,-11.011],[30.212,-16.25],[13.209,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.018,122.822],[-215.041,120.025],[-218.463,60.011],[-142.837,14.951],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.522,-5.764],[30.587,11.358],[-18.937,10.109],[-42.957,13.721],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.522,5.764],[-30.575,-11.105],[30.255,-16.15],[13.219,-4.222],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.198,122.836],[-215.184,119.721],[-218.416,59.713],[-142.668,14.904],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.539,-5.674],[30.527,11.485],[-18.973,10.024],[-43.001,13.532],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.539,5.674],[-30.517,-11.232],[30.313,-16.015],[13.232,-4.164],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.441,122.855],[-215.377,119.309],[-218.351,59.31],[-142.439,14.841],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.562,-5.555],[30.448,11.653],[-19.021,9.911],[-43.058,13.281],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.562,5.555],[-30.439,-11.4],[30.39,-15.835],[13.249,-4.087],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.764,122.881],[-215.634,118.763],[-218.265,58.774],[-142.135,14.757],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.592,-5.398],[30.343,11.875],[-19.085,9.763],[-43.133,12.95],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.592,5.398],[-30.336,-11.622],[30.492,-15.598],[13.273,-3.985],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.19,122.915],[-215.972,118.042],[-218.152,58.067],[-141.734,14.646],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.632,-5.189],[30.204,12.169],[-19.169,9.566],[-43.233,12.512],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.632,5.189],[-30.2,-11.916],[30.627,-15.284],[13.303,-3.85],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.755,122.96],[-216.421,117.086],[-218.001,57.13],[-141.203,14.5],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.686,-4.908],[30.018,12.566],[-19.283,9.302],[-43.368,11.922],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.686,4.908],[-30.017,-12.313],[30.808,-14.861],[13.345,-3.669],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.515,123.021],[-217.025,115.8],[-217.799,55.869],[-140.488,14.302],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.76,-4.519],[29.759,13.113],[-19.44,8.935],[-43.554,11.106],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.76,4.519],[-29.763,-12.861],[31.059,-14.276],[13.402,-3.417],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.567,123.104],[-217.86,114.021],[-217.519,54.124],[-139.498,14.029],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.865,-3.972],[29.396,13.885],[-19.662,8.42],[-43.816,9.956],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.865,3.972],[-29.406,-13.633],[31.413,-13.452],[13.483,-3.064],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-119.049,123.222],[-219.037,111.514],[-217.125,51.666],[-138.104,13.644],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.997,-3.279],[28.935,14.862],[-19.942,7.767],[-44.148,8.501],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.997,3.279],[-28.954,-14.61],[31.861,-12.409],[13.585,-2.616],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-120.924,123.372],[-220.526,108.342],[-216.626,48.556],[-136.34,13.158],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.11,-2.69],[28.544,15.692],[-20.18,7.212],[-44.431,7.265],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.11,2.69],[-28.57,-15.44],[32.241,-11.522],[13.672,-2.235],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-122.517,123.499],[-221.791,105.647],[-216.202,45.913],[-134.841,12.744],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.177,-2.342],[28.313,16.183],[-20.321,6.884],[-44.597,6.533],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.177,2.342],[-28.343,-15.931],[32.466,-10.998],[13.723,-2.01],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.459,123.574],[-222.539,104.053],[-215.952,44.35],[-133.955,12.499],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.212,-2.159],[28.191,16.441],[-20.395,6.711],[-44.685,6.149],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.212,2.159],[-28.224,-16.189],[32.585,-10.723],[13.75,-1.892],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.954,123.613],[-222.933,103.215],[-215.82,43.528],[-133.488,12.371],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.228,-2.074],[28.135,16.561],[-20.429,6.631],[-44.726,5.97],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.228,2.074],[-28.168,-16.31],[32.64,-10.595],[13.763,-1.837],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.185,123.632],[-223.116,102.825],[-215.759,43.146],[-133.272,12.311],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[21.229,-2.075],[28.141,16.584],[-20.428,6.644],[-44.727,5.971],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-21.229,2.075],[-28.174,-16.332],[32.638,-10.615],[13.763,-1.837],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.191,117.007],[-124.183,123.577],[-223.288,102.889],[-215.949,43.116],[-133.272,12.341],[-81.479,3.237],[-12.612,-36.255]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[21.214,-2.165],[28.22,16.547],[-20.388,6.771],[-44.691,6.156],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-21.214,2.165],[-28.252,-16.294],[32.574,-10.818],[13.752,-1.894],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.392,116.987],[-123.942,123.353],[-223.74,103.522],[-216.715,43.395],[-133.494,12.513],[-81.864,3.326],[-12.612,-36.255]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[21.184,-2.358],[28.391,16.468],[-20.303,7.044],[-44.612,6.552],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.78],[-21.184,2.358],[-28.42,-16.211],[32.438,-11.253],[13.728,-2.016],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.82,116.945],[-123.428,122.877],[-224.705,104.876],[-218.353,43.99],[-133.968,12.88],[-82.687,3.517],[-12.612,-36.255]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[21.132,-2.689],[28.683,16.333],[-20.156,7.512],[-44.478,7.231],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.757],[-21.132,2.689],[-28.707,-16.07],[32.204,-11.999],[13.687,-2.225],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.555,116.873],[-122.546,122.059],[-226.362,107.198],[-221.163,45.012],[-134.782,13.509],[-84.098,3.845],[-12.612,-36.255]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.137],[21.067,-3.101],[29.047,16.164],[-19.974,8.094],[-44.311,8.076],[-18.619,4.319],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.727],[-21.067,3.101],[-29.065,-15.895],[31.913,-12.928],[13.635,-2.485],[35.361,-7.864],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.47,116.783],[-121.45,121.041],[-228.421,110.085],[-224.657,46.282],[-135.794,14.292],[-85.853,4.253],[-12.612,-36.255]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.114],[21.011,-3.46],[29.364,16.017],[-19.815,8.601],[-44.166,8.812],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.701],[-21.011,3.46],[-29.377,-15.742],[31.66,-13.737],[13.59,-2.712],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.267,116.705],[-120.493,120.154],[-230.218,112.604],[-227.705,47.39],[-136.676,14.976],[-87.385,4.609],[-12.612,-36.255]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.094,4.097],[20.969,-3.728],[29.6,15.907],[-19.696,8.979],[-44.057,9.361],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.283,-4.682],[-20.969,3.728],[-29.609,-15.628],[31.471,-14.34],[13.557,-2.88],[35.363,-7.845],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.861,116.646],[-119.78,119.493],[-231.555,114.479],[-229.974,48.215],[-137.333,15.484],[-88.524,4.873],[-12.612,-36.255]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.092,4.085],[20.938,-3.922],[29.771,15.828],[-19.611,9.253],[-43.979,9.759],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.281,-4.668],[-20.938,3.922],[-29.777,-15.545],[31.334,-14.777],[13.533,-3.003],[35.364,-7.839],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.291,116.604],[-119.263,119.014],[-232.526,115.84],[-231.62,48.814],[-137.81,15.853],[-89.352,5.066],[-12.612,-36.255]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.076],[20.916,-4.063],[29.896,15.77],[-19.548,9.453],[-43.921,10.049],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.658],[-20.916,4.063],[-29.9,-15.485],[31.235,-15.096],[13.515,-3.092],[35.364,-7.835],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.605,116.573],[-118.887,118.664],[-233.233,116.832],[-232.82,49.25],[-138.158,16.122],[-89.954,5.206],[-12.612,-36.255]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.07],[20.9,-4.166],[29.987,15.728],[-19.502,9.599],[-43.88,10.26],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.651],[-20.9,4.166],[-29.989,-15.441],[31.162,-15.328],[13.502,-3.157],[35.364,-7.832],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.834,116.551],[-118.613,118.41],[-233.748,117.554],[-233.694,49.567],[-138.411,16.318],[-90.393,5.308],[-12.612,-36.255]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.065],[20.888,-4.24],[30.052,15.698],[-19.47,9.703],[-43.85,10.411],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.646],[-20.888,4.24],[-30.053,-15.41],[31.11,-15.495],[13.493,-3.204],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.998,116.534],[-118.416,118.227],[-234.118,118.072],[-234.321,49.796],[-138.592,16.459],[-90.708,5.381],[-12.612,-36.255]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.88,-4.291],[30.097,15.677],[-19.447,9.776],[-43.829,10.516],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.88,4.291],[-30.098,-15.388],[31.074,-15.61],[13.487,-3.236],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.112,116.523],[-118.279,118.101],[-234.374,118.431],[-234.756,49.954],[-138.718,16.556],[-90.927,5.432],[-12.612,-36.255]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.06],[20.875,-4.324],[30.126,15.663],[-19.432,9.822],[-43.815,10.584],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.64],[-20.875,4.324],[-30.127,-15.374],[31.05,-15.685],[13.483,-3.257],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.185,116.516],[-118.191,118.019],[-234.54,118.664],[-235.037,50.056],[-138.8,16.619],[-91.068,5.464],[-12.612,-36.255]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.872,-4.342],[30.142,15.656],[-19.424,9.848],[-43.808,10.621],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.872,4.343],[-30.142,-15.366],[31.037,-15.726],[13.48,-3.268],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.226,116.512],[-118.143,117.974],[-234.631,118.791],[-235.191,50.112],[-138.844,16.654],[-91.145,5.482],[-12.612,-36.255]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.422,9.851],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.35],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.209,116.514],[-118.125,117.984],[-234.564,118.795],[-235.138,50.143],[-138.861,16.64],[-91.113,5.475],[-12.612,-36.255]],"c":true}],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.14,15.591],[-19.425,9.832],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.352],[-30.14,-15.302],[31.038,-15.7],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.106,116.524],[-118.114,118.067],[-234.235,118.672],[-234.787,50.193],[-138.871,16.557],[-90.916,5.429],[-12.612,-36.255]],"c":true}],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.068],[20.87,-4.357],[30.127,15.494],[-19.43,9.794],[-43.802,10.66],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.357],[-30.128,-15.206],[31.046,-15.641],[13.479,-3.28],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.901,116.544],[-118.094,118.233],[-233.578,118.427],[-234.088,50.292],[-138.892,16.391],[-90.523,5.338],[-12.612,-36.255]],"c":true}],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.078],[20.869,-4.367],[30.107,15.33],[-19.438,9.731],[-43.799,10.688],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.66],[-20.869,4.367],[-30.108,-15.045],[31.058,-15.54],[13.478,-3.289],[35.364,-7.836],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.555,116.578],[-118.059,118.513],[-232.466,118.013],[-232.903,50.459],[-138.927,16.11],[-89.857,5.183],[-12.612,-36.255]],"c":true}],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.093],[20.867,-4.381],[30.076,15.082],[-19.45,9.636],[-43.794,10.731],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.677],[-20.867,4.381],[-30.077,-14.8],[31.077,-15.388],[13.476,-3.302],[35.363,-7.843],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.031,116.63],[-118.006,118.937],[-230.785,117.386],[-231.113,50.712],[-138.98,15.685],[-88.852,4.95],[-12.612,-36.255]],"c":true}],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.112],[20.865,-4.399],[30.037,14.766],[-19.465,9.514],[-43.787,10.785],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.285,-4.698],[-20.865,4.399],[-30.039,-14.489],[31.101,-15.195],[13.474,-3.319],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.364,116.695],[-117.939,119.476],[-228.645,116.589],[-228.834,51.034],[-139.047,15.144],[-87.572,4.652],[-12.612,-36.255]],"c":true}],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.1,4.147],[20.861,-4.434],[29.963,14.171],[-19.494,9.284],[-43.774,10.887],[-18.618,4.321],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.29,-4.739],[-20.861,4.434],[-29.966,-13.903],[31.146,-14.83],[13.47,-3.35],[35.36,-7.868],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.108,116.818],[-117.813,120.493],[-224.613,115.086],[-224.539,51.641],[-139.174,14.124],[-85.159,4.092],[-12.612,-36.255]],"c":true}],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.936,13.951],[-19.504,9.2],[-43.77,10.924],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.754],[-20.859,4.446],[-29.939,-13.687],[31.163,-14.696],[13.469,-3.362],[35.359,-7.875],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.646,116.864],[-117.766,120.867],[-223.128,114.533],[-222.958,51.864],[-139.22,13.749],[-84.271,3.885],[-12.612,-36.255]],"c":true}],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.456],[29.914,13.779],[-19.513,9.134],[-43.766,10.953],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.765],[-20.858,4.456],[-29.918,-13.517],[31.176,-14.591],[13.467,-3.371],[35.359,-7.879],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.282,116.9],[-117.73,121.161],[-221.961,114.098],[-221.715,52.04],[-139.257,13.453],[-83.573,3.723],[-12.612,-36.255]],"c":true}],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.996,116.928],[-117.701,121.393],[-221.042,113.755],[-220.736,52.178],[-139.286,13.221],[-83.023,3.596],[-12.612,-36.255]],"c":true}],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.185],[20.856,-4.47],[29.884,13.537],[-19.525,9.04],[-43.761,10.995],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.782],[-20.856,4.47],[-29.888,-13.278],[31.195,-14.442],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.77,116.95],[-117.678,121.576],[-220.317,113.485],[-219.964,52.287],[-139.309,13.038],[-82.59,3.495],[-12.612,-36.255]],"c":true}],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.19],[20.855,-4.475],[29.874,13.452],[-19.529,9.008],[-43.759,11.009],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.475],[-29.878,-13.195],[31.201,-14.391],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.592,116.968],[-117.66,121.72],[-219.745,113.272],[-219.355,52.373],[-139.327,12.893],[-82.248,3.415],[-12.612,-36.255]],"c":true}],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.865,13.386],[-19.532,8.982],[-43.758,11.021],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.13],[31.206,-14.35],[13.465,-3.391],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.452,116.981],[-117.646,121.833],[-219.297,113.105],[-218.878,52.441],[-139.341,12.78],[-81.98,3.353],[-12.612,-36.255]],"c":true}],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.854,-4.482],[29.859,13.335],[-19.534,8.962],[-43.757,11.029],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.855,4.482],[-29.863,-13.08],[31.21,-14.319],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.344,116.992],[-117.635,121.92],[-218.951,112.976],[-218.51,52.493],[-139.352,12.693],[-81.773,3.305],[-12.612,-36.255]],"c":true}],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.484],[29.854,13.297],[-19.536,8.948],[-43.756,11.036],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.042],[31.213,-14.295],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.263,117],[-117.627,121.985],[-218.691,112.879],[-218.232,52.532],[-139.36,12.627],[-81.617,3.269],[-12.612,-36.255]],"c":true}],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.269],[-19.538,8.937],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.015],[31.215,-14.278],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.205,117.006],[-117.621,122.033],[-218.504,112.809],[-218.033,52.56],[-139.366,12.579],[-81.505,3.243],[-12.612,-36.255]],"c":true}],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.166,117.009],[-117.617,122.064],[-218.379,112.763],[-217.9,52.579],[-139.37,12.548],[-81.43,3.225],[-12.612,-36.255]],"c":true}],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.986],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.308,112.736],[-217.825,52.59],[-139.372,12.53],[-81.388,3.216],[-12.612,-36.255]],"c":true}],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.085,-3.398],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.374],[-19.532,8.977],[-43.757,11.023],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.428,0.653],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.118],[31.207,-14.343],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.077,194.754],[32.184,139.048],[-41.426,116.984],[-117.644,121.854],[-219.214,113.074],[-218.79,52.453],[-139.343,12.759],[-81.93,3.342],[-12.612,-36.255]],"c":true}],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.763,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.729],[-19.515,9.114],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.751,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.468],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.251,193.909],[32.184,139.048],[-42.176,116.91],[-117.719,121.247],[-221.619,113.97],[-221.351,52.091],[-139.268,13.367],[-83.369,3.676],[-12.612,-36.255]],"c":true}],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[47.069,-2.957],[27.304,14.384],[26.1,4.15],[20.86,-4.436],[29.957,14.124],[-19.496,9.266],[-43.773,10.895],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.446,1.054],[-24.064,-12.677],[-29.291,-4.742],[-20.86,4.436],[-29.96,-13.857],[31.15,-14.802],[13.47,-3.352],[35.36,-7.87],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[125.893,192.97],[32.184,139.048],[-43.009,116.828],[-117.803,120.573],[-224.294,114.967],[-224.2,51.689],[-139.184,14.043],[-84.969,4.047],[-12.612,-36.255]],"c":true}],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[43.879,-2.757],[27.304,14.385],[26.098,4.13],[20.863,-4.417],[29.999,14.464],[-19.48,9.398],[-43.781,10.836],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.637,1.236],[-24.064,-12.677],[-29.288,-4.719],[-20.863,4.417],[-30.002,-14.192],[31.124,-15.01],[13.472,-3.335],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.901,192.158],[32.184,139.048],[-43.728,116.758],[-117.875,119.991],[-226.604,115.828],[-226.659,51.341],[-139.111,14.627],[-86.35,4.368],[-12.612,-36.255]],"c":true}],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.29,-2.594],[27.304,14.385],[26.096,4.113],[20.865,-4.401],[30.034,14.741],[-19.466,9.504],[-43.786,10.789],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.227,1.384],[-24.064,-12.677],[-29.285,-4.7],[-20.865,4.401],[-30.036,-14.465],[31.103,-15.18],[13.474,-3.32],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.155,191.499],[32.184,139.048],[-44.312,116.7],[-117.934,119.518],[-228.478,116.527],[-228.656,51.059],[-139.052,15.101],[-87.472,4.629],[-12.612,-36.255]],"c":true}],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.213,-2.464],[27.304,14.385],[26.094,4.1],[20.866,-4.388],[30.061,14.963],[-19.455,9.59],[-43.791,10.751],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.305,1.503],[-24.064,-12.677],[-29.283,-4.685],[-20.866,4.388],[-30.063,-14.684],[31.086,-15.316],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.765,190.971],[32.184,139.048],[-44.781,116.654],[-117.981,119.139],[-229.982,117.087],[-230.258,50.833],[-139.005,15.482],[-88.372,4.838],[-12.612,-36.255]],"c":true}],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.55,-2.359],[27.304,14.385],[26.093,4.089],[20.868,-4.378],[30.084,15.141],[-19.447,9.658],[-43.795,10.721],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-27.969,1.598],[-24.064,-12.677],[-29.282,-4.673],[-20.867,4.378],[-30.085,-14.859],[31.072,-15.425],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[137.855,190.548],[32.184,139.048],[-45.156,116.617],[-118.019,118.836],[-231.186,117.536],[-231.54,50.652],[-138.967,15.786],[-89.092,5.005],[-12.612,-36.255]],"c":true}],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.223,-2.276],[27.304,14.385],[26.092,4.081],[20.869,-4.37],[30.101,15.283],[-19.44,9.713],[-43.798,10.696],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.296,1.674],[-24.064,-12.677],[-29.281,-4.663],[-20.869,4.37],[-30.102,-14.998],[31.062,-15.511],[13.477,-3.292],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.523,190.21],[32.184,139.048],[-45.456,116.588],[-118.049,118.593],[-232.147,117.894],[-232.564,50.507],[-138.937,16.029],[-89.667,5.139],[-12.612,-36.255]],"c":true}],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.172,-2.21],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.395],[-19.434,9.756],[-43.8,10.677],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.347,1.734],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.116,-15.109],[31.053,-15.58],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.843,189.943],[32.184,139.048],[-45.693,116.565],[-118.073,118.402],[-232.908,118.178],[-233.374,50.392],[-138.913,16.221],[-90.122,5.245],[-12.612,-36.255]],"c":true}],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.354,-2.158],[27.304,14.385],[26.09,4.069],[20.87,-4.358],[30.126,15.482],[-19.43,9.79],[-43.802,10.662],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.166,1.781],[-24.064,-12.677],[-29.279,-4.65],[-20.87,4.358],[-30.126,-15.195],[31.046,-15.634],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.871,189.735],[32.184,139.048],[-45.877,116.546],[-118.091,118.252],[-233.5,118.398],[-234.005,50.303],[-138.894,16.371],[-90.476,5.327],[-12.612,-36.255]],"c":true}],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.733,-2.119],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.549],[-19.427,9.816],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.787,1.816],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.26],[31.041,-15.674],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.652,189.577],[32.184,139.048],[-46.017,116.533],[-118.105,118.139],[-233.95,118.566],[-234.484,50.236],[-138.88,16.485],[-90.745,5.389],[-12.612,-36.255]],"c":true}],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.282,-2.091],[27.304,14.385],[26.089,4.062],[20.871,-4.351],[30.14,15.597],[-19.425,9.834],[-43.805,10.643],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.238,1.842],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.351],[-30.14,-15.308],[31.038,-15.704],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.218,189.462],[32.184,139.048],[-46.119,116.523],[-118.116,118.057],[-234.277,118.688],[-234.832,50.187],[-138.87,16.568],[-90.941,5.435],[-12.612,-36.255]],"c":true}],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.98,-2.072],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.144,15.629],[-19.423,9.847],[-43.805,10.637],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.54,1.859],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.144,-15.34],[31.035,-15.724],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.598,189.385],[32.184,139.048],[-46.187,116.516],[-118.123,118.001],[-234.495,118.769],[-235.065,50.154],[-138.863,16.623],[-91.071,5.465],[-12.612,-36.255]],"c":true}],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.809,-2.061],[27.304,14.385],[26.089,4.059],[20.871,-4.348],[30.147,15.648],[-19.422,9.854],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.711,1.869],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.349],[-30.147,-15.358],[31.034,-15.735],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.813,189.342],[32.184,139.048],[-46.226,116.512],[-118.126,117.97],[-234.619,118.815],[-235.197,50.135],[-138.859,16.654],[-91.146,5.482],[-12.612,-36.255]],"c":true}],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.786,-2.06],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.65],[-19.422,9.855],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.734,1.87],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.36],[31.034,-15.736],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.841,189.336],[32.184,139.048],[-46.231,116.512],[-118.127,117.966],[-234.636,118.821],[-235.214,50.132],[-138.859,16.658],[-91.155,5.485],[-12.612,-36.255]],"c":true}],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.888,-2.066],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.423,9.85],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.632,1.865],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.349],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.714,189.362],[32.184,139.048],[-46.208,116.514],[-118.125,117.985],[-234.562,118.794],[-235.136,50.144],[-138.861,16.64],[-91.111,5.474],[-12.612,-36.255]],"c":true}],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.072,-2.078],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.143,15.619],[-19.423,9.843],[-43.805,10.639],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.448,1.854],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.143,-15.33],[31.036,-15.718],[13.479,-3.274],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.482,189.409],[32.184,139.048],[-46.166,116.518],[-118.12,118.018],[-234.429,118.744],[-234.993,50.164],[-138.865,16.606],[-91.031,5.456],[-12.612,-36.255]],"c":true}],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.355,-2.096],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.139,15.589],[-19.425,9.831],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.164,1.838],[-24.064,-12.677],[-29.278,-4.643],[-20.871,4.352],[-30.139,-15.3],[31.038,-15.699],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.126,189.481],[32.184,139.048],[-46.102,116.524],[-118.114,118.07],[-234.223,118.668],[-234.775,50.195],[-138.872,16.554],[-90.909,5.427],[-12.612,-36.255]],"c":true}],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.759,-2.121],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.546],[-19.427,9.815],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.761,1.815],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.258],[31.042,-15.673],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.619,189.584],[32.184,139.048],[-46.011,116.533],[-118.105,118.144],[-233.931,118.559],[-234.464,50.238],[-138.881,16.48],[-90.734,5.387],[-12.612,-36.255]],"c":true}],"t":364,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.313,-2.156],[27.304,14.385],[26.09,4.068],[20.87,-4.358],[30.127,15.487],[-19.43,9.792],[-43.802,10.661],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.207,1.783],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.358],[-30.127,-15.199],[31.046,-15.636],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.923,189.724],[32.184,139.048],[-45.887,116.546],[-118.092,118.245],[-233.53,118.41],[-234.037,50.299],[-138.893,16.379],[-90.494,5.331],[-12.612,-36.255]],"c":true}],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.056,-2.203],[27.304,14.385],[26.091,4.073],[20.869,-4.362],[30.117,15.407],[-19.434,9.761],[-43.801,10.675],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.463,1.741],[-24.064,-12.677],[-29.28,-4.655],[-20.869,4.362],[-30.117,-15.121],[31.052,-15.588],[13.478,-3.285],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.989,189.914],[32.184,139.048],[-45.719,116.562],[-118.075,118.38],[-232.992,118.209],[-233.463,50.38],[-138.91,16.243],[-90.172,5.256],[-12.612,-36.255]],"c":true}],"t":366,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.047,-2.265],[27.304,14.385],[26.092,4.079],[20.869,-4.368],[30.104,15.302],[-19.439,9.72],[-43.798,10.693],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.472,1.684],[-24.064,-12.677],[-29.281,-4.662],[-20.869,4.368],[-30.104,-15.017],[31.06,-15.523],[13.477,-3.291],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.743,190.166],[32.184,139.048],[-45.495,116.584],[-118.053,118.561],[-232.275,117.941],[-232.699,50.488],[-138.933,16.061],[-89.743,5.157],[-12.612,-36.255]],"c":true}],"t":367,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.366,-2.348],[27.304,14.385],[26.093,4.088],[20.868,-4.377],[30.086,15.161],[-19.446,9.666],[-43.795,10.717],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-28.153,1.609],[-24.064,-12.677],[-29.282,-4.672],[-20.868,4.377],[-30.087,-14.878],[31.071,-15.437],[13.476,-3.298],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[138.086,190.501],[32.184,139.048],[-45.198,116.613],[-118.023,118.802],[-231.32,117.586],[-231.682,50.632],[-138.963,15.82],[-89.172,5.024],[-12.612,-36.255]],"c":true}],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.115,-2.458],[27.304,14.385],[26.094,4.099],[20.866,-4.387],[30.063,14.974],[-19.455,9.594],[-43.791,10.749],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.403,1.509],[-24.064,-12.677],[-29.283,-4.684],[-20.866,4.387],[-30.064,-14.694],[31.085,-15.322],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.888,190.946],[32.184,139.048],[-44.803,116.652],[-117.983,119.121],[-230.053,117.114],[-230.333,50.822],[-139.003,15.5],[-88.414,4.848],[-12.612,-36.255]],"c":true}],"t":369,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.378,-2.6],[27.304,14.385],[26.096,4.114],[20.865,-4.401],[30.033,14.732],[-19.467,9.501],[-43.786,10.791],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.139,1.379],[-24.064,-12.677],[-29.285,-4.701],[-20.865,4.401],[-30.034,-14.456],[31.104,-15.174],[13.474,-3.32],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.044,191.522],[32.184,139.048],[-44.293,116.702],[-117.932,119.534],[-228.414,116.503],[-228.588,51.069],[-139.054,15.085],[-87.434,4.62],[-12.612,-36.255]],"c":true}],"t":370,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[44.061,-2.768],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.456,1.226],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.673,192.204],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":371,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[46.743,-2.937],[27.304,14.385],[26.1,4.148],[20.86,-4.434],[29.961,14.158],[-19.494,9.28],[-43.774,10.889],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.773,1.073],[-24.064,-12.677],[-29.29,-4.74],[-20.86,4.434],[-29.964,-13.891],[31.147,-14.823],[13.47,-3.351],[35.36,-7.869],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[126.303,192.886],[32.184,139.048],[-43.083,116.821],[-117.81,120.513],[-224.53,115.055],[-224.451,51.653],[-139.176,14.103],[-85.11,4.08],[-12.612,-36.255]],"c":true}],"t":372,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[49.006,-3.079],[27.304,14.385],[26.102,4.162],[20.859,-4.448],[29.931,13.917],[-19.506,9.187],[-43.769,10.93],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-16.508,0.943],[-24.064,-12.677],[-29.292,-4.756],[-20.859,4.448],[-29.935,-13.653],[31.166,-14.675],[13.468,-3.363],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[123.459,193.462],[32.184,139.048],[-42.572,116.871],[-117.759,120.927],[-222.892,114.444],[-222.706,51.9],[-139.228,13.689],[-84.13,3.853],[-12.612,-36.255]],"c":true}],"t":373,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.755,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.73],[-19.515,9.115],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.758,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.469],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.26,193.907],[32.184,139.048],[-42.177,116.91],[-117.719,121.246],[-221.625,113.972],[-221.357,52.091],[-139.268,13.369],[-83.372,3.677],[-12.612,-36.255]],"c":true}],"t":374,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[52.074,-3.272],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.589],[-19.522,9.06],[-43.762,10.986],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-13.439,0.768],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.894,-13.33],[31.191,-14.474],[13.466,-3.381],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[119.603,194.243],[32.184,139.048],[-41.88,116.939],[-117.689,121.487],[-220.67,113.617],[-220.34,52.234],[-139.298,13.127],[-82.801,3.544],[-12.612,-36.255]],"c":true}],"t":375,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[53.065,-3.334],[27.304,14.385],[26.105,4.188],[20.856,-4.473],[29.877,13.483],[-19.527,9.019],[-43.76,11.004],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-12.448,0.711],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.226],[31.199,-14.409],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[118.358,194.495],[32.184,139.048],[-41.656,116.961],[-117.667,121.667],[-219.953,113.349],[-219.576,52.342],[-139.32,12.946],[-82.372,3.444],[-12.612,-36.255]],"c":true}],"t":376,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[53.809,-3.381],[27.304,14.385],[26.106,4.193],[20.855,-4.478],[29.868,13.403],[-19.531,8.989],[-43.758,11.018],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.704,0.669],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.872,-13.147],[31.205,-14.361],[13.465,-3.39],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.424,194.684],[32.184,139.048],[-41.489,116.978],[-117.65,121.803],[-219.414,113.148],[-219.003,52.423],[-139.337,12.81],[-82.05,3.369],[-12.612,-36.255]],"c":true}],"t":377,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.362,-3.415],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.344],[-19.534,8.966],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.151,0.637],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.481],[-29.864,-13.089],[31.209,-14.324],[13.465,-3.393],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[116.728,194.825],[32.184,139.048],[-41.364,116.99],[-117.637,121.904],[-219.014,112.999],[-218.576,52.484],[-139.35,12.708],[-81.81,3.314],[-12.612,-36.255]],"c":true}],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[54.766,-3.441],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.747,0.614],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[116.221,194.928],[32.184,139.048],[-41.273,116.999],[-117.628,121.978],[-218.721,112.89],[-218.264,52.528],[-139.359,12.634],[-81.635,3.273],[-12.612,-36.255]],"c":true}],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.049,-3.459],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.271],[-19.537,8.938],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.463,0.598],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.017],[31.215,-14.28],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.865,195],[32.184,139.048],[-41.209,117.005],[-117.622,122.03],[-218.516,112.814],[-218.046,52.558],[-139.365,12.583],[-81.512,3.245],[-12.612,-36.255]],"c":true}],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.233,-3.47],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.251],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.279,0.587],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.633,195.046],[32.184,139.048],[-41.167,117.009],[-117.618,122.063],[-218.383,112.764],[-217.904,52.578],[-139.37,12.549],[-81.433,3.226],[-12.612,-36.255]],"c":true}],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.335,-3.477],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.177,0.582],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.505,195.072],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.309,112.737],[-217.825,52.59],[-139.372,12.53],[-81.389,3.216],[-12.612,-36.255]],"c":true}],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.256],[-19.538,8.932],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.854,-13.002],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.177,117.008],[-117.619,122.055],[-218.414,112.776],[-217.937,52.574],[-139.369,12.557],[-81.451,3.23],[-12.612,-36.255]],"c":true}],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.856,13.308],[-19.536,8.952],[-43.756,11.034],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.484],[-29.86,-13.053],[31.212,-14.302],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.287,116.997],[-117.63,121.966],[-218.767,112.907],[-218.313,52.521],[-139.358,12.646],[-81.662,3.279],[-12.612,-36.255]],"c":true}],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.866,13.387],[-19.532,8.983],[-43.758,11.02],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.132],[31.206,-14.351],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.455,116.981],[-117.647,121.83],[-219.306,113.108],[-218.888,52.439],[-139.341,12.782],[-81.985,3.354],[-12.612,-36.255]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.188],[20.856,-4.473],[29.878,13.491],[-19.527,9.022],[-43.76,11.003],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.785],[-20.856,4.473],[-29.882,-13.233],[31.198,-14.414],[13.466,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.673,116.96],[-117.668,121.654],[-220.006,113.369],[-219.633,52.334],[-139.319,12.959],[-82.404,3.452],[-12.612,-36.255]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.181],[20.857,-4.466],[29.894,13.615],[-19.521,9.07],[-43.762,10.982],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.777],[-20.857,4.466],[-29.898,-13.355],[31.189,-14.49],[13.466,-3.379],[35.358,-7.884],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.934,116.934],[-117.695,121.443],[-220.845,113.682],[-220.526,52.208],[-139.292,13.171],[-82.906,3.568],[-12.612,-36.255]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.172],[20.858,-4.458],[29.911,13.757],[-19.514,9.125],[-43.766,10.957],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.767],[-20.858,4.458],[-29.915,-13.495],[31.178,-14.577],[13.467,-3.372],[35.358,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.234,116.904],[-117.725,121.2],[-221.807,114.04],[-221.551,52.063],[-139.262,13.415],[-83.481,3.702],[-12.612,-36.255]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[20.859,-4.449],[29.931,13.915],[-19.506,9.186],[-43.769,10.93],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.756],[-20.859,4.449],[-29.934,-13.651],[31.166,-14.674],[13.468,-3.363],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.568,116.872],[-117.759,120.93],[-222.879,114.44],[-222.693,51.902],[-139.228,13.686],[-84.123,3.851],[-12.612,-36.255]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.439],[29.953,14.088],[-19.498,9.253],[-43.773,10.901],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.439],[-29.956,-13.822],[31.153,-14.78],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.934,116.836],[-117.795,120.634],[-224.053,114.877],[-223.943,51.725],[-139.191,13.982],[-84.824,4.014],[-12.612,-36.255]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.141],[20.861,-4.428],[29.976,14.275],[-19.489,9.325],[-43.777,10.869],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.732],[-20.861,4.428],[-29.978,-14.006],[31.138,-14.894],[13.471,-3.344],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.328,116.797],[-117.835,120.315],[-225.319,115.349],[-225.291,51.535],[-139.152,14.302],[-85.582,4.19],[-12.612,-36.255]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.129],[20.863,-4.416],[30.001,14.474],[-19.479,9.402],[-43.781,10.835],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.718],[-20.863,4.416],[-30.003,-14.202],[31.123,-15.017],[13.472,-3.334],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.749,116.755],[-117.877,119.974],[-226.671,115.853],[-226.731,51.331],[-139.109,14.645],[-86.391,4.378],[-12.612,-36.255]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.116],[20.864,-4.404],[30.027,14.686],[-19.469,9.483],[-43.785,10.798],[-18.619,4.313],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.704],[-20.864,4.404],[-30.029,-14.411],[31.107,-15.146],[13.473,-3.323],[35.362,-7.854],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.196,116.712],[-117.922,119.612],[-228.106,116.388],[-228.259,51.115],[-139.064,15.007],[-87.249,4.577],[-12.612,-36.255]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.91],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.631],[31.09,-15.283],[13.475,-3.311],[35.362,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.668,116.665],[-117.97,119.23],[-229.62,116.952],[-229.872,50.887],[-139.016,15.39],[-88.155,4.788],[-12.612,-36.255]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.089],[20.868,-4.377],[30.084,15.145],[-19.447,9.66],[-43.795,10.72],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.673],[-20.868,4.378],[-30.085,-14.863],[31.072,-15.427],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.165,116.616],[-118.02,118.829],[-231.213,117.546],[-231.569,50.648],[-138.966,15.793],[-89.108,5.009],[-12.612,-36.255]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.392],[-19.434,9.755],[-43.8,10.678],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.115,-15.106],[31.053,-15.578],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.687,116.565],[-118.072,118.406],[-232.889,118.17],[-233.353,50.395],[-138.914,16.217],[-90.11,5.242],[-12.612,-36.255]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":425,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Nail - PATH","parent":5,"tt":1,"tp":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-215.854,53.1,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[0,0],[4.232,-12.502],[12.921,-1.766],[0,0],[-10.742,11.216],[0,0],[-9.55,-10.068]],"o":[[8.923,9.803],[-4.232,12.502],[0,0],[-17.559,-12.801],[0,0],[13.042,-4.219],[0,0]],"v":[[43.524,-16.699],[51.346,19.151],[23.347,42.689],[-15.873,40.533],[-19.404,-10.788],[6.329,-27.088],[43.177,-17.287]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"t":197,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":275,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":400,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.75686275959,0.549019634724,0.474509805441,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":425,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Thumb - PATH","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":59,"s":[17.7]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":95,"s":[15.7]},{"t":147,"s":[15.7]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":122,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.604,"y":0.604},"t":145,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.2,"y":0.2},"t":147,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":197,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.49,-5.931],[30.698,11.123],[-18.869,10.266],[-42.877,14.071],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.49,5.931],[-30.684,-10.869],[30.147,-16.402],[13.194,-4.33],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.746,122.8],[-214.825,120.486],[-218.536,60.463],[-143.094,15.021],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":197,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":275,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":400,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":425,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":3,"nm":"All Overview Scroll","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":263,"s":[204.8]},{"t":348,"s":[512]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":3,"nm":"Initial Overview In","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":182,"s":[-156]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[209]},{"t":217,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":3,"nm":"Loop App to Center","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-306,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[532]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":384.666,"s":[497.6]},{"t":418,"s":[446]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":425,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":7,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":378,"s":[-768]},{"t":408,"s":[-858]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":28,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":264,"s":[50]},{"i":{"x":[0.833],"y":[0.757]},"o":{"x":[0.167],"y":[0]},"t":348,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":399,"s":[95]},{"t":424,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[296.8]},{"t":408,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[488.8]},{"t":408,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[43.2]},{"t":408,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":110,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":7,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":264,"s":[100]},{"t":281,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":378,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":408,"s":[-176,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":12,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":24,"s":[0]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":64,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":76,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":88,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":118,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":140,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[100]},{"t":264,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":122,"s":[206,848,0],"to":[0,0,0],"ti":[0,0,0]},{"t":170,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[412]},{"t":170,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[582]},{"t":170,"s":[442],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[442]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[90]},{"t":170,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[64]},{"t":217,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-205.946,89.982],[-115.964,0],[115.964,0],[205.946,89.982],[205.946,491.767],[115.964,581.749],[-115.964,581.749],[-205.946,491.767]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-205.77,89.923],[-115.847,0],[115.847,0],[205.77,89.923],[205.77,491.004],[115.847,580.927],[-115.847,580.927],[-205.77,491.004]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-205.445,89.815],[-115.63,0],[115.63,0],[205.445,89.815],[205.445,489.595],[115.63,579.41],[-115.63,579.41],[-205.445,489.595]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-204.936,89.645],[-115.291,0],[115.291,0],[204.936,89.645],[204.936,487.391],[115.291,577.037],[-115.291,577.037],[-204.936,487.391]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-204.201,89.4],[-114.8,0],[114.8,0],[204.201,89.4],[204.201,484.203],[114.8,573.603],[-114.8,573.603],[-204.201,484.203]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-203.185,89.062],[-114.123,0],[114.123,0],[203.185,89.062],[203.185,479.8],[114.123,568.862],[-114.123,568.862],[-203.185,479.8]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-201.834,88.611],[-113.223,0],[113.223,0],[201.834,88.611],[201.834,473.946],[113.223,562.558],[-113.223,562.558],[-201.834,473.946]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-200.114,88.038],[-112.076,0],[112.076,0],[200.114,88.038],[200.114,466.493],[112.076,554.531],[-112.076,554.531],[-200.114,466.493]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-198.054,87.351],[-110.703,0],[110.703,0],[198.054,87.351],[198.054,457.566],[110.703,544.918],[-110.703,544.918],[-198.054,457.566]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-195.782,86.594],[-109.188,0],[109.188,0],[195.782,86.594],[195.782,447.721],[109.188,534.315],[-109.188,534.315],[-195.782,447.721]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-193.487,85.829],[-107.658,0],[107.658,0],[193.487,85.829],[193.487,437.775],[107.658,523.604],[-107.658,523.604],[-193.487,437.775]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-191.327,85.109],[-106.218,0],[106.218,0],[191.327,85.109],[191.327,428.416],[106.218,513.525],[-106.218,513.525],[-191.327,428.416]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-189.38,84.46],[-104.92,0],[104.92,0],[189.38,84.46],[189.38,419.982],[104.92,504.442],[-104.92,504.442],[-189.38,419.982]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-187.663,83.888],[-103.775,0],[103.775,0],[187.663,83.888],[187.663,412.539],[103.775,496.426],[-103.775,496.426],[-187.663,412.539]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-186.158,83.386],[-102.772,0],[102.772,0],[186.158,83.386],[186.158,406.02],[102.772,489.406],[-102.772,489.406],[-186.158,406.02]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-184.842,82.947],[-101.895,0],[101.895,0],[184.842,82.947],[184.842,400.315],[101.895,483.262],[-101.895,483.262],[-184.842,400.315]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-183.688,82.563],[-101.125,0],[101.125,0],[183.688,82.563],[183.688,395.313],[101.125,477.875],[-101.125,477.875],[-183.688,395.313]],"c":true}],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-182.673,82.224],[-100.448,0],[100.448,0],[182.673,82.224],[182.673,390.915],[100.448,473.139],[-100.448,473.139],[-182.673,390.915]],"c":true}],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-181.778,81.926],[-99.852,0],[99.852,0],[181.778,81.926],[181.778,387.037],[99.852,468.963],[-99.852,468.963],[-181.778,387.037]],"c":true}],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-180.987,81.662],[-99.325,0],[99.325,0],[180.987,81.662],[180.987,383.61],[99.325,465.273],[-99.325,465.273],[-180.987,383.61]],"c":true}],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-180.287,81.429],[-98.858,0],[98.858,0],[180.287,81.429],[180.287,380.577],[98.858,462.006],[-98.858,462.006],[-180.287,380.577]],"c":true}],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-179.667,81.222],[-98.445,0],[98.445,0],[179.667,81.222],[179.667,377.889],[98.445,459.112],[-98.445,459.112],[-179.667,377.889]],"c":true}],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-179.117,81.039],[-98.078,0],[98.078,0],[179.117,81.039],[179.117,375.508],[98.078,456.547],[-98.078,456.547],[-179.117,375.508]],"c":true}],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-178.631,80.877],[-97.754,0],[97.754,0],[178.631,80.877],[178.631,373.399],[97.754,454.276],[-97.754,454.276],[-178.631,373.399]],"c":true}],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-178.2,80.733],[-97.467,0],[97.467,0],[178.2,80.733],[178.2,371.535],[97.467,452.269],[-97.467,452.269],[-178.2,371.535]],"c":true}],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-177.821,80.607],[-97.214,0],[97.214,0],[177.821,80.607],[177.821,369.892],[97.214,450.499],[-97.214,450.499],[-177.821,369.892]],"c":true}],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-177.488,80.496],[-96.992,0],[96.992,0],[177.488,80.496],[177.488,368.45],[96.992,448.946],[-96.992,448.946],[-177.488,368.45]],"c":true}],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-177.198,80.399],[-96.798,0],[96.798,0],[177.198,80.399],[177.198,367.19],[96.798,447.589],[-96.798,447.589],[-177.198,367.19]],"c":true}],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-176.945,80.315],[-96.63,0],[96.63,0],[176.945,80.315],[176.945,366.097],[96.63,446.412],[-96.63,446.412],[-176.945,366.097]],"c":true}],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-176.729,80.243],[-96.486,0],[96.486,0],[176.729,80.243],[176.729,365.158],[96.486,445.4],[-96.486,445.4],[-176.729,365.158]],"c":true}],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-176.545,80.182],[-96.363,0],[96.363,0],[176.545,80.182],[176.545,364.36],[96.363,444.542],[-96.363,444.542],[-176.545,364.36]],"c":true}],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-176.391,80.13],[-96.261,0],[96.261,0],[176.391,80.13],[176.391,363.694],[96.261,443.825],[-96.261,443.825],[-176.391,363.694]],"c":true}],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-176.266,80.089],[-96.177,0],[96.177,0],[176.266,80.089],[176.266,363.151],[96.177,443.239],[-96.177,443.239],[-176.266,363.151]],"c":true}],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-176.166,80.055],[-96.111,0],[96.111,0],[176.166,80.055],[176.166,362.721],[96.111,442.776],[-96.111,442.776],[-176.166,362.721]],"c":true}],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.092,80.031],[-96.061,0],[96.061,0],[176.092,80.031],[176.092,362.397],[96.061,442.427],[-96.061,442.427],[-176.092,362.397]],"c":true}],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.01,80.003],[-96.007,0],[96.007,0],[176.01,80.003],[176.01,362.042],[96.007,442.046],[-96.007,442.046],[-176.01,362.042]],"c":true}],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,362],[96,442],[-96,442],[-176,362]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,361.402],[95.852,441.356],[-95.852,441.356],[-175.806,361.402]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,359.379],[95.351,439.179],[-95.351,439.179],[-175.151,359.379]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,355.463],[94.381,434.965],[-94.381,434.965],[-173.883,355.463]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,348.92],[92.761,427.924],[-92.761,427.924],[-171.765,348.92]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,338.542],[90.191,416.754],[-90.191,416.754],[-168.404,338.542]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,322.292],[86.168,399.267],[-86.168,399.267],[-163.142,322.292]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,297.387],[80.001,372.464],[-80.001,372.464],[-155.078,297.387]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,264.543],[71.868,337.118],[-71.868,337.118],[-144.442,264.543]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,233.528],[64.188,303.739],[-64.188,303.739],[-134.399,233.528]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,210.354],[58.449,278.8],[-58.449,278.8],[-126.895,210.354]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,193.758],[54.34,260.939],[-54.34,260.939],[-121.522,193.758]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,181.674],[51.348,247.935],[-51.348,247.935],[-117.609,181.674]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,172.72],[49.131,238.299],[-49.131,238.299],[-114.709,172.72]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,166.034],[47.475,231.104],[-47.475,231.104],[-112.544,166.034]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,161.062],[46.244,225.752],[-46.244,225.752],[-110.934,161.062]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,157.429],[45.344,221.843],[-45.344,221.843],[-109.758,157.429]],"c":true}],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.875],[44.712,219.094],[-44.712,219.094],[-108.931,154.875]],"c":true}],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,153.209],[44.299,217.301],[-44.299,217.301],[-108.391,153.209]],"c":true}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.287],[44.071,216.309],[-44.071,216.309],[-108.093,152.287]],"c":true}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":425,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[412,892],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.875,0.953,0.686,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.875,0.953,0.686,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":425,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Part03_Demonstration_Overview_V02","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[206,446,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":412,"h":892,"ip":891,"op":1337,"st":891,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Part02_Charade_Overview_V02","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[206,446,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":412,"h":892,"ip":425,"op":891,"st":425,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Part01_ThumbDemo_Overview_V02","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[206,446,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":412,"h":892,"ip":0,"op":425,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.12.0","fr":60,"ip":0,"op":1337,"w":412,"h":892,"nm":"SUW_Overview V02","ddd":0,"assets":[{"id":"comp_0","nm":"Part03_Demonstration_Overview_V02","fr":60,"pfr":1,"layers":[{"ddd":0,"ind":2,"ty":3,"nm":"Reset to Center","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":292,"s":[321.599]},{"t":362,"s":[155.599]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":292,"s":[758]},{"t":372,"s":[649]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"OVERSHOOT CHARACTER","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":227,"s":[-32.599]},{"t":329,"s":[7.401]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-609,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-599,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":405,"s":[100]},{"t":411,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[110.1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[109.629],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[108.115],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[105.387],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.233],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[95.393],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.556],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[77.356],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.399],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[48.322],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.939],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.457],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-18.352],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.227],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.819],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.1],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.516],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-136.892],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.275],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-171.817],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-186.701],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-200.108],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-212.206],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-223.143],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-233.047],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-242.028],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-250.181],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-257.587],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.318],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.434],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.988],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.028],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.594],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.722],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.445],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.791],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.786],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.453],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.812],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.882],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.681],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.224],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.524],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.595],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.449],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.097],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.549],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.814],"t":100,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.663],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.237],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.984],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.933],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.849],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.728],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.57],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.373],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.136],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.858],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.536],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.17],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.756],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.294],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.782],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.216],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.595],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.916],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.177],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.374],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.504],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.565],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.552],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.461],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.288],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.03],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.679],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.232],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.682],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.023],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.248],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.348],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-22.316],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.141],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.815],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-15.326],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-12.661],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-9.808],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-6.751],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.477],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.031],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.789],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[7.814],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[12.12],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.718],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.613],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.801],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[32.264],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[37.963],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.839],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[49.804],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.753],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.75]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.75]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.25]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.25]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":446,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"App 3 Matte","parent":12,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[296.8]},{"t":418,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[488.8]},{"t":418,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":245,"op":435,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Pill to Arc | Elevation 2","parent":3,"tt":1,"tp":5,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":405,"s":[15]},{"t":411,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[-46.984],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.933],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.849],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.728],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.57],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.373],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.136],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.858],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.536],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.17],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.756],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.294],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.782],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.216],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.595],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.916],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.177],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.374],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.504],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.565],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.552],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.461],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.288],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.03],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.679],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.232],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.682],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.023],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.248],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.348],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-22.316],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.141],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.815],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-15.326],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-12.661],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-9.808],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-6.751],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.477],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.031],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.789],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":245,"op":435,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"App 1 Matte","parent":10,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,848,0],"to":[0,0,0],"ti":[0,0,0]},{"t":101,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[412]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[442],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[442]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-205.946,89.982],[-115.964,0],[115.964,0],[205.946,89.982],[205.946,491.767],[115.964,581.749],[-115.964,581.749],[-205.946,491.767]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-205.77,89.923],[-115.847,0],[115.847,0],[205.77,89.923],[205.77,491.004],[115.847,580.927],[-115.847,580.927],[-205.77,491.004]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-205.445,89.815],[-115.63,0],[115.63,0],[205.445,89.815],[205.445,489.595],[115.63,579.41],[-115.63,579.41],[-205.445,489.595]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-204.936,89.645],[-115.291,0],[115.291,0],[204.936,89.645],[204.936,487.391],[115.291,577.037],[-115.291,577.037],[-204.936,487.391]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-204.201,89.4],[-114.8,0],[114.8,0],[204.201,89.4],[204.201,484.203],[114.8,573.603],[-114.8,573.603],[-204.201,484.203]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-203.185,89.062],[-114.123,0],[114.123,0],[203.185,89.062],[203.185,479.8],[114.123,568.862],[-114.123,568.862],[-203.185,479.8]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-201.834,88.611],[-113.223,0],[113.223,0],[201.834,88.611],[201.834,473.946],[113.223,562.558],[-113.223,562.558],[-201.834,473.946]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-200.114,88.038],[-112.076,0],[112.076,0],[200.114,88.038],[200.114,466.493],[112.076,554.531],[-112.076,554.531],[-200.114,466.493]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-198.054,87.351],[-110.703,0],[110.703,0],[198.054,87.351],[198.054,457.566],[110.703,544.918],[-110.703,544.918],[-198.054,457.566]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-195.782,86.594],[-109.188,0],[109.188,0],[195.782,86.594],[195.782,447.721],[109.188,534.315],[-109.188,534.315],[-195.782,447.721]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-193.487,85.829],[-107.658,0],[107.658,0],[193.487,85.829],[193.487,437.775],[107.658,523.604],[-107.658,523.604],[-193.487,437.775]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-191.327,85.109],[-106.218,0],[106.218,0],[191.327,85.109],[191.327,428.416],[106.218,513.525],[-106.218,513.525],[-191.327,428.416]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-189.38,84.46],[-104.92,0],[104.92,0],[189.38,84.46],[189.38,419.982],[104.92,504.442],[-104.92,504.442],[-189.38,419.982]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-187.663,83.888],[-103.775,0],[103.775,0],[187.663,83.888],[187.663,412.539],[103.775,496.426],[-103.775,496.426],[-187.663,412.539]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-186.158,83.386],[-102.772,0],[102.772,0],[186.158,83.386],[186.158,406.02],[102.772,489.406],[-102.772,489.406],[-186.158,406.02]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-184.842,82.947],[-101.895,0],[101.895,0],[184.842,82.947],[184.842,400.315],[101.895,483.262],[-101.895,483.262],[-184.842,400.315]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-183.688,82.563],[-101.125,0],[101.125,0],[183.688,82.563],[183.688,395.313],[101.125,477.875],[-101.125,477.875],[-183.688,395.313]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-182.673,82.224],[-100.448,0],[100.448,0],[182.673,82.224],[182.673,390.915],[100.448,473.139],[-100.448,473.139],[-182.673,390.915]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-181.778,81.926],[-99.852,0],[99.852,0],[181.778,81.926],[181.778,387.037],[99.852,468.963],[-99.852,468.963],[-181.778,387.037]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-180.987,81.662],[-99.325,0],[99.325,0],[180.987,81.662],[180.987,383.61],[99.325,465.273],[-99.325,465.273],[-180.987,383.61]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-180.287,81.429],[-98.858,0],[98.858,0],[180.287,81.429],[180.287,380.577],[98.858,462.006],[-98.858,462.006],[-180.287,380.577]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-179.667,81.222],[-98.445,0],[98.445,0],[179.667,81.222],[179.667,377.889],[98.445,459.112],[-98.445,459.112],[-179.667,377.889]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-179.117,81.039],[-98.078,0],[98.078,0],[179.117,81.039],[179.117,375.508],[98.078,456.547],[-98.078,456.547],[-179.117,375.508]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-178.631,80.877],[-97.754,0],[97.754,0],[178.631,80.877],[178.631,373.399],[97.754,454.276],[-97.754,454.276],[-178.631,373.399]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-178.2,80.733],[-97.467,0],[97.467,0],[178.2,80.733],[178.2,371.535],[97.467,452.269],[-97.467,452.269],[-178.2,371.535]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-177.821,80.607],[-97.214,0],[97.214,0],[177.821,80.607],[177.821,369.892],[97.214,450.499],[-97.214,450.499],[-177.821,369.892]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-177.488,80.496],[-96.992,0],[96.992,0],[177.488,80.496],[177.488,368.45],[96.992,448.946],[-96.992,448.946],[-177.488,368.45]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-177.198,80.399],[-96.798,0],[96.798,0],[177.198,80.399],[177.198,367.19],[96.798,447.589],[-96.798,447.589],[-177.198,367.19]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-176.945,80.315],[-96.63,0],[96.63,0],[176.945,80.315],[176.945,366.097],[96.63,446.412],[-96.63,446.412],[-176.945,366.097]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-176.729,80.243],[-96.486,0],[96.486,0],[176.729,80.243],[176.729,365.158],[96.486,445.4],[-96.486,445.4],[-176.729,365.158]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-176.545,80.182],[-96.363,0],[96.363,0],[176.545,80.182],[176.545,364.36],[96.363,444.542],[-96.363,444.542],[-176.545,364.36]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-176.391,80.13],[-96.261,0],[96.261,0],[176.391,80.13],[176.391,363.694],[96.261,443.825],[-96.261,443.825],[-176.391,363.694]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-176.266,80.089],[-96.177,0],[96.177,0],[176.266,80.089],[176.266,363.151],[96.177,443.239],[-96.177,443.239],[-176.266,363.151]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-176.166,80.055],[-96.111,0],[96.111,0],[176.166,80.055],[176.166,362.721],[96.111,442.776],[-96.111,442.776],[-176.166,362.721]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.092,80.031],[-96.061,0],[96.061,0],[176.092,80.031],[176.092,362.397],[96.061,442.427],[-96.061,442.427],[-176.092,362.397]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.01,80.003],[-96.007,0],[96.007,0],[176.01,80.003],[176.01,362.042],[96.007,442.046],[-96.007,442.046],[-176.01,362.042]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,362],[96,442],[-96,442],[-176,362]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,361.402],[95.852,441.356],[-95.852,441.356],[-175.806,361.402]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,359.379],[95.351,439.179],[-95.351,439.179],[-175.151,359.379]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,355.463],[94.381,434.965],[-94.381,434.965],[-173.883,355.463]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,348.92],[92.761,427.924],[-92.761,427.924],[-171.765,348.92]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,338.542],[90.191,416.754],[-90.191,416.754],[-168.404,338.542]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,322.292],[86.168,399.267],[-86.168,399.267],[-163.142,322.292]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,297.387],[80.001,372.464],[-80.001,372.464],[-155.078,297.387]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,264.543],[71.868,337.118],[-71.868,337.118],[-144.442,264.543]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,233.528],[64.188,303.739],[-64.188,303.739],[-134.399,233.528]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,210.354],[58.449,278.8],[-58.449,278.8],[-126.895,210.354]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,193.758],[54.34,260.939],[-54.34,260.939],[-121.522,193.758]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,181.674],[51.348,247.935],[-51.348,247.935],[-117.609,181.674]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,172.72],[49.131,238.299],[-49.131,238.299],[-114.709,172.72]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,166.034],[47.475,231.104],[-47.475,231.104],[-112.544,166.034]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,161.062],[46.244,225.752],[-46.244,225.752],[-110.934,161.062]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,157.429],[45.344,221.843],[-45.344,221.843],[-109.758,157.429]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.875],[44.712,219.094],[-44.712,219.094],[-108.931,154.875]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,153.209],[44.299,217.301],[-44.299,217.301],[-108.391,153.209]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.287],[44.071,216.309],[-44.071,216.309],[-108.093,152.287]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":198,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Pill to Arc | Elevation 1","parent":3,"tt":1,"tp":7,"sr":1,"ks":{"o":{"a":0,"k":15,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[110.1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[109.629],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[108.115],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[105.387],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.233],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[95.393],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.556],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[77.356],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.399],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[48.322],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.939],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.457],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-18.352],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.227],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.819],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.1],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.516],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-136.892],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.275],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-171.817],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-186.701],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-200.108],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-212.206],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-223.143],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-233.047],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-242.028],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-250.181],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-257.587],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.318],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.434],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.988],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.028],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.594],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.722],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.445],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.791],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.786],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.453],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.812],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.882],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.681],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.224],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.524],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.595],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.449],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.097],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.549],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.814],"t":100,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.663],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":198,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":3,"nm":"All Overview Scroll","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":244,"s":[204.8]},{"t":329,"s":[512]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"Initial Overview In","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[-156]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[209]},{"t":148,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":3,"nm":"Loop App to Center","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-306,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[532]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":394.666,"s":[497.6]},{"t":428,"s":[446]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":2,"op":446,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":388,"s":[-768]},{"t":418,"s":[-858]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":53,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":53,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[296.8]},{"t":418,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[488.8]},{"t":418,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":53,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":245,"s":[100]},{"t":262,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":388,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":418,"s":[-176,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":446,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":10,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,848,0],"to":[0,0,0],"ti":[0,0,0]},{"t":101,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":2,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[412]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[442],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[442]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-205.946,89.982],[-115.964,0],[115.964,0],[205.946,89.982],[205.946,491.767],[115.964,581.749],[-115.964,581.749],[-205.946,491.767]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-205.77,89.923],[-115.847,0],[115.847,0],[205.77,89.923],[205.77,491.004],[115.847,580.927],[-115.847,580.927],[-205.77,491.004]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-205.445,89.815],[-115.63,0],[115.63,0],[205.445,89.815],[205.445,489.595],[115.63,579.41],[-115.63,579.41],[-205.445,489.595]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-204.936,89.645],[-115.291,0],[115.291,0],[204.936,89.645],[204.936,487.391],[115.291,577.037],[-115.291,577.037],[-204.936,487.391]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-204.201,89.4],[-114.8,0],[114.8,0],[204.201,89.4],[204.201,484.203],[114.8,573.603],[-114.8,573.603],[-204.201,484.203]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-203.185,89.062],[-114.123,0],[114.123,0],[203.185,89.062],[203.185,479.8],[114.123,568.862],[-114.123,568.862],[-203.185,479.8]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-201.834,88.611],[-113.223,0],[113.223,0],[201.834,88.611],[201.834,473.946],[113.223,562.558],[-113.223,562.558],[-201.834,473.946]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-200.114,88.038],[-112.076,0],[112.076,0],[200.114,88.038],[200.114,466.493],[112.076,554.531],[-112.076,554.531],[-200.114,466.493]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-198.054,87.351],[-110.703,0],[110.703,0],[198.054,87.351],[198.054,457.566],[110.703,544.918],[-110.703,544.918],[-198.054,457.566]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-195.782,86.594],[-109.188,0],[109.188,0],[195.782,86.594],[195.782,447.721],[109.188,534.315],[-109.188,534.315],[-195.782,447.721]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-193.487,85.829],[-107.658,0],[107.658,0],[193.487,85.829],[193.487,437.775],[107.658,523.604],[-107.658,523.604],[-193.487,437.775]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-191.327,85.109],[-106.218,0],[106.218,0],[191.327,85.109],[191.327,428.416],[106.218,513.525],[-106.218,513.525],[-191.327,428.416]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-189.38,84.46],[-104.92,0],[104.92,0],[189.38,84.46],[189.38,419.982],[104.92,504.442],[-104.92,504.442],[-189.38,419.982]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-187.663,83.888],[-103.775,0],[103.775,0],[187.663,83.888],[187.663,412.539],[103.775,496.426],[-103.775,496.426],[-187.663,412.539]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-186.158,83.386],[-102.772,0],[102.772,0],[186.158,83.386],[186.158,406.02],[102.772,489.406],[-102.772,489.406],[-186.158,406.02]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-184.842,82.947],[-101.895,0],[101.895,0],[184.842,82.947],[184.842,400.315],[101.895,483.262],[-101.895,483.262],[-184.842,400.315]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-183.688,82.563],[-101.125,0],[101.125,0],[183.688,82.563],[183.688,395.313],[101.125,477.875],[-101.125,477.875],[-183.688,395.313]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-182.673,82.224],[-100.448,0],[100.448,0],[182.673,82.224],[182.673,390.915],[100.448,473.139],[-100.448,473.139],[-182.673,390.915]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-181.778,81.926],[-99.852,0],[99.852,0],[181.778,81.926],[181.778,387.037],[99.852,468.963],[-99.852,468.963],[-181.778,387.037]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-180.987,81.662],[-99.325,0],[99.325,0],[180.987,81.662],[180.987,383.61],[99.325,465.273],[-99.325,465.273],[-180.987,383.61]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-180.287,81.429],[-98.858,0],[98.858,0],[180.287,81.429],[180.287,380.577],[98.858,462.006],[-98.858,462.006],[-180.287,380.577]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-179.667,81.222],[-98.445,0],[98.445,0],[179.667,81.222],[179.667,377.889],[98.445,459.112],[-98.445,459.112],[-179.667,377.889]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-179.117,81.039],[-98.078,0],[98.078,0],[179.117,81.039],[179.117,375.508],[98.078,456.547],[-98.078,456.547],[-179.117,375.508]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-178.631,80.877],[-97.754,0],[97.754,0],[178.631,80.877],[178.631,373.399],[97.754,454.276],[-97.754,454.276],[-178.631,373.399]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-178.2,80.733],[-97.467,0],[97.467,0],[178.2,80.733],[178.2,371.535],[97.467,452.269],[-97.467,452.269],[-178.2,371.535]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-177.821,80.607],[-97.214,0],[97.214,0],[177.821,80.607],[177.821,369.892],[97.214,450.499],[-97.214,450.499],[-177.821,369.892]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-177.488,80.496],[-96.992,0],[96.992,0],[177.488,80.496],[177.488,368.45],[96.992,448.946],[-96.992,448.946],[-177.488,368.45]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-177.198,80.399],[-96.798,0],[96.798,0],[177.198,80.399],[177.198,367.19],[96.798,447.589],[-96.798,447.589],[-177.198,367.19]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-176.945,80.315],[-96.63,0],[96.63,0],[176.945,80.315],[176.945,366.097],[96.63,446.412],[-96.63,446.412],[-176.945,366.097]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-176.729,80.243],[-96.486,0],[96.486,0],[176.729,80.243],[176.729,365.158],[96.486,445.4],[-96.486,445.4],[-176.729,365.158]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-176.545,80.182],[-96.363,0],[96.363,0],[176.545,80.182],[176.545,364.36],[96.363,444.542],[-96.363,444.542],[-176.545,364.36]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-176.391,80.13],[-96.261,0],[96.261,0],[176.391,80.13],[176.391,363.694],[96.261,443.825],[-96.261,443.825],[-176.391,363.694]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-176.266,80.089],[-96.177,0],[96.177,0],[176.266,80.089],[176.266,363.151],[96.177,443.239],[-96.177,443.239],[-176.266,363.151]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-176.166,80.055],[-96.111,0],[96.111,0],[176.166,80.055],[176.166,362.721],[96.111,442.776],[-96.111,442.776],[-176.166,362.721]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.092,80.031],[-96.061,0],[96.061,0],[176.092,80.031],[176.092,362.397],[96.061,442.427],[-96.061,442.427],[-176.092,362.397]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.01,80.003],[-96.007,0],[96.007,0],[176.01,80.003],[176.01,362.042],[96.007,442.046],[-96.007,442.046],[-176.01,362.042]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,362],[96,442],[-96,442],[-176,362]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,361.402],[95.852,441.356],[-95.852,441.356],[-175.806,361.402]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,359.379],[95.351,439.179],[-95.351,439.179],[-175.151,359.379]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,355.463],[94.381,434.965],[-94.381,434.965],[-173.883,355.463]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,348.92],[92.761,427.924],[-92.761,427.924],[-171.765,348.92]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,338.542],[90.191,416.754],[-90.191,416.754],[-168.404,338.542]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,322.292],[86.168,399.267],[-86.168,399.267],[-163.142,322.292]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,297.387],[80.001,372.464],[-80.001,372.464],[-155.078,297.387]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,264.543],[71.868,337.118],[-71.868,337.118],[-144.442,264.543]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,233.528],[64.188,303.739],[-64.188,303.739],[-134.399,233.528]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,210.354],[58.449,278.8],[-58.449,278.8],[-126.895,210.354]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,193.758],[54.34,260.939],[-54.34,260.939],[-121.522,193.758]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,181.674],[51.348,247.935],[-51.348,247.935],[-117.609,181.674]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,172.72],[49.131,238.299],[-49.131,238.299],[-114.709,172.72]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,166.034],[47.475,231.104],[-47.475,231.104],[-112.544,166.034]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,161.062],[46.244,225.752],[-46.244,225.752],[-110.934,161.062]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,157.429],[45.344,221.843],[-45.344,221.843],[-109.758,157.429]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.875],[44.712,219.094],[-44.712,219.094],[-108.931,154.875]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,153.209],[44.299,217.301],[-44.299,217.301],[-108.391,153.209]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.287],[44.071,216.309],[-44.071,216.309],[-108.093,152.287]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":2,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":2,"op":446,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[412,892],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.325,0.271,0.165,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.325,0.271,0.165,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":446,"st":0,"ct":1,"bm":0}]},{"id":"comp_1","nm":"Part02_Charade_Overview_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Secondary Y Movement","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":206,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[807.709]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":40.334,"s":[814.909]},{"t":52,"s":[807.709]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"MASTER Y POSITION","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.426],"y":[0.38]},"o":{"x":[0.48],"y":[0.051]},"t":0,"s":[-97.709]},{"i":{"x":[0.633],"y":[1]},"o":{"x":[0.654],"y":[-0.375]},"t":23,"s":[-103.709]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":38,"s":[-92.709]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":44.666,"s":[-50.709]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":78,"s":[12.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":109,"s":[-7.709]},{"i":{"x":[0.8],"y":[0.764]},"o":{"x":[0.3],"y":[0]},"t":118,"s":[-7.709]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":128,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.78],"y":[0]},"t":143,"s":[46.291]},{"i":{"x":[0.8],"y":[0.528]},"o":{"x":[0.3],"y":[0]},"t":145,"s":[46.291]},{"i":{"x":[0.22],"y":[1]},"o":{"x":[0.18],"y":[1]},"t":155,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":184,"s":[-7.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":195,"s":[-7.709]},{"i":{"x":[0.428],"y":[1]},"o":{"x":[0.681],"y":[0]},"t":235,"s":[-261.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[-239.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":294,"s":[-239.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":334,"s":[-261.709]},{"i":{"x":[0.473],"y":[1.533]},"o":{"x":[0.63],"y":[0]},"t":343,"s":[-261.709]},{"i":{"x":[0.105],"y":[1]},"o":{"x":[0.497],"y":[-0.207]},"t":406,"s":[-157.709]},{"t":466,"s":[62.291]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":60,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":72,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":84,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":96,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":108,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":162,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":174,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":186,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":198,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":210,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":264,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":276,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":288,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":300,"s":[100]},{"t":312,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,1429,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":6,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":0,"k":414,"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":0,"k":581,"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":0,"k":90,"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"a":0,"k":90,"ix":8}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"a":0,"k":135,"ix":9}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"a":0,"k":135,"ix":10}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.507,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.507,0],[0,0]],"v":[[-207,-491],[-117,-581],[117,-581],[207,-491],[207,-135],[72,0],[-72,0],[-207,-135]],"c":true}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.507,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.507,0],[0,0]],"v":[[-207,-491],[-117,-581],[117,-581],[207,-491],[207,-135],[72,0],[-72,0],[-207,-135]],"c":true}],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":311,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"k":[{"s":[0,0],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 11986","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":312,"st":-205,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-144,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-134,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.108},"t":426,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":465,"s":[0,-10.9,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[206,650],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,648.564],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,647.319],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,646.287],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,645.494],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,644.972],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,645.439],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,646.461],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,648.043],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,650.295],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,653.352],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,657.389],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,662.625],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,669.323],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,677.764],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,688.164],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,700.486],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,714.241],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,728.508],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,742.068],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,754.388],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,765.254],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,774.723],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,783.006],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,790.334],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,796.881],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,802.769],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,808.088],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,812.91],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,817.296],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,821.294],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,824.947],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,828.291],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,831.357],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,834.17],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,836.755],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,839.128],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,841.307],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,843.308],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,845.143],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,846.825],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,848.365],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,849.769],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,851.048],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,852.209],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,853.259],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,854.203],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.049],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,855.801],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,856.465],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,857.044],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,857.544],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,858.32],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}]},{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.167},"t":426,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}]},{"t":465,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.44],"y":[0]},"t":406,"s":[54]},{"t":426,"s":[58]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":18,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.461,-40.238]],"c":false}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.979,-40.201]],"c":false}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.191,-40.142]],"c":false}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[53.112,-40.06]],"c":false}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[51.754,-39.958]],"c":false}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[50.13,-39.835]],"c":false}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[48.251,-39.693]],"c":false}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[46.13,-39.533]],"c":false}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[43.779,-39.356]],"c":false}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[41.212,-39.162]],"c":false}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[38.443,-38.953]],"c":false}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[35.488,-38.73]],"c":false}],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[32.365,-38.494]],"c":false}],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[29.095,-38.248]],"c":false}],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[25.705,-37.992]],"c":false}],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[22.232,-37.73]],"c":false}],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[18.728,-37.465]],"c":false}],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[15.275,-37.205]],"c":false}],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[12.014,-36.959]],"c":false}],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.245]],"c":false}],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-35.487]],"c":false}],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-34.479]],"c":false}],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-33.307]],"c":false}],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-32.102]],"c":false}],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-30.966]],"c":false}],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.94]],"c":false}],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.029]],"c":false}],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-28.223]],"c":false}],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-27.508]],"c":false}],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.872]],"c":false}],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.304]],"c":false}],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.794]],"c":false}],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.335]],"c":false}],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.92]],"c":false}],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.545]],"c":false}],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.205]],"c":false}],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.896]],"c":false}],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.615]],"c":false}],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.36]],"c":false}],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.129]],"c":false}],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.918]],"c":false}],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.728]],"c":false}],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.555]],"c":false}],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.4]],"c":false}],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.26]],"c":false}],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.135]],"c":false}],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.023]],"c":false}],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.924]],"c":false}],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.837]],"c":false}],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.762]],"c":false}],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.697]],"c":false}],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.642]],"c":false}],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.597]],"c":false}],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.561]],"c":false}],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.534]],"c":false}],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.515]],"c":false}],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"k":[{"s":[54.014],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.056],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.123],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.216],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.333],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.474],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.636],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.819],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.022],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.244],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.483],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.738],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.008],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.291],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.584],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.883],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.185],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.482],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.763],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":1,"k":[{"t":-145,"s":[0],"h":1},{"t":18,"s":[100],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[6.167,-3.179],[-15.352,0],[5.008,2.581]],"o":[[-5.59,2.881],[13.869,0],[-6.167,-3.179]],"v":[[-9.526,-79.571],[0.604,-100.669],[9.867,-79.571]],"c":true}]},{"t":426,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,-79.571],[0.709,-100.669],[11.321,-79.571]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.765,"y":0.675},"o":{"x":0.399,"y":0},"t":406,"s":[0,139],"to":[0,0],"ti":[0,0]},{"i":{"x":0.24,"y":1},"o":{"x":0.4,"y":0.441},"t":424,"s":[0,101],"to":[0,0],"ti":[0,0]},{"t":427,"s":[0,93]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":406,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-6,"s":[100]},{"t":5,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0.467,-21.75],[3.272,-35.766]],"c":false}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.584,-21.75],[18.031,-34.708]],"c":false}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.048,-21.75],[28.237,-33.976]],"c":false}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.064,-21.75],[35.32,-33.468]],"c":false}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.767,-21.75],[40.22,-33.116]],"c":false}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.241,-21.75],[43.523,-32.88]],"c":false}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.54,-21.75],[45.607,-32.73]],"c":false}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.701,-21.75],[46.73,-32.65]],"c":false}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[49.587,-33.707]],"c":false}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[54.144,-35.668]],"c":false}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[57.197,-36.982]],"c":false}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[59.162,-37.828]],"c":false}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[60.549,-38.425]],"c":false}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[61.581,-38.869]],"c":false}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.369,-39.208]],"c":false}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.978,-39.47]],"c":false}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.45,-39.673]],"c":false}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.811,-39.829]],"c":false}],"t":218,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.082,-39.945]],"c":false}],"t":219,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.276,-40.028]],"c":false}],"t":220,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.405,-40.084]],"c":false}],"t":221,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":221,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":195,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.01,"y":1},"o":{"x":0.167,"y":0.167},"t":208,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}]},{"t":223,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.5,-40.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":221,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":200,"op":221,"st":-6,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-145,"s":[100]},{"t":-134,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.725,-44.786]],"c":false}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.906,-43.051]],"c":false}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.119,-41.012]],"c":false}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.349,-38.801]],"c":false}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.591,-36.476]],"c":false}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.841,-34.073]],"c":false}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.097,-31.615]],"c":false}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.357,-29.121]],"c":false}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.618,-26.612]],"c":false}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.878,-24.121]],"c":false}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.021,-24.795]],"c":false}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.846,-29.943]],"c":false}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.74,-33.077]],"c":false}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.672,-35.065]],"c":false}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.625,-36.457]],"c":false}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.59,-37.483]],"c":false}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.564,-38.258]],"c":false}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.543,-38.847]],"c":false}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.528,-39.292]],"c":false}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.517,-39.621]],"c":false}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.509,-39.856]],"c":false}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.504,-40.011]],"c":false}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.501,-40.098]],"c":false}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.048]],"c":false}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.825]],"c":false}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.469]],"c":false}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.991]],"c":false}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.401]],"c":false}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-37.708]],"c":false}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.919]],"c":false}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.042]],"c":false}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-35.084]],"c":false}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-34.051]],"c":false}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-32.951]],"c":false}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-31.79]],"c":false}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-30.576]],"c":false}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-29.316]],"c":false}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-28.021]],"c":false}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-26.701]],"c":false}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-25.375]],"c":false}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-24.067]],"c":false}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-22.825]],"c":false}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.38,-24.323]],"c":false}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.199,-28.188]],"c":false}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.031,-31.777]],"c":false}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.898,-34.618]],"c":false}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.795,-36.811]],"c":false}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.716,-38.509]],"c":false}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.654,-39.829]],"c":false}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.606,-40.851]],"c":false}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}]},{"t":118,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.5,-43.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,10.429],[0.709,-10.669],[11.321,10.429]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[4.884,-3.179],[-12.16,0],[3.966,2.581]],"o":[[-4.427,2.881],[10.985,0],[-4.884,-3.179]],"v":[[-7.577,14.554],[0.447,-6.544],[7.784,14.554]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[5.367,-3.179],[-13.36,0],[4.358,2.581]],"o":[[-4.864,2.881],[12.069,0],[-5.367,-3.179]],"v":[[-8.36,13.429],[0.455,-7.669],[8.517,13.429]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]},{"t":112,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-90],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Round Bottom","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":59,"op":112,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[206,709.342],"t":7,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,708.844],"t":9,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,708.163],"t":11,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.778],"t":12,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,707.383],"t":13,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.991],"t":14,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.607],"t":15,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,706.236],"t":16,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,705.536],"t":18,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.888],"t":20,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,704.286],"t":22,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,703.634],"t":24,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":16,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-37]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-7.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":28,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":2,"sr":1,"ks":{"o":{"a":1,"k":[{"t":52,"s":[100],"h":1},{"t":62,"s":[0],"h":1},{"t":112,"s":[100],"h":1},{"t":200,"s":[0],"h":1},{"t":221,"s":[100],"h":1},{"t":408,"s":[0],"h":1}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-259.147,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.001,"y":0},"t":27,"s":[{"i":[[4.22,-5.198],[6.889,-2.445],[6.141,2.195],[4.414,5.745],[2.09,6.003],[1.842,5.673],[0,0],[-4.629,7.032],[-3.668,2.338],[-9.176,-4.129],[0,0],[-2.537,1.423],[0,0],[-5.764,-2.348],[-3.35,-5.761],[3.559,-9.527],[0,0],[2.211,-5.388]],"o":[[-4.607,5.675],[-6.146,2.181],[-6.823,-2.438],[-3.873,-5.041],[-1.961,-5.633],[-0.673,-2.074],[-3.418,-8.054],[2.391,-3.632],[7.091,-4.519],[0,0],[2.053,0.611],[0,0],[6.766,-3.045],[6.042,2.461],[4.226,7.269],[0,0],[0,0],[-2.542,6.194]],"v":[[26.625,263.759],[9.088,276.927],[-10.477,276.927],[-27.766,263.755],[-34.35,245.857],[-39.92,228.853],[-41.895,222.617],[-38.621,196.593],[-29.625,187.329],[-2.764,182.988],[-0.678,184.077],[3.537,183.327],[5.123,182.613],[23.746,183.97],[38.891,196.367],[42.816,222.402],[40.88,229.024],[34.705,245.369]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":40,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":49,"s":[{"i":[[0,0],[5.924,-2.615],[6.267,2.766],[3.263,7.561],[2.981,6.909],[0,0],[0,0],[-4.825,8.784],[-3.668,2.709],[-9.176,-4.785],[0,0],[-7.064,3.683],[0,0],[-5.942,-2.295],[-3.35,-6.676],[4.5,-10.429],[0,0],[2.725,-6.315]],"o":[[-3.262,7.56],[-6.266,2.766],[-5.925,-2.615],[0,0],[-2.981,-6.909],[0,0],[-3.988,-9.246],[2.335,-4.251],[7.091,-5.237],[0,0],[7.064,3.683],[0,0],[6.766,-3.528],[6.387,2.466],[4.226,8.423],[0,0],[0,0],[-3.063,7.1]],"v":[[23.515,261.285],[9.088,276.548],[-10.477,276.549],[-24.906,261.285],[-33.85,240.557],[-42.795,219.829],[-48.707,206.127],[-47.871,176.22],[-38.875,165.486],[-13.389,163.498],[-11.803,164.325],[10.412,164.325],[11.998,163.498],[31.496,162.173],[46.641,176.538],[47.316,206.126],[40.88,221.041],[32.705,239.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.61,"y":0},"t":57,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[5.829,-2.275],[6.166,2.405],[3.21,6.575],[2.933,6.009],[0,0],[0,0],[-4.747,7.639],[-3.609,2.356],[-9.028,-5.782],[0,0],[-6.95,4.451],[0,0],[-5.847,-1.996],[-3.296,-5.806],[4.428,-9.07],[0,0],[2.681,-5.492]],"o":[[-3.21,6.575],[-6.165,2.406],[-5.83,-2.274],[0,0],[-2.933,-6.009],[0,0],[-3.924,-8.041],[2.297,-3.697],[6.977,-4.554],[0,0],[6.95,4.451],[0,0],[6.657,-4.263],[6.284,2.145],[4.158,7.326],[0,0],[0,0],[-3.014,6.174]],"v":[[23.147,263.139],[8.953,276.413],[-10.297,276.414],[-24.493,263.14],[-31.981,245.113],[-39.468,227.086],[-43.871,215.169],[-44.463,189.161],[-35.612,179.825],[-10.537,178.375],[-8.977,179.374],[7.631,179.374],[9.191,178.375],[28.374,176.944],[43.275,189.437],[42.525,215.169],[37.607,228.14],[30.877,244.617]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[5.782,-2.283],[6.116,2.414],[3.184,6.6],[2.91,6.031],[0,0],[0,0],[-4.709,7.668],[-3.58,2.365],[-8.956,-2.881],[0,0],[-6.894,2.218],[0,0],[-5.8,-2.003],[-3.269,-5.828],[4.392,-9.104],[0,0],[2.66,-5.513]],"o":[[-3.184,6.599],[-6.116,2.415],[-5.783,-2.283],[0,0],[-2.91,-6.031],[0,0],[-3.893,-8.071],[2.279,-3.711],[6.921,-4.571],[0,0],[6.894,2.218],[0,0],[6.604,-2.124],[6.234,2.153],[4.125,7.353],[0,0],[0,0],[-2.99,6.198]],"v":[[22.966,262.838],[8.886,276.162],[-10.209,276.162],[-24.29,262.838],[-31.064,244.743],[-37.837,226.649],[-41.5,214.688],[-42.792,188.581],[-34.012,179.21],[-9.139,174.179],[-7.591,174.677],[6.267,174.677],[7.814,174.179],[26.844,176.318],[41.625,188.859],[40.176,214.688],[36.003,227.707],[29.98,244.245]],"c":true}]},{"i":{"x":0.48,"y":1},"o":{"x":0.26,"y":1},"t":111,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,1.445],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,1.445],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[22.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-30.85,245.866],[-37.795,227.978],[-42.707,216.152],[-41.871,190.343],[-32.875,181.079],[-7.389,179.363],[-5.803,180.077],[5.412,180.077],[6.998,179.363],[26.496,178.22],[41.641,190.617],[42.316,216.152],[38.88,229.024],[31.705,245.374]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.902,"y":0},"o":{"x":0.3,"y":0},"t":119,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":129,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.78,"y":0},"t":144,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.4,"y":0},"t":146,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.884},"t":156,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":175,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":195,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"t":200,"s":[{"i":[[0,0],[4.982,-1.843],[5.269,1.949],[2.743,5.327],[2.507,4.868],[0,0],[0,0],[-4.057,6.188],[-3.084,1.909],[-7.716,-3.371],[0,0],[-5.94,2.595],[0,0],[-4.997,-1.617],[-2.817,-4.703],[3.784,-7.348],[0,0],[2.291,-4.449]],"o":[[-2.743,5.326],[-5.269,1.949],[-4.982,-1.842],[0,0],[-2.507,-4.868],[0,0],[-3.354,-6.514],[1.963,-2.995],[5.963,-3.69],[0,0],[5.94,2.595],[0,0],[5.69,-2.486],[5.371,1.738],[3.554,5.935],[0,0],[0,0],[-2.576,5.002]],"v":[[21.328,266.623],[7.572,277.365],[-8.88,277.366],[-21.013,266.612],[-30.158,252.046],[-38.929,237.463],[-42.276,232.155],[-38.901,208.3],[-31.337,200.737],[-7.657,199.329],[-6.324,199.912],[6.078,199.877],[7.412,199.294],[26.437,198.157],[39.172,208.278],[42.466,230.78],[38.179,240.068],[31.18,251.666]],"c":true}],"h":1},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":221,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":225,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":230,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":235,"s":[{"i":[[0,0],[-6.469,2.527],[-6.843,-2.672],[-3.562,-7.305],[-2.238,-6.948],[0,0],[0,0],[6.26,-7.958],[4.298,-2.236],[9.409,5.515],[0,0],[2.81,-1.723],[0,0],[6.751,1.509],[4.533,6.012],[-3.466,10.525],[0,0],[-1.94,6.411]],"o":[[3.562,-7.305],[6.843,-2.673],[6.47,2.527],[0,0],[2.25,6.984],[0,0],[3.257,9.283],[-3.029,3.851],[-8.309,4.323],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.171],[-7.256,-1.622],[-5.72,-7.586],[0,0],[0,0],[2.154,-7.118]],"v":[[-25.972,256.282],[-10.844,241.57],[10.52,241.569],[26.276,256.317],[31.363,275.406],[37.793,296.199],[41.622,309.972],[42.615,338.644],[31.6,348.06],[3.818,347.368],[2.192,346.415],[-2.497,346.685],[-4.104,347.662],[-23.931,350.493],[-42.288,338.48],[-42.272,310.249],[-38.575,296.613],[-32.279,277.866]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":240,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.17,"y":0},"t":250,"s":[{"i":[[0,0],[-6.469,2.528],[-6.843,-2.674],[-3.562,-7.309],[-2.238,-6.951],[0,0],[0,0],[6.26,-7.962],[4.298,-2.237],[9.409,5.517],[0,0],[2.81,-1.724],[0,0],[6.751,1.51],[4.533,6.015],[-3.466,10.53],[0,0],[-1.94,6.414]],"o":[[3.562,-7.308],[6.843,-2.674],[6.47,2.528],[0,0],[2.25,6.988],[0,0],[3.257,9.287],[-3.029,3.853],[-8.309,4.325],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.173],[-7.256,-1.623],[-5.72,-7.59],[0,0],[0,0],[2.154,-7.121]],"v":[[-25.972,256.238],[-10.844,241.519],[10.52,241.518],[26.276,256.273],[31.363,275.37],[37.793,296.172],[41.622,309.952],[42.615,338.637],[31.6,348.057],[3.818,347.366],[2.192,346.412],[-2.497,346.682],[-4.104,347.66],[-23.931,350.492],[-42.288,338.473],[-42.272,310.229],[-38.575,296.587],[-32.279,277.831]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":296,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":313,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":318,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":323,"s":[{"i":[[0,0],[-6.37,2.351],[-6.738,-2.486],[-3.508,-6.797],[-3.206,-6.211],[0,0],[0,0],[5.188,-7.896],[3.944,-2.435],[9.867,4.301],[0,0],[7.596,-3.311],[0,0],[6.39,2.063],[3.602,6.001],[-4.839,9.375],[0,0],[-2.93,5.677]],"o":[[3.508,-6.796],[6.738,-2.487],[6.371,2.351],[0,0],[3.206,6.211],[0,0],[4.289,8.311],[-2.511,3.821],[-7.625,4.707],[0,0],[-7.596,-3.311],[0,0],[-7.276,3.172],[-6.868,-2.217],[-4.545,-7.572],[0,0],[0,0],[3.294,-6.382]],"v":[[-26.198,255.941],[-10.685,242.221],[10.353,242.22],[25.868,255.941],[35.486,274.574],[45.103,294.249],[51.461,306.566],[50.562,333.45],[40.889,343.1],[13.484,344.887],[11.779,344.143],[-12.109,344.143],[-13.814,344.887],[-34.78,346.078],[-51.065,333.164],[-51.791,306.566],[-44.871,293.159],[-36.08,275.087]],"c":true}]},{"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0},"t":328,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.52,"y":0.96},"o":{"x":0.48,"y":0.04},"t":343,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":370,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.59,"y":1},"o":{"x":0.5,"y":0},"t":389,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"t":406,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[30.971,273.182],[38.915,291.071],[43.202,302.895],[42.366,328.704],[33.371,337.968],[7.884,339.684],[6.299,338.97],[-6.167,338.97],[-7.753,339.684],[-27.251,340.827],[-42.396,328.43],[-43.071,302.895],[-38.76,290.025],[-31.585,273.675]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"animated arrow","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":27,"op":408,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[412,892],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.325,0.271,0.165,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.325,0.271,0.165,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0}]},{"id":"comp_2","nm":"Part01_ThumbDemo_Overview_V02","fr":60,"pfr":1,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"OVERSHOOT THUMB","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":246,"s":[289]},{"t":331,"s":[329]}],"ix":3},"y":{"a":0,"k":758,"ix":4}},"a":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":321,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":371,"s":[40,0,0]}],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":425,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"HAND NULL","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.59],"y":[0]},"t":3,"s":[10]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.15],"y":[0]},"t":59,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.6],"y":[0]},"t":95,"s":[-3]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[-4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.166],"y":[0]},"t":170,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[15]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":231,"s":[12]},{"i":{"x":[0.22],"y":[0.993]},"o":{"x":[0.41],"y":[0]},"t":246,"s":[15.59]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[40]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":321,"s":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":381,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[15]},{"t":425,"s":[52]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.06],"y":[0.36]},"t":0,"s":[260]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[123]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[123]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":231,"s":[0]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":256.666,"s":[60.8]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":310,"s":[152]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":331,"s":[152]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":371,"s":[134]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[134]},{"t":425,"s":[264]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.194],"y":[0]},"t":0,"s":[273.366]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":63,"s":[162]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[162]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.259],"y":[0]},"t":170,"s":[0]},{"i":{"x":[0.33],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":246,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":310,"s":[13]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":321,"s":[13]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":381,"s":[-109]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[-109]},{"t":425,"s":[67]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":425,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Thumb - KO","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"k":[{"s":[17.7],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[17.084],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.752],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.548],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.405],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.298],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.213],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.144],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.086],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.037],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.995],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.958],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.926],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.898],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.874],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.852],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.832],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.815],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.8],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.786],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.773],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.763],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.753],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.744],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.73],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.715],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"p":{"k":[{"s":[0,0,0],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.015,0,0],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.077,0,0],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.192,0,0],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.364,0,0],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.598,0,0],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.902,0,0],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.285,0,0],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.76,0,0],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.347,0,0],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.074,0,0],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.968,0,0],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.068,0,0],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-6.423,0,0],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-8.089,0,0],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.109,0,0],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-12.416,0,0],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.732,0,0],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-16.688,0,0],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.11,0,0],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.047,0,0],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.624,0,0],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.922,0,0],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.792,0,0],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.993,0,0],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-17.321,0,0],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.437,0,0],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.855,0,0],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-7.728,0,0],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.403,0,0],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.711,0,0],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.481,0,0],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.587,0,0],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.945,0,0],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.494,0,0],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.2,0,0],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.041,0,0],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.909],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.63],[31.09,-15.283],[13.475,-3.311],[35.363,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.667,116.665],[-117.97,119.232],[-229.615,116.95],[-229.867,50.888],[-139.016,15.389],[-88.152,4.787],[-12.612,-36.255]],"c":true}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.127],[20.863,-4.414],[30.005,14.508],[-19.477,9.414],[-43.782,10.829],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.287,-4.716],[-20.863,4.414],[-30.007,-14.235],[31.121,-15.037],[13.472,-3.332],[35.361,-7.859],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.82,116.749],[-117.884,119.917],[-226.898,115.937],[-226.972,51.297],[-139.102,14.702],[-86.526,4.409],[-12.612,-36.255]],"c":true}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.142],[20.861,-4.429],[29.974,14.261],[-19.489,9.319],[-43.776,10.871],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.733],[-20.861,4.429],[-29.977,-13.992],[31.139,-14.886],[13.471,-3.345],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.3,116.8],[-117.832,120.338],[-225.228,115.315],[-225.194,51.548],[-139.154,14.28],[-85.528,4.177],[-12.612,-36.255]],"c":true}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.438],[29.953,14.089],[-19.498,9.253],[-43.773,10.9],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.438],[-29.956,-13.823],[31.153,-14.781],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.936,116.835],[-117.796,120.632],[-224.061,114.88],[-223.952,51.724],[-139.191,13.985],[-84.829,4.015],[-12.612,-36.255]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.937,13.959],[-19.504,9.203],[-43.77,10.923],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.753],[-20.859,4.446],[-29.94,-13.695],[31.162,-14.701],[13.469,-3.361],[35.359,-7.874],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.662,116.862],[-117.768,120.854],[-223.181,114.552],[-223.014,51.856],[-139.219,13.762],[-84.303,3.893],[-12.612,-36.255]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.166],[20.858,-4.452],[29.924,13.857],[-19.509,9.163],[-43.768,10.94],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.76],[-20.858,4.452],[-29.927,-13.594],[31.17,-14.638],[13.468,-3.366],[35.359,-7.877],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.446,116.884],[-117.746,121.029],[-222.486,114.293],[-222.274,51.961],[-139.241,13.586],[-83.887,3.796],[-12.612,-36.255]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.457],[29.914,13.773],[-19.513,9.131],[-43.766,10.954],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.766],[-20.858,4.457],[-29.917,-13.511],[31.177,-14.587],[13.467,-3.371],[35.359,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.269,116.901],[-117.728,121.172],[-221.919,114.082],[-221.67,52.046],[-139.258,13.443],[-83.548,3.717],[-12.612,-36.255]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.175],[20.857,-4.461],[29.905,13.703],[-19.516,9.104],[-43.764,10.966],[-18.617,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.771],[-20.857,4.461],[-29.908,-13.443],[31.182,-14.544],[13.467,-3.375],[35.358,-7.882],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.121,116.915],[-117.714,121.291],[-221.446,113.906],[-221.166,52.118],[-139.273,13.323],[-83.265,3.652],[-12.612,-36.255]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.997,116.928],[-117.701,121.392],[-221.044,113.756],[-220.739,52.178],[-139.286,13.222],[-83.025,3.596],[-12.612,-36.255]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.593],[-19.522,9.062],[-43.762,10.985],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.895,-13.334],[31.19,-14.477],[13.466,-3.38],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.889,116.938],[-117.69,121.479],[-220.7,113.628],[-220.372,52.23],[-139.297,13.135],[-82.819,3.548],[-12.612,-36.255]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[20.856,-4.47],[29.886,13.549],[-19.524,9.045],[-43.761,10.993],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.781],[-20.856,4.47],[-29.89,-13.291],[31.194,-14.45],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.796,116.947],[-117.681,121.554],[-220.401,113.516],[-220.054,52.275],[-139.306,13.059],[-82.64,3.507],[-12.612,-36.255]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.187],[20.856,-4.472],[29.881,13.51],[-19.526,9.03],[-43.76,10.999],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.784],[-20.856,4.472],[-29.885,-13.253],[31.197,-14.426],[13.466,-3.385],[35.358,-7.887],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.715,116.955],[-117.673,121.62],[-220.14,113.419],[-219.776,52.314],[-139.314,12.993],[-82.484,3.47],[-12.612,-36.255]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.189],[20.856,-4.474],[29.877,13.477],[-19.527,9.017],[-43.76,11.005],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.219],[31.199,-14.406],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.643,116.962],[-117.665,121.678],[-219.911,113.334],[-219.531,52.349],[-139.322,12.935],[-82.347,3.438],[-12.612,-36.255]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.191],[20.855,-4.476],[29.873,13.447],[-19.529,9.005],[-43.759,11.01],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.476],[-29.877,-13.19],[31.201,-14.387],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.58,116.969],[-117.659,121.729],[-219.708,113.258],[-219.316,52.379],[-139.328,12.884],[-82.226,3.41],[-12.612,-36.255]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.192],[20.855,-4.477],[29.87,13.42],[-19.53,8.995],[-43.758,11.015],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.79],[-20.855,4.477],[-29.874,-13.164],[31.203,-14.371],[13.465,-3.389],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.524,116.974],[-117.654,121.774],[-219.529,113.191],[-219.124,52.406],[-139.334,12.839],[-82.118,3.385],[-12.612,-36.255]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.478],[29.867,13.397],[-19.531,8.986],[-43.758,11.019],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.871,-13.141],[31.205,-14.357],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.475,116.979],[-117.649,121.815],[-219.369,113.132],[-218.955,52.43],[-139.339,12.798],[-82.023,3.363],[-12.612,-36.255]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.376],[-19.532,8.978],[-43.757,11.022],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.12],[31.207,-14.344],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.43,116.983],[-117.644,121.85],[-219.227,113.079],[-218.803,52.451],[-139.343,12.762],[-81.938,3.343],[-12.612,-36.255]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[20.855,-4.481],[29.862,13.357],[-19.533,8.971],[-43.757,11.026],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-20.855,4.481],[-29.866,-13.102],[31.208,-14.332],[13.465,-3.393],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.391,116.987],[-117.64,121.882],[-219.101,113.032],[-218.669,52.47],[-139.347,12.73],[-81.862,3.326],[-12.612,-36.255]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.34],[-19.534,8.965],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.482],[-29.864,-13.085],[31.21,-14.322],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.356,116.991],[-117.637,121.911],[-218.988,112.99],[-218.549,52.487],[-139.351,12.702],[-81.795,3.31],[-12.612,-36.255]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.198],[20.854,-4.483],[29.858,13.326],[-19.535,8.959],[-43.756,11.031],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.854,4.483],[-29.862,-13.071],[31.211,-14.313],[13.464,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.324,116.994],[-117.633,121.936],[-218.888,112.952],[-218.441,52.503],[-139.354,12.676],[-81.735,3.296],[-12.612,-36.255]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.199],[20.854,-4.483],[29.856,13.312],[-19.535,8.954],[-43.756,11.033],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.483],[-29.861,-13.058],[31.212,-14.305],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.297,116.997],[-117.631,121.959],[-218.798,112.919],[-218.346,52.516],[-139.357,12.654],[-81.681,3.284],[-12.612,-36.255]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.272,116.999],[-117.628,121.979],[-218.719,112.889],[-218.261,52.528],[-139.359,12.634],[-81.633,3.273],[-12.612,-36.255]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.485],[29.854,13.29],[-19.537,8.945],[-43.756,11.037],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.858,-13.036],[31.213,-14.291],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.25,117.001],[-117.626,121.996],[-218.648,112.863],[-218.186,52.539],[-139.361,12.616],[-81.591,3.263],[-12.612,-36.255]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.485],[29.852,13.281],[-19.537,8.942],[-43.755,11.039],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.857,-13.027],[31.214,-14.286],[13.464,-3.397],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.23,117.003],[-117.624,122.012],[-218.586,112.84],[-218.12,52.548],[-139.363,12.6],[-81.554,3.254],[-12.612,-36.255]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.273],[-19.537,8.939],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.856,-13.019],[31.215,-14.281],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.213,117.005],[-117.622,122.026],[-218.531,112.819],[-218.062,52.556],[-139.365,12.586],[-81.521,3.247],[-12.612,-36.255]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.85,13.266],[-19.538,8.936],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.012],[31.215,-14.277],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.199,117.006],[-117.621,122.038],[-218.483,112.801],[-218.011,52.563],[-139.366,12.574],[-81.493,3.24],[-12.612,-36.255]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.486],[29.85,13.26],[-19.538,8.933],[-43.755,11.042],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.486],[-29.854,-13.006],[31.216,-14.273],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.186,117.007],[-117.619,122.048],[-218.442,112.786],[-217.967,52.57],[-139.368,12.564],[-81.468,3.234],[-12.612,-36.255]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.255],[-19.538,8.931],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-13.001],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.174,117.009],[-117.618,122.057],[-218.406,112.773],[-217.929,52.575],[-139.369,12.555],[-81.446,3.229],[-12.612,-36.255]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.996],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.165,117.009],[-117.617,122.065],[-218.376,112.761],[-217.896,52.58],[-139.37,12.547],[-81.428,3.225],[-12.612,-36.255]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.246],[-19.539,8.928],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.992],[31.217,-14.265],[13.464,-3.399],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.157,117.01],[-117.617,122.071],[-218.35,112.752],[-217.869,52.583],[-139.371,12.541],[-81.413,3.221],[-12.612,-36.255]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.243],[-19.539,8.927],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.99],[31.217,-14.263],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.151,117.011],[-117.616,122.077],[-218.33,112.744],[-217.847,52.586],[-139.371,12.535],[-81.401,3.219],[-12.612,-36.255]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.241],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.146,117.011],[-117.615,122.081],[-218.313,112.738],[-217.83,52.589],[-139.372,12.531],[-81.391,3.216],[-12.612,-36.255]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.853,-4.49],[29.848,13.234],[-19.538,8.926],[-43.753,11.05],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.853,4.49],[-29.852,-12.98],[31.216,-14.262],[13.464,-3.4],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.609,122.089],[-218.282,112.739],[-217.802,52.604],[-139.378,12.528],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.852,-4.496],[29.852,13.224],[-19.535,8.933],[-43.749,11.064],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.852,4.496],[-29.856,-12.971],[31.211,-14.271],[13.462,-3.405],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.592,122.092],[-218.266,112.774],[-217.805,52.64],[-139.395,12.539],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.849,-4.509],[29.859,13.206],[-19.529,8.944],[-43.742,11.09],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.849,4.509],[-29.863,-12.952],[31.202,-14.29],[13.46,-3.413],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.558,122.098],[-218.236,112.841],[-217.812,52.707],[-139.427,12.561],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.843,-4.529],[29.871,13.176],[-19.52,8.963],[-43.729,11.133],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.843,4.529],[-29.875,-12.923],[31.187,-14.32],[13.456,-3.426],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.504,122.108],[-218.187,112.95],[-217.822,52.818],[-139.479,12.596],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.835,-4.56],[29.89,13.13],[-19.505,8.992],[-43.71,11.199],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.835,4.56],[-29.893,-12.877],[31.163,-14.367],[13.45,-3.446],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.42,122.123],[-218.112,113.119],[-217.838,52.99],[-139.56,12.65],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.823,-4.609],[29.918,13.059],[-19.483,9.037],[-43.681,11.3],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.823,4.609],[-29.921,-12.806],[31.128,-14.438],[13.441,-3.477],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.29,122.147],[-217.996,113.379],[-217.863,53.253],[-139.685,12.734],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.804,-4.686],[29.964,12.946],[-19.447,9.109],[-43.634,11.462],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.804,4.686],[-29.966,-12.693],[31.07,-14.553],[13.427,-3.527],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.083,122.185],[-217.811,113.794],[-217.902,53.674],[-139.884,12.867],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.77,-4.822],[30.044,12.747],[-19.384,9.235],[-43.551,11.747],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.77,4.822],[-30.044,-12.494],[30.969,-14.755],[13.401,-3.615],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.718,122.253],[-217.485,114.525],[-217.971,54.416],[-140.234,13.103],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.705,-5.078],[30.195,12.372],[-19.265,9.473],[-43.396,12.284],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.705,5.078],[-30.192,-12.118],[30.779,-15.136],[13.353,-3.78],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.032,122.379],[-216.87,115.902],[-218.102,55.813],[-140.895,13.546],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.64,-5.337],[30.347,11.993],[-19.145,9.713],[-43.239,12.825],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.64,5.337],[-30.341,-11.74],[30.588,-15.519],[13.305,-3.947],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.339,122.506],[-216.251,117.29],[-218.233,57.222],[-141.561,13.993],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.601,-5.492],[30.439,11.766],[-19.073,9.857],[-43.144,13.15],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.601,5.492],[-30.431,-11.513],[30.473,-15.749],[13.276,-4.047],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.924,122.583],[-215.879,118.123],[-218.312,58.067],[-141.96,14.261],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.575,-5.593],[30.498,11.617],[-19.026,9.952],[-43.083,13.363],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.575,5.593],[-30.489,-11.364],[30.397,-15.9],[13.257,-4.112],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.651,122.633],[-215.635,118.67],[-218.364,58.621],[-142.223,14.437],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.557,-5.667],[30.542,11.51],[-18.992,10.02],[-43.038,13.517],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.557,5.667],[-30.532,-11.257],[30.343,-16.009],[13.243,-4.159],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.455,122.669],[-215.459,119.064],[-218.401,59.021],[-142.412,14.564],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.543,-5.723],[30.575,11.428],[-18.966,10.072],[-43.004,13.634],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.543,5.723],[-30.564,-11.175],[30.301,-16.092],[13.233,-4.195],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.305,122.697],[-215.325,119.365],[-218.43,59.326],[-142.556,14.661],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.531,-5.767],[30.601,11.363],[-18.945,10.113],[-42.977,13.727],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.531,5.767],[-30.589,-11.11],[30.269,-16.158],[13.225,-4.224],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.186,122.719],[-215.219,119.602],[-218.452,59.567],[-142.67,14.737],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.523,-5.802],[30.622,11.312],[-18.929,10.146],[-42.956,13.801],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.523,5.802],[-30.61,-11.058],[30.242,-16.21],[13.218,-4.247],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.092,122.736],[-215.134,119.792],[-218.47,59.76],[-142.761,14.798],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.515,-5.831],[30.638,11.269],[-18.916,10.173],[-42.938,13.861],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.515,5.831],[-30.626,-11.016],[30.221,-16.253],[13.213,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.014,122.75],[-215.066,119.947],[-218.485,59.916],[-142.835,14.848],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.855],[30.652,11.235],[-18.905,10.194],[-42.924,13.91],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.855],[-30.64,-10.982],[30.204,-16.288],[13.208,-4.28],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.952,122.762],[-215.009,120.073],[-218.497,60.044],[-142.896,14.888],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.505,-5.874],[30.664,11.207],[-18.896,10.212],[-42.912,13.951],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.505,5.874],[-30.651,-10.954],[30.19,-16.316],[13.205,-4.293],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.9,122.771],[-214.963,120.176],[-218.507,60.149],[-142.945,14.922],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.501,-5.889],[30.673,11.184],[-18.889,10.227],[-42.903,13.983],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.501,5.889],[-30.66,-10.931],[30.178,-16.339],[13.202,-4.303],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.858,122.779],[-214.926,120.259],[-218.514,60.234],[-142.985,14.948],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.497,-5.902],[30.68,11.166],[-18.883,10.238],[-42.895,14.009],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.497,5.902],[-30.667,-10.913],[30.169,-16.358],[13.2,-4.311],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.825,122.785],[-214.896,120.327],[-218.521,60.302],[-143.017,14.97],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.495,-5.912],[30.686,11.151],[-18.878,10.248],[-42.889,14.03],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.495,5.912],[-30.673,-10.898],[30.161,-16.372],[13.198,-4.317],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.799,122.79],[-214.872,120.38],[-218.526,60.356],[-143.043,14.987],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.493,-5.919],[30.69,11.14],[-18.875,10.255],[-42.885,14.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.493,5.919],[-30.677,-10.887],[30.156,-16.384],[13.196,-4.322],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.778,122.794],[-214.854,120.42],[-218.53,60.397],[-143.062,15],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.492,-5.925],[30.694,11.132],[-18.872,10.26],[-42.881,14.058],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.492,5.925],[-30.68,-10.879],[30.152,-16.392],[13.195,-4.326],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.763,122.797],[-214.841,120.45],[-218.533,60.427],[-143.077,15.01],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.929],[30.696,11.127],[-18.87,10.263],[-42.879,14.065],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.929],[-30.683,-10.873],[30.149,-16.397],[13.195,-4.328],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.753,122.798],[-214.832,120.47],[-218.534,60.448],[-143.086,15.016],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.926],[30.694,11.13],[-18.871,10.261],[-42.88,14.06],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.926],[-30.681,-10.877],[30.15,-16.393],[13.195,-4.327],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.76,122.801],[-214.837,120.461],[-218.532,60.439],[-143.08,15.017],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.494,-5.909],[30.683,11.154],[-18.878,10.245],[-42.888,14.024],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.494,5.909],[-30.67,-10.901],[30.161,-16.368],[13.197,-4.315],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.807,122.805],[-214.874,120.382],[-218.52,60.362],[-143.036,15.005],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.5,-5.878],[30.662,11.198],[-18.891,10.215],[-42.903,13.959],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.5,5.878],[-30.649,-10.945],[30.181,-16.321],[13.202,-4.295],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.891,122.811],[-214.94,120.24],[-218.497,60.223],[-142.957,14.984],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.831],[30.631,11.264],[-18.91,10.171],[-42.926,13.86],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.831],[-30.619,-11.011],[30.212,-16.25],[13.209,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.018,122.822],[-215.041,120.025],[-218.463,60.011],[-142.837,14.951],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.522,-5.764],[30.587,11.358],[-18.937,10.109],[-42.957,13.721],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.522,5.764],[-30.575,-11.105],[30.255,-16.15],[13.219,-4.222],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.198,122.836],[-215.184,119.721],[-218.416,59.713],[-142.668,14.904],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.539,-5.674],[30.527,11.485],[-18.973,10.024],[-43.001,13.532],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.539,5.674],[-30.517,-11.232],[30.313,-16.015],[13.232,-4.164],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.441,122.855],[-215.377,119.309],[-218.351,59.31],[-142.439,14.841],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.562,-5.555],[30.448,11.653],[-19.021,9.911],[-43.058,13.281],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.562,5.555],[-30.439,-11.4],[30.39,-15.835],[13.249,-4.087],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.764,122.881],[-215.634,118.763],[-218.265,58.774],[-142.135,14.757],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.592,-5.398],[30.343,11.875],[-19.085,9.763],[-43.133,12.95],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.592,5.398],[-30.336,-11.622],[30.492,-15.598],[13.273,-3.985],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.19,122.915],[-215.972,118.042],[-218.152,58.067],[-141.734,14.646],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.632,-5.189],[30.204,12.169],[-19.169,9.566],[-43.233,12.512],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.632,5.189],[-30.2,-11.916],[30.627,-15.284],[13.303,-3.85],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.755,122.96],[-216.421,117.086],[-218.001,57.13],[-141.203,14.5],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.686,-4.908],[30.018,12.566],[-19.283,9.302],[-43.368,11.922],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.686,4.908],[-30.017,-12.313],[30.808,-14.861],[13.345,-3.669],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.515,123.021],[-217.025,115.8],[-217.799,55.869],[-140.488,14.302],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.76,-4.519],[29.759,13.113],[-19.44,8.935],[-43.554,11.106],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.76,4.519],[-29.763,-12.861],[31.059,-14.276],[13.402,-3.417],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.567,123.104],[-217.86,114.021],[-217.519,54.124],[-139.498,14.029],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.865,-3.972],[29.396,13.885],[-19.662,8.42],[-43.816,9.956],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.865,3.972],[-29.406,-13.633],[31.413,-13.452],[13.483,-3.064],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-119.049,123.222],[-219.037,111.514],[-217.125,51.666],[-138.104,13.644],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.997,-3.279],[28.935,14.862],[-19.942,7.767],[-44.148,8.501],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.997,3.279],[-28.954,-14.61],[31.861,-12.409],[13.585,-2.616],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-120.924,123.372],[-220.526,108.342],[-216.626,48.556],[-136.34,13.158],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.11,-2.69],[28.544,15.692],[-20.18,7.212],[-44.431,7.265],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.11,2.69],[-28.57,-15.44],[32.241,-11.522],[13.672,-2.235],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-122.517,123.499],[-221.791,105.647],[-216.202,45.913],[-134.841,12.744],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.177,-2.342],[28.313,16.183],[-20.321,6.884],[-44.597,6.533],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.177,2.342],[-28.343,-15.931],[32.466,-10.998],[13.723,-2.01],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.459,123.574],[-222.539,104.053],[-215.952,44.35],[-133.955,12.499],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.212,-2.159],[28.191,16.441],[-20.395,6.711],[-44.685,6.149],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.212,2.159],[-28.224,-16.189],[32.585,-10.723],[13.75,-1.892],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.954,123.613],[-222.933,103.215],[-215.82,43.528],[-133.488,12.371],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.228,-2.074],[28.135,16.561],[-20.429,6.631],[-44.726,5.97],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.228,2.074],[-28.168,-16.31],[32.64,-10.595],[13.763,-1.837],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.185,123.632],[-223.116,102.825],[-215.759,43.146],[-133.272,12.311],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[21.229,-2.075],[28.141,16.584],[-20.428,6.644],[-44.727,5.971],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-21.229,2.075],[-28.174,-16.332],[32.638,-10.615],[13.763,-1.837],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.191,117.007],[-124.183,123.577],[-223.288,102.889],[-215.949,43.116],[-133.272,12.341],[-81.479,3.237],[-12.612,-36.255]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[21.214,-2.165],[28.22,16.547],[-20.388,6.771],[-44.691,6.156],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-21.214,2.165],[-28.252,-16.294],[32.574,-10.818],[13.752,-1.894],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.392,116.987],[-123.942,123.353],[-223.74,103.522],[-216.715,43.395],[-133.494,12.513],[-81.864,3.326],[-12.612,-36.255]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[21.184,-2.358],[28.391,16.468],[-20.303,7.044],[-44.612,6.552],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.78],[-21.184,2.358],[-28.42,-16.211],[32.438,-11.253],[13.728,-2.016],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.82,116.945],[-123.428,122.877],[-224.705,104.876],[-218.353,43.99],[-133.968,12.88],[-82.687,3.517],[-12.612,-36.255]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[21.132,-2.689],[28.683,16.333],[-20.156,7.512],[-44.478,7.231],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.757],[-21.132,2.689],[-28.707,-16.07],[32.204,-11.999],[13.687,-2.225],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.555,116.873],[-122.546,122.059],[-226.362,107.198],[-221.163,45.012],[-134.782,13.509],[-84.098,3.845],[-12.612,-36.255]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.137],[21.067,-3.101],[29.047,16.164],[-19.974,8.094],[-44.311,8.076],[-18.619,4.319],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.727],[-21.067,3.101],[-29.065,-15.895],[31.913,-12.928],[13.635,-2.485],[35.361,-7.864],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.47,116.783],[-121.45,121.041],[-228.421,110.085],[-224.657,46.282],[-135.794,14.292],[-85.853,4.253],[-12.612,-36.255]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.114],[21.011,-3.46],[29.364,16.017],[-19.815,8.601],[-44.166,8.812],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.701],[-21.011,3.46],[-29.377,-15.742],[31.66,-13.737],[13.59,-2.712],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.267,116.705],[-120.493,120.154],[-230.218,112.604],[-227.705,47.39],[-136.676,14.976],[-87.385,4.609],[-12.612,-36.255]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.094,4.097],[20.969,-3.728],[29.6,15.907],[-19.696,8.979],[-44.057,9.361],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.283,-4.682],[-20.969,3.728],[-29.609,-15.628],[31.471,-14.34],[13.557,-2.88],[35.363,-7.845],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.861,116.646],[-119.78,119.493],[-231.555,114.479],[-229.974,48.215],[-137.333,15.484],[-88.524,4.873],[-12.612,-36.255]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.092,4.085],[20.938,-3.922],[29.771,15.828],[-19.611,9.253],[-43.979,9.759],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.281,-4.668],[-20.938,3.922],[-29.777,-15.545],[31.334,-14.777],[13.533,-3.003],[35.364,-7.839],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.291,116.604],[-119.263,119.014],[-232.526,115.84],[-231.62,48.814],[-137.81,15.853],[-89.352,5.066],[-12.612,-36.255]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.076],[20.916,-4.063],[29.896,15.77],[-19.548,9.453],[-43.921,10.049],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.658],[-20.916,4.063],[-29.9,-15.485],[31.235,-15.096],[13.515,-3.092],[35.364,-7.835],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.605,116.573],[-118.887,118.664],[-233.233,116.832],[-232.82,49.25],[-138.158,16.122],[-89.954,5.206],[-12.612,-36.255]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.07],[20.9,-4.166],[29.987,15.728],[-19.502,9.599],[-43.88,10.26],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.651],[-20.9,4.166],[-29.989,-15.441],[31.162,-15.328],[13.502,-3.157],[35.364,-7.832],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.834,116.551],[-118.613,118.41],[-233.748,117.554],[-233.694,49.567],[-138.411,16.318],[-90.393,5.308],[-12.612,-36.255]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.065],[20.888,-4.24],[30.052,15.698],[-19.47,9.703],[-43.85,10.411],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.646],[-20.888,4.24],[-30.053,-15.41],[31.11,-15.495],[13.493,-3.204],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.998,116.534],[-118.416,118.227],[-234.118,118.072],[-234.321,49.796],[-138.592,16.459],[-90.708,5.381],[-12.612,-36.255]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.88,-4.291],[30.097,15.677],[-19.447,9.776],[-43.829,10.516],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.88,4.291],[-30.098,-15.388],[31.074,-15.61],[13.487,-3.236],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.112,116.523],[-118.279,118.101],[-234.374,118.431],[-234.756,49.954],[-138.718,16.556],[-90.927,5.432],[-12.612,-36.255]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.06],[20.875,-4.324],[30.126,15.663],[-19.432,9.822],[-43.815,10.584],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.64],[-20.875,4.324],[-30.127,-15.374],[31.05,-15.685],[13.483,-3.257],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.185,116.516],[-118.191,118.019],[-234.54,118.664],[-235.037,50.056],[-138.8,16.619],[-91.068,5.464],[-12.612,-36.255]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.872,-4.342],[30.142,15.656],[-19.424,9.848],[-43.808,10.621],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.872,4.343],[-30.142,-15.366],[31.037,-15.726],[13.48,-3.268],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.226,116.512],[-118.143,117.974],[-234.631,118.791],[-235.191,50.112],[-138.844,16.654],[-91.145,5.482],[-12.612,-36.255]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.422,9.851],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.35],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.209,116.514],[-118.125,117.984],[-234.564,118.795],[-235.138,50.143],[-138.861,16.64],[-91.113,5.475],[-12.612,-36.255]],"c":true}],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.14,15.591],[-19.425,9.832],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.352],[-30.14,-15.302],[31.038,-15.7],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.106,116.524],[-118.114,118.067],[-234.235,118.672],[-234.787,50.193],[-138.871,16.557],[-90.916,5.429],[-12.612,-36.255]],"c":true}],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.068],[20.87,-4.357],[30.127,15.494],[-19.43,9.794],[-43.802,10.66],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.357],[-30.128,-15.206],[31.046,-15.641],[13.479,-3.28],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.901,116.544],[-118.094,118.233],[-233.578,118.427],[-234.088,50.292],[-138.892,16.391],[-90.523,5.338],[-12.612,-36.255]],"c":true}],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.078],[20.869,-4.367],[30.107,15.33],[-19.438,9.731],[-43.799,10.688],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.66],[-20.869,4.367],[-30.108,-15.045],[31.058,-15.54],[13.478,-3.289],[35.364,-7.836],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.555,116.578],[-118.059,118.513],[-232.466,118.013],[-232.903,50.459],[-138.927,16.11],[-89.857,5.183],[-12.612,-36.255]],"c":true}],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.093],[20.867,-4.381],[30.076,15.082],[-19.45,9.636],[-43.794,10.731],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.677],[-20.867,4.381],[-30.077,-14.8],[31.077,-15.388],[13.476,-3.302],[35.363,-7.843],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.031,116.63],[-118.006,118.937],[-230.785,117.386],[-231.113,50.712],[-138.98,15.685],[-88.852,4.95],[-12.612,-36.255]],"c":true}],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.112],[20.865,-4.399],[30.037,14.766],[-19.465,9.514],[-43.787,10.785],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.285,-4.698],[-20.865,4.399],[-30.039,-14.489],[31.101,-15.195],[13.474,-3.319],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.364,116.695],[-117.939,119.476],[-228.645,116.589],[-228.834,51.034],[-139.047,15.144],[-87.572,4.652],[-12.612,-36.255]],"c":true}],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.1,4.147],[20.861,-4.434],[29.963,14.171],[-19.494,9.284],[-43.774,10.887],[-18.618,4.321],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.29,-4.739],[-20.861,4.434],[-29.966,-13.903],[31.146,-14.83],[13.47,-3.35],[35.36,-7.868],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.108,116.818],[-117.813,120.493],[-224.613,115.086],[-224.539,51.641],[-139.174,14.124],[-85.159,4.092],[-12.612,-36.255]],"c":true}],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.936,13.951],[-19.504,9.2],[-43.77,10.924],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.754],[-20.859,4.446],[-29.939,-13.687],[31.163,-14.696],[13.469,-3.362],[35.359,-7.875],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.646,116.864],[-117.766,120.867],[-223.128,114.533],[-222.958,51.864],[-139.22,13.749],[-84.271,3.885],[-12.612,-36.255]],"c":true}],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.456],[29.914,13.779],[-19.513,9.134],[-43.766,10.953],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.765],[-20.858,4.456],[-29.918,-13.517],[31.176,-14.591],[13.467,-3.371],[35.359,-7.879],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.282,116.9],[-117.73,121.161],[-221.961,114.098],[-221.715,52.04],[-139.257,13.453],[-83.573,3.723],[-12.612,-36.255]],"c":true}],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.996,116.928],[-117.701,121.393],[-221.042,113.755],[-220.736,52.178],[-139.286,13.221],[-83.023,3.596],[-12.612,-36.255]],"c":true}],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.185],[20.856,-4.47],[29.884,13.537],[-19.525,9.04],[-43.761,10.995],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.782],[-20.856,4.47],[-29.888,-13.278],[31.195,-14.442],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.77,116.95],[-117.678,121.576],[-220.317,113.485],[-219.964,52.287],[-139.309,13.038],[-82.59,3.495],[-12.612,-36.255]],"c":true}],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.19],[20.855,-4.475],[29.874,13.452],[-19.529,9.008],[-43.759,11.009],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.475],[-29.878,-13.195],[31.201,-14.391],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.592,116.968],[-117.66,121.72],[-219.745,113.272],[-219.355,52.373],[-139.327,12.893],[-82.248,3.415],[-12.612,-36.255]],"c":true}],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.865,13.386],[-19.532,8.982],[-43.758,11.021],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.13],[31.206,-14.35],[13.465,-3.391],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.452,116.981],[-117.646,121.833],[-219.297,113.105],[-218.878,52.441],[-139.341,12.78],[-81.98,3.353],[-12.612,-36.255]],"c":true}],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.854,-4.482],[29.859,13.335],[-19.534,8.962],[-43.757,11.029],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.855,4.482],[-29.863,-13.08],[31.21,-14.319],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.344,116.992],[-117.635,121.92],[-218.951,112.976],[-218.51,52.493],[-139.352,12.693],[-81.773,3.305],[-12.612,-36.255]],"c":true}],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.484],[29.854,13.297],[-19.536,8.948],[-43.756,11.036],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.042],[31.213,-14.295],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.263,117],[-117.627,121.985],[-218.691,112.879],[-218.232,52.532],[-139.36,12.627],[-81.617,3.269],[-12.612,-36.255]],"c":true}],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.269],[-19.538,8.937],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.015],[31.215,-14.278],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.205,117.006],[-117.621,122.033],[-218.504,112.809],[-218.033,52.56],[-139.366,12.579],[-81.505,3.243],[-12.612,-36.255]],"c":true}],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.166,117.009],[-117.617,122.064],[-218.379,112.763],[-217.9,52.579],[-139.37,12.548],[-81.43,3.225],[-12.612,-36.255]],"c":true}],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.986],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.308,112.736],[-217.825,52.59],[-139.372,12.53],[-81.388,3.216],[-12.612,-36.255]],"c":true}],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.085,-3.398],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.374],[-19.532,8.977],[-43.757,11.023],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.428,0.653],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.118],[31.207,-14.343],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.077,194.754],[32.184,139.048],[-41.426,116.984],[-117.644,121.854],[-219.214,113.074],[-218.79,52.453],[-139.343,12.759],[-81.93,3.342],[-12.612,-36.255]],"c":true}],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.763,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.729],[-19.515,9.114],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.751,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.468],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.251,193.909],[32.184,139.048],[-42.176,116.91],[-117.719,121.247],[-221.619,113.97],[-221.351,52.091],[-139.268,13.367],[-83.369,3.676],[-12.612,-36.255]],"c":true}],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[47.069,-2.957],[27.304,14.384],[26.1,4.15],[20.86,-4.436],[29.957,14.124],[-19.496,9.266],[-43.773,10.895],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.446,1.054],[-24.064,-12.677],[-29.291,-4.742],[-20.86,4.436],[-29.96,-13.857],[31.15,-14.802],[13.47,-3.352],[35.36,-7.87],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[125.893,192.97],[32.184,139.048],[-43.009,116.828],[-117.803,120.573],[-224.294,114.967],[-224.2,51.689],[-139.184,14.043],[-84.969,4.047],[-12.612,-36.255]],"c":true}],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[43.879,-2.757],[27.304,14.385],[26.098,4.13],[20.863,-4.417],[29.999,14.464],[-19.48,9.398],[-43.781,10.836],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.637,1.236],[-24.064,-12.677],[-29.288,-4.719],[-20.863,4.417],[-30.002,-14.192],[31.124,-15.01],[13.472,-3.335],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.901,192.158],[32.184,139.048],[-43.728,116.758],[-117.875,119.991],[-226.604,115.828],[-226.659,51.341],[-139.111,14.627],[-86.35,4.368],[-12.612,-36.255]],"c":true}],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.29,-2.594],[27.304,14.385],[26.096,4.113],[20.865,-4.401],[30.034,14.741],[-19.466,9.504],[-43.786,10.789],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.227,1.384],[-24.064,-12.677],[-29.285,-4.7],[-20.865,4.401],[-30.036,-14.465],[31.103,-15.18],[13.474,-3.32],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.155,191.499],[32.184,139.048],[-44.312,116.7],[-117.934,119.518],[-228.478,116.527],[-228.656,51.059],[-139.052,15.101],[-87.472,4.629],[-12.612,-36.255]],"c":true}],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.213,-2.464],[27.304,14.385],[26.094,4.1],[20.866,-4.388],[30.061,14.963],[-19.455,9.59],[-43.791,10.751],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.305,1.503],[-24.064,-12.677],[-29.283,-4.685],[-20.866,4.388],[-30.063,-14.684],[31.086,-15.316],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.765,190.971],[32.184,139.048],[-44.781,116.654],[-117.981,119.139],[-229.982,117.087],[-230.258,50.833],[-139.005,15.482],[-88.372,4.838],[-12.612,-36.255]],"c":true}],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.55,-2.359],[27.304,14.385],[26.093,4.089],[20.868,-4.378],[30.084,15.141],[-19.447,9.658],[-43.795,10.721],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-27.969,1.598],[-24.064,-12.677],[-29.282,-4.673],[-20.867,4.378],[-30.085,-14.859],[31.072,-15.425],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[137.855,190.548],[32.184,139.048],[-45.156,116.617],[-118.019,118.836],[-231.186,117.536],[-231.54,50.652],[-138.967,15.786],[-89.092,5.005],[-12.612,-36.255]],"c":true}],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.223,-2.276],[27.304,14.385],[26.092,4.081],[20.869,-4.37],[30.101,15.283],[-19.44,9.713],[-43.798,10.696],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.296,1.674],[-24.064,-12.677],[-29.281,-4.663],[-20.869,4.37],[-30.102,-14.998],[31.062,-15.511],[13.477,-3.292],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.523,190.21],[32.184,139.048],[-45.456,116.588],[-118.049,118.593],[-232.147,117.894],[-232.564,50.507],[-138.937,16.029],[-89.667,5.139],[-12.612,-36.255]],"c":true}],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.172,-2.21],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.395],[-19.434,9.756],[-43.8,10.677],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.347,1.734],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.116,-15.109],[31.053,-15.58],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.843,189.943],[32.184,139.048],[-45.693,116.565],[-118.073,118.402],[-232.908,118.178],[-233.374,50.392],[-138.913,16.221],[-90.122,5.245],[-12.612,-36.255]],"c":true}],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.354,-2.158],[27.304,14.385],[26.09,4.069],[20.87,-4.358],[30.126,15.482],[-19.43,9.79],[-43.802,10.662],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.166,1.781],[-24.064,-12.677],[-29.279,-4.65],[-20.87,4.358],[-30.126,-15.195],[31.046,-15.634],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.871,189.735],[32.184,139.048],[-45.877,116.546],[-118.091,118.252],[-233.5,118.398],[-234.005,50.303],[-138.894,16.371],[-90.476,5.327],[-12.612,-36.255]],"c":true}],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.733,-2.119],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.549],[-19.427,9.816],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.787,1.816],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.26],[31.041,-15.674],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.652,189.577],[32.184,139.048],[-46.017,116.533],[-118.105,118.139],[-233.95,118.566],[-234.484,50.236],[-138.88,16.485],[-90.745,5.389],[-12.612,-36.255]],"c":true}],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.282,-2.091],[27.304,14.385],[26.089,4.062],[20.871,-4.351],[30.14,15.597],[-19.425,9.834],[-43.805,10.643],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.238,1.842],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.351],[-30.14,-15.308],[31.038,-15.704],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.218,189.462],[32.184,139.048],[-46.119,116.523],[-118.116,118.057],[-234.277,118.688],[-234.832,50.187],[-138.87,16.568],[-90.941,5.435],[-12.612,-36.255]],"c":true}],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.98,-2.072],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.144,15.629],[-19.423,9.847],[-43.805,10.637],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.54,1.859],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.144,-15.34],[31.035,-15.724],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.598,189.385],[32.184,139.048],[-46.187,116.516],[-118.123,118.001],[-234.495,118.769],[-235.065,50.154],[-138.863,16.623],[-91.071,5.465],[-12.612,-36.255]],"c":true}],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.809,-2.061],[27.304,14.385],[26.089,4.059],[20.871,-4.348],[30.147,15.648],[-19.422,9.854],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.711,1.869],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.349],[-30.147,-15.358],[31.034,-15.735],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.813,189.342],[32.184,139.048],[-46.226,116.512],[-118.126,117.97],[-234.619,118.815],[-235.197,50.135],[-138.859,16.654],[-91.146,5.482],[-12.612,-36.255]],"c":true}],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.786,-2.06],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.65],[-19.422,9.855],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.734,1.87],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.36],[31.034,-15.736],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.841,189.336],[32.184,139.048],[-46.231,116.512],[-118.127,117.966],[-234.636,118.821],[-235.214,50.132],[-138.859,16.658],[-91.155,5.485],[-12.612,-36.255]],"c":true}],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.888,-2.066],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.423,9.85],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.632,1.865],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.349],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.714,189.362],[32.184,139.048],[-46.208,116.514],[-118.125,117.985],[-234.562,118.794],[-235.136,50.144],[-138.861,16.64],[-91.111,5.474],[-12.612,-36.255]],"c":true}],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.072,-2.078],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.143,15.619],[-19.423,9.843],[-43.805,10.639],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.448,1.854],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.143,-15.33],[31.036,-15.718],[13.479,-3.274],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.482,189.409],[32.184,139.048],[-46.166,116.518],[-118.12,118.018],[-234.429,118.744],[-234.993,50.164],[-138.865,16.606],[-91.031,5.456],[-12.612,-36.255]],"c":true}],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.355,-2.096],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.139,15.589],[-19.425,9.831],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.164,1.838],[-24.064,-12.677],[-29.278,-4.643],[-20.871,4.352],[-30.139,-15.3],[31.038,-15.699],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.126,189.481],[32.184,139.048],[-46.102,116.524],[-118.114,118.07],[-234.223,118.668],[-234.775,50.195],[-138.872,16.554],[-90.909,5.427],[-12.612,-36.255]],"c":true}],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.759,-2.121],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.546],[-19.427,9.815],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.761,1.815],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.258],[31.042,-15.673],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.619,189.584],[32.184,139.048],[-46.011,116.533],[-118.105,118.144],[-233.931,118.559],[-234.464,50.238],[-138.881,16.48],[-90.734,5.387],[-12.612,-36.255]],"c":true}],"t":364,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.313,-2.156],[27.304,14.385],[26.09,4.068],[20.87,-4.358],[30.127,15.487],[-19.43,9.792],[-43.802,10.661],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.207,1.783],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.358],[-30.127,-15.199],[31.046,-15.636],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.923,189.724],[32.184,139.048],[-45.887,116.546],[-118.092,118.245],[-233.53,118.41],[-234.037,50.299],[-138.893,16.379],[-90.494,5.331],[-12.612,-36.255]],"c":true}],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.056,-2.203],[27.304,14.385],[26.091,4.073],[20.869,-4.362],[30.117,15.407],[-19.434,9.761],[-43.801,10.675],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.463,1.741],[-24.064,-12.677],[-29.28,-4.655],[-20.869,4.362],[-30.117,-15.121],[31.052,-15.588],[13.478,-3.285],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.989,189.914],[32.184,139.048],[-45.719,116.562],[-118.075,118.38],[-232.992,118.209],[-233.463,50.38],[-138.91,16.243],[-90.172,5.256],[-12.612,-36.255]],"c":true}],"t":366,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.047,-2.265],[27.304,14.385],[26.092,4.079],[20.869,-4.368],[30.104,15.302],[-19.439,9.72],[-43.798,10.693],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.472,1.684],[-24.064,-12.677],[-29.281,-4.662],[-20.869,4.368],[-30.104,-15.017],[31.06,-15.523],[13.477,-3.291],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.743,190.166],[32.184,139.048],[-45.495,116.584],[-118.053,118.561],[-232.275,117.941],[-232.699,50.488],[-138.933,16.061],[-89.743,5.157],[-12.612,-36.255]],"c":true}],"t":367,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.366,-2.348],[27.304,14.385],[26.093,4.088],[20.868,-4.377],[30.086,15.161],[-19.446,9.666],[-43.795,10.717],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-28.153,1.609],[-24.064,-12.677],[-29.282,-4.672],[-20.868,4.377],[-30.087,-14.878],[31.071,-15.437],[13.476,-3.298],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[138.086,190.501],[32.184,139.048],[-45.198,116.613],[-118.023,118.802],[-231.32,117.586],[-231.682,50.632],[-138.963,15.82],[-89.172,5.024],[-12.612,-36.255]],"c":true}],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.115,-2.458],[27.304,14.385],[26.094,4.099],[20.866,-4.387],[30.063,14.974],[-19.455,9.594],[-43.791,10.749],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.403,1.509],[-24.064,-12.677],[-29.283,-4.684],[-20.866,4.387],[-30.064,-14.694],[31.085,-15.322],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.888,190.946],[32.184,139.048],[-44.803,116.652],[-117.983,119.121],[-230.053,117.114],[-230.333,50.822],[-139.003,15.5],[-88.414,4.848],[-12.612,-36.255]],"c":true}],"t":369,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.378,-2.6],[27.304,14.385],[26.096,4.114],[20.865,-4.401],[30.033,14.732],[-19.467,9.501],[-43.786,10.791],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.139,1.379],[-24.064,-12.677],[-29.285,-4.701],[-20.865,4.401],[-30.034,-14.456],[31.104,-15.174],[13.474,-3.32],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.044,191.522],[32.184,139.048],[-44.293,116.702],[-117.932,119.534],[-228.414,116.503],[-228.588,51.069],[-139.054,15.085],[-87.434,4.62],[-12.612,-36.255]],"c":true}],"t":370,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[44.061,-2.768],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.456,1.226],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.673,192.204],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":371,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[46.743,-2.937],[27.304,14.385],[26.1,4.148],[20.86,-4.434],[29.961,14.158],[-19.494,9.28],[-43.774,10.889],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.773,1.073],[-24.064,-12.677],[-29.29,-4.74],[-20.86,4.434],[-29.964,-13.891],[31.147,-14.823],[13.47,-3.351],[35.36,-7.869],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[126.303,192.886],[32.184,139.048],[-43.083,116.821],[-117.81,120.513],[-224.53,115.055],[-224.451,51.653],[-139.176,14.103],[-85.11,4.08],[-12.612,-36.255]],"c":true}],"t":372,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[49.006,-3.079],[27.304,14.385],[26.102,4.162],[20.859,-4.448],[29.931,13.917],[-19.506,9.187],[-43.769,10.93],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-16.508,0.943],[-24.064,-12.677],[-29.292,-4.756],[-20.859,4.448],[-29.935,-13.653],[31.166,-14.675],[13.468,-3.363],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[123.459,193.462],[32.184,139.048],[-42.572,116.871],[-117.759,120.927],[-222.892,114.444],[-222.706,51.9],[-139.228,13.689],[-84.13,3.853],[-12.612,-36.255]],"c":true}],"t":373,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.755,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.73],[-19.515,9.115],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.758,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.469],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.26,193.907],[32.184,139.048],[-42.177,116.91],[-117.719,121.246],[-221.625,113.972],[-221.357,52.091],[-139.268,13.369],[-83.372,3.677],[-12.612,-36.255]],"c":true}],"t":374,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[52.074,-3.272],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.589],[-19.522,9.06],[-43.762,10.986],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-13.439,0.768],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.894,-13.33],[31.191,-14.474],[13.466,-3.381],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[119.603,194.243],[32.184,139.048],[-41.88,116.939],[-117.689,121.487],[-220.67,113.617],[-220.34,52.234],[-139.298,13.127],[-82.801,3.544],[-12.612,-36.255]],"c":true}],"t":375,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[53.065,-3.334],[27.304,14.385],[26.105,4.188],[20.856,-4.473],[29.877,13.483],[-19.527,9.019],[-43.76,11.004],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-12.448,0.711],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.226],[31.199,-14.409],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[118.358,194.495],[32.184,139.048],[-41.656,116.961],[-117.667,121.667],[-219.953,113.349],[-219.576,52.342],[-139.32,12.946],[-82.372,3.444],[-12.612,-36.255]],"c":true}],"t":376,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[53.809,-3.381],[27.304,14.385],[26.106,4.193],[20.855,-4.478],[29.868,13.403],[-19.531,8.989],[-43.758,11.018],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.704,0.669],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.872,-13.147],[31.205,-14.361],[13.465,-3.39],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.424,194.684],[32.184,139.048],[-41.489,116.978],[-117.65,121.803],[-219.414,113.148],[-219.003,52.423],[-139.337,12.81],[-82.05,3.369],[-12.612,-36.255]],"c":true}],"t":377,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.362,-3.415],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.344],[-19.534,8.966],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.151,0.637],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.481],[-29.864,-13.089],[31.209,-14.324],[13.465,-3.393],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[116.728,194.825],[32.184,139.048],[-41.364,116.99],[-117.637,121.904],[-219.014,112.999],[-218.576,52.484],[-139.35,12.708],[-81.81,3.314],[-12.612,-36.255]],"c":true}],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[54.766,-3.441],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.747,0.614],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[116.221,194.928],[32.184,139.048],[-41.273,116.999],[-117.628,121.978],[-218.721,112.89],[-218.264,52.528],[-139.359,12.634],[-81.635,3.273],[-12.612,-36.255]],"c":true}],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.049,-3.459],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.271],[-19.537,8.938],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.463,0.598],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.017],[31.215,-14.28],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.865,195],[32.184,139.048],[-41.209,117.005],[-117.622,122.03],[-218.516,112.814],[-218.046,52.558],[-139.365,12.583],[-81.512,3.245],[-12.612,-36.255]],"c":true}],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.233,-3.47],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.251],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.279,0.587],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.633,195.046],[32.184,139.048],[-41.167,117.009],[-117.618,122.063],[-218.383,112.764],[-217.904,52.578],[-139.37,12.549],[-81.433,3.226],[-12.612,-36.255]],"c":true}],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.335,-3.477],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.177,0.582],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.505,195.072],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.309,112.737],[-217.825,52.59],[-139.372,12.53],[-81.389,3.216],[-12.612,-36.255]],"c":true}],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.256],[-19.538,8.932],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.854,-13.002],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.177,117.008],[-117.619,122.055],[-218.414,112.776],[-217.937,52.574],[-139.369,12.557],[-81.451,3.23],[-12.612,-36.255]],"c":true}],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.856,13.308],[-19.536,8.952],[-43.756,11.034],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.484],[-29.86,-13.053],[31.212,-14.302],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.287,116.997],[-117.63,121.966],[-218.767,112.907],[-218.313,52.521],[-139.358,12.646],[-81.662,3.279],[-12.612,-36.255]],"c":true}],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.866,13.387],[-19.532,8.983],[-43.758,11.02],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.132],[31.206,-14.351],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.455,116.981],[-117.647,121.83],[-219.306,113.108],[-218.888,52.439],[-139.341,12.782],[-81.985,3.354],[-12.612,-36.255]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.188],[20.856,-4.473],[29.878,13.491],[-19.527,9.022],[-43.76,11.003],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.785],[-20.856,4.473],[-29.882,-13.233],[31.198,-14.414],[13.466,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.673,116.96],[-117.668,121.654],[-220.006,113.369],[-219.633,52.334],[-139.319,12.959],[-82.404,3.452],[-12.612,-36.255]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.181],[20.857,-4.466],[29.894,13.615],[-19.521,9.07],[-43.762,10.982],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.777],[-20.857,4.466],[-29.898,-13.355],[31.189,-14.49],[13.466,-3.379],[35.358,-7.884],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.934,116.934],[-117.695,121.443],[-220.845,113.682],[-220.526,52.208],[-139.292,13.171],[-82.906,3.568],[-12.612,-36.255]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.172],[20.858,-4.458],[29.911,13.757],[-19.514,9.125],[-43.766,10.957],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.767],[-20.858,4.458],[-29.915,-13.495],[31.178,-14.577],[13.467,-3.372],[35.358,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.234,116.904],[-117.725,121.2],[-221.807,114.04],[-221.551,52.063],[-139.262,13.415],[-83.481,3.702],[-12.612,-36.255]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[20.859,-4.449],[29.931,13.915],[-19.506,9.186],[-43.769,10.93],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.756],[-20.859,4.449],[-29.934,-13.651],[31.166,-14.674],[13.468,-3.363],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.568,116.872],[-117.759,120.93],[-222.879,114.44],[-222.693,51.902],[-139.228,13.686],[-84.123,3.851],[-12.612,-36.255]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.439],[29.953,14.088],[-19.498,9.253],[-43.773,10.901],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.439],[-29.956,-13.822],[31.153,-14.78],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.934,116.836],[-117.795,120.634],[-224.053,114.877],[-223.943,51.725],[-139.191,13.982],[-84.824,4.014],[-12.612,-36.255]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.141],[20.861,-4.428],[29.976,14.275],[-19.489,9.325],[-43.777,10.869],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.732],[-20.861,4.428],[-29.978,-14.006],[31.138,-14.894],[13.471,-3.344],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.328,116.797],[-117.835,120.315],[-225.319,115.349],[-225.291,51.535],[-139.152,14.302],[-85.582,4.19],[-12.612,-36.255]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.129],[20.863,-4.416],[30.001,14.474],[-19.479,9.402],[-43.781,10.835],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.718],[-20.863,4.416],[-30.003,-14.202],[31.123,-15.017],[13.472,-3.334],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.749,116.755],[-117.877,119.974],[-226.671,115.853],[-226.731,51.331],[-139.109,14.645],[-86.391,4.378],[-12.612,-36.255]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.116],[20.864,-4.404],[30.027,14.686],[-19.469,9.483],[-43.785,10.798],[-18.619,4.313],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.704],[-20.864,4.404],[-30.029,-14.411],[31.107,-15.146],[13.473,-3.323],[35.362,-7.854],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.196,116.712],[-117.922,119.612],[-228.106,116.388],[-228.259,51.115],[-139.064,15.007],[-87.249,4.577],[-12.612,-36.255]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.91],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.631],[31.09,-15.283],[13.475,-3.311],[35.362,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.668,116.665],[-117.97,119.23],[-229.62,116.952],[-229.872,50.887],[-139.016,15.39],[-88.155,4.788],[-12.612,-36.255]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.089],[20.868,-4.377],[30.084,15.145],[-19.447,9.66],[-43.795,10.72],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.673],[-20.868,4.378],[-30.085,-14.863],[31.072,-15.427],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.165,116.616],[-118.02,118.829],[-231.213,117.546],[-231.569,50.648],[-138.966,15.793],[-89.108,5.009],[-12.612,-36.255]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.392],[-19.434,9.755],[-43.8,10.678],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.115,-15.106],[31.053,-15.578],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.687,116.565],[-118.072,118.406],[-232.889,118.17],[-233.353,50.395],[-138.914,16.217],[-90.11,5.242],[-12.612,-36.255]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":425,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Nail - PATH","parent":5,"tt":1,"tp":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-215.854,53.1,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[0,0],[4.232,-12.502],[12.921,-1.766],[0,0],[-10.742,11.216],[0,0],[-9.55,-10.068]],"o":[[8.923,9.803],[-4.232,12.502],[0,0],[-17.559,-12.801],[0,0],[13.042,-4.219],[0,0]],"v":[[43.524,-16.699],[51.346,19.151],[23.347,42.689],[-15.873,40.533],[-19.404,-10.788],[6.329,-27.088],[43.177,-17.287]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"t":197,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":275,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":400,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.75686275959,0.549019634724,0.474509805441,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":425,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Thumb - PATH","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":59,"s":[17.7]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":95,"s":[15.7]},{"t":147,"s":[15.7]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":122,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.604,"y":0.604},"t":145,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.2,"y":0.2},"t":147,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":197,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.49,-5.931],[30.698,11.123],[-18.869,10.266],[-42.877,14.071],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.49,5.931],[-30.684,-10.869],[30.147,-16.402],[13.194,-4.33],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.746,122.8],[-214.825,120.486],[-218.536,60.463],[-143.094,15.021],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":197,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":275,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":400,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":425,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":3,"nm":"All Overview Scroll","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":263,"s":[204.8]},{"t":348,"s":[512]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":3,"nm":"Initial Overview In","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":182,"s":[-156]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[209]},{"t":217,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":3,"nm":"Loop App to Center","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-306,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[532]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":384.666,"s":[497.6]},{"t":418,"s":[446]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":425,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":7,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":378,"s":[-768]},{"t":408,"s":[-858]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":264,"s":[50]},{"i":{"x":[0.833],"y":[0.757]},"o":{"x":[0.167],"y":[0]},"t":348,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":399,"s":[95]},{"t":424,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[296.8]},{"t":408,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[488.8]},{"t":408,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[43.2]},{"t":408,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":110,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":7,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":264,"s":[100]},{"t":281,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":378,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":408,"s":[-176,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":425,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":12,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":24,"s":[0]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":64,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":76,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":88,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":118,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":140,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[100]},{"t":264,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":122,"s":[206,848,0],"to":[0,0,0],"ti":[0,0,0]},{"t":170,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[412]},{"t":170,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[582]},{"t":170,"s":[442],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[442]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[90]},{"t":170,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[64]},{"t":217,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-205.946,89.982],[-115.964,0],[115.964,0],[205.946,89.982],[205.946,491.767],[115.964,581.749],[-115.964,581.749],[-205.946,491.767]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-205.77,89.923],[-115.847,0],[115.847,0],[205.77,89.923],[205.77,491.004],[115.847,580.927],[-115.847,580.927],[-205.77,491.004]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-205.445,89.815],[-115.63,0],[115.63,0],[205.445,89.815],[205.445,489.595],[115.63,579.41],[-115.63,579.41],[-205.445,489.595]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-204.936,89.645],[-115.291,0],[115.291,0],[204.936,89.645],[204.936,487.391],[115.291,577.037],[-115.291,577.037],[-204.936,487.391]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-204.201,89.4],[-114.8,0],[114.8,0],[204.201,89.4],[204.201,484.203],[114.8,573.603],[-114.8,573.603],[-204.201,484.203]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-203.185,89.062],[-114.123,0],[114.123,0],[203.185,89.062],[203.185,479.8],[114.123,568.862],[-114.123,568.862],[-203.185,479.8]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-201.834,88.611],[-113.223,0],[113.223,0],[201.834,88.611],[201.834,473.946],[113.223,562.558],[-113.223,562.558],[-201.834,473.946]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-200.114,88.038],[-112.076,0],[112.076,0],[200.114,88.038],[200.114,466.493],[112.076,554.531],[-112.076,554.531],[-200.114,466.493]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-198.054,87.351],[-110.703,0],[110.703,0],[198.054,87.351],[198.054,457.566],[110.703,544.918],[-110.703,544.918],[-198.054,457.566]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-195.782,86.594],[-109.188,0],[109.188,0],[195.782,86.594],[195.782,447.721],[109.188,534.315],[-109.188,534.315],[-195.782,447.721]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-193.487,85.829],[-107.658,0],[107.658,0],[193.487,85.829],[193.487,437.775],[107.658,523.604],[-107.658,523.604],[-193.487,437.775]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-191.327,85.109],[-106.218,0],[106.218,0],[191.327,85.109],[191.327,428.416],[106.218,513.525],[-106.218,513.525],[-191.327,428.416]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-189.38,84.46],[-104.92,0],[104.92,0],[189.38,84.46],[189.38,419.982],[104.92,504.442],[-104.92,504.442],[-189.38,419.982]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-187.663,83.888],[-103.775,0],[103.775,0],[187.663,83.888],[187.663,412.539],[103.775,496.426],[-103.775,496.426],[-187.663,412.539]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-186.158,83.386],[-102.772,0],[102.772,0],[186.158,83.386],[186.158,406.02],[102.772,489.406],[-102.772,489.406],[-186.158,406.02]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-184.842,82.947],[-101.895,0],[101.895,0],[184.842,82.947],[184.842,400.315],[101.895,483.262],[-101.895,483.262],[-184.842,400.315]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-183.688,82.563],[-101.125,0],[101.125,0],[183.688,82.563],[183.688,395.313],[101.125,477.875],[-101.125,477.875],[-183.688,395.313]],"c":true}],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-182.673,82.224],[-100.448,0],[100.448,0],[182.673,82.224],[182.673,390.915],[100.448,473.139],[-100.448,473.139],[-182.673,390.915]],"c":true}],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-181.778,81.926],[-99.852,0],[99.852,0],[181.778,81.926],[181.778,387.037],[99.852,468.963],[-99.852,468.963],[-181.778,387.037]],"c":true}],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-180.987,81.662],[-99.325,0],[99.325,0],[180.987,81.662],[180.987,383.61],[99.325,465.273],[-99.325,465.273],[-180.987,383.61]],"c":true}],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-180.287,81.429],[-98.858,0],[98.858,0],[180.287,81.429],[180.287,380.577],[98.858,462.006],[-98.858,462.006],[-180.287,380.577]],"c":true}],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-179.667,81.222],[-98.445,0],[98.445,0],[179.667,81.222],[179.667,377.889],[98.445,459.112],[-98.445,459.112],[-179.667,377.889]],"c":true}],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-179.117,81.039],[-98.078,0],[98.078,0],[179.117,81.039],[179.117,375.508],[98.078,456.547],[-98.078,456.547],[-179.117,375.508]],"c":true}],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-178.631,80.877],[-97.754,0],[97.754,0],[178.631,80.877],[178.631,373.399],[97.754,454.276],[-97.754,454.276],[-178.631,373.399]],"c":true}],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-178.2,80.733],[-97.467,0],[97.467,0],[178.2,80.733],[178.2,371.535],[97.467,452.269],[-97.467,452.269],[-178.2,371.535]],"c":true}],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-177.821,80.607],[-97.214,0],[97.214,0],[177.821,80.607],[177.821,369.892],[97.214,450.499],[-97.214,450.499],[-177.821,369.892]],"c":true}],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-177.488,80.496],[-96.992,0],[96.992,0],[177.488,80.496],[177.488,368.45],[96.992,448.946],[-96.992,448.946],[-177.488,368.45]],"c":true}],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-177.198,80.399],[-96.798,0],[96.798,0],[177.198,80.399],[177.198,367.19],[96.798,447.589],[-96.798,447.589],[-177.198,367.19]],"c":true}],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-176.945,80.315],[-96.63,0],[96.63,0],[176.945,80.315],[176.945,366.097],[96.63,446.412],[-96.63,446.412],[-176.945,366.097]],"c":true}],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-176.729,80.243],[-96.486,0],[96.486,0],[176.729,80.243],[176.729,365.158],[96.486,445.4],[-96.486,445.4],[-176.729,365.158]],"c":true}],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-176.545,80.182],[-96.363,0],[96.363,0],[176.545,80.182],[176.545,364.36],[96.363,444.542],[-96.363,444.542],[-176.545,364.36]],"c":true}],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-176.391,80.13],[-96.261,0],[96.261,0],[176.391,80.13],[176.391,363.694],[96.261,443.825],[-96.261,443.825],[-176.391,363.694]],"c":true}],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-176.266,80.089],[-96.177,0],[96.177,0],[176.266,80.089],[176.266,363.151],[96.177,443.239],[-96.177,443.239],[-176.266,363.151]],"c":true}],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-176.166,80.055],[-96.111,0],[96.111,0],[176.166,80.055],[176.166,362.721],[96.111,442.776],[-96.111,442.776],[-176.166,362.721]],"c":true}],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.092,80.031],[-96.061,0],[96.061,0],[176.092,80.031],[176.092,362.397],[96.061,442.427],[-96.061,442.427],[-176.092,362.397]],"c":true}],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.01,80.003],[-96.007,0],[96.007,0],[176.01,80.003],[176.01,362.042],[96.007,442.046],[-96.007,442.046],[-176.01,362.042]],"c":true}],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,362],[96,442],[-96,442],[-176,362]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,361.402],[95.852,441.356],[-95.852,441.356],[-175.806,361.402]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,359.379],[95.351,439.179],[-95.351,439.179],[-175.151,359.379]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,355.463],[94.381,434.965],[-94.381,434.965],[-173.883,355.463]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,348.92],[92.761,427.924],[-92.761,427.924],[-171.765,348.92]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,338.542],[90.191,416.754],[-90.191,416.754],[-168.404,338.542]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,322.292],[86.168,399.267],[-86.168,399.267],[-163.142,322.292]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,297.387],[80.001,372.464],[-80.001,372.464],[-155.078,297.387]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,264.543],[71.868,337.118],[-71.868,337.118],[-144.442,264.543]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,233.528],[64.188,303.739],[-64.188,303.739],[-134.399,233.528]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,210.354],[58.449,278.8],[-58.449,278.8],[-126.895,210.354]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,193.758],[54.34,260.939],[-54.34,260.939],[-121.522,193.758]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,181.674],[51.348,247.935],[-51.348,247.935],[-117.609,181.674]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,172.72],[49.131,238.299],[-49.131,238.299],[-114.709,172.72]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,166.034],[47.475,231.104],[-47.475,231.104],[-112.544,166.034]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,161.062],[46.244,225.752],[-46.244,225.752],[-110.934,161.062]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,157.429],[45.344,221.843],[-45.344,221.843],[-109.758,157.429]],"c":true}],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.875],[44.712,219.094],[-44.712,219.094],[-108.931,154.875]],"c":true}],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,153.209],[44.299,217.301],[-44.299,217.301],[-108.391,153.209]],"c":true}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.287],[44.071,216.309],[-44.071,216.309],[-108.093,152.287]],"c":true}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":425,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[412,892],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.325,0.271,0.165,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.325,0.271,0.165,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":425,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Part03_Demonstration_Overview_V02","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[206,446,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":412,"h":892,"ip":891,"op":1337,"st":891,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Part02_Charade_Overview_V02","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[206,446,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":412,"h":892,"ip":425,"op":891,"st":425,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Part01_ThumbDemo_Overview_V02","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,446,0],"ix":2,"l":2},"a":{"a":0,"k":[206,446,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":412,"h":892,"ip":0,"op":425,"st":0,"bm":0}],"markers":[],"props":{}}
\ No newline at end of file
diff --git a/quickstep/res/raw/overview_gesture_tutorial_open_foldable_animation.json b/quickstep/res/raw/overview_gesture_tutorial_open_foldable_animation.json
index b57132b..60495f9 100644
--- a/quickstep/res/raw/overview_gesture_tutorial_open_foldable_animation.json
+++ b/quickstep/res/raw/overview_gesture_tutorial_open_foldable_animation.json
@@ -1 +1 @@
-{"v":"5.10.0","fr":60,"ip":0,"op":1336,"w":841,"h":701,"nm":"SUW_FO_Overview_Preview V02","ddd":0,"assets":[{"id":"comp_0","nm":"Part01_Thumb_Overview_FO_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"OVERSHOOT THUMB","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":246,"s":[563.5]},{"t":331,"s":[603.5]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":182,"s":[571]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":246,"s":[591]},{"t":331,"s":[571]}],"ix":4}},"a":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":321,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":371,"s":[40,0,0]}],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"HAND NULL","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.59],"y":[0]},"t":3,"s":[10]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.15],"y":[0]},"t":59,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.6],"y":[0]},"t":95,"s":[-3]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[-4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.166],"y":[0]},"t":170,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[15]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":231,"s":[12]},{"i":{"x":[0.22],"y":[0.993]},"o":{"x":[0.41],"y":[0]},"t":246,"s":[15.59]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[40]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":321,"s":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":381,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[15]},{"t":425,"s":[65]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.06],"y":[0.36]},"t":0,"s":[260]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[123]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[123]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":231,"s":[70]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[70]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":256.666,"s":[130.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"t":310,"s":[222]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":331,"s":[152]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":371,"s":[94]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[94]},{"t":425,"s":[364]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.194],"y":[0]},"t":0,"s":[273.366]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":63,"s":[162]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[162]},{"i":{"x":[0.83],"y":[1]},"o":{"x":[0.77],"y":[0]},"t":170,"s":[0]},{"i":{"x":[0.33],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":246,"s":[90]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":310,"s":[43]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":321,"s":[43]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":381,"s":[11]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[11]},{"t":425,"s":[167]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Thumb - KO","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"k":[{"s":[17.7],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[17.084],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.752],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.548],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.405],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.298],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.213],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.144],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.086],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.037],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.995],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.958],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.926],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.898],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.874],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.852],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.832],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.815],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.8],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.786],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.773],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.763],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.753],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.744],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.73],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.715],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"p":{"k":[{"s":[0,0,0],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.015,0,0],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.077,0,0],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.192,0,0],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.364,0,0],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.598,0,0],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.902,0,0],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.285,0,0],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.76,0,0],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.347,0,0],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.074,0,0],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.968,0,0],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.068,0,0],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-6.423,0,0],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-8.089,0,0],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.109,0,0],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-12.416,0,0],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.732,0,0],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-16.688,0,0],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.11,0,0],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.047,0,0],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.624,0,0],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.922,0,0],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.792,0,0],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.993,0,0],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-17.321,0,0],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.437,0,0],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.855,0,0],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-7.728,0,0],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.403,0,0],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.711,0,0],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.481,0,0],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.587,0,0],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.945,0,0],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.494,0,0],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.2,0,0],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.041,0,0],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.909],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.63],[31.09,-15.283],[13.475,-3.311],[35.363,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.667,116.665],[-117.97,119.232],[-229.615,116.95],[-229.867,50.888],[-139.016,15.389],[-88.152,4.787],[-12.612,-36.255]],"c":true}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.127],[20.863,-4.414],[30.005,14.508],[-19.477,9.414],[-43.782,10.829],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.287,-4.716],[-20.863,4.414],[-30.007,-14.235],[31.121,-15.037],[13.472,-3.332],[35.361,-7.859],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.82,116.749],[-117.884,119.917],[-226.898,115.937],[-226.972,51.297],[-139.102,14.702],[-86.526,4.409],[-12.612,-36.255]],"c":true}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.142],[20.861,-4.429],[29.974,14.261],[-19.489,9.319],[-43.776,10.871],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.733],[-20.861,4.429],[-29.977,-13.992],[31.139,-14.886],[13.471,-3.345],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.3,116.8],[-117.832,120.338],[-225.228,115.315],[-225.194,51.548],[-139.154,14.28],[-85.528,4.177],[-12.612,-36.255]],"c":true}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.438],[29.953,14.089],[-19.498,9.253],[-43.773,10.9],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.438],[-29.956,-13.823],[31.153,-14.781],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.936,116.835],[-117.796,120.632],[-224.061,114.88],[-223.952,51.724],[-139.191,13.985],[-84.829,4.015],[-12.612,-36.255]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.937,13.959],[-19.504,9.203],[-43.77,10.923],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.753],[-20.859,4.446],[-29.94,-13.695],[31.162,-14.701],[13.469,-3.361],[35.359,-7.874],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.662,116.862],[-117.768,120.854],[-223.181,114.552],[-223.014,51.856],[-139.219,13.762],[-84.303,3.893],[-12.612,-36.255]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.166],[20.858,-4.452],[29.924,13.857],[-19.509,9.163],[-43.768,10.94],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.76],[-20.858,4.452],[-29.927,-13.594],[31.17,-14.638],[13.468,-3.366],[35.359,-7.877],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.446,116.884],[-117.746,121.029],[-222.486,114.293],[-222.274,51.961],[-139.241,13.586],[-83.887,3.796],[-12.612,-36.255]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.457],[29.914,13.773],[-19.513,9.131],[-43.766,10.954],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.766],[-20.858,4.457],[-29.917,-13.511],[31.177,-14.587],[13.467,-3.371],[35.359,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.269,116.901],[-117.728,121.172],[-221.919,114.082],[-221.67,52.046],[-139.258,13.443],[-83.548,3.717],[-12.612,-36.255]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.175],[20.857,-4.461],[29.905,13.703],[-19.516,9.104],[-43.764,10.966],[-18.617,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.771],[-20.857,4.461],[-29.908,-13.443],[31.182,-14.544],[13.467,-3.375],[35.358,-7.882],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.121,116.915],[-117.714,121.291],[-221.446,113.906],[-221.166,52.118],[-139.273,13.323],[-83.265,3.652],[-12.612,-36.255]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.997,116.928],[-117.701,121.392],[-221.044,113.756],[-220.739,52.178],[-139.286,13.222],[-83.025,3.596],[-12.612,-36.255]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.593],[-19.522,9.062],[-43.762,10.985],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.895,-13.334],[31.19,-14.477],[13.466,-3.38],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.889,116.938],[-117.69,121.479],[-220.7,113.628],[-220.372,52.23],[-139.297,13.135],[-82.819,3.548],[-12.612,-36.255]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[20.856,-4.47],[29.886,13.549],[-19.524,9.045],[-43.761,10.993],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.781],[-20.856,4.47],[-29.89,-13.291],[31.194,-14.45],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.796,116.947],[-117.681,121.554],[-220.401,113.516],[-220.054,52.275],[-139.306,13.059],[-82.64,3.507],[-12.612,-36.255]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.187],[20.856,-4.472],[29.881,13.51],[-19.526,9.03],[-43.76,10.999],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.784],[-20.856,4.472],[-29.885,-13.253],[31.197,-14.426],[13.466,-3.385],[35.358,-7.887],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.715,116.955],[-117.673,121.62],[-220.14,113.419],[-219.776,52.314],[-139.314,12.993],[-82.484,3.47],[-12.612,-36.255]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.189],[20.856,-4.474],[29.877,13.477],[-19.527,9.017],[-43.76,11.005],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.219],[31.199,-14.406],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.643,116.962],[-117.665,121.678],[-219.911,113.334],[-219.531,52.349],[-139.322,12.935],[-82.347,3.438],[-12.612,-36.255]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.191],[20.855,-4.476],[29.873,13.447],[-19.529,9.005],[-43.759,11.01],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.476],[-29.877,-13.19],[31.201,-14.387],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.58,116.969],[-117.659,121.729],[-219.708,113.258],[-219.316,52.379],[-139.328,12.884],[-82.226,3.41],[-12.612,-36.255]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.192],[20.855,-4.477],[29.87,13.42],[-19.53,8.995],[-43.758,11.015],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.79],[-20.855,4.477],[-29.874,-13.164],[31.203,-14.371],[13.465,-3.389],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.524,116.974],[-117.654,121.774],[-219.529,113.191],[-219.124,52.406],[-139.334,12.839],[-82.118,3.385],[-12.612,-36.255]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.478],[29.867,13.397],[-19.531,8.986],[-43.758,11.019],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.871,-13.141],[31.205,-14.357],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.475,116.979],[-117.649,121.815],[-219.369,113.132],[-218.955,52.43],[-139.339,12.798],[-82.023,3.363],[-12.612,-36.255]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.376],[-19.532,8.978],[-43.757,11.022],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.12],[31.207,-14.344],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.43,116.983],[-117.644,121.85],[-219.227,113.079],[-218.803,52.451],[-139.343,12.762],[-81.938,3.343],[-12.612,-36.255]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[20.855,-4.481],[29.862,13.357],[-19.533,8.971],[-43.757,11.026],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-20.855,4.481],[-29.866,-13.102],[31.208,-14.332],[13.465,-3.393],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.391,116.987],[-117.64,121.882],[-219.101,113.032],[-218.669,52.47],[-139.347,12.73],[-81.862,3.326],[-12.612,-36.255]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.34],[-19.534,8.965],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.482],[-29.864,-13.085],[31.21,-14.322],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.356,116.991],[-117.637,121.911],[-218.988,112.99],[-218.549,52.487],[-139.351,12.702],[-81.795,3.31],[-12.612,-36.255]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.198],[20.854,-4.483],[29.858,13.326],[-19.535,8.959],[-43.756,11.031],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.854,4.483],[-29.862,-13.071],[31.211,-14.313],[13.464,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.324,116.994],[-117.633,121.936],[-218.888,112.952],[-218.441,52.503],[-139.354,12.676],[-81.735,3.296],[-12.612,-36.255]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.199],[20.854,-4.483],[29.856,13.312],[-19.535,8.954],[-43.756,11.033],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.483],[-29.861,-13.058],[31.212,-14.305],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.297,116.997],[-117.631,121.959],[-218.798,112.919],[-218.346,52.516],[-139.357,12.654],[-81.681,3.284],[-12.612,-36.255]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.272,116.999],[-117.628,121.979],[-218.719,112.889],[-218.261,52.528],[-139.359,12.634],[-81.633,3.273],[-12.612,-36.255]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.485],[29.854,13.29],[-19.537,8.945],[-43.756,11.037],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.858,-13.036],[31.213,-14.291],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.25,117.001],[-117.626,121.996],[-218.648,112.863],[-218.186,52.539],[-139.361,12.616],[-81.591,3.263],[-12.612,-36.255]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.485],[29.852,13.281],[-19.537,8.942],[-43.755,11.039],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.857,-13.027],[31.214,-14.286],[13.464,-3.397],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.23,117.003],[-117.624,122.012],[-218.586,112.84],[-218.12,52.548],[-139.363,12.6],[-81.554,3.254],[-12.612,-36.255]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.273],[-19.537,8.939],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.856,-13.019],[31.215,-14.281],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.213,117.005],[-117.622,122.026],[-218.531,112.819],[-218.062,52.556],[-139.365,12.586],[-81.521,3.247],[-12.612,-36.255]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.85,13.266],[-19.538,8.936],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.012],[31.215,-14.277],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.199,117.006],[-117.621,122.038],[-218.483,112.801],[-218.011,52.563],[-139.366,12.574],[-81.493,3.24],[-12.612,-36.255]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.486],[29.85,13.26],[-19.538,8.933],[-43.755,11.042],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.486],[-29.854,-13.006],[31.216,-14.273],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.186,117.007],[-117.619,122.048],[-218.442,112.786],[-217.967,52.57],[-139.368,12.564],[-81.468,3.234],[-12.612,-36.255]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.255],[-19.538,8.931],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-13.001],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.174,117.009],[-117.618,122.057],[-218.406,112.773],[-217.929,52.575],[-139.369,12.555],[-81.446,3.229],[-12.612,-36.255]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.996],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.165,117.009],[-117.617,122.065],[-218.376,112.761],[-217.896,52.58],[-139.37,12.547],[-81.428,3.225],[-12.612,-36.255]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.246],[-19.539,8.928],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.992],[31.217,-14.265],[13.464,-3.399],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.157,117.01],[-117.617,122.071],[-218.35,112.752],[-217.869,52.583],[-139.371,12.541],[-81.413,3.221],[-12.612,-36.255]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.243],[-19.539,8.927],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.99],[31.217,-14.263],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.151,117.011],[-117.616,122.077],[-218.33,112.744],[-217.847,52.586],[-139.371,12.535],[-81.401,3.219],[-12.612,-36.255]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.241],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.146,117.011],[-117.615,122.081],[-218.313,112.738],[-217.83,52.589],[-139.372,12.531],[-81.391,3.216],[-12.612,-36.255]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.853,-4.49],[29.848,13.234],[-19.538,8.926],[-43.753,11.05],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.853,4.49],[-29.852,-12.98],[31.216,-14.262],[13.464,-3.4],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.609,122.089],[-218.282,112.739],[-217.802,52.604],[-139.378,12.528],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.852,-4.496],[29.852,13.224],[-19.535,8.933],[-43.749,11.064],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.852,4.496],[-29.856,-12.971],[31.211,-14.271],[13.462,-3.405],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.592,122.092],[-218.266,112.774],[-217.805,52.64],[-139.395,12.539],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.849,-4.509],[29.859,13.206],[-19.529,8.944],[-43.742,11.09],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.849,4.509],[-29.863,-12.952],[31.202,-14.29],[13.46,-3.413],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.558,122.098],[-218.236,112.841],[-217.812,52.707],[-139.427,12.561],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.843,-4.529],[29.871,13.176],[-19.52,8.963],[-43.729,11.133],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.843,4.529],[-29.875,-12.923],[31.187,-14.32],[13.456,-3.426],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.504,122.108],[-218.187,112.95],[-217.822,52.818],[-139.479,12.596],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.835,-4.56],[29.89,13.13],[-19.505,8.992],[-43.71,11.199],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.835,4.56],[-29.893,-12.877],[31.163,-14.367],[13.45,-3.446],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.42,122.123],[-218.112,113.119],[-217.838,52.99],[-139.56,12.65],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.823,-4.609],[29.918,13.059],[-19.483,9.037],[-43.681,11.3],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.823,4.609],[-29.921,-12.806],[31.128,-14.438],[13.441,-3.477],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.29,122.147],[-217.996,113.379],[-217.863,53.253],[-139.685,12.734],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.804,-4.686],[29.964,12.946],[-19.447,9.109],[-43.634,11.462],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.804,4.686],[-29.966,-12.693],[31.07,-14.553],[13.427,-3.527],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.083,122.185],[-217.811,113.794],[-217.902,53.674],[-139.884,12.867],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.77,-4.822],[30.044,12.747],[-19.384,9.235],[-43.551,11.747],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.77,4.822],[-30.044,-12.494],[30.969,-14.755],[13.401,-3.615],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.718,122.253],[-217.485,114.525],[-217.971,54.416],[-140.234,13.103],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.705,-5.078],[30.195,12.372],[-19.265,9.473],[-43.396,12.284],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.705,5.078],[-30.192,-12.118],[30.779,-15.136],[13.353,-3.78],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.032,122.379],[-216.87,115.902],[-218.102,55.813],[-140.895,13.546],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.64,-5.337],[30.347,11.993],[-19.145,9.713],[-43.239,12.825],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.64,5.337],[-30.341,-11.74],[30.588,-15.519],[13.305,-3.947],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.339,122.506],[-216.251,117.29],[-218.233,57.222],[-141.561,13.993],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.601,-5.492],[30.439,11.766],[-19.073,9.857],[-43.144,13.15],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.601,5.492],[-30.431,-11.513],[30.473,-15.749],[13.276,-4.047],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.924,122.583],[-215.879,118.123],[-218.312,58.067],[-141.96,14.261],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.575,-5.593],[30.498,11.617],[-19.026,9.952],[-43.083,13.363],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.575,5.593],[-30.489,-11.364],[30.397,-15.9],[13.257,-4.112],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.651,122.633],[-215.635,118.67],[-218.364,58.621],[-142.223,14.437],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.557,-5.667],[30.542,11.51],[-18.992,10.02],[-43.038,13.517],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.557,5.667],[-30.532,-11.257],[30.343,-16.009],[13.243,-4.159],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.455,122.669],[-215.459,119.064],[-218.401,59.021],[-142.412,14.564],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.543,-5.723],[30.575,11.428],[-18.966,10.072],[-43.004,13.634],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.543,5.723],[-30.564,-11.175],[30.301,-16.092],[13.233,-4.195],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.305,122.697],[-215.325,119.365],[-218.43,59.326],[-142.556,14.661],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.531,-5.767],[30.601,11.363],[-18.945,10.113],[-42.977,13.727],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.531,5.767],[-30.589,-11.11],[30.269,-16.158],[13.225,-4.224],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.186,122.719],[-215.219,119.602],[-218.452,59.567],[-142.67,14.737],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.523,-5.802],[30.622,11.312],[-18.929,10.146],[-42.956,13.801],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.523,5.802],[-30.61,-11.058],[30.242,-16.21],[13.218,-4.247],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.092,122.736],[-215.134,119.792],[-218.47,59.76],[-142.761,14.798],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.515,-5.831],[30.638,11.269],[-18.916,10.173],[-42.938,13.861],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.515,5.831],[-30.626,-11.016],[30.221,-16.253],[13.213,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.014,122.75],[-215.066,119.947],[-218.485,59.916],[-142.835,14.848],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.855],[30.652,11.235],[-18.905,10.194],[-42.924,13.91],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.855],[-30.64,-10.982],[30.204,-16.288],[13.208,-4.28],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.952,122.762],[-215.009,120.073],[-218.497,60.044],[-142.896,14.888],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.505,-5.874],[30.664,11.207],[-18.896,10.212],[-42.912,13.951],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.505,5.874],[-30.651,-10.954],[30.19,-16.316],[13.205,-4.293],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.9,122.771],[-214.963,120.176],[-218.507,60.149],[-142.945,14.922],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.501,-5.889],[30.673,11.184],[-18.889,10.227],[-42.903,13.983],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.501,5.889],[-30.66,-10.931],[30.178,-16.339],[13.202,-4.303],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.858,122.779],[-214.926,120.259],[-218.514,60.234],[-142.985,14.948],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.497,-5.902],[30.68,11.166],[-18.883,10.238],[-42.895,14.009],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.497,5.902],[-30.667,-10.913],[30.169,-16.358],[13.2,-4.311],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.825,122.785],[-214.896,120.327],[-218.521,60.302],[-143.017,14.97],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.495,-5.912],[30.686,11.151],[-18.878,10.248],[-42.889,14.03],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.495,5.912],[-30.673,-10.898],[30.161,-16.372],[13.198,-4.317],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.799,122.79],[-214.872,120.38],[-218.526,60.356],[-143.043,14.987],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.493,-5.919],[30.69,11.14],[-18.875,10.255],[-42.885,14.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.493,5.919],[-30.677,-10.887],[30.156,-16.384],[13.196,-4.322],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.778,122.794],[-214.854,120.42],[-218.53,60.397],[-143.062,15],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.492,-5.925],[30.694,11.132],[-18.872,10.26],[-42.881,14.058],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.492,5.925],[-30.68,-10.879],[30.152,-16.392],[13.195,-4.326],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.763,122.797],[-214.841,120.45],[-218.533,60.427],[-143.077,15.01],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.929],[30.696,11.127],[-18.87,10.263],[-42.879,14.065],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.929],[-30.683,-10.873],[30.149,-16.397],[13.195,-4.328],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.753,122.798],[-214.832,120.47],[-218.534,60.448],[-143.086,15.016],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.926],[30.694,11.13],[-18.871,10.261],[-42.88,14.06],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.926],[-30.681,-10.877],[30.15,-16.393],[13.195,-4.327],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.76,122.801],[-214.837,120.461],[-218.532,60.439],[-143.08,15.017],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.494,-5.909],[30.683,11.154],[-18.878,10.245],[-42.888,14.024],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.494,5.909],[-30.67,-10.901],[30.161,-16.368],[13.197,-4.315],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.807,122.805],[-214.874,120.382],[-218.52,60.362],[-143.036,15.005],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.5,-5.878],[30.662,11.198],[-18.891,10.215],[-42.903,13.959],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.5,5.878],[-30.649,-10.945],[30.181,-16.321],[13.202,-4.295],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.891,122.811],[-214.94,120.24],[-218.497,60.223],[-142.957,14.984],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.831],[30.631,11.264],[-18.91,10.171],[-42.926,13.86],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.831],[-30.619,-11.011],[30.212,-16.25],[13.209,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.018,122.822],[-215.041,120.025],[-218.463,60.011],[-142.837,14.951],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.522,-5.764],[30.587,11.358],[-18.937,10.109],[-42.957,13.721],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.522,5.764],[-30.575,-11.105],[30.255,-16.15],[13.219,-4.222],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.198,122.836],[-215.184,119.721],[-218.416,59.713],[-142.668,14.904],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.539,-5.674],[30.527,11.485],[-18.973,10.024],[-43.001,13.532],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.539,5.674],[-30.517,-11.232],[30.313,-16.015],[13.232,-4.164],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.441,122.855],[-215.377,119.309],[-218.351,59.31],[-142.439,14.841],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.562,-5.555],[30.448,11.653],[-19.021,9.911],[-43.058,13.281],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.562,5.555],[-30.439,-11.4],[30.39,-15.835],[13.249,-4.087],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.764,122.881],[-215.634,118.763],[-218.265,58.774],[-142.135,14.757],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.592,-5.398],[30.343,11.875],[-19.085,9.763],[-43.133,12.95],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.592,5.398],[-30.336,-11.622],[30.492,-15.598],[13.273,-3.985],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.19,122.915],[-215.972,118.042],[-218.152,58.067],[-141.734,14.646],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.632,-5.189],[30.204,12.169],[-19.169,9.566],[-43.233,12.512],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.632,5.189],[-30.2,-11.916],[30.627,-15.284],[13.303,-3.85],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.755,122.96],[-216.421,117.086],[-218.001,57.13],[-141.203,14.5],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.686,-4.908],[30.018,12.566],[-19.283,9.302],[-43.368,11.922],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.686,4.908],[-30.017,-12.313],[30.808,-14.861],[13.345,-3.669],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.515,123.021],[-217.025,115.8],[-217.799,55.869],[-140.488,14.302],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.76,-4.519],[29.759,13.113],[-19.44,8.935],[-43.554,11.106],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.76,4.519],[-29.763,-12.861],[31.059,-14.276],[13.402,-3.417],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.567,123.104],[-217.86,114.021],[-217.519,54.124],[-139.498,14.029],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.865,-3.972],[29.396,13.885],[-19.662,8.42],[-43.816,9.956],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.865,3.972],[-29.406,-13.633],[31.413,-13.452],[13.483,-3.064],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-119.049,123.222],[-219.037,111.514],[-217.125,51.666],[-138.104,13.644],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.997,-3.279],[28.935,14.862],[-19.942,7.767],[-44.148,8.501],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.997,3.279],[-28.954,-14.61],[31.861,-12.409],[13.585,-2.616],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-120.924,123.372],[-220.526,108.342],[-216.626,48.556],[-136.34,13.158],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.11,-2.69],[28.544,15.692],[-20.18,7.212],[-44.431,7.265],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.11,2.69],[-28.57,-15.44],[32.241,-11.522],[13.672,-2.235],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-122.517,123.499],[-221.791,105.647],[-216.202,45.913],[-134.841,12.744],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.177,-2.342],[28.313,16.183],[-20.321,6.884],[-44.597,6.533],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.177,2.342],[-28.343,-15.931],[32.466,-10.998],[13.723,-2.01],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.459,123.574],[-222.539,104.053],[-215.952,44.35],[-133.955,12.499],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.212,-2.159],[28.191,16.441],[-20.395,6.711],[-44.685,6.149],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.212,2.159],[-28.224,-16.189],[32.585,-10.723],[13.75,-1.892],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.954,123.613],[-222.933,103.215],[-215.82,43.528],[-133.488,12.371],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.228,-2.074],[28.135,16.561],[-20.429,6.631],[-44.726,5.97],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.228,2.074],[-28.168,-16.31],[32.64,-10.595],[13.763,-1.837],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.185,123.632],[-223.116,102.825],[-215.759,43.146],[-133.272,12.311],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[21.229,-2.075],[28.141,16.584],[-20.428,6.644],[-44.727,5.971],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-21.229,2.075],[-28.174,-16.332],[32.638,-10.615],[13.763,-1.837],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.191,117.007],[-124.183,123.577],[-223.288,102.889],[-215.949,43.116],[-133.272,12.341],[-81.479,3.237],[-12.612,-36.255]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[21.214,-2.165],[28.22,16.547],[-20.388,6.771],[-44.691,6.156],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-21.214,2.165],[-28.252,-16.294],[32.574,-10.818],[13.752,-1.894],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.392,116.987],[-123.942,123.353],[-223.74,103.522],[-216.715,43.395],[-133.494,12.513],[-81.864,3.326],[-12.612,-36.255]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[21.184,-2.358],[28.391,16.468],[-20.303,7.044],[-44.612,6.552],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.78],[-21.184,2.358],[-28.42,-16.211],[32.438,-11.253],[13.728,-2.016],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.82,116.945],[-123.428,122.877],[-224.705,104.876],[-218.353,43.99],[-133.968,12.88],[-82.687,3.517],[-12.612,-36.255]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[21.132,-2.689],[28.683,16.333],[-20.156,7.512],[-44.478,7.231],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.757],[-21.132,2.689],[-28.707,-16.07],[32.204,-11.999],[13.687,-2.225],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.555,116.873],[-122.546,122.059],[-226.362,107.198],[-221.163,45.012],[-134.782,13.509],[-84.098,3.845],[-12.612,-36.255]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.137],[21.067,-3.101],[29.047,16.164],[-19.974,8.094],[-44.311,8.076],[-18.619,4.319],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.727],[-21.067,3.101],[-29.065,-15.895],[31.913,-12.928],[13.635,-2.485],[35.361,-7.864],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.47,116.783],[-121.45,121.041],[-228.421,110.085],[-224.657,46.282],[-135.794,14.292],[-85.853,4.253],[-12.612,-36.255]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.114],[21.011,-3.46],[29.364,16.017],[-19.815,8.601],[-44.166,8.812],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.701],[-21.011,3.46],[-29.377,-15.742],[31.66,-13.737],[13.59,-2.712],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.267,116.705],[-120.493,120.154],[-230.218,112.604],[-227.705,47.39],[-136.676,14.976],[-87.385,4.609],[-12.612,-36.255]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.094,4.097],[20.969,-3.728],[29.6,15.907],[-19.696,8.979],[-44.057,9.361],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.283,-4.682],[-20.969,3.728],[-29.609,-15.628],[31.471,-14.34],[13.557,-2.88],[35.363,-7.845],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.861,116.646],[-119.78,119.493],[-231.555,114.479],[-229.974,48.215],[-137.333,15.484],[-88.524,4.873],[-12.612,-36.255]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.092,4.085],[20.938,-3.922],[29.771,15.828],[-19.611,9.253],[-43.979,9.759],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.281,-4.668],[-20.938,3.922],[-29.777,-15.545],[31.334,-14.777],[13.533,-3.003],[35.364,-7.839],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.291,116.604],[-119.263,119.014],[-232.526,115.84],[-231.62,48.814],[-137.81,15.853],[-89.352,5.066],[-12.612,-36.255]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.076],[20.916,-4.063],[29.896,15.77],[-19.548,9.453],[-43.921,10.049],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.658],[-20.916,4.063],[-29.9,-15.485],[31.235,-15.096],[13.515,-3.092],[35.364,-7.835],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.605,116.573],[-118.887,118.664],[-233.233,116.832],[-232.82,49.25],[-138.158,16.122],[-89.954,5.206],[-12.612,-36.255]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.07],[20.9,-4.166],[29.987,15.728],[-19.502,9.599],[-43.88,10.26],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.651],[-20.9,4.166],[-29.989,-15.441],[31.162,-15.328],[13.502,-3.157],[35.364,-7.832],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.834,116.551],[-118.613,118.41],[-233.748,117.554],[-233.694,49.567],[-138.411,16.318],[-90.393,5.308],[-12.612,-36.255]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.065],[20.888,-4.24],[30.052,15.698],[-19.47,9.703],[-43.85,10.411],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.646],[-20.888,4.24],[-30.053,-15.41],[31.11,-15.495],[13.493,-3.204],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.998,116.534],[-118.416,118.227],[-234.118,118.072],[-234.321,49.796],[-138.592,16.459],[-90.708,5.381],[-12.612,-36.255]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.88,-4.291],[30.097,15.677],[-19.447,9.776],[-43.829,10.516],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.88,4.291],[-30.098,-15.388],[31.074,-15.61],[13.487,-3.236],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.112,116.523],[-118.279,118.101],[-234.374,118.431],[-234.756,49.954],[-138.718,16.556],[-90.927,5.432],[-12.612,-36.255]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.06],[20.875,-4.324],[30.126,15.663],[-19.432,9.822],[-43.815,10.584],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.64],[-20.875,4.324],[-30.127,-15.374],[31.05,-15.685],[13.483,-3.257],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.185,116.516],[-118.191,118.019],[-234.54,118.664],[-235.037,50.056],[-138.8,16.619],[-91.068,5.464],[-12.612,-36.255]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.872,-4.342],[30.142,15.656],[-19.424,9.848],[-43.808,10.621],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.872,4.343],[-30.142,-15.366],[31.037,-15.726],[13.48,-3.268],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.226,116.512],[-118.143,117.974],[-234.631,118.791],[-235.191,50.112],[-138.844,16.654],[-91.145,5.482],[-12.612,-36.255]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.422,9.851],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.35],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.209,116.514],[-118.125,117.984],[-234.564,118.795],[-235.138,50.143],[-138.861,16.64],[-91.113,5.475],[-12.612,-36.255]],"c":true}],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.14,15.591],[-19.425,9.832],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.352],[-30.14,-15.302],[31.038,-15.7],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.106,116.524],[-118.114,118.067],[-234.235,118.672],[-234.787,50.193],[-138.871,16.557],[-90.916,5.429],[-12.612,-36.255]],"c":true}],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.068],[20.87,-4.357],[30.127,15.494],[-19.43,9.794],[-43.802,10.66],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.357],[-30.128,-15.206],[31.046,-15.641],[13.479,-3.28],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.901,116.544],[-118.094,118.233],[-233.578,118.427],[-234.088,50.292],[-138.892,16.391],[-90.523,5.338],[-12.612,-36.255]],"c":true}],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.078],[20.869,-4.367],[30.107,15.33],[-19.438,9.731],[-43.799,10.688],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.66],[-20.869,4.367],[-30.108,-15.045],[31.058,-15.54],[13.478,-3.289],[35.364,-7.836],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.555,116.578],[-118.059,118.513],[-232.466,118.013],[-232.903,50.459],[-138.927,16.11],[-89.857,5.183],[-12.612,-36.255]],"c":true}],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.093],[20.867,-4.381],[30.076,15.082],[-19.45,9.636],[-43.794,10.731],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.677],[-20.867,4.381],[-30.077,-14.8],[31.077,-15.388],[13.476,-3.302],[35.363,-7.843],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.031,116.63],[-118.006,118.937],[-230.785,117.386],[-231.113,50.712],[-138.98,15.685],[-88.852,4.95],[-12.612,-36.255]],"c":true}],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.112],[20.865,-4.399],[30.037,14.766],[-19.465,9.514],[-43.787,10.785],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.285,-4.698],[-20.865,4.399],[-30.039,-14.489],[31.101,-15.195],[13.474,-3.319],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.364,116.695],[-117.939,119.476],[-228.645,116.589],[-228.834,51.034],[-139.047,15.144],[-87.572,4.652],[-12.612,-36.255]],"c":true}],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.1,4.147],[20.861,-4.434],[29.963,14.171],[-19.494,9.284],[-43.774,10.887],[-18.618,4.321],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.29,-4.739],[-20.861,4.434],[-29.966,-13.903],[31.146,-14.83],[13.47,-3.35],[35.36,-7.868],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.108,116.818],[-117.813,120.493],[-224.613,115.086],[-224.539,51.641],[-139.174,14.124],[-85.159,4.092],[-12.612,-36.255]],"c":true}],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.936,13.951],[-19.504,9.2],[-43.77,10.924],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.754],[-20.859,4.446],[-29.939,-13.687],[31.163,-14.696],[13.469,-3.362],[35.359,-7.875],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.646,116.864],[-117.766,120.867],[-223.128,114.533],[-222.958,51.864],[-139.22,13.749],[-84.271,3.885],[-12.612,-36.255]],"c":true}],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.456],[29.914,13.779],[-19.513,9.134],[-43.766,10.953],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.765],[-20.858,4.456],[-29.918,-13.517],[31.176,-14.591],[13.467,-3.371],[35.359,-7.879],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.282,116.9],[-117.73,121.161],[-221.961,114.098],[-221.715,52.04],[-139.257,13.453],[-83.573,3.723],[-12.612,-36.255]],"c":true}],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.996,116.928],[-117.701,121.393],[-221.042,113.755],[-220.736,52.178],[-139.286,13.221],[-83.023,3.596],[-12.612,-36.255]],"c":true}],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.185],[20.856,-4.47],[29.884,13.537],[-19.525,9.04],[-43.761,10.995],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.782],[-20.856,4.47],[-29.888,-13.278],[31.195,-14.442],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.77,116.95],[-117.678,121.576],[-220.317,113.485],[-219.964,52.287],[-139.309,13.038],[-82.59,3.495],[-12.612,-36.255]],"c":true}],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.19],[20.855,-4.475],[29.874,13.452],[-19.529,9.008],[-43.759,11.009],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.475],[-29.878,-13.195],[31.201,-14.391],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.592,116.968],[-117.66,121.72],[-219.745,113.272],[-219.355,52.373],[-139.327,12.893],[-82.248,3.415],[-12.612,-36.255]],"c":true}],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.865,13.386],[-19.532,8.982],[-43.758,11.021],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.13],[31.206,-14.35],[13.465,-3.391],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.452,116.981],[-117.646,121.833],[-219.297,113.105],[-218.878,52.441],[-139.341,12.78],[-81.98,3.353],[-12.612,-36.255]],"c":true}],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.854,-4.482],[29.859,13.335],[-19.534,8.962],[-43.757,11.029],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.855,4.482],[-29.863,-13.08],[31.21,-14.319],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.344,116.992],[-117.635,121.92],[-218.951,112.976],[-218.51,52.493],[-139.352,12.693],[-81.773,3.305],[-12.612,-36.255]],"c":true}],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.484],[29.854,13.297],[-19.536,8.948],[-43.756,11.036],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.042],[31.213,-14.295],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.263,117],[-117.627,121.985],[-218.691,112.879],[-218.232,52.532],[-139.36,12.627],[-81.617,3.269],[-12.612,-36.255]],"c":true}],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.269],[-19.538,8.937],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.015],[31.215,-14.278],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.205,117.006],[-117.621,122.033],[-218.504,112.809],[-218.033,52.56],[-139.366,12.579],[-81.505,3.243],[-12.612,-36.255]],"c":true}],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.166,117.009],[-117.617,122.064],[-218.379,112.763],[-217.9,52.579],[-139.37,12.548],[-81.43,3.225],[-12.612,-36.255]],"c":true}],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.986],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.308,112.736],[-217.825,52.59],[-139.372,12.53],[-81.388,3.216],[-12.612,-36.255]],"c":true}],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.085,-3.398],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.374],[-19.532,8.977],[-43.757,11.023],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.428,0.653],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.118],[31.207,-14.343],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.077,194.754],[32.184,139.048],[-41.426,116.984],[-117.644,121.854],[-219.214,113.074],[-218.79,52.453],[-139.343,12.759],[-81.93,3.342],[-12.612,-36.255]],"c":true}],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.763,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.729],[-19.515,9.114],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.751,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.468],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.251,193.909],[32.184,139.048],[-42.176,116.91],[-117.719,121.247],[-221.619,113.97],[-221.351,52.091],[-139.268,13.367],[-83.369,3.676],[-12.612,-36.255]],"c":true}],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[47.069,-2.957],[27.304,14.384],[26.1,4.15],[20.86,-4.436],[29.957,14.124],[-19.496,9.266],[-43.773,10.895],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.446,1.054],[-24.064,-12.677],[-29.291,-4.742],[-20.86,4.436],[-29.96,-13.857],[31.15,-14.802],[13.47,-3.352],[35.36,-7.87],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[125.893,192.97],[32.184,139.048],[-43.009,116.828],[-117.803,120.573],[-224.294,114.967],[-224.2,51.689],[-139.184,14.043],[-84.969,4.047],[-12.612,-36.255]],"c":true}],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[43.879,-2.757],[27.304,14.385],[26.098,4.13],[20.863,-4.417],[29.999,14.464],[-19.48,9.398],[-43.781,10.836],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.637,1.236],[-24.064,-12.677],[-29.288,-4.719],[-20.863,4.417],[-30.002,-14.192],[31.124,-15.01],[13.472,-3.335],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.901,192.158],[32.184,139.048],[-43.728,116.758],[-117.875,119.991],[-226.604,115.828],[-226.659,51.341],[-139.111,14.627],[-86.35,4.368],[-12.612,-36.255]],"c":true}],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.29,-2.594],[27.304,14.385],[26.096,4.113],[20.865,-4.401],[30.034,14.741],[-19.466,9.504],[-43.786,10.789],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.227,1.384],[-24.064,-12.677],[-29.285,-4.7],[-20.865,4.401],[-30.036,-14.465],[31.103,-15.18],[13.474,-3.32],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.155,191.499],[32.184,139.048],[-44.312,116.7],[-117.934,119.518],[-228.478,116.527],[-228.656,51.059],[-139.052,15.101],[-87.472,4.629],[-12.612,-36.255]],"c":true}],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.213,-2.464],[27.304,14.385],[26.094,4.1],[20.866,-4.388],[30.061,14.963],[-19.455,9.59],[-43.791,10.751],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.305,1.503],[-24.064,-12.677],[-29.283,-4.685],[-20.866,4.388],[-30.063,-14.684],[31.086,-15.316],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.765,190.971],[32.184,139.048],[-44.781,116.654],[-117.981,119.139],[-229.982,117.087],[-230.258,50.833],[-139.005,15.482],[-88.372,4.838],[-12.612,-36.255]],"c":true}],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.55,-2.359],[27.304,14.385],[26.093,4.089],[20.868,-4.378],[30.084,15.141],[-19.447,9.658],[-43.795,10.721],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-27.969,1.598],[-24.064,-12.677],[-29.282,-4.673],[-20.867,4.378],[-30.085,-14.859],[31.072,-15.425],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[137.855,190.548],[32.184,139.048],[-45.156,116.617],[-118.019,118.836],[-231.186,117.536],[-231.54,50.652],[-138.967,15.786],[-89.092,5.005],[-12.612,-36.255]],"c":true}],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.223,-2.276],[27.304,14.385],[26.092,4.081],[20.869,-4.37],[30.101,15.283],[-19.44,9.713],[-43.798,10.696],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.296,1.674],[-24.064,-12.677],[-29.281,-4.663],[-20.869,4.37],[-30.102,-14.998],[31.062,-15.511],[13.477,-3.292],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.523,190.21],[32.184,139.048],[-45.456,116.588],[-118.049,118.593],[-232.147,117.894],[-232.564,50.507],[-138.937,16.029],[-89.667,5.139],[-12.612,-36.255]],"c":true}],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.172,-2.21],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.395],[-19.434,9.756],[-43.8,10.677],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.347,1.734],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.116,-15.109],[31.053,-15.58],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.843,189.943],[32.184,139.048],[-45.693,116.565],[-118.073,118.402],[-232.908,118.178],[-233.374,50.392],[-138.913,16.221],[-90.122,5.245],[-12.612,-36.255]],"c":true}],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.354,-2.158],[27.304,14.385],[26.09,4.069],[20.87,-4.358],[30.126,15.482],[-19.43,9.79],[-43.802,10.662],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.166,1.781],[-24.064,-12.677],[-29.279,-4.65],[-20.87,4.358],[-30.126,-15.195],[31.046,-15.634],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.871,189.735],[32.184,139.048],[-45.877,116.546],[-118.091,118.252],[-233.5,118.398],[-234.005,50.303],[-138.894,16.371],[-90.476,5.327],[-12.612,-36.255]],"c":true}],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.733,-2.119],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.549],[-19.427,9.816],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.787,1.816],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.26],[31.041,-15.674],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.652,189.577],[32.184,139.048],[-46.017,116.533],[-118.105,118.139],[-233.95,118.566],[-234.484,50.236],[-138.88,16.485],[-90.745,5.389],[-12.612,-36.255]],"c":true}],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.282,-2.091],[27.304,14.385],[26.089,4.062],[20.871,-4.351],[30.14,15.597],[-19.425,9.834],[-43.805,10.643],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.238,1.842],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.351],[-30.14,-15.308],[31.038,-15.704],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.218,189.462],[32.184,139.048],[-46.119,116.523],[-118.116,118.057],[-234.277,118.688],[-234.832,50.187],[-138.87,16.568],[-90.941,5.435],[-12.612,-36.255]],"c":true}],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.98,-2.072],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.144,15.629],[-19.423,9.847],[-43.805,10.637],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.54,1.859],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.144,-15.34],[31.035,-15.724],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.598,189.385],[32.184,139.048],[-46.187,116.516],[-118.123,118.001],[-234.495,118.769],[-235.065,50.154],[-138.863,16.623],[-91.071,5.465],[-12.612,-36.255]],"c":true}],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.809,-2.061],[27.304,14.385],[26.089,4.059],[20.871,-4.348],[30.147,15.648],[-19.422,9.854],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.711,1.869],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.349],[-30.147,-15.358],[31.034,-15.735],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.813,189.342],[32.184,139.048],[-46.226,116.512],[-118.126,117.97],[-234.619,118.815],[-235.197,50.135],[-138.859,16.654],[-91.146,5.482],[-12.612,-36.255]],"c":true}],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.786,-2.06],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.65],[-19.422,9.855],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.734,1.87],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.36],[31.034,-15.736],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.841,189.336],[32.184,139.048],[-46.231,116.512],[-118.127,117.966],[-234.636,118.821],[-235.214,50.132],[-138.859,16.658],[-91.155,5.485],[-12.612,-36.255]],"c":true}],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.888,-2.066],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.423,9.85],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.632,1.865],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.349],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.714,189.362],[32.184,139.048],[-46.208,116.514],[-118.125,117.985],[-234.562,118.794],[-235.136,50.144],[-138.861,16.64],[-91.111,5.474],[-12.612,-36.255]],"c":true}],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.072,-2.078],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.143,15.619],[-19.423,9.843],[-43.805,10.639],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.448,1.854],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.143,-15.33],[31.036,-15.718],[13.479,-3.274],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.482,189.409],[32.184,139.048],[-46.166,116.518],[-118.12,118.018],[-234.429,118.744],[-234.993,50.164],[-138.865,16.606],[-91.031,5.456],[-12.612,-36.255]],"c":true}],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.355,-2.096],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.139,15.589],[-19.425,9.831],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.164,1.838],[-24.064,-12.677],[-29.278,-4.643],[-20.871,4.352],[-30.139,-15.3],[31.038,-15.699],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.126,189.481],[32.184,139.048],[-46.102,116.524],[-118.114,118.07],[-234.223,118.668],[-234.775,50.195],[-138.872,16.554],[-90.909,5.427],[-12.612,-36.255]],"c":true}],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.759,-2.121],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.546],[-19.427,9.815],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.761,1.815],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.258],[31.042,-15.673],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.619,189.584],[32.184,139.048],[-46.011,116.533],[-118.105,118.144],[-233.931,118.559],[-234.464,50.238],[-138.881,16.48],[-90.734,5.387],[-12.612,-36.255]],"c":true}],"t":364,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.313,-2.156],[27.304,14.385],[26.09,4.068],[20.87,-4.358],[30.127,15.487],[-19.43,9.792],[-43.802,10.661],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.207,1.783],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.358],[-30.127,-15.199],[31.046,-15.636],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.923,189.724],[32.184,139.048],[-45.887,116.546],[-118.092,118.245],[-233.53,118.41],[-234.037,50.299],[-138.893,16.379],[-90.494,5.331],[-12.612,-36.255]],"c":true}],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.056,-2.203],[27.304,14.385],[26.091,4.073],[20.869,-4.362],[30.117,15.407],[-19.434,9.761],[-43.801,10.675],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.463,1.741],[-24.064,-12.677],[-29.28,-4.655],[-20.869,4.362],[-30.117,-15.121],[31.052,-15.588],[13.478,-3.285],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.989,189.914],[32.184,139.048],[-45.719,116.562],[-118.075,118.38],[-232.992,118.209],[-233.463,50.38],[-138.91,16.243],[-90.172,5.256],[-12.612,-36.255]],"c":true}],"t":366,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.047,-2.265],[27.304,14.385],[26.092,4.079],[20.869,-4.368],[30.104,15.302],[-19.439,9.72],[-43.798,10.693],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.472,1.684],[-24.064,-12.677],[-29.281,-4.662],[-20.869,4.368],[-30.104,-15.017],[31.06,-15.523],[13.477,-3.291],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.743,190.166],[32.184,139.048],[-45.495,116.584],[-118.053,118.561],[-232.275,117.941],[-232.699,50.488],[-138.933,16.061],[-89.743,5.157],[-12.612,-36.255]],"c":true}],"t":367,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.366,-2.348],[27.304,14.385],[26.093,4.088],[20.868,-4.377],[30.086,15.161],[-19.446,9.666],[-43.795,10.717],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-28.153,1.609],[-24.064,-12.677],[-29.282,-4.672],[-20.868,4.377],[-30.087,-14.878],[31.071,-15.437],[13.476,-3.298],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[138.086,190.501],[32.184,139.048],[-45.198,116.613],[-118.023,118.802],[-231.32,117.586],[-231.682,50.632],[-138.963,15.82],[-89.172,5.024],[-12.612,-36.255]],"c":true}],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.115,-2.458],[27.304,14.385],[26.094,4.099],[20.866,-4.387],[30.063,14.974],[-19.455,9.594],[-43.791,10.749],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.403,1.509],[-24.064,-12.677],[-29.283,-4.684],[-20.866,4.387],[-30.064,-14.694],[31.085,-15.322],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.888,190.946],[32.184,139.048],[-44.803,116.652],[-117.983,119.121],[-230.053,117.114],[-230.333,50.822],[-139.003,15.5],[-88.414,4.848],[-12.612,-36.255]],"c":true}],"t":369,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.378,-2.6],[27.304,14.385],[26.096,4.114],[20.865,-4.401],[30.033,14.732],[-19.467,9.501],[-43.786,10.791],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.139,1.379],[-24.064,-12.677],[-29.285,-4.701],[-20.865,4.401],[-30.034,-14.456],[31.104,-15.174],[13.474,-3.32],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.044,191.522],[32.184,139.048],[-44.293,116.702],[-117.932,119.534],[-228.414,116.503],[-228.588,51.069],[-139.054,15.085],[-87.434,4.62],[-12.612,-36.255]],"c":true}],"t":370,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[44.061,-2.768],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.456,1.226],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.673,192.204],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":371,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[46.743,-2.937],[27.304,14.385],[26.1,4.148],[20.86,-4.434],[29.961,14.158],[-19.494,9.28],[-43.774,10.889],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.773,1.073],[-24.064,-12.677],[-29.29,-4.74],[-20.86,4.434],[-29.964,-13.891],[31.147,-14.823],[13.47,-3.351],[35.36,-7.869],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[126.303,192.886],[32.184,139.048],[-43.083,116.821],[-117.81,120.513],[-224.53,115.055],[-224.451,51.653],[-139.176,14.103],[-85.11,4.08],[-12.612,-36.255]],"c":true}],"t":372,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[49.006,-3.079],[27.304,14.385],[26.102,4.162],[20.859,-4.448],[29.931,13.917],[-19.506,9.187],[-43.769,10.93],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-16.508,0.943],[-24.064,-12.677],[-29.292,-4.756],[-20.859,4.448],[-29.935,-13.653],[31.166,-14.675],[13.468,-3.363],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[123.459,193.462],[32.184,139.048],[-42.572,116.871],[-117.759,120.927],[-222.892,114.444],[-222.706,51.9],[-139.228,13.689],[-84.13,3.853],[-12.612,-36.255]],"c":true}],"t":373,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.755,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.73],[-19.515,9.115],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.758,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.469],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.26,193.907],[32.184,139.048],[-42.177,116.91],[-117.719,121.246],[-221.625,113.972],[-221.357,52.091],[-139.268,13.369],[-83.372,3.677],[-12.612,-36.255]],"c":true}],"t":374,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[52.074,-3.272],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.589],[-19.522,9.06],[-43.762,10.986],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-13.439,0.768],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.894,-13.33],[31.191,-14.474],[13.466,-3.381],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[119.603,194.243],[32.184,139.048],[-41.88,116.939],[-117.689,121.487],[-220.67,113.617],[-220.34,52.234],[-139.298,13.127],[-82.801,3.544],[-12.612,-36.255]],"c":true}],"t":375,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[53.065,-3.334],[27.304,14.385],[26.105,4.188],[20.856,-4.473],[29.877,13.483],[-19.527,9.019],[-43.76,11.004],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-12.448,0.711],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.226],[31.199,-14.409],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[118.358,194.495],[32.184,139.048],[-41.656,116.961],[-117.667,121.667],[-219.953,113.349],[-219.576,52.342],[-139.32,12.946],[-82.372,3.444],[-12.612,-36.255]],"c":true}],"t":376,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[53.809,-3.381],[27.304,14.385],[26.106,4.193],[20.855,-4.478],[29.868,13.403],[-19.531,8.989],[-43.758,11.018],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.704,0.669],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.872,-13.147],[31.205,-14.361],[13.465,-3.39],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.424,194.684],[32.184,139.048],[-41.489,116.978],[-117.65,121.803],[-219.414,113.148],[-219.003,52.423],[-139.337,12.81],[-82.05,3.369],[-12.612,-36.255]],"c":true}],"t":377,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.362,-3.415],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.344],[-19.534,8.966],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.151,0.637],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.481],[-29.864,-13.089],[31.209,-14.324],[13.465,-3.393],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[116.728,194.825],[32.184,139.048],[-41.364,116.99],[-117.637,121.904],[-219.014,112.999],[-218.576,52.484],[-139.35,12.708],[-81.81,3.314],[-12.612,-36.255]],"c":true}],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[54.766,-3.441],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.747,0.614],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[116.221,194.928],[32.184,139.048],[-41.273,116.999],[-117.628,121.978],[-218.721,112.89],[-218.264,52.528],[-139.359,12.634],[-81.635,3.273],[-12.612,-36.255]],"c":true}],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.049,-3.459],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.271],[-19.537,8.938],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.463,0.598],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.017],[31.215,-14.28],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.865,195],[32.184,139.048],[-41.209,117.005],[-117.622,122.03],[-218.516,112.814],[-218.046,52.558],[-139.365,12.583],[-81.512,3.245],[-12.612,-36.255]],"c":true}],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.233,-3.47],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.251],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.279,0.587],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.633,195.046],[32.184,139.048],[-41.167,117.009],[-117.618,122.063],[-218.383,112.764],[-217.904,52.578],[-139.37,12.549],[-81.433,3.226],[-12.612,-36.255]],"c":true}],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.335,-3.477],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.177,0.582],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.505,195.072],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.309,112.737],[-217.825,52.59],[-139.372,12.53],[-81.389,3.216],[-12.612,-36.255]],"c":true}],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.256],[-19.538,8.932],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.854,-13.002],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.177,117.008],[-117.619,122.055],[-218.414,112.776],[-217.937,52.574],[-139.369,12.557],[-81.451,3.23],[-12.612,-36.255]],"c":true}],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.856,13.308],[-19.536,8.952],[-43.756,11.034],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.484],[-29.86,-13.053],[31.212,-14.302],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.287,116.997],[-117.63,121.966],[-218.767,112.907],[-218.313,52.521],[-139.358,12.646],[-81.662,3.279],[-12.612,-36.255]],"c":true}],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.866,13.387],[-19.532,8.983],[-43.758,11.02],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.132],[31.206,-14.351],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.455,116.981],[-117.647,121.83],[-219.306,113.108],[-218.888,52.439],[-139.341,12.782],[-81.985,3.354],[-12.612,-36.255]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.188],[20.856,-4.473],[29.878,13.491],[-19.527,9.022],[-43.76,11.003],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.785],[-20.856,4.473],[-29.882,-13.233],[31.198,-14.414],[13.466,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.673,116.96],[-117.668,121.654],[-220.006,113.369],[-219.633,52.334],[-139.319,12.959],[-82.404,3.452],[-12.612,-36.255]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.181],[20.857,-4.466],[29.894,13.615],[-19.521,9.07],[-43.762,10.982],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.777],[-20.857,4.466],[-29.898,-13.355],[31.189,-14.49],[13.466,-3.379],[35.358,-7.884],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.934,116.934],[-117.695,121.443],[-220.845,113.682],[-220.526,52.208],[-139.292,13.171],[-82.906,3.568],[-12.612,-36.255]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.172],[20.858,-4.458],[29.911,13.757],[-19.514,9.125],[-43.766,10.957],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.767],[-20.858,4.458],[-29.915,-13.495],[31.178,-14.577],[13.467,-3.372],[35.358,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.234,116.904],[-117.725,121.2],[-221.807,114.04],[-221.551,52.063],[-139.262,13.415],[-83.481,3.702],[-12.612,-36.255]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[20.859,-4.449],[29.931,13.915],[-19.506,9.186],[-43.769,10.93],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.756],[-20.859,4.449],[-29.934,-13.651],[31.166,-14.674],[13.468,-3.363],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.568,116.872],[-117.759,120.93],[-222.879,114.44],[-222.693,51.902],[-139.228,13.686],[-84.123,3.851],[-12.612,-36.255]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.439],[29.953,14.088],[-19.498,9.253],[-43.773,10.901],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.439],[-29.956,-13.822],[31.153,-14.78],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.934,116.836],[-117.795,120.634],[-224.053,114.877],[-223.943,51.725],[-139.191,13.982],[-84.824,4.014],[-12.612,-36.255]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.141],[20.861,-4.428],[29.976,14.275],[-19.489,9.325],[-43.777,10.869],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.732],[-20.861,4.428],[-29.978,-14.006],[31.138,-14.894],[13.471,-3.344],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.328,116.797],[-117.835,120.315],[-225.319,115.349],[-225.291,51.535],[-139.152,14.302],[-85.582,4.19],[-12.612,-36.255]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.129],[20.863,-4.416],[30.001,14.474],[-19.479,9.402],[-43.781,10.835],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.718],[-20.863,4.416],[-30.003,-14.202],[31.123,-15.017],[13.472,-3.334],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.749,116.755],[-117.877,119.974],[-226.671,115.853],[-226.731,51.331],[-139.109,14.645],[-86.391,4.378],[-12.612,-36.255]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.116],[20.864,-4.404],[30.027,14.686],[-19.469,9.483],[-43.785,10.798],[-18.619,4.313],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.704],[-20.864,4.404],[-30.029,-14.411],[31.107,-15.146],[13.473,-3.323],[35.362,-7.854],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.196,116.712],[-117.922,119.612],[-228.106,116.388],[-228.259,51.115],[-139.064,15.007],[-87.249,4.577],[-12.612,-36.255]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.91],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.631],[31.09,-15.283],[13.475,-3.311],[35.362,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.668,116.665],[-117.97,119.23],[-229.62,116.952],[-229.872,50.887],[-139.016,15.39],[-88.155,4.788],[-12.612,-36.255]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.089],[20.868,-4.377],[30.084,15.145],[-19.447,9.66],[-43.795,10.72],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.673],[-20.868,4.378],[-30.085,-14.863],[31.072,-15.427],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.165,116.616],[-118.02,118.829],[-231.213,117.546],[-231.569,50.648],[-138.966,15.793],[-89.108,5.009],[-12.612,-36.255]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.392],[-19.434,9.755],[-43.8,10.678],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.115,-15.106],[31.053,-15.578],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.687,116.565],[-118.072,118.406],[-232.889,118.17],[-233.353,50.395],[-138.914,16.217],[-90.11,5.242],[-12.612,-36.255]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Nail - PATH","parent":5,"tt":1,"tp":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-215.854,53.1,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[0,0],[4.232,-12.502],[12.921,-1.766],[0,0],[-10.742,11.216],[0,0],[-9.55,-10.068]],"o":[[8.923,9.803],[-4.232,12.502],[0,0],[-17.559,-12.801],[0,0],[13.042,-4.219],[0,0]],"v":[[43.524,-16.699],[51.346,19.151],[23.347,42.689],[-15.873,40.533],[-19.404,-10.788],[6.329,-27.088],[43.177,-17.287]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"t":197,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":275,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":400,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.75686275959,0.549019634724,0.474509805441,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Thumb - PATH","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":59,"s":[17.7]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":95,"s":[15.7]},{"t":147,"s":[15.7]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":122,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.604,"y":0.604},"t":145,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.2,"y":0.2},"t":147,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":197,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.49,-5.931],[30.698,11.123],[-18.869,10.266],[-42.877,14.071],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.49,5.931],[-30.684,-10.869],[30.147,-16.402],[13.194,-4.33],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.746,122.8],[-214.825,120.486],[-218.536,60.463],[-143.094,15.021],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":197,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":275,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":400,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":3,"nm":"All Overview Scroll","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[214.5]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":263,"s":[419.3]},{"t":348,"s":[726.5]}],"ix":3},"y":{"a":0,"k":-95,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":3,"nm":"Initial Overview In","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":182,"s":[-156]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[209]},{"t":217,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":3,"nm":"Loop App to Center","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-512,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":384.666,"s":[-34.6]},{"t":418,"s":[-86.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":10,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":264,"s":[100]},{"t":281,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-256,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":7,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":378,"s":[-768]},{"t":402,"s":[-1098]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":28,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":264,"s":[50]},{"i":{"x":[0.833],"y":[0.757]},"o":{"x":[0.167],"y":[0]},"t":348,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":399,"s":[95]},{"t":424,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[468.4]},{"t":408,"s":[841]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[412.4]},{"t":408,"s":[701]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[43.2]},{"t":408,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":11,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-112.782,-52.531],[-53.158,-112.155],[53.158,-112.155],[112.782,-52.531],[112.782,52.531],[53.158,112.155],[-53.158,112.155],[-112.782,52.531]],"c":true}],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-121.743,-60.684],[-63.331,-119.095],[63.331,-119.095],[121.743,-60.684],[121.743,60.684],[63.331,119.095],[-63.331,119.095],[-121.743,60.684]],"c":true}],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-139.025,-76.408],[-82.951,-132.482],[82.951,-132.482],[139.025,-76.408],[139.025,76.408],[82.951,132.482],[-82.951,132.482],[-139.025,76.408]],"c":true}],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-169.932,-104.527],[-118.039,-156.421],[118.039,-156.421],[169.932,-104.527],[169.932,104.527],[118.039,156.421],[-118.039,156.421],[-169.932,104.527]],"c":true}],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-234.2,-163],[-191,-206.2],[191,-206.2],[234.2,-163],[234.2,163],[191,206.2],[-191,206.2],[-234.2,163]],"c":true}],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-307.385,-229.585],[-274.084,-262.886],[274.084,-262.886],[307.385,-229.585],[307.385,229.585],[274.084,262.886],[-274.084,262.886],[-307.385,229.585]],"c":true}],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-339.603,-258.898],[-310.66,-287.84],[310.66,-287.84],[339.603,-258.898],[339.603,258.898],[310.66,287.84],[-310.66,287.84],[-339.603,258.898]],"c":true}],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-358.277,-275.888],[-331.86,-302.305],[331.86,-302.305],[358.277,-275.888],[358.277,275.888],[331.86,302.305],[-331.86,302.305],[-358.277,275.888]],"c":true}],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-370.965,-287.432],[-346.265,-312.133],[346.265,-312.133],[370.965,-287.432],[370.965,287.432],[346.265,312.133],[-346.265,312.133],[-370.965,287.432]],"c":true}],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-380.319,-295.942],[-356.883,-319.377],[356.884,-319.377],[380.319,-295.942],[380.319,295.942],[356.884,319.377],[-356.883,319.377],[-380.319,295.942]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-387.553,-302.524],[-365.096,-324.98],[365.096,-324.98],[387.553,-302.524],[387.553,302.524],[365.096,324.98],[-365.096,324.98],[-387.553,302.524]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-393.324,-307.775],[-371.648,-329.451],[371.648,-329.451],[393.324,-307.775],[393.324,307.775],[371.648,329.451],[-371.648,329.451],[-393.324,307.775]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-398.027,-312.053],[-376.987,-333.093],[376.987,-333.093],[398.027,-312.053],[398.027,312.053],[376.987,333.093],[-376.987,333.093],[-398.027,312.053]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-401.916,-315.591],[-381.402,-336.105],[381.402,-336.105],[401.916,-315.591],[401.916,315.591],[381.402,336.105],[-381.402,336.105],[-401.916,315.591]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-405.165,-318.548],[-385.091,-338.622],[385.091,-338.622],[405.165,-318.548],[405.165,318.548],[385.091,338.622],[-385.091,338.622],[-405.165,318.548]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-407.9,-321.036],[-388.195,-340.74],[388.195,-340.74],[407.9,-321.036],[407.9,321.036],[388.195,340.74],[-388.195,340.74],[-407.9,321.036]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-410.211,-323.139],[-390.82,-342.531],[390.82,-342.531],[410.211,-323.139],[410.211,323.139],[390.82,342.531],[-390.82,342.531],[-410.211,323.139]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-412.17,-324.921],[-393.043,-344.048],[393.043,-344.048],[412.17,-324.921],[412.17,324.921],[393.043,344.048],[-393.043,344.048],[-412.17,324.921]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-413.829,-326.431],[-394.927,-345.333],[394.927,-345.333],[413.829,-326.431],[413.829,326.431],[394.927,345.333],[-394.927,345.333],[-413.829,326.431]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.327,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.327,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-415.232,-327.707],[-396.519,-346.42],[396.519,-346.42],[415.232,-327.707],[415.232,327.707],[396.519,346.42],[-396.519,346.42],[-415.232,327.707]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-416.413,-328.782],[-397.86,-347.335],[397.86,-347.335],[416.413,-328.782],[416.413,328.782],[397.86,347.335],[-397.86,347.335],[-416.413,328.782]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-417.401,-329.68],[-398.982,-348.1],[398.982,-348.1],[417.401,-329.68],[417.401,329.68],[398.982,348.1],[-398.982,348.1],[-417.401,329.68]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.104,0],[0,0],[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104],[0,0],[-10.104,0],[0,0]],"v":[[-418.219,-330.424],[-399.91,-348.733],[399.91,-348.733],[418.219,-330.424],[418.219,330.424],[399.91,348.733],[-399.91,348.733],[-418.219,330.424]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-418.886,-331.031],[-400.667,-349.25],[400.667,-349.25],[418.886,-331.031],[418.886,331.031],[400.667,349.25],[-400.667,349.25],[-418.886,331.031]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-419.419,-331.516],[-401.272,-349.663],[401.272,-349.663],[419.419,-331.516],[419.419,331.516],[401.272,349.663],[-401.272,349.663],[-419.419,331.516]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-419.832,-331.892],[-401.741,-349.982],[401.741,-349.982],[419.832,-331.892],[419.832,331.892],[401.741,349.982],[-401.741,349.982],[-419.832,331.892]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-420.136,-332.169],[-402.087,-350.218],[402.087,-350.218],[420.136,-332.169],[420.136,332.169],[402.087,350.218],[-402.087,350.218],[-420.136,332.169]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-420.344,-332.358],[-402.322,-350.379],[402.322,-350.379],[420.344,-332.358],[420.344,332.358],[402.322,350.379],[-402.322,350.379],[-420.344,332.358]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-420.462,-332.465],[-402.457,-350.471],[402.457,-350.471],[420.462,-332.465],[420.462,332.465],[402.457,350.471],[-402.457,350.471],[-420.462,332.465]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":110,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":64,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":76,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":88,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":118,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":140,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[100]},{"t":264,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":122,"s":[206,752,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.37,"y":0.37},"t":170,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":378,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"t":402,"s":[526,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[843]},{"t":170,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[582]},{"t":170,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[90]},{"t":170,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[64]},{"t":217,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":12,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[206,751.633],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,750.454],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,748.33],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,745.094],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,740.545],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,734.442],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,726.497],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,716.407],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,703.886],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,688.79],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,671.278],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,651.958],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,631.805],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,611.874],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,592.965],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,575.511],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,559.641],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,545.32],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,532.437],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,520.847],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,510.403],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,500.982],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,492.465],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,484.749],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,477.755],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,471.405],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,465.636],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,460.395],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,455.631],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,451.307],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,447.382],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,443.824],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,440.61],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,437.711],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,435.105],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,432.771],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,430.694],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,428.857],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,427.245],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,425.844],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,424.643],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,423.63],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,422.795],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,422.13],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421.625],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421.273],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[211.988,421],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[237.854,421],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[287.777,421],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[336.028,421],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[372.487,421],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[400.31,421],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[422.313,421],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[440.201,421],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[455.018,421],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[467.451,421],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[477.968,421],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[486.907,421],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[494.518,421],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[500.994,421],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[506.487,421],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[511.115,421],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[514.977,421],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[518.154,421],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[520.713,421],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[522.712,421],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[524.201,421],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[525.221,421],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[525.81,421],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-421.5,90],[-331.5,0],[331.5,0],[421.5,90],[421.5,492],[331.5,582],[-331.5,582],[-421.5,492]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-421.06,89.982],[-331.078,0],[331.078,0],[421.06,89.982],[421.06,491.605],[331.078,581.587],[-331.078,581.587],[-421.06,491.605]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-419.619,89.923],[-329.695,0],[329.695,0],[419.619,89.923],[419.619,490.314],[329.695,580.237],[-329.695,580.237],[-419.619,490.314]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-416.958,89.815],[-327.143,0],[327.143,0],[416.958,89.815],[416.958,487.93],[327.143,577.745],[-327.143,577.745],[-416.958,487.93]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-412.797,89.645],[-323.151,0],[323.151,0],[412.797,89.645],[412.797,484.201],[323.151,573.846],[-323.151,573.846],[-412.797,484.201]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-406.775,89.4],[-317.375,0],[317.375,0],[406.775,89.4],[406.775,478.804],[317.375,568.205],[-317.375,568.205],[-406.775,478.804]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-398.461,89.062],[-309.4,0],[309.4,0],[398.461,89.062],[398.461,471.354],[309.4,560.416],[-309.4,560.416],[-398.461,471.354]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-387.407,88.611],[-298.795,0],[298.795,0],[387.407,88.611],[387.407,461.448],[298.795,550.059],[-298.795,550.059],[-387.407,461.448]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-373.33,88.038],[-285.292,0],[285.292,0],[373.33,88.038],[373.33,448.834],[285.292,536.872],[-285.292,536.872],[-373.33,448.834]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-356.473,87.351],[-269.122,0],[269.122,0],[356.473,87.351],[356.473,433.728],[269.122,521.079],[-269.122,521.079],[-356.473,433.728]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-337.88,86.594],[-251.286,0],[251.286,0],[337.88,86.594],[337.88,417.066],[251.286,503.66],[-251.286,503.66],[-337.88,417.066]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-319.099,85.829],[-233.27,0],[233.27,0],[319.099,85.829],[319.099,400.235],[233.27,486.064],[-233.27,486.064],[-319.099,400.235]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-301.424,85.109],[-216.315,0],[216.315,0],[301.424,85.109],[301.424,384.396],[216.315,469.505],[-216.315,469.505],[-301.424,384.396]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-285.496,84.46],[-201.036,0],[201.036,0],[285.496,84.46],[285.496,370.123],[201.036,454.583],[-201.036,454.583],[-285.496,370.123]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-271.44,83.888],[-187.553,0],[187.553,0],[271.44,83.888],[271.44,357.527],[187.553,441.415],[-187.553,441.415],[-271.44,357.527]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-259.129,83.386],[-175.743,0],[175.743,0],[259.129,83.386],[259.129,346.495],[175.743,429.881],[-175.743,429.881],[-259.129,346.495]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-248.356,82.947],[-165.409,0],[165.409,0],[248.356,82.947],[248.356,336.841],[165.409,419.788],[-165.409,419.788],[-248.356,336.841]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-238.91,82.563],[-156.348,0],[156.348,0],[238.91,82.563],[238.91,328.376],[156.348,410.938],[-156.348,410.938],[-238.91,328.376]],"c":true}],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-230.605,82.224],[-148.381,0],[148.381,0],[230.605,82.224],[230.605,320.933],[148.381,403.157],[-148.381,403.157],[-230.605,320.933]],"c":true}],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-223.282,81.926],[-141.356,0],[141.356,0],[223.282,81.926],[223.282,314.371],[141.356,396.297],[-141.356,396.297],[-223.282,314.371]],"c":true}],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-216.811,81.662],[-135.148,0],[135.148,0],[216.811,81.662],[216.811,308.572],[135.148,390.234],[-135.148,390.234],[-216.811,308.572]],"c":true}],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-211.082,81.429],[-129.653,0],[129.653,0],[211.082,81.429],[211.082,303.438],[129.653,384.867],[-129.653,384.867],[-211.082,303.438]],"c":true}],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-206.006,81.222],[-124.784,0],[124.784,0],[206.006,81.222],[206.006,298.89],[124.784,380.112],[-124.784,380.112],[-206.006,298.89]],"c":true}],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-201.509,81.039],[-120.47,0],[120.47,0],[201.509,81.039],[201.509,294.859],[120.47,375.898],[-120.47,375.898],[-201.509,294.859]],"c":true}],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-197.527,80.877],[-116.65,0],[116.65,0],[197.527,80.877],[197.527,291.291],[116.65,372.168],[-116.65,372.168],[-197.527,291.291]],"c":true}],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-194.007,80.733],[-113.274,0],[113.274,0],[194.007,80.733],[194.007,288.137],[113.274,368.87],[-113.274,368.87],[-194.007,288.137]],"c":true}],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-190.904,80.607],[-110.297,0],[110.297,0],[190.904,80.607],[190.904,285.356],[110.297,365.963],[-110.297,365.963],[-190.904,285.356]],"c":true}],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-188.18,80.496],[-107.684,0],[107.684,0],[188.18,80.496],[188.18,282.915],[107.684,363.411],[-107.684,363.411],[-188.18,282.915]],"c":true}],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-185.8,80.399],[-105.401,0],[105.401,0],[185.8,80.399],[185.8,280.782],[105.401,361.182],[-105.401,361.182],[-185.8,280.782]],"c":true}],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-183.736,80.315],[-103.421,0],[103.421,0],[183.736,80.315],[183.736,278.933],[103.421,359.248],[-103.421,359.248],[-183.736,278.933]],"c":true}],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-181.963,80.243],[-101.72,0],[101.72,0],[181.963,80.243],[181.963,277.344],[101.72,357.586],[-101.72,357.586],[-181.963,277.344]],"c":true}],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-180.457,80.182],[-100.276,0],[100.276,0],[180.457,80.182],[180.457,275.994],[100.276,356.176],[-100.276,356.176],[-180.457,275.994]],"c":true}],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-179.2,80.13],[-99.069,0],[99.069,0],[179.2,80.13],[179.2,274.867],[99.069,354.998],[-99.069,354.998],[-179.2,274.867]],"c":true}],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-178.173,80.089],[-98.084,0],[98.084,0],[178.173,80.089],[178.173,273.947],[98.084,354.036],[-98.084,354.036],[-178.173,273.947]],"c":true}],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-177.361,80.055],[-97.305,0],[97.305,0],[177.361,80.055],[177.361,273.219],[97.305,353.275],[-97.305,353.275],[-177.361,273.219]],"c":true}],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.749,80.031],[-96.719,0],[96.719,0],[176.749,80.031],[176.749,272.672],[96.719,352.702],[-96.719,352.702],[-176.749,272.672]],"c":true}],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.326,80.013],[-96.313,0],[96.313,0],[176.326,80.013],[176.326,272.292],[96.313,352.306],[-96.313,352.306],[-176.326,272.292]],"c":true}],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.08,80.003],[-96.077,0],[96.077,0],[176.08,80.003],[176.08,272.072],[96.077,352.075],[-96.077,352.075],[-176.08,272.072]],"c":true}],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,272],[96,352],[-96,352],[-176,272]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,271.658],[95.852,351.613],[-95.852,351.613],[-175.806,271.658]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,270.502],[95.351,350.302],[-95.351,350.302],[-175.151,270.502]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,268.264],[94.381,347.766],[-94.381,347.766],[-173.883,268.264]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,264.526],[92.761,343.529],[-92.761,343.529],[-171.765,264.526]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,258.595],[90.191,336.808],[-90.191,336.808],[-168.404,258.595]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,249.31],[86.168,326.284],[-86.168,326.284],[-163.142,249.31]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,235.078],[80.001,310.155],[-80.001,310.155],[-155.078,235.078]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,216.31],[71.868,288.885],[-71.868,288.885],[-144.442,216.31]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,198.587],[64.188,268.799],[-64.188,268.799],[-134.399,198.587]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,185.345],[58.449,253.791],[-58.449,253.791],[-126.895,185.345]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,175.861],[54.34,243.043],[-54.34,243.043],[-121.522,175.861]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,168.957],[51.348,235.217],[-51.348,235.217],[-117.609,168.957]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,163.84],[49.131,229.419],[-49.131,229.419],[-114.709,163.84]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,160.02],[47.475,225.089],[-47.475,225.089],[-112.544,160.02]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,157.178],[46.244,221.869],[-46.244,221.869],[-110.934,157.178]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.102],[45.344,219.516],[-45.344,219.516],[-109.758,155.102]],"c":true}],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,153.643],[44.712,217.862],[-44.712,217.862],[-108.931,153.643]],"c":true}],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.691],[44.299,216.783],[-44.299,216.783],[-108.391,152.691]],"c":true}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.164],[44.071,216.186],[-44.071,216.186],[-108.093,152.164]],"c":true}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":59,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":7,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":264,"s":[100]},{"t":281,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":378,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":402,"s":[64,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[841,701],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.875,0.953,0.686,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.875,0.953,0.686,1],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":426,"st":0,"ct":1,"bm":0}]},{"id":"comp_1","nm":"Part02_Charade_Overview_FO_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Scene Repo","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[635,160.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Size","np":3,"mn":"ADBE Point Control","ix":1,"en":1,"ef":[{"ty":3,"nm":"Point","mn":"ADBE Point Control-0001","ix":1,"v":{"a":0,"k":[100,100],"ix":1}}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Secondary Y Movement","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-214.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[457.209]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":40.334,"s":[464.409]},{"t":52,"s":[457.209]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"MASTER Y POSITION","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.426],"y":[0.38]},"o":{"x":[0.48],"y":[0.051]},"t":0,"s":[-97.709]},{"i":{"x":[0.633],"y":[1]},"o":{"x":[0.654],"y":[-0.375]},"t":23,"s":[-103.709]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":38,"s":[-92.709]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":44.666,"s":[-50.709]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":78,"s":[12.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":109,"s":[-7.709]},{"i":{"x":[0.8],"y":[0.764]},"o":{"x":[0.3],"y":[0]},"t":118,"s":[-7.709]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":128,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.78],"y":[0]},"t":143,"s":[46.291]},{"i":{"x":[0.8],"y":[0.528]},"o":{"x":[0.3],"y":[0]},"t":145,"s":[46.291]},{"i":{"x":[0.22],"y":[1]},"o":{"x":[0.18],"y":[1]},"t":155,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":184,"s":[-7.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":195,"s":[-7.709]},{"i":{"x":[0.428],"y":[1]},"o":{"x":[0.681],"y":[0]},"t":235,"s":[-221.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[-199.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":294,"s":[-199.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":334,"s":[-221.709]},{"i":{"x":[0.473],"y":[1.867]},"o":{"x":[0.63],"y":[0]},"t":343,"s":[-221.709]},{"i":{"x":[0.105],"y":[1]},"o":{"x":[0.497],"y":[-0.207]},"t":406,"s":[-157.709]},{"t":466,"s":[62.291]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":60,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":72,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":84,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":96,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":108,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":162,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":174,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":186,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":198,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":210,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":264,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":276,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":288,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":300,"s":[100]},{"t":312,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-214.5,1078.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":6,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":0,"k":843,"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":0,"k":581,"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":0,"k":90,"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"a":0,"k":90,"ix":8}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"a":0,"k":135,"ix":9}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"a":0,"k":135,"ix":10}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[420.5,1239],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,1239],"t":466,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.506,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.507,0],[0,0]],"v":[[-421.5,-491],[-331.5,-581],[331.5,-581],[421.5,-491],[421.5,-135],[286.5,0],[-286.5,0],[-421.5,-135]],"c":true}],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.506,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.507,0],[0,0]],"v":[[-421.5,-491],[-331.5,-581],[331.5,-581],[421.5,-491],[421.5,-135],[286.5,0],[-286.5,0],[-421.5,-135]],"c":true}],"t":466,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"k":[{"s":[0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":466,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 11986","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":312,"st":-205,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-144,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-134,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.108},"t":426,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":465,"s":[0,-10.9,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":5,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-0.27],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-0.737],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-1.391],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-2.194],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-3.049],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-3.867],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-4.609],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-5.269],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-5.856],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-6.38],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-6.85],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.272],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.654],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.999],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.312],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.595],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.851],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.083],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.295],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.488],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.662],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.82],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.963],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.093],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.211],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.317],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.412],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.498],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.575],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.642],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.701],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.752],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.794],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.83],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.857],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.878],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.892],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}]},{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.167},"t":426,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}]},{"t":465,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.44],"y":[0]},"t":406,"s":[54]},{"t":426,"s":[58]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":18,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.461,-40.238]],"c":false}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.979,-40.201]],"c":false}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.191,-40.142]],"c":false}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[53.112,-40.06]],"c":false}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[51.754,-39.958]],"c":false}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[50.13,-39.835]],"c":false}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[48.251,-39.693]],"c":false}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[46.13,-39.533]],"c":false}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[43.779,-39.356]],"c":false}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[41.212,-39.162]],"c":false}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[38.443,-38.953]],"c":false}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[35.488,-38.73]],"c":false}],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[32.365,-38.494]],"c":false}],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[29.095,-38.248]],"c":false}],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[25.705,-37.992]],"c":false}],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[22.232,-37.73]],"c":false}],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[18.728,-37.465]],"c":false}],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[15.275,-37.205]],"c":false}],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[12.014,-36.959]],"c":false}],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.245]],"c":false}],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-35.487]],"c":false}],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-34.479]],"c":false}],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-33.307]],"c":false}],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-32.102]],"c":false}],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-30.966]],"c":false}],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.94]],"c":false}],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.029]],"c":false}],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-28.223]],"c":false}],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-27.508]],"c":false}],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.872]],"c":false}],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.304]],"c":false}],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.794]],"c":false}],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.335]],"c":false}],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.92]],"c":false}],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.545]],"c":false}],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.205]],"c":false}],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.896]],"c":false}],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.615]],"c":false}],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.36]],"c":false}],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.129]],"c":false}],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.918]],"c":false}],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.728]],"c":false}],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.555]],"c":false}],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.4]],"c":false}],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.26]],"c":false}],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.135]],"c":false}],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.023]],"c":false}],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.924]],"c":false}],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.837]],"c":false}],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.762]],"c":false}],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.697]],"c":false}],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.642]],"c":false}],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.597]],"c":false}],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.561]],"c":false}],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.534]],"c":false}],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.515]],"c":false}],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"k":[{"s":[54.014],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.056],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.123],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.216],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.333],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.474],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.636],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.819],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.022],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.244],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.483],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.738],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.008],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.291],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.584],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.883],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.185],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.482],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.763],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":1,"k":[{"t":-145,"s":[0],"h":1},{"t":18,"s":[100],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[6.167,-3.179],[-15.352,0],[5.008,2.581]],"o":[[-5.59,2.881],[13.869,0],[-6.167,-3.179]],"v":[[-9.526,-79.571],[0.604,-100.669],[9.867,-79.571]],"c":true}]},{"t":426,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,-79.571],[0.709,-100.669],[11.321,-79.571]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.765,"y":0.675},"o":{"x":0.399,"y":0},"t":406,"s":[0,139],"to":[0,0],"ti":[0,0]},{"i":{"x":0.24,"y":1},"o":{"x":0.4,"y":0.441},"t":424,"s":[0,101],"to":[0,0],"ti":[0,0]},{"t":427,"s":[0,93]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":406,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-6,"s":[100]},{"t":5,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.033,-21.75],[-55.984,-40.016]],"c":false}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-7.198,-21.75],[-50.169,-39.599]],"c":false}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5.356,-21.75],[-37.325,-38.678]],"c":false}],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-2.425,-21.75],[-16.892,-37.213]],"c":false}],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0.467,-21.75],[3.272,-35.766]],"c":false}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.584,-21.75],[18.031,-34.708]],"c":false}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.048,-21.75],[28.237,-33.976]],"c":false}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.064,-21.75],[35.32,-33.468]],"c":false}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.767,-21.75],[40.22,-33.116]],"c":false}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.241,-21.75],[43.523,-32.88]],"c":false}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.54,-21.75],[45.607,-32.73]],"c":false}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.701,-21.75],[46.73,-32.65]],"c":false}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[49.587,-33.707]],"c":false}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[54.144,-35.668]],"c":false}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[57.197,-36.982]],"c":false}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[59.162,-37.828]],"c":false}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[60.549,-38.425]],"c":false}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[61.581,-38.869]],"c":false}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.369,-39.208]],"c":false}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.978,-39.47]],"c":false}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.45,-39.673]],"c":false}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.811,-39.829]],"c":false}],"t":218,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.082,-39.945]],"c":false}],"t":219,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.276,-40.028]],"c":false}],"t":220,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.405,-40.084]],"c":false}],"t":221,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.477,-40.115]],"c":false}],"t":222,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":195,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.01,"y":1},"o":{"x":0.167,"y":0.167},"t":208,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}]},{"t":223,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.5,-40.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":200,"op":221,"st":-6,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-145,"s":[100]},{"t":-134,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.725,-44.786]],"c":false}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.906,-43.051]],"c":false}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.119,-41.012]],"c":false}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.349,-38.801]],"c":false}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.591,-36.476]],"c":false}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.841,-34.073]],"c":false}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.097,-31.615]],"c":false}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.357,-29.121]],"c":false}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.618,-26.612]],"c":false}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.878,-24.121]],"c":false}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.021,-24.795]],"c":false}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.846,-29.943]],"c":false}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.74,-33.077]],"c":false}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.672,-35.065]],"c":false}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.625,-36.457]],"c":false}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.59,-37.483]],"c":false}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.564,-38.258]],"c":false}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.543,-38.847]],"c":false}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.528,-39.292]],"c":false}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.517,-39.621]],"c":false}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.509,-39.856]],"c":false}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.504,-40.011]],"c":false}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.501,-40.098]],"c":false}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.048]],"c":false}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.825]],"c":false}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.469]],"c":false}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.991]],"c":false}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.401]],"c":false}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-37.708]],"c":false}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.919]],"c":false}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.042]],"c":false}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-35.084]],"c":false}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-34.051]],"c":false}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-32.951]],"c":false}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-31.79]],"c":false}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-30.576]],"c":false}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-29.316]],"c":false}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-28.021]],"c":false}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-26.701]],"c":false}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-25.375]],"c":false}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-24.067]],"c":false}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-22.825]],"c":false}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.38,-24.323]],"c":false}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.199,-28.188]],"c":false}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.031,-31.777]],"c":false}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.898,-34.618]],"c":false}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.795,-36.811]],"c":false}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.716,-38.509]],"c":false}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.654,-39.829]],"c":false}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.606,-40.851]],"c":false}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.57,-41.634]],"c":false}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.542,-42.22]],"c":false}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.523,-42.64]],"c":false}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.51,-42.919]],"c":false}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.502,-43.076]],"c":false}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.5,-43.125]],"c":false}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}]},{"t":118,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.5,-43.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,10.429],[0.709,-10.669],[11.321,10.429]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[4.884,-3.179],[-12.16,0],[3.966,2.581]],"o":[[-4.427,2.881],[10.985,0],[-4.884,-3.179]],"v":[[-7.577,14.554],[0.447,-6.544],[7.784,14.554]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[5.367,-3.179],[-13.36,0],[4.358,2.581]],"o":[[-4.864,2.881],[12.069,0],[-5.367,-3.179]],"v":[[-8.36,13.429],[0.455,-7.669],[8.517,13.429]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]},{"t":112,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-90],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Round Bottom","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":59,"op":112,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[420.5,519.522],"t":6,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,519.118],"t":8,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,518.844],"t":9,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,518.523],"t":10,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,518.163],"t":11,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,517.778],"t":12,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,517.383],"t":13,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.991],"t":14,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.607],"t":15,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.236],"t":16,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,515.879],"t":17,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,515.536],"t":18,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,515.206],"t":19,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514.888],"t":20,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514.582],"t":21,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514.286],"t":22,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514],"t":23,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,513.634],"t":24,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,513.634],"t":28,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514.162],"t":29,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514.995],"t":30,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.186],"t":31,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,517.757],"t":32,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,519.623],"t":33,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,521.521],"t":34,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,523.117],"t":35,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,524.218],"t":36,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,524.82],"t":37,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,525],"t":38,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,528.61],"t":39,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,533.334],"t":40,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,537.28],"t":41,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,541.651],"t":42,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,547.952],"t":43,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,557.768],"t":44,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,577.765],"t":45,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,593.252],"t":46,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,601.43],"t":47,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,606.66],"t":48,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,610.434],"t":49,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,613.356],"t":50,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,615.726],"t":51,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,617.709],"t":52,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,619.387],"t":53,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,620.811],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,622.032],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,623.088],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,624.009],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,624.815],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,625.523],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,626.146],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,626.697],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,627.183],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,627.613],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,627.991],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,628.618],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,629.097],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,629.709],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,629.088],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,628.559],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,627.822],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,626.803],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,625.403],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,623.559],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,621.411],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,619.329],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,617.568],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,616.151],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,615.013],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,614.089],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,613.33],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,612.701],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,612.177],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,611.737],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,611.368],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,610.803],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,610.28],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,610],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,611.695],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,615.856],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,621.656],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,628.633],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,636.494],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,645.028],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,654.063],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,663.43],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,672.906],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,682],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,680.974],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,676.807],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,673],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,670.542],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,668.826],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,667.559],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,666.595],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,665.851],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,665.277],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,664.837],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,664.272],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,664.299],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,665.056],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,666.15],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,667.521],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,669.142],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,671.007],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,673.131],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,675.561],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,678.408],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,682],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,668.505],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,656.072],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,645.381],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,636.799],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,630.238],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,625.333],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,621.679],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,618.94],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,616.868],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,615.285],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,614.066],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,613.121],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,612.386],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,611.812],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,611.365],"t":170,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,611.016],"t":171,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,610.539],"t":173,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,610],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,609.828],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,609.281],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,608.304],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,606.831],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,604.778],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,602.043],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,598.493],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,593.96],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,588.23],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,581.034],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,572.052],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,560.966],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,547.609],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,532.269],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,515.909],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,499.879],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,485.221],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,472.354],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,461.261],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,451.742],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,443.565],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,436.516],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,430.418],"t":218,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,425.126],"t":219,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,420.524],"t":220,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,416.516],"t":221,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,413.026],"t":222,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,409.991],"t":223,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,407.358],"t":224,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,405.083],"t":225,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,403.13],"t":226,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,401.466],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,400.066],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.906],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.965],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.225],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.672],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.292],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.645],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.977],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.177],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.402],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.656],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.94],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.258],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.613],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,399.008],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,399.448],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,399.938],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,400.483],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,401.089],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,401.76],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,402.504],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,403.322],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,404.216],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,405.181],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,406.206],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,407.271],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,408.349],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,409.409],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,410.422],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,411.368],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,412.234],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,413.016],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,413.716],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,414.338],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,414.888],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,415.372],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,415.798],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,416.171],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,416.497],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,416.78],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,417.025],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,417.414],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,417.79],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,417.463],"t":299,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,417.182],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,416.817],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,416.351],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,415.762],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,415.022],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,414.099],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,412.959],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,411.586],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,410.009],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,408.327],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,406.679],"t":310,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,405.172],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,403.85],"t":312,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,402.709],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,401.731],"t":314,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,400.89],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,400.165],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,399.538],"t":317,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.994],"t":318,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.521],"t":319,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.109],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.75],"t":321,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.438],"t":322,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.168],"t":323,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.934],"t":324,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.562],"t":326,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.202],"t":329,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.428],"t":347,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.68],"t":348,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,396.994],"t":349,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.375],"t":350,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.825],"t":351,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.348],"t":352,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.949],"t":353,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,399.63],"t":354,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,400.396],"t":355,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,401.252],"t":356,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,402.204],"t":357,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,403.255],"t":358,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,404.413],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,405.683],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,407.072],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,408.586],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,410.233],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,412.02],"t":364,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,413.953],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,416.041],"t":366,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,418.29],"t":367,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,420.705],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,423.29],"t":369,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,426.046],"t":370,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,428.971],"t":371,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,432.055],"t":372,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,435.285],"t":373,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,438.637],"t":374,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,442.076],"t":375,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,445.561],"t":376,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,449.037],"t":377,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,452.446],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,455.728],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,458.826],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,461.69],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,464.284],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,466.585],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,468.581],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,470.271],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,471.664],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,472.771],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,473.609],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,474.196],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,474.551],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,474.394],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,473.988],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,473.43],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,472.73],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,471.901],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,470.953],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,469.894],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,468.733],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,467.478],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,466.135],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,464.71],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,463.21],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,461.638],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,460],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,458.564],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,457.319],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,456.287],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,455.494],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,454.972],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,454.894],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,455.439],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,456.461],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,458.043],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,460.295],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,463.352],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,467.389],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,472.625],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.323],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,487.764],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,498.164],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,510.486],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,524.241],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,538.508],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,552.339],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,565.125],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,576.645],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,586.916],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,596.055],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,604.201],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,611.49],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,618.038],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,623.944],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,629.291],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,634.146],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,638.567],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,642.601],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,646.291],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,649.669],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,652.765],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,655.605],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,658.211],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,660.603],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,662.796],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,664.806],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,666.646],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,668.328],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,669.862],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,671.259],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,672.526],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,673.671],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,674.701],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,675.624],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,676.443],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,677.166],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,677.796],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,678.339],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,678.798],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,679.178],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,679.712],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":16,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-37]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":18,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-7.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":28,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"t":52,"s":[100],"h":1},{"t":62,"s":[0],"h":1},{"t":112,"s":[100],"h":1},{"t":200,"s":[0],"h":1},{"t":221,"s":[100],"h":1},{"t":408,"s":[0],"h":1}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-259.147,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.001,"y":0},"t":27,"s":[{"i":[[4.22,-5.198],[6.889,-2.445],[6.141,2.195],[4.414,5.745],[2.09,6.003],[1.842,5.673],[0,0],[-4.629,7.032],[-3.668,2.338],[-9.176,-4.129],[0,0],[-2.537,1.423],[0,0],[-5.764,-2.348],[-3.35,-5.761],[3.559,-9.527],[0,0],[2.211,-5.388]],"o":[[-4.607,5.675],[-6.146,2.181],[-6.823,-2.438],[-3.873,-5.041],[-1.961,-5.633],[-0.673,-2.074],[-3.418,-8.054],[2.391,-3.632],[7.091,-4.519],[0,0],[2.053,0.611],[0,0],[6.766,-3.045],[6.042,2.461],[4.226,7.269],[0,0],[0,0],[-2.542,6.194]],"v":[[26.625,263.759],[9.088,276.927],[-10.477,276.927],[-27.766,263.755],[-34.35,245.857],[-39.92,228.853],[-41.895,222.617],[-38.621,196.593],[-29.625,187.329],[-2.764,182.988],[-0.678,184.077],[3.537,183.327],[5.123,182.613],[23.746,183.97],[38.891,196.367],[42.816,222.402],[40.88,229.024],[34.705,245.369]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":40,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":49,"s":[{"i":[[0,0],[5.924,-2.615],[6.267,2.766],[3.263,7.561],[2.981,6.909],[0,0],[0,0],[-4.825,8.784],[-3.668,2.709],[-9.176,-4.785],[0,0],[-7.064,3.683],[0,0],[-5.942,-2.295],[-3.35,-6.676],[4.5,-10.429],[0,0],[2.725,-6.315]],"o":[[-3.262,7.56],[-6.266,2.766],[-5.925,-2.615],[0,0],[-2.981,-6.909],[0,0],[-3.988,-9.246],[2.335,-4.251],[7.091,-5.237],[0,0],[7.064,3.683],[0,0],[6.766,-3.528],[6.387,2.466],[4.226,8.423],[0,0],[0,0],[-3.063,7.1]],"v":[[23.515,261.285],[9.088,276.548],[-10.477,276.549],[-24.906,261.285],[-33.85,240.557],[-42.795,219.829],[-48.707,206.127],[-47.871,176.22],[-38.875,165.486],[-13.389,163.498],[-11.803,164.325],[10.412,164.325],[11.998,163.498],[31.496,162.173],[46.641,176.538],[47.316,206.126],[40.88,221.041],[32.705,239.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.61,"y":0},"t":57,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[5.829,-2.275],[6.166,2.405],[3.21,6.575],[2.933,6.009],[0,0],[0,0],[-4.747,7.639],[-3.609,2.356],[-9.028,-5.782],[0,0],[-6.95,4.451],[0,0],[-5.847,-1.996],[-3.296,-5.806],[4.428,-9.07],[0,0],[2.681,-5.492]],"o":[[-3.21,6.575],[-6.165,2.406],[-5.83,-2.274],[0,0],[-2.933,-6.009],[0,0],[-3.924,-8.041],[2.297,-3.697],[6.977,-4.554],[0,0],[6.95,4.451],[0,0],[6.657,-4.263],[6.284,2.145],[4.158,7.326],[0,0],[0,0],[-3.014,6.174]],"v":[[23.147,263.139],[8.953,276.413],[-10.297,276.414],[-24.493,263.14],[-31.981,245.113],[-39.468,227.086],[-43.871,215.169],[-44.463,189.161],[-35.612,179.825],[-10.537,178.375],[-8.977,179.374],[7.631,179.374],[9.191,178.375],[28.374,176.944],[43.275,189.437],[42.525,215.169],[37.607,228.14],[30.877,244.617]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[5.782,-2.283],[6.116,2.414],[3.184,6.6],[2.91,6.031],[0,0],[0,0],[-4.709,7.668],[-3.58,2.365],[-8.956,-2.881],[0,0],[-6.894,2.218],[0,0],[-5.8,-2.003],[-3.269,-5.828],[4.392,-9.104],[0,0],[2.66,-5.513]],"o":[[-3.184,6.599],[-6.116,2.415],[-5.783,-2.283],[0,0],[-2.91,-6.031],[0,0],[-3.893,-8.071],[2.279,-3.711],[6.921,-4.571],[0,0],[6.894,2.218],[0,0],[6.604,-2.124],[6.234,2.153],[4.125,7.353],[0,0],[0,0],[-2.99,6.198]],"v":[[22.966,262.838],[8.886,276.162],[-10.209,276.162],[-24.29,262.838],[-31.064,244.743],[-37.837,226.649],[-41.5,214.688],[-42.792,188.581],[-34.012,179.21],[-9.139,174.179],[-7.591,174.677],[6.267,174.677],[7.814,174.179],[26.844,176.318],[41.625,188.859],[40.176,214.688],[36.003,227.707],[29.98,244.245]],"c":true}]},{"i":{"x":0.48,"y":1},"o":{"x":0.26,"y":1},"t":111,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,1.445],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,1.445],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[22.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-30.85,245.866],[-37.795,227.978],[-42.707,216.152],[-41.871,190.343],[-32.875,181.079],[-7.389,179.363],[-5.803,180.077],[5.412,180.077],[6.998,179.363],[26.496,178.22],[41.641,190.617],[42.316,216.152],[38.88,229.024],[31.705,245.374]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.902,"y":0},"o":{"x":0.3,"y":0},"t":119,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":129,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.78,"y":0},"t":144,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.4,"y":0},"t":146,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.884},"t":156,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":175,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":195,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"t":200,"s":[{"i":[[0,0],[4.982,-1.843],[5.269,1.949],[2.743,5.327],[2.507,4.868],[0,0],[0,0],[-4.057,6.188],[-3.084,1.909],[-7.716,-3.371],[0,0],[-5.94,2.595],[0,0],[-4.997,-1.617],[-2.817,-4.703],[3.784,-7.348],[0,0],[2.291,-4.449]],"o":[[-2.743,5.326],[-5.269,1.949],[-4.982,-1.842],[0,0],[-2.507,-4.868],[0,0],[-3.354,-6.514],[1.963,-2.995],[5.963,-3.69],[0,0],[5.94,2.595],[0,0],[5.69,-2.486],[5.371,1.738],[3.554,5.935],[0,0],[0,0],[-2.576,5.002]],"v":[[21.328,266.623],[7.572,277.365],[-8.88,277.366],[-21.013,266.612],[-30.158,252.046],[-38.929,237.463],[-42.276,232.155],[-38.901,208.3],[-31.337,200.737],[-7.657,199.329],[-6.324,199.912],[6.078,199.877],[7.412,199.294],[26.437,198.157],[39.172,208.278],[42.466,230.78],[38.179,240.068],[31.18,251.666]],"c":true}],"h":1},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":221,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":225,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":230,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":235,"s":[{"i":[[0,0],[-6.469,2.527],[-6.843,-2.672],[-3.562,-7.305],[-2.238,-6.948],[0,0],[0,0],[6.26,-7.958],[4.298,-2.236],[9.409,5.515],[0,0],[2.81,-1.723],[0,0],[6.751,1.509],[4.533,6.012],[-3.466,10.525],[0,0],[-1.94,6.411]],"o":[[3.562,-7.305],[6.843,-2.673],[6.47,2.527],[0,0],[2.25,6.984],[0,0],[3.257,9.283],[-3.029,3.851],[-8.309,4.323],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.171],[-7.256,-1.622],[-5.72,-7.586],[0,0],[0,0],[2.154,-7.118]],"v":[[-25.972,256.282],[-10.844,241.57],[10.52,241.569],[26.276,256.317],[31.363,275.406],[37.793,296.199],[41.622,309.972],[42.615,338.644],[31.6,348.06],[3.818,347.368],[2.192,346.415],[-2.497,346.685],[-4.104,347.662],[-23.931,350.493],[-42.288,338.48],[-42.272,310.249],[-38.575,296.613],[-32.279,277.866]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":240,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.17,"y":0},"t":250,"s":[{"i":[[0,0],[-6.469,2.528],[-6.843,-2.674],[-3.562,-7.309],[-2.238,-6.951],[0,0],[0,0],[6.26,-7.962],[4.298,-2.237],[9.409,5.517],[0,0],[2.81,-1.724],[0,0],[6.751,1.51],[4.533,6.015],[-3.466,10.53],[0,0],[-1.94,6.414]],"o":[[3.562,-7.308],[6.843,-2.674],[6.47,2.528],[0,0],[2.25,6.988],[0,0],[3.257,9.287],[-3.029,3.853],[-8.309,4.325],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.173],[-7.256,-1.623],[-5.72,-7.59],[0,0],[0,0],[2.154,-7.121]],"v":[[-25.972,256.238],[-10.844,241.519],[10.52,241.518],[26.276,256.273],[31.363,275.37],[37.793,296.172],[41.622,309.952],[42.615,338.637],[31.6,348.057],[3.818,347.366],[2.192,346.412],[-2.497,346.682],[-4.104,347.66],[-23.931,350.492],[-42.288,338.473],[-42.272,310.229],[-38.575,296.587],[-32.279,277.831]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":296,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":313,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":318,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":323,"s":[{"i":[[0,0],[-6.37,2.351],[-6.738,-2.486],[-3.508,-6.797],[-3.206,-6.211],[0,0],[0,0],[5.188,-7.896],[3.944,-2.435],[9.867,4.301],[0,0],[7.596,-3.311],[0,0],[6.39,2.063],[3.602,6.001],[-4.839,9.375],[0,0],[-2.93,5.677]],"o":[[3.508,-6.796],[6.738,-2.487],[6.371,2.351],[0,0],[3.206,6.211],[0,0],[4.289,8.311],[-2.511,3.821],[-7.625,4.707],[0,0],[-7.596,-3.311],[0,0],[-7.276,3.172],[-6.868,-2.217],[-4.545,-7.572],[0,0],[0,0],[3.294,-6.382]],"v":[[-26.198,255.941],[-10.685,242.221],[10.353,242.22],[25.868,255.941],[35.486,274.574],[45.103,294.249],[51.461,306.566],[50.562,333.45],[40.889,343.1],[13.484,344.887],[11.779,344.143],[-12.109,344.143],[-13.814,344.887],[-34.78,346.078],[-51.065,333.164],[-51.791,306.566],[-44.871,293.159],[-36.08,275.087]],"c":true}]},{"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0},"t":328,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.52,"y":0.96},"o":{"x":0.48,"y":0.04},"t":343,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":370,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.59,"y":1},"o":{"x":0.5,"y":0},"t":389,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"t":406,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[30.971,273.182],[38.915,291.071],[43.202,302.895],[42.366,328.704],[33.371,337.968],[7.884,339.684],[6.299,338.97],[-6.167,338.97],[-7.753,339.684],[-27.251,340.827],[-42.396,328.43],[-43.071,302.895],[-38.76,290.025],[-31.585,273.675]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"animated arrow","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":27,"op":408,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[841,701],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.875,0.953,0.686,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.875,0.953,0.686,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0}]},{"id":"comp_2","nm":"Part03_Demonstration_Overview_FO_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[635,255.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Size","np":3,"mn":"ADBE Point Control","ix":1,"en":1,"ef":[{"ty":3,"nm":"Point","mn":"ADBE Point Control-0001","ix":1,"v":{"a":0,"k":[100,100],"ix":1}}]}],"ip":0,"op":445,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Reset to Center","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":292,"s":[-98.901]},{"t":362,"s":[-324.901]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":292,"s":[407.5]},{"t":372,"s":[298.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"OVERSHOOT CHARACTER","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":227,"s":[-32.599]},{"t":329,"s":[67.401]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-609,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-599,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":398,"s":[100]},{"t":404,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-298]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-298]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-161.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[15],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.634],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[13.459],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[11.342],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[8.117],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.584],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.5],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-10.417],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.475],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.954],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.451],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-84.709],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-104.794],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-124.659],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.507],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-160.907],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-176.724],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-190.994],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.834],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.387],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-225.794],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-235.185],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-243.675],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-251.363],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-258.334],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.663],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.412],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.637],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.384],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-284.695],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-288.607],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-292.152],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-295.356],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-298.246],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-300.843],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-303.168],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-305.238],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.069],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.676],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.073],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.27],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.279],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.111],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.774],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.277],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.627],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.622],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.261],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.739],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.043],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.163],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.083],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.789],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.263],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.486],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.435],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.087],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.414],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.384],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-292.963],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.11],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-284.78],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-279.922],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-274.481],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-268.395],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-261.601],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-254.035],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-245.641],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-236.382],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-226.259],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.328],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.721],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-191.658],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-179.422],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.325],"t":170,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.649],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-144.609],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-134.337],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-124.891],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.273],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-108.451],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-101.373],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.982],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-89.217],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-84.021],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-79.341],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.129],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.342],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.941],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.893],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.168],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.738],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.58],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.673],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.998],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.538],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.278],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.204],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.305],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.567],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.983],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.542],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.236],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.046],"t":294,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.082],"t":295,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.128],"t":296,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.183],"t":297,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.248],"t":298,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.323],"t":299,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.407],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.5],"t":301,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.602],"t":302,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.713],"t":303,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.833],"t":304,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.961],"t":305,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.098],"t":306,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.244],"t":307,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.398],"t":308,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.56],"t":309,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.73],"t":310,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.908],"t":311,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.094],"t":312,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.288],"t":313,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.489],"t":314,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.698],"t":315,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.914],"t":316,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.137],"t":317,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.367],"t":318,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.605],"t":319,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.849],"t":320,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.101],"t":321,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.359],"t":322,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.623],"t":323,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.894],"t":324,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.171],"t":325,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.455],"t":326,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.745],"t":327,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.04],"t":328,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.342],"t":329,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.65],"t":330,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.963],"t":331,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.281],"t":332,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.606],"t":333,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.935],"t":334,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.27],"t":335,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.61],"t":336,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.955],"t":337,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-56.304],"t":338,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-56.659],"t":339,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.018],"t":340,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.382],"t":341,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.75],"t":342,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.122],"t":343,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.499],"t":344,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.879],"t":345,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.263],"t":346,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.651],"t":347,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.043],"t":348,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.438],"t":349,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.836],"t":350,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.237],"t":351,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.642],"t":352,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.049],"t":353,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.459],"t":354,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.871],"t":355,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.286],"t":356,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.702],"t":357,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.121],"t":358,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.541],"t":359,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.963],"t":360,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.386],"t":361,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.81],"t":362,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-66.234],"t":363,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.936],"t":367,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.36],"t":368,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.783],"t":369,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.205],"t":370,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.626],"t":371,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.044],"t":372,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.459],"t":373,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.871],"t":374,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.28],"t":375,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.684],"t":376,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.083],"t":377,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.477],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.865],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.245],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.617],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.98],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.333],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.674],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.002],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.316],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.612],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.89],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.147],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.378],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.581],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.751],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.883],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.969],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.913],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.843],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.753],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.639],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.503],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.343],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.158],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.947],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.71],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.444],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.149],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.824],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.466],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.076],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.651],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.189],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.689],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.148],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.566],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.938],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.264],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.54],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.763],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.931],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.039],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-66.085],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.064],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.971],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.802],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.552],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.214],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.782],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.249],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.608],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.85],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.967],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.95],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.788],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.473],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.996],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.352],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.536],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.552],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.41],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.132],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.753],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-21.322],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[420.5,677.634],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,676.459],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,674.342],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,671.117],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,666.584],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,660.5],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,652.583],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,642.525],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,630.046],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,615],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,597.549],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,578.291],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,558.206],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,538.341],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,519.493],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,502.093],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,486.276],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,472.006],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,459.166],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,447.613],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,437.206],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,427.815],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,419.325],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,411.637],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,404.666],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.337],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,392.588],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,387.363],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,382.616],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,378.305],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,374.393],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,370.848],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,367.644],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,364.754],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,362.157],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,359.832],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,357.762],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,355.931],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,354.324],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.927],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.73],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,350.721],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,349.889],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,349.226],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,348.723],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,348.373],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.133,348.1],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[419.669,348.1],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[419.013,348.1],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.163,348.1],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.114,348.1],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[415.863,348.1],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[414.409,348.1],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[412.748,348.1],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[410.879,348.1],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[408.799,348.168],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[406.508,348.378],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[404.004,348.739],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[401.288,349.261],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[398.36,349.957],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[395.221,350.837],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[391.874,351.917],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[388.321,353.211],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[384.567,354.737],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[380.616,356.514],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[376.474,358.565],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[372.149,360.913],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[367.65,363.586],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[362.985,366.616],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[358.167,370.037],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[353.206,373.89],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[348.118,378.22],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[342.915,383.078],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[337.614,388.519],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[332.23,394.605],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[326.783,401.399],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[321.288,408.965],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[315.766,417.359],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[310.234,426.618],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[304.712,436.741],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[299.217,447.672],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[293.77,459.279],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[288.386,471.342],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[283.085,483.578],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[277.882,495.675],"t":170,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[272.794,507.351],"t":171,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[267.833,518.391],"t":172,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[263.015,528.663],"t":173,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[258.35,538.109],"t":174,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[253.851,546.727],"t":175,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[249.526,554.549],"t":176,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[245.384,561.627],"t":177,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[241.433,568.018],"t":178,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[237.679,573.783],"t":179,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[234.126,578.979],"t":180,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[230.779,583.659],"t":181,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[227.64,587.871],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[224.712,591.658],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[221.996,595.059],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[219.492,598.107],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[217.201,600.832],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[215.121,603.262],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[213.252,605.42],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[211.591,607.327],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[210.137,609.002],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[208.886,610.462],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[207.837,611.722],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206.987,612.796],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206.331,613.695],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[205.867,614.433],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[205.591,615.017],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[205.5,615.458],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[205.5,616],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206.171,616],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[208.21,616],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[211.716,616],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[216.86,616],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[223.901,616],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[233.221,616],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[245.395,616],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[261.349,616],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[282.737,616],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[313.093,616],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[360.267,616],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[401.508,616],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[428.222,616],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[446.678,616],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[460.467,616],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[471.36,616],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[480.308,616],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[487.871,616],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[494.405,616],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[500.148,616],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[505.268,616],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[509.887,616],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[514.098,616],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[517.974,616],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[521.57,616],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[524.933,616],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[528.101,616],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[531.107,616],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[533.977,616],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[536.736,616],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[539.405,616],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[542.002,616],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[544.546,616],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[547.051,616],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[549.533,616],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[552.005,616],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[554.483,616],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[556.977,616],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[559.501,616],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[562.066,616],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[564.684,616],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[567.365,616],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[570.118,616],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[572.948,616],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[575.86,616],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[578.854,616],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[581.924,616],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[585.061,616],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[588.246,616],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[594.665,616],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[597.841,616],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[600.954,616],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[603.975,616],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[606.88,616],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[609.653,616],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[612.28,616],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[614.755,616],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[617.076,616],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[619.245,616],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[621.266,616],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[623.144,616],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[624.885,616],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.498,616],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[627.998,615.995],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[629.313,615.966],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630.359,615.9],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.139,615.795],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.655,615.651],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.903,615.237],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.639,614.965],"t":299,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.118,614.647],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630.342,614.282],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[629.312,613.867],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[628.029,613.401],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.496,612.88],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[624.713,612.303],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[622.683,611.666],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[620.409,610.967],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[617.893,610.201],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[615.139,609.366],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[612.15,608.456],"t":310,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[608.932,607.468],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[605.49,606.395],"t":312,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[601.83,605.233],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[597.959,603.975],"t":314,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[593.885,602.614],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[589.618,601.142],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[585.167,599.55],"t":317,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[580.544,597.828],"t":318,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[575.76,595.966],"t":319,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[570.829,593.952],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[565.765,591.772],"t":321,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[560.582,589.413],"t":322,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[555.297,586.861],"t":323,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[549.926,584.101],"t":324,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[544.486,581.12],"t":325,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[538.995,577.906],"t":326,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[533.47,574.455],"t":327,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[527.929,570.769],"t":328,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[522.39,566.863],"t":329,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[516.878,562.768],"t":330,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[511.418,558.532],"t":331,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[506.025,554.219],"t":332,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[500.716,549.899],"t":333,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[495.506,545.647],"t":334,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[490.408,541.525],"t":335,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[485.436,537.581],"t":336,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[480.602,533.846],"t":337,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[475.917,530.335],"t":338,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[471.391,527.05],"t":339,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[467.033,523.987],"t":340,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[462.851,521.134],"t":341,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[458.853,518.478],"t":342,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[455.042,516.005],"t":343,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[451.425,513.7],"t":344,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[448.006,511.55],"t":345,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[444.786,509.541],"t":346,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[441.769,507.662],"t":347,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[438.955,505.902],"t":348,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[436.346,504.25],"t":349,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[433.942,502.7],"t":350,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[431.741,501.241],"t":351,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[429.744,499.869],"t":352,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[427.949,498.575],"t":353,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[426.354,497.355],"t":354,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[424.957,496.203],"t":355,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[423.756,495.115],"t":356,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[422.748,494.087],"t":357,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[421.93,493.115],"t":358,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[421.299,492.195],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.853,491.325],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.588,490.501],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,489.722],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,488.984],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,488.287],"t":364,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,487.627],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,487.004],"t":366,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,486.416],"t":367,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,485.862],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,485.339],"t":369,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,484.848],"t":370,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,484.388],"t":371,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.956],"t":372,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.541],"t":373,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.129],"t":374,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,482.72],"t":375,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,482.316],"t":376,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.917],"t":377,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.523],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.135],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.755],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.383],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.02],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.667],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.326],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.998],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.684],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.388],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.11],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,477.853],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,477.419],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,477.842],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.29],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.556],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.851],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.176],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.534],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.924],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.349],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.811],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.311],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.852],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,482.434],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.062],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.736],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,484.46],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,485.237],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,486.069],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,486.961],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,487.915],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,488.936],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,490.029],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,491.198],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,492.448],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,493.786],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,495.218],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,496.751],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,498.392],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,500.15],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,502.033],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,504.05],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,506.212],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,508.527],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,511.004],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,513.648],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.464],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,519.448],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,522.59],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,525.868],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,529.247],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,532.678],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.75]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.75]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.25]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.25]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":445,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"App 3 Matte","parent":13,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[296.8]},{"t":418,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[488.8]},{"t":418,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":245,"op":435,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Pill to Arc | Elevation 2","parent":4,"tt":1,"tp":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":398,"s":[15]},{"t":404,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[110.1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[109.629],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[108.115],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[105.387],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.233],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[95.393],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.556],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[77.356],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.399],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[48.322],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.939],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.457],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-18.352],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.227],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.819],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.1],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.516],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-136.892],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.275],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-171.817],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-186.701],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-200.108],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-212.206],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-223.143],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-233.047],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-242.028],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-250.181],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-257.587],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.318],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.434],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.988],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.028],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.594],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.722],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.445],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.791],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.786],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.453],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.812],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.882],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.681],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.224],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.524],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.595],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.449],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.097],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.549],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.814],"t":100,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.663],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.237],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.046],"t":294,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.082],"t":295,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.128],"t":296,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.183],"t":297,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.248],"t":298,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.323],"t":299,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.407],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.5],"t":301,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.602],"t":302,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.713],"t":303,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.833],"t":304,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.961],"t":305,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.098],"t":306,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.244],"t":307,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.398],"t":308,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.56],"t":309,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.73],"t":310,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.908],"t":311,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.094],"t":312,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.288],"t":313,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.489],"t":314,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.698],"t":315,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.914],"t":316,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.137],"t":317,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.367],"t":318,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.605],"t":319,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.849],"t":320,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.101],"t":321,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.359],"t":322,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.623],"t":323,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.894],"t":324,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.171],"t":325,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.455],"t":326,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.745],"t":327,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.04],"t":328,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.342],"t":329,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.65],"t":330,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.963],"t":331,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.281],"t":332,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.606],"t":333,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.935],"t":334,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.27],"t":335,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.61],"t":336,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.955],"t":337,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-56.304],"t":338,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-56.659],"t":339,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.018],"t":340,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.382],"t":341,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.75],"t":342,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.122],"t":343,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.499],"t":344,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.879],"t":345,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.263],"t":346,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.651],"t":347,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.043],"t":348,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.438],"t":349,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.836],"t":350,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.237],"t":351,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.642],"t":352,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.049],"t":353,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.459],"t":354,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.871],"t":355,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.286],"t":356,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.702],"t":357,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.121],"t":358,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.541],"t":359,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.963],"t":360,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.386],"t":361,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.81],"t":362,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-66.234],"t":363,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.936],"t":367,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.36],"t":368,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.783],"t":369,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.205],"t":370,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.626],"t":371,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.044],"t":372,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.459],"t":373,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.871],"t":374,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.28],"t":375,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.684],"t":376,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.083],"t":377,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.477],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.865],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.245],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.617],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.98],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.333],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.674],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.002],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.316],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.612],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.89],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.147],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.378],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.581],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.751],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.883],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.969],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.913],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.843],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.753],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.639],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.503],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.343],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.158],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.947],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.71],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.444],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.149],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.824],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.466],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.076],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.651],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.189],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.689],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.148],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.566],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.938],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.264],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.54],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.763],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.931],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.039],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-66.085],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.064],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.971],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.802],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.552],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.214],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.782],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.249],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.608],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.85],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.967],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.95],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.788],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.473],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.996],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.352],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.536],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.552],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.41],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.132],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.753],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-21.322],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":245,"op":435,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"App 1 Matte","parent":11,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,752,0],"to":[0,0,0],"ti":[0,0,0]},{"t":101,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[843]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-421.5,90],[-331.5,0],[331.5,0],[421.5,90],[421.5,492],[331.5,582],[-331.5,582],[-421.5,492]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-421.06,89.982],[-331.078,0],[331.078,0],[421.06,89.982],[421.06,491.605],[331.078,581.587],[-331.078,581.587],[-421.06,491.605]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-419.619,89.923],[-329.695,0],[329.695,0],[419.619,89.923],[419.619,490.314],[329.695,580.237],[-329.695,580.237],[-419.619,490.314]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-416.958,89.815],[-327.143,0],[327.143,0],[416.958,89.815],[416.958,487.93],[327.143,577.745],[-327.143,577.745],[-416.958,487.93]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-412.797,89.645],[-323.151,0],[323.151,0],[412.797,89.645],[412.797,484.201],[323.151,573.846],[-323.151,573.846],[-412.797,484.201]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-406.775,89.4],[-317.375,0],[317.375,0],[406.775,89.4],[406.775,478.804],[317.375,568.205],[-317.375,568.205],[-406.775,478.804]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-398.461,89.062],[-309.4,0],[309.4,0],[398.461,89.062],[398.461,471.354],[309.4,560.416],[-309.4,560.416],[-398.461,471.354]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-387.407,88.611],[-298.795,0],[298.795,0],[387.407,88.611],[387.407,461.448],[298.795,550.059],[-298.795,550.059],[-387.407,461.448]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-373.33,88.038],[-285.292,0],[285.292,0],[373.33,88.038],[373.33,448.834],[285.292,536.872],[-285.292,536.872],[-373.33,448.834]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-356.473,87.351],[-269.122,0],[269.122,0],[356.473,87.351],[356.473,433.728],[269.122,521.079],[-269.122,521.079],[-356.473,433.728]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-337.88,86.594],[-251.286,0],[251.286,0],[337.88,86.594],[337.88,417.066],[251.286,503.66],[-251.286,503.66],[-337.88,417.066]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-319.099,85.829],[-233.27,0],[233.27,0],[319.099,85.829],[319.099,400.235],[233.27,486.064],[-233.27,486.064],[-319.099,400.235]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-301.424,85.109],[-216.315,0],[216.315,0],[301.424,85.109],[301.424,384.396],[216.315,469.505],[-216.315,469.505],[-301.424,384.396]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-285.496,84.46],[-201.036,0],[201.036,0],[285.496,84.46],[285.496,370.123],[201.036,454.583],[-201.036,454.583],[-285.496,370.123]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-271.44,83.888],[-187.553,0],[187.553,0],[271.44,83.888],[271.44,357.527],[187.553,441.415],[-187.553,441.415],[-271.44,357.527]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-259.129,83.386],[-175.743,0],[175.743,0],[259.129,83.386],[259.129,346.495],[175.743,429.881],[-175.743,429.881],[-259.129,346.495]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-248.356,82.947],[-165.409,0],[165.409,0],[248.356,82.947],[248.356,336.841],[165.409,419.788],[-165.409,419.788],[-248.356,336.841]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-238.91,82.563],[-156.348,0],[156.348,0],[238.91,82.563],[238.91,328.376],[156.348,410.938],[-156.348,410.938],[-238.91,328.376]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-230.605,82.224],[-148.381,0],[148.381,0],[230.605,82.224],[230.605,320.933],[148.381,403.157],[-148.381,403.157],[-230.605,320.933]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-223.282,81.926],[-141.356,0],[141.356,0],[223.282,81.926],[223.282,314.371],[141.356,396.297],[-141.356,396.297],[-223.282,314.371]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-216.811,81.662],[-135.148,0],[135.148,0],[216.811,81.662],[216.811,308.572],[135.148,390.234],[-135.148,390.234],[-216.811,308.572]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-211.082,81.429],[-129.653,0],[129.653,0],[211.082,81.429],[211.082,303.438],[129.653,384.867],[-129.653,384.867],[-211.082,303.438]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-206.006,81.222],[-124.784,0],[124.784,0],[206.006,81.222],[206.006,298.89],[124.784,380.112],[-124.784,380.112],[-206.006,298.89]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-201.509,81.039],[-120.47,0],[120.47,0],[201.509,81.039],[201.509,294.859],[120.47,375.898],[-120.47,375.898],[-201.509,294.859]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-197.527,80.877],[-116.65,0],[116.65,0],[197.527,80.877],[197.527,291.291],[116.65,372.168],[-116.65,372.168],[-197.527,291.291]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-194.007,80.733],[-113.274,0],[113.274,0],[194.007,80.733],[194.007,288.137],[113.274,368.87],[-113.274,368.87],[-194.007,288.137]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-190.904,80.607],[-110.297,0],[110.297,0],[190.904,80.607],[190.904,285.356],[110.297,365.963],[-110.297,365.963],[-190.904,285.356]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-188.18,80.496],[-107.684,0],[107.684,0],[188.18,80.496],[188.18,282.915],[107.684,363.411],[-107.684,363.411],[-188.18,282.915]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-185.8,80.399],[-105.401,0],[105.401,0],[185.8,80.399],[185.8,280.782],[105.401,361.182],[-105.401,361.182],[-185.8,280.782]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-183.736,80.315],[-103.421,0],[103.421,0],[183.736,80.315],[183.736,278.933],[103.421,359.248],[-103.421,359.248],[-183.736,278.933]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-181.963,80.243],[-101.72,0],[101.72,0],[181.963,80.243],[181.963,277.344],[101.72,357.586],[-101.72,357.586],[-181.963,277.344]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-180.457,80.182],[-100.276,0],[100.276,0],[180.457,80.182],[180.457,275.994],[100.276,356.176],[-100.276,356.176],[-180.457,275.994]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-179.2,80.13],[-99.069,0],[99.069,0],[179.2,80.13],[179.2,274.867],[99.069,354.998],[-99.069,354.998],[-179.2,274.867]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-178.173,80.089],[-98.084,0],[98.084,0],[178.173,80.089],[178.173,273.947],[98.084,354.036],[-98.084,354.036],[-178.173,273.947]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-177.361,80.055],[-97.305,0],[97.305,0],[177.361,80.055],[177.361,273.219],[97.305,353.275],[-97.305,353.275],[-177.361,273.219]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.749,80.031],[-96.719,0],[96.719,0],[176.749,80.031],[176.749,272.672],[96.719,352.702],[-96.719,352.702],[-176.749,272.672]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.326,80.013],[-96.313,0],[96.313,0],[176.326,80.013],[176.326,272.292],[96.313,352.306],[-96.313,352.306],[-176.326,272.292]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.08,80.003],[-96.077,0],[96.077,0],[176.08,80.003],[176.08,272.072],[96.077,352.075],[-96.077,352.075],[-176.08,272.072]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,272],[96,352],[-96,352],[-176,272]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,271.658],[95.852,351.613],[-95.852,351.613],[-175.806,271.658]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,270.502],[95.351,350.302],[-95.351,350.302],[-175.151,270.502]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,268.264],[94.381,347.766],[-94.381,347.766],[-173.883,268.264]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,264.526],[92.761,343.529],[-92.761,343.529],[-171.765,264.526]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,258.595],[90.191,336.808],[-90.191,336.808],[-168.404,258.595]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,249.31],[86.168,326.284],[-86.168,326.284],[-163.142,249.31]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,235.078],[80.001,310.155],[-80.001,310.155],[-155.078,235.078]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,216.31],[71.868,288.885],[-71.868,288.885],[-144.442,216.31]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,198.587],[64.188,268.799],[-64.188,268.799],[-134.399,198.587]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,185.345],[58.449,253.791],[-58.449,253.791],[-126.895,185.345]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,175.861],[54.34,243.043],[-54.34,243.043],[-121.522,175.861]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,168.957],[51.348,235.217],[-51.348,235.217],[-117.609,168.957]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,163.84],[49.131,229.419],[-49.131,229.419],[-114.709,163.84]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,160.02],[47.475,225.089],[-47.475,225.089],[-112.544,160.02]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,157.178],[46.244,221.869],[-46.244,221.869],[-110.934,157.178]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.102],[45.344,219.516],[-45.344,219.516],[-109.758,155.102]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,153.643],[44.712,217.862],[-44.712,217.862],[-108.931,153.643]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.691],[44.299,216.783],[-44.299,216.783],[-108.391,152.691]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.164],[44.071,216.186],[-44.071,216.186],[-108.093,152.164]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":198,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Pill to Arc | Elevation 1","parent":4,"tt":1,"tp":8,"sr":1,"ks":{"o":{"a":0,"k":15,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"t":197,"s":[-298]}],"ix":3},"y":{"k":[{"s":[15],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.634],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[13.459],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[11.342],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[8.117],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.584],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.5],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-10.417],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.475],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.954],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.451],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-84.709],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-104.794],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-124.659],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.507],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-160.907],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-176.724],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-190.994],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.834],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.387],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-225.794],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-235.185],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-243.675],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-251.363],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-258.334],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.663],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.412],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.637],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.384],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-284.695],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-288.607],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-292.152],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-295.356],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-298.246],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-300.843],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-303.168],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-305.238],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.069],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.676],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.073],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.27],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.279],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.111],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.774],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.277],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.627],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.622],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.261],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.739],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.043],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.163],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.083],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.789],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.263],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.486],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.435],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.087],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.414],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.384],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-292.963],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.11],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-284.78],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-279.922],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-274.481],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-268.395],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-261.601],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-254.035],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-245.641],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-236.382],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-226.259],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.328],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.721],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-191.658],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-179.422],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.325],"t":170,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.649],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-144.609],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-134.337],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-124.891],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.273],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-108.451],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-101.373],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.982],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-89.217],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-84.021],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-79.341],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.129],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.342],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.941],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.893],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.168],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.738],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.58],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.673],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.998],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.538],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.278],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.204],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.305],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.567],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.983],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.542],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.236],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.963],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.934],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.896],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.851],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.796],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.734],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.662],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.583],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.494],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.397],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.292],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.177],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.054],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.923],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.782],"t":217,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.633],"t":218,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.475],"t":219,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.308],"t":220,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.132],"t":221,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.948],"t":222,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.754],"t":223,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.552],"t":224,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.34],"t":225,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.119],"t":226,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.89],"t":227,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.651],"t":228,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.404],"t":229,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.147],"t":230,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.881],"t":231,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.606],"t":232,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.322],"t":233,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.028],"t":234,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.726],"t":235,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.414],"t":236,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.093],"t":237,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.763],"t":238,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.424],"t":239,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.075],"t":240,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.717],"t":241,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.35],"t":242,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.974],"t":243,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.588],"t":244,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.193],"t":245,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.789],"t":246,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.375],"t":247,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.952],"t":248,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.52],"t":249,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.078],"t":250,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.628],"t":251,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.168],"t":252,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.698],"t":253,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.22],"t":254,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-33.732],"t":255,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-33.235],"t":256,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.729],"t":257,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.213],"t":258,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.688],"t":259,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.154],"t":260,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-30.611],"t":261,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-30.059],"t":262,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.498],"t":263,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.928],"t":264,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.348],"t":265,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-27.76],"t":266,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-27.163],"t":267,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.556],"t":268,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-25.941],"t":269,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-25.317],"t":270,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.684],"t":271,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.043],"t":272,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-23.392],"t":273,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-22.733],"t":274,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-22.066],"t":275,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-21.39],"t":276,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.705],"t":277,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.012],"t":278,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-19.311],"t":279,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-18.601],"t":280,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.883],"t":281,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.157],"t":282,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-16.423],"t":283,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-15.681],"t":284,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-14.931],"t":285,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-14.173],"t":286,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-13.407],"t":287,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-12.634],"t":288,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-11.853],"t":289,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-11.065],"t":290,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-10.269],"t":291,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-9.466],"t":292,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-8.656],"t":293,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-7.839],"t":294,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-7.015],"t":295,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-6.184],"t":296,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.347],"t":297,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.503],"t":298,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.652],"t":299,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.795],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1.932],"t":301,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1.063],"t":302,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.188],"t":303,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.693],"t":304,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.579],"t":305,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.471],"t":306,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.369],"t":307,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[4.271],"t":308,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[5.179],"t":309,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.092],"t":310,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[7.009],"t":311,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[7.931],"t":312,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[8.857],"t":313,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[9.788],"t":314,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[10.722],"t":315,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[11.661],"t":316,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[12.603],"t":317,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[13.549],"t":318,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.499],"t":319,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.451],"t":320,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.407],"t":321,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[17.366],"t":322,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.327],"t":323,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.29],"t":324,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.256],"t":325,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.225],"t":326,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.195],"t":327,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.166],"t":328,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.14],"t":329,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[25.114],"t":330,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[27.067],"t":332,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[34.893],"t":340,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[35.87],"t":341,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[36.846],"t":342,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[37.82],"t":343,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[38.793],"t":344,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[39.765],"t":345,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[40.734],"t":346,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[41.702],"t":347,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[42.667],"t":348,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.631],"t":349,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[44.591],"t":350,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[45.549],"t":351,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[46.504],"t":352,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[47.455],"t":353,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[48.404],"t":354,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[49.349],"t":355,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[50.29],"t":356,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.227],"t":357,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[52.16],"t":358,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[53.089],"t":359,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.014],"t":360,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.934],"t":361,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.849],"t":362,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.76],"t":363,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.665],"t":364,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.565],"t":365,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.459],"t":366,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.348],"t":367,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.232],"t":368,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.109],"t":369,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.98],"t":370,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.845],"t":371,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.704],"t":372,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.556],"t":373,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.402],"t":374,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.241],"t":375,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.073],"t":376,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.898],"t":377,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[69.716],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.526],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[71.329],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.125],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.913],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[73.693],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[74.466],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.23],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.986],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.735],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[77.474],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.206],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.929],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.643],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.349],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.046],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.735],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.414],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.085],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.746],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.399],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.042],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.301],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.916],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.522],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.119],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.706],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.284],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.852],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[90.41],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[90.959],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[91.498],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[92.027],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[92.547],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[93.057],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[93.557],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[94.047],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[94.527],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[94.998],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[95.458],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[95.909],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[96.35],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[96.78],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[97.201],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[97.612],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[98.013],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[98.404],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[98.785],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[99.156],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[99.517],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[99.868],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[100.209],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[100.54],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[100.862],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.173],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.474],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.766],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[102.047],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[102.319],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[102.581],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[102.833],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[103.075],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[103.307],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[103.529],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[103.742],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[103.945],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":198,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"All Overview Scroll","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-420.5]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":244,"s":[-215.7]},{"t":329,"s":[91.5]}],"ix":3},"y":{"a":0,"k":-350.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":445,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":3,"nm":"Initial Overview In","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[-156]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[209]},{"t":148,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":445,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":3,"nm":"Loop App to Center","parent":12,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-512,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":394.666,"s":[-34.6]},{"t":428,"s":[-86.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":2,"op":445,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":15,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-256,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":90,"op":445,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":388,"s":[-768]},{"t":412,"s":[-1098]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":28,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":90,"op":445,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":13,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[468.4]},{"t":418,"s":[841]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[412.4]},{"t":418,"s":[701]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[-453.5,437],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-451.394,437],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-444.06,437],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-429.42,437],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-404.609,437],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-367.146,437],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-319.437,437],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-271,437],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-229.538,437],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-196.441,437],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-170.42,437],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-149.937,437],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-133.772,437],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-121.025,437],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-111.04,437],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-103.331,437],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-97.527,437],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-93.345,437],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.561,437],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.994,437],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.5,437],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.538,437],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.646,437],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.812,437],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.026,437],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.278,437],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.556,437],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.85,437],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.15,437],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.444,437],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.722,437],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.974,437],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.188,437],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.354,437],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.462,437],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.5,437],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.108,437],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.928,437],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-87.941,437],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-85.108,437],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-81.374,437],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-76.666,437],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-70.891,437],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-63.931,437],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-55.635,437],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-45.809,437],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-34.194,437],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20.442,437],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-4.059,437],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[15.691,437],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[39.987,437],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[70.961,437],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[113.3,437],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[160.183,437],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[197.01,437],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[224.779,437],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[246.21,437],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[263.332,437],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[277.435,437],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[289.337,437],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[299.575,437],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[308.516,437],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[316.422,437],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[323.483,437],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[329.841,437],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[335.607,437],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[340.868,437],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[345.692,437],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[350.135,437],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[354.243,437],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[358.054,437],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[361.6,437],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[364.909,437],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[368.003,437],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[370.903,437],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[373.627,437],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[376.188,437],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[378.601,437],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[380.877,437],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[383.027,437],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.06,437],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[386.984,437],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[388.807,437],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[390.536,437],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[392.176,437],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[393.734,437],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[395.214,437],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[396.62,437],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[397.958,437],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[399.231,437],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[400.443,437],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[401.596,437],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[402.694,437],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[403.74,437],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[404.736,437],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[405.685,437],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[406.588,437],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[407.449,437],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[408.269,437],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[409.049,437],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[409.793,437],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[410.5,437],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[411.173,437],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[411.813,437],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[412.422,437],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[413,437],"t":297,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[413.549,437],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[414.071,437],"t":299,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[414.565,437],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[415.033,437],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[415.477,437],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[415.896,437],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[416.292,437],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[416.666,437],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.018,437],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.35,437],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.661,437],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.953,437],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.225,437],"t":310,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.48,437],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.717,437],"t":312,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.937,437],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[419.327,437],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[419.655,437],"t":317,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.038,437],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.451,437],"t":326,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,436.567],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,435.217],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,432.777],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,428.912],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,422.963],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,413.35],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,395.555],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,382.006],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,374.776],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,370.148],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,366.833],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,364.298],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,362.279],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,360.625],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,359.243],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,358.07],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,357.064],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,356.194],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,355.436],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,354.772],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,354.189],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,353.675],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,353.221],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.821],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.467],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.155],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.88],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.638],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.427],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.085],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,350.74],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-112.782,-52.531],[-53.158,-112.155],[53.158,-112.155],[112.782,-52.531],[112.782,52.531],[53.158,112.155],[-53.158,112.155],[-112.782,52.531]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-121.743,-60.684],[-63.331,-119.095],[63.331,-119.095],[121.743,-60.684],[121.743,60.684],[63.331,119.095],[-63.331,119.095],[-121.743,60.684]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-139.025,-76.408],[-82.951,-132.482],[82.951,-132.482],[139.025,-76.408],[139.025,76.408],[82.951,132.482],[-82.951,132.482],[-139.025,76.408]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-169.932,-104.527],[-118.039,-156.421],[118.039,-156.421],[169.932,-104.527],[169.932,104.527],[118.039,156.421],[-118.039,156.421],[-169.932,104.527]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-234.2,-163],[-191,-206.2],[191,-206.2],[234.2,-163],[234.2,163],[191,206.2],[-191,206.2],[-234.2,163]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-307.385,-229.585],[-274.084,-262.886],[274.084,-262.886],[307.385,-229.585],[307.385,229.585],[274.084,262.886],[-274.084,262.886],[-307.385,229.585]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-339.603,-258.898],[-310.66,-287.84],[310.66,-287.84],[339.603,-258.898],[339.603,258.898],[310.66,287.84],[-310.66,287.84],[-339.603,258.898]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-358.277,-275.888],[-331.86,-302.305],[331.86,-302.305],[358.277,-275.888],[358.277,275.888],[331.86,302.305],[-331.86,302.305],[-358.277,275.888]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-370.965,-287.432],[-346.265,-312.133],[346.265,-312.133],[370.965,-287.432],[370.965,287.432],[346.265,312.133],[-346.265,312.133],[-370.965,287.432]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-380.319,-295.942],[-356.883,-319.377],[356.884,-319.377],[380.319,-295.942],[380.319,295.942],[356.884,319.377],[-356.883,319.377],[-380.319,295.942]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-387.553,-302.524],[-365.096,-324.98],[365.096,-324.98],[387.553,-302.524],[387.553,302.524],[365.096,324.98],[-365.096,324.98],[-387.553,302.524]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-393.324,-307.775],[-371.648,-329.451],[371.648,-329.451],[393.324,-307.775],[393.324,307.775],[371.648,329.451],[-371.648,329.451],[-393.324,307.775]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-398.027,-312.053],[-376.987,-333.093],[376.987,-333.093],[398.027,-312.053],[398.027,312.053],[376.987,333.093],[-376.987,333.093],[-398.027,312.053]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-401.916,-315.591],[-381.402,-336.105],[381.402,-336.105],[401.916,-315.591],[401.916,315.591],[381.402,336.105],[-381.402,336.105],[-401.916,315.591]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-405.165,-318.548],[-385.091,-338.622],[385.091,-338.622],[405.165,-318.548],[405.165,318.548],[385.091,338.622],[-385.091,338.622],[-405.165,318.548]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-407.9,-321.036],[-388.195,-340.74],[388.195,-340.74],[407.9,-321.036],[407.9,321.036],[388.195,340.74],[-388.195,340.74],[-407.9,321.036]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-410.211,-323.139],[-390.82,-342.531],[390.82,-342.531],[410.211,-323.139],[410.211,323.139],[390.82,342.531],[-390.82,342.531],[-410.211,323.139]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-412.17,-324.921],[-393.043,-344.048],[393.043,-344.048],[412.17,-324.921],[412.17,324.921],[393.043,344.048],[-393.043,344.048],[-412.17,324.921]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-413.829,-326.431],[-394.927,-345.333],[394.927,-345.333],[413.829,-326.431],[413.829,326.431],[394.927,345.333],[-394.927,345.333],[-413.829,326.431]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.327,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.327,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-415.232,-327.707],[-396.519,-346.42],[396.519,-346.42],[415.232,-327.707],[415.232,327.707],[396.519,346.42],[-396.519,346.42],[-415.232,327.707]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-416.413,-328.782],[-397.86,-347.335],[397.86,-347.335],[416.413,-328.782],[416.413,328.782],[397.86,347.335],[-397.86,347.335],[-416.413,328.782]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-417.401,-329.68],[-398.982,-348.1],[398.982,-348.1],[417.401,-329.68],[417.401,329.68],[398.982,348.1],[-398.982,348.1],[-417.401,329.68]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.104,0],[0,0],[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104],[0,0],[-10.104,0],[0,0]],"v":[[-418.219,-330.424],[-399.91,-348.733],[399.91,-348.733],[418.219,-330.424],[418.219,330.424],[399.91,348.733],[-399.91,348.733],[-418.219,330.424]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-418.886,-331.031],[-400.667,-349.25],[400.667,-349.25],[418.886,-331.031],[418.886,331.031],[400.667,349.25],[-400.667,349.25],[-418.886,331.031]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-419.419,-331.516],[-401.272,-349.663],[401.272,-349.663],[419.419,-331.516],[419.419,331.516],[401.272,349.663],[-401.272,349.663],[-419.419,331.516]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-419.832,-331.892],[-401.741,-349.982],[401.741,-349.982],[419.832,-331.892],[419.832,331.892],[401.741,349.982],[-401.741,349.982],[-419.832,331.892]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-420.136,-332.169],[-402.087,-350.218],[402.087,-350.218],[420.136,-332.169],[420.136,332.169],[402.087,350.218],[-402.087,350.218],[-420.136,332.169]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-420.344,-332.358],[-402.322,-350.379],[402.322,-350.379],[420.344,-332.358],[420.344,332.358],[402.322,350.379],[-402.322,350.379],[-420.344,332.358]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-420.462,-332.465],[-402.457,-350.471],[402.457,-350.471],[420.462,-332.465],[420.462,332.465],[402.457,350.471],[-402.457,350.471],[-420.462,332.465]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":90,"op":445,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":245,"s":[100]},{"t":262,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":388,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":412,"s":[64,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":90,"op":445,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,752,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.37,"y":0.37},"t":101,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":388,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"t":412,"s":[526,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[843]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[420.5,656.633],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,655.454],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,653.33],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,650.094],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,645.545],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,639.442],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,631.497],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,621.407],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,608.886],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,593.79],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,576.278],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,556.958],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,536.805],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.874],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,497.965],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.511],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,464.641],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,450.32],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,437.437],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,425.847],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,415.403],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,405.982],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.465],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,389.749],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,382.755],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,376.405],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,370.636],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,365.395],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,360.631],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,356.307],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.382],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,348.824],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,345.61],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,342.711],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,340.105],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,337.771],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,335.694],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,333.857],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,332.245],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,330.844],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,329.643],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,328.63],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,327.795],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,327.13],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,326.625],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,326.273],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.892,326],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[422.072,326],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[424.059,326],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[426.892,326],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[430.626,326],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[435.334,326],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[441.109,326],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[448.069,326],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[456.365,326],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[466.191,326],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[477.806,326],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[491.558,326],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[507.941,326],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[527.691,326],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[551.987,326],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[582.961,326],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[625.3,326],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[672.183,326],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[709.01,326],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[736.779,326],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[758.21,326],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[775.332,326],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[789.435,326],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[801.337,326],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[811.575,326],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[820.516,326],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[828.422,326],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[835.483,326],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[841.841,326],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[847.607,326],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[852.868,326],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[857.692,326],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[862.135,326],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[866.243,326],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[870.054,326],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[873.6,326],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[876.909,326],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[880.003,326],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[882.903,326],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[885.627,326],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[888.188,326],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[890.601,326],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[892.877,326],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[895.027,326],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[897.06,326],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[898.984,326],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[900.807,326],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[902.536,326],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[904.176,326],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[905.734,326],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[907.214,326],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[908.62,326],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[909.958,326],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[911.231,326],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[912.443,326],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[913.596,326],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[914.694,326],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[915.74,326],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[916.736,326],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[917.685,326],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[918.588,326],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[919.449,326],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[920.269,326],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[921.049,326],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[921.793,326],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[922.5,326],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[923.173,326],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[923.813,326],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[924.422,326],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[925,326],"t":297,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[925.549,326],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[926.071,326],"t":299,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[926.565,326],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[927.477,326],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[928.292,326],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[929.018,326],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[929.661,326],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[930.48,326],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[931.327,326],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[932.226,326],"t":322,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[932.5,326],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[938.488,326],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[964.354,326],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1014.277,326],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1062.528,326],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1098.987,326],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1126.81,326],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1148.813,326],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1166.701,326],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1181.518,326],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1193.951,326],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1204.468,326],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1213.407,326],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1221.018,326],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1227.494,326],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1232.987,326],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1237.615,326],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1241.477,326],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1244.654,326],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1247.213,326],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1249.212,326],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1250.701,326],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1251.721,326],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-421.5,90],[-331.5,0],[331.5,0],[421.5,90],[421.5,492],[331.5,582],[-331.5,582],[-421.5,492]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-421.06,89.982],[-331.078,0],[331.078,0],[421.06,89.982],[421.06,491.605],[331.078,581.587],[-331.078,581.587],[-421.06,491.605]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-419.619,89.923],[-329.695,0],[329.695,0],[419.619,89.923],[419.619,490.314],[329.695,580.237],[-329.695,580.237],[-419.619,490.314]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-416.958,89.815],[-327.143,0],[327.143,0],[416.958,89.815],[416.958,487.93],[327.143,577.745],[-327.143,577.745],[-416.958,487.93]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-412.797,89.645],[-323.151,0],[323.151,0],[412.797,89.645],[412.797,484.201],[323.151,573.846],[-323.151,573.846],[-412.797,484.201]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-406.775,89.4],[-317.375,0],[317.375,0],[406.775,89.4],[406.775,478.804],[317.375,568.205],[-317.375,568.205],[-406.775,478.804]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-398.461,89.062],[-309.4,0],[309.4,0],[398.461,89.062],[398.461,471.354],[309.4,560.416],[-309.4,560.416],[-398.461,471.354]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-387.407,88.611],[-298.795,0],[298.795,0],[387.407,88.611],[387.407,461.448],[298.795,550.059],[-298.795,550.059],[-387.407,461.448]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-373.33,88.038],[-285.292,0],[285.292,0],[373.33,88.038],[373.33,448.834],[285.292,536.872],[-285.292,536.872],[-373.33,448.834]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-356.473,87.351],[-269.122,0],[269.122,0],[356.473,87.351],[356.473,433.728],[269.122,521.079],[-269.122,521.079],[-356.473,433.728]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-337.88,86.594],[-251.286,0],[251.286,0],[337.88,86.594],[337.88,417.066],[251.286,503.66],[-251.286,503.66],[-337.88,417.066]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-319.099,85.829],[-233.27,0],[233.27,0],[319.099,85.829],[319.099,400.235],[233.27,486.064],[-233.27,486.064],[-319.099,400.235]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-301.424,85.109],[-216.315,0],[216.315,0],[301.424,85.109],[301.424,384.396],[216.315,469.505],[-216.315,469.505],[-301.424,384.396]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-285.496,84.46],[-201.036,0],[201.036,0],[285.496,84.46],[285.496,370.123],[201.036,454.583],[-201.036,454.583],[-285.496,370.123]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-271.44,83.888],[-187.553,0],[187.553,0],[271.44,83.888],[271.44,357.527],[187.553,441.415],[-187.553,441.415],[-271.44,357.527]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-259.129,83.386],[-175.743,0],[175.743,0],[259.129,83.386],[259.129,346.495],[175.743,429.881],[-175.743,429.881],[-259.129,346.495]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-248.356,82.947],[-165.409,0],[165.409,0],[248.356,82.947],[248.356,336.841],[165.409,419.788],[-165.409,419.788],[-248.356,336.841]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-238.91,82.563],[-156.348,0],[156.348,0],[238.91,82.563],[238.91,328.376],[156.348,410.938],[-156.348,410.938],[-238.91,328.376]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-230.605,82.224],[-148.381,0],[148.381,0],[230.605,82.224],[230.605,320.933],[148.381,403.157],[-148.381,403.157],[-230.605,320.933]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-223.282,81.926],[-141.356,0],[141.356,0],[223.282,81.926],[223.282,314.371],[141.356,396.297],[-141.356,396.297],[-223.282,314.371]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-216.811,81.662],[-135.148,0],[135.148,0],[216.811,81.662],[216.811,308.572],[135.148,390.234],[-135.148,390.234],[-216.811,308.572]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-211.082,81.429],[-129.653,0],[129.653,0],[211.082,81.429],[211.082,303.438],[129.653,384.867],[-129.653,384.867],[-211.082,303.438]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-206.006,81.222],[-124.784,0],[124.784,0],[206.006,81.222],[206.006,298.89],[124.784,380.112],[-124.784,380.112],[-206.006,298.89]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-201.509,81.039],[-120.47,0],[120.47,0],[201.509,81.039],[201.509,294.859],[120.47,375.898],[-120.47,375.898],[-201.509,294.859]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-197.527,80.877],[-116.65,0],[116.65,0],[197.527,80.877],[197.527,291.291],[116.65,372.168],[-116.65,372.168],[-197.527,291.291]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-194.007,80.733],[-113.274,0],[113.274,0],[194.007,80.733],[194.007,288.137],[113.274,368.87],[-113.274,368.87],[-194.007,288.137]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-190.904,80.607],[-110.297,0],[110.297,0],[190.904,80.607],[190.904,285.356],[110.297,365.963],[-110.297,365.963],[-190.904,285.356]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-188.18,80.496],[-107.684,0],[107.684,0],[188.18,80.496],[188.18,282.915],[107.684,363.411],[-107.684,363.411],[-188.18,282.915]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-185.8,80.399],[-105.401,0],[105.401,0],[185.8,80.399],[185.8,280.782],[105.401,361.182],[-105.401,361.182],[-185.8,280.782]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-183.736,80.315],[-103.421,0],[103.421,0],[183.736,80.315],[183.736,278.933],[103.421,359.248],[-103.421,359.248],[-183.736,278.933]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-181.963,80.243],[-101.72,0],[101.72,0],[181.963,80.243],[181.963,277.344],[101.72,357.586],[-101.72,357.586],[-181.963,277.344]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-180.457,80.182],[-100.276,0],[100.276,0],[180.457,80.182],[180.457,275.994],[100.276,356.176],[-100.276,356.176],[-180.457,275.994]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-179.2,80.13],[-99.069,0],[99.069,0],[179.2,80.13],[179.2,274.867],[99.069,354.998],[-99.069,354.998],[-179.2,274.867]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-178.173,80.089],[-98.084,0],[98.084,0],[178.173,80.089],[178.173,273.947],[98.084,354.036],[-98.084,354.036],[-178.173,273.947]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-177.361,80.055],[-97.305,0],[97.305,0],[177.361,80.055],[177.361,273.219],[97.305,353.275],[-97.305,353.275],[-177.361,273.219]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.749,80.031],[-96.719,0],[96.719,0],[176.749,80.031],[176.749,272.672],[96.719,352.702],[-96.719,352.702],[-176.749,272.672]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.326,80.013],[-96.313,0],[96.313,0],[176.326,80.013],[176.326,272.292],[96.313,352.306],[-96.313,352.306],[-176.326,272.292]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.08,80.003],[-96.077,0],[96.077,0],[176.08,80.003],[176.08,272.072],[96.077,352.075],[-96.077,352.075],[-176.08,272.072]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,272],[96,352],[-96,352],[-176,272]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,271.658],[95.852,351.613],[-95.852,351.613],[-175.806,271.658]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,270.502],[95.351,350.302],[-95.351,350.302],[-175.151,270.502]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,268.264],[94.381,347.766],[-94.381,347.766],[-173.883,268.264]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,264.526],[92.761,343.529],[-92.761,343.529],[-171.765,264.526]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,258.595],[90.191,336.808],[-90.191,336.808],[-168.404,258.595]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,249.31],[86.168,326.284],[-86.168,326.284],[-163.142,249.31]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,235.078],[80.001,310.155],[-80.001,310.155],[-155.078,235.078]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,216.31],[71.868,288.885],[-71.868,288.885],[-144.442,216.31]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,198.587],[64.188,268.799],[-64.188,268.799],[-134.399,198.587]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,185.345],[58.449,253.791],[-58.449,253.791],[-126.895,185.345]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,175.861],[54.34,243.043],[-54.34,243.043],[-121.522,175.861]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,168.957],[51.348,235.217],[-51.348,235.217],[-117.609,168.957]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,163.84],[49.131,229.419],[-49.131,229.419],[-114.709,163.84]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,160.02],[47.475,225.089],[-47.475,225.089],[-112.544,160.02]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,157.178],[46.244,221.869],[-46.244,221.869],[-110.934,157.178]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.102],[45.344,219.516],[-45.344,219.516],[-109.758,155.102]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,153.643],[44.712,217.862],[-44.712,217.862],[-108.931,153.643]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.691],[44.299,216.783],[-44.299,216.783],[-108.391,152.691]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.164],[44.071,216.186],[-44.071,216.186],[-108.093,152.164]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":2,"op":445,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[841,701],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.875,0.953,0.686,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.875,0.953,0.686,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":445,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Part01_Thumb_Overview_FO_V02","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[420.5,350.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":841,"h":701,"ip":0,"op":425,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Part02_Charade_Overview_FO_V02","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[420.5,350.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":841,"h":701,"ip":425,"op":891,"st":425,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Part03_Demonstration_Overview_FO_V02","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[420.5,350.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":841,"h":701,"ip":891,"op":1336,"st":891,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.12.0","fr":60,"ip":0,"op":1336,"w":841,"h":701,"nm":"SUW_FO_Overview_Preview V02","ddd":0,"assets":[{"id":"comp_0","nm":"Part01_Thumb_Overview_FO_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"OVERSHOOT THUMB","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":246,"s":[563.5]},{"t":331,"s":[603.5]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":182,"s":[571]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":246,"s":[591]},{"t":331,"s":[571]}],"ix":4}},"a":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":321,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":371,"s":[40,0,0]}],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"HAND NULL","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.59],"y":[0]},"t":3,"s":[10]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.15],"y":[0]},"t":59,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.6],"y":[0]},"t":95,"s":[-3]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[-4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.166],"y":[0]},"t":170,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[15]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":231,"s":[12]},{"i":{"x":[0.22],"y":[0.993]},"o":{"x":[0.41],"y":[0]},"t":246,"s":[15.59]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[40]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":321,"s":[40]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":381,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[15]},{"t":425,"s":[65]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.06],"y":[0.36]},"t":0,"s":[260]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[123]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[123]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":231,"s":[70]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[70]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":256.666,"s":[130.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"t":310,"s":[222]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":331,"s":[152]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":371,"s":[94]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[94]},{"t":425,"s":[364]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.194],"y":[0]},"t":0,"s":[273.366]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":63,"s":[162]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[162]},{"i":{"x":[0.83],"y":[1]},"o":{"x":[0.77],"y":[0]},"t":170,"s":[0]},{"i":{"x":[0.33],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":246,"s":[90]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":310,"s":[43]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":321,"s":[43]},{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":381,"s":[11]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":385,"s":[11]},{"t":425,"s":[167]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Thumb - KO","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"k":[{"s":[17.7],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[17.084],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.752],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.548],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.405],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.298],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.213],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.144],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.086],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.037],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.995],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.958],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.926],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.898],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.874],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.852],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.832],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.815],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.8],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.786],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.773],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.763],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.753],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.744],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.73],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.715],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"p":{"k":[{"s":[0,0,0],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.015,0,0],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.077,0,0],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.192,0,0],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.364,0,0],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.598,0,0],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.902,0,0],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.285,0,0],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.76,0,0],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.347,0,0],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.074,0,0],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.968,0,0],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.068,0,0],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-6.423,0,0],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-8.089,0,0],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.109,0,0],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-12.416,0,0],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.732,0,0],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-16.688,0,0],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.11,0,0],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.047,0,0],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.624,0,0],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.922,0,0],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.792,0,0],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.993,0,0],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-17.321,0,0],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.437,0,0],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.855,0,0],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-7.728,0,0],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.403,0,0],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.711,0,0],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.481,0,0],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.587,0,0],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.945,0,0],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.494,0,0],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.2,0,0],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.041,0,0],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.909],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.63],[31.09,-15.283],[13.475,-3.311],[35.363,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.667,116.665],[-117.97,119.232],[-229.615,116.95],[-229.867,50.888],[-139.016,15.389],[-88.152,4.787],[-12.612,-36.255]],"c":true}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.127],[20.863,-4.414],[30.005,14.508],[-19.477,9.414],[-43.782,10.829],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.287,-4.716],[-20.863,4.414],[-30.007,-14.235],[31.121,-15.037],[13.472,-3.332],[35.361,-7.859],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.82,116.749],[-117.884,119.917],[-226.898,115.937],[-226.972,51.297],[-139.102,14.702],[-86.526,4.409],[-12.612,-36.255]],"c":true}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.142],[20.861,-4.429],[29.974,14.261],[-19.489,9.319],[-43.776,10.871],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.733],[-20.861,4.429],[-29.977,-13.992],[31.139,-14.886],[13.471,-3.345],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.3,116.8],[-117.832,120.338],[-225.228,115.315],[-225.194,51.548],[-139.154,14.28],[-85.528,4.177],[-12.612,-36.255]],"c":true}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.438],[29.953,14.089],[-19.498,9.253],[-43.773,10.9],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.438],[-29.956,-13.823],[31.153,-14.781],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.936,116.835],[-117.796,120.632],[-224.061,114.88],[-223.952,51.724],[-139.191,13.985],[-84.829,4.015],[-12.612,-36.255]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.937,13.959],[-19.504,9.203],[-43.77,10.923],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.753],[-20.859,4.446],[-29.94,-13.695],[31.162,-14.701],[13.469,-3.361],[35.359,-7.874],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.662,116.862],[-117.768,120.854],[-223.181,114.552],[-223.014,51.856],[-139.219,13.762],[-84.303,3.893],[-12.612,-36.255]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.166],[20.858,-4.452],[29.924,13.857],[-19.509,9.163],[-43.768,10.94],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.76],[-20.858,4.452],[-29.927,-13.594],[31.17,-14.638],[13.468,-3.366],[35.359,-7.877],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.446,116.884],[-117.746,121.029],[-222.486,114.293],[-222.274,51.961],[-139.241,13.586],[-83.887,3.796],[-12.612,-36.255]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.457],[29.914,13.773],[-19.513,9.131],[-43.766,10.954],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.766],[-20.858,4.457],[-29.917,-13.511],[31.177,-14.587],[13.467,-3.371],[35.359,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.269,116.901],[-117.728,121.172],[-221.919,114.082],[-221.67,52.046],[-139.258,13.443],[-83.548,3.717],[-12.612,-36.255]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.175],[20.857,-4.461],[29.905,13.703],[-19.516,9.104],[-43.764,10.966],[-18.617,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.771],[-20.857,4.461],[-29.908,-13.443],[31.182,-14.544],[13.467,-3.375],[35.358,-7.882],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.121,116.915],[-117.714,121.291],[-221.446,113.906],[-221.166,52.118],[-139.273,13.323],[-83.265,3.652],[-12.612,-36.255]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.997,116.928],[-117.701,121.392],[-221.044,113.756],[-220.739,52.178],[-139.286,13.222],[-83.025,3.596],[-12.612,-36.255]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.593],[-19.522,9.062],[-43.762,10.985],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.895,-13.334],[31.19,-14.477],[13.466,-3.38],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.889,116.938],[-117.69,121.479],[-220.7,113.628],[-220.372,52.23],[-139.297,13.135],[-82.819,3.548],[-12.612,-36.255]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[20.856,-4.47],[29.886,13.549],[-19.524,9.045],[-43.761,10.993],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.781],[-20.856,4.47],[-29.89,-13.291],[31.194,-14.45],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.796,116.947],[-117.681,121.554],[-220.401,113.516],[-220.054,52.275],[-139.306,13.059],[-82.64,3.507],[-12.612,-36.255]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.187],[20.856,-4.472],[29.881,13.51],[-19.526,9.03],[-43.76,10.999],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.784],[-20.856,4.472],[-29.885,-13.253],[31.197,-14.426],[13.466,-3.385],[35.358,-7.887],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.715,116.955],[-117.673,121.62],[-220.14,113.419],[-219.776,52.314],[-139.314,12.993],[-82.484,3.47],[-12.612,-36.255]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.189],[20.856,-4.474],[29.877,13.477],[-19.527,9.017],[-43.76,11.005],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.219],[31.199,-14.406],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.643,116.962],[-117.665,121.678],[-219.911,113.334],[-219.531,52.349],[-139.322,12.935],[-82.347,3.438],[-12.612,-36.255]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.191],[20.855,-4.476],[29.873,13.447],[-19.529,9.005],[-43.759,11.01],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.476],[-29.877,-13.19],[31.201,-14.387],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.58,116.969],[-117.659,121.729],[-219.708,113.258],[-219.316,52.379],[-139.328,12.884],[-82.226,3.41],[-12.612,-36.255]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.192],[20.855,-4.477],[29.87,13.42],[-19.53,8.995],[-43.758,11.015],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.79],[-20.855,4.477],[-29.874,-13.164],[31.203,-14.371],[13.465,-3.389],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.524,116.974],[-117.654,121.774],[-219.529,113.191],[-219.124,52.406],[-139.334,12.839],[-82.118,3.385],[-12.612,-36.255]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.478],[29.867,13.397],[-19.531,8.986],[-43.758,11.019],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.871,-13.141],[31.205,-14.357],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.475,116.979],[-117.649,121.815],[-219.369,113.132],[-218.955,52.43],[-139.339,12.798],[-82.023,3.363],[-12.612,-36.255]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.376],[-19.532,8.978],[-43.757,11.022],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.12],[31.207,-14.344],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.43,116.983],[-117.644,121.85],[-219.227,113.079],[-218.803,52.451],[-139.343,12.762],[-81.938,3.343],[-12.612,-36.255]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[20.855,-4.481],[29.862,13.357],[-19.533,8.971],[-43.757,11.026],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-20.855,4.481],[-29.866,-13.102],[31.208,-14.332],[13.465,-3.393],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.391,116.987],[-117.64,121.882],[-219.101,113.032],[-218.669,52.47],[-139.347,12.73],[-81.862,3.326],[-12.612,-36.255]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.34],[-19.534,8.965],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.482],[-29.864,-13.085],[31.21,-14.322],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.356,116.991],[-117.637,121.911],[-218.988,112.99],[-218.549,52.487],[-139.351,12.702],[-81.795,3.31],[-12.612,-36.255]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.198],[20.854,-4.483],[29.858,13.326],[-19.535,8.959],[-43.756,11.031],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.854,4.483],[-29.862,-13.071],[31.211,-14.313],[13.464,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.324,116.994],[-117.633,121.936],[-218.888,112.952],[-218.441,52.503],[-139.354,12.676],[-81.735,3.296],[-12.612,-36.255]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.199],[20.854,-4.483],[29.856,13.312],[-19.535,8.954],[-43.756,11.033],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.483],[-29.861,-13.058],[31.212,-14.305],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.297,116.997],[-117.631,121.959],[-218.798,112.919],[-218.346,52.516],[-139.357,12.654],[-81.681,3.284],[-12.612,-36.255]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.272,116.999],[-117.628,121.979],[-218.719,112.889],[-218.261,52.528],[-139.359,12.634],[-81.633,3.273],[-12.612,-36.255]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.485],[29.854,13.29],[-19.537,8.945],[-43.756,11.037],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.858,-13.036],[31.213,-14.291],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.25,117.001],[-117.626,121.996],[-218.648,112.863],[-218.186,52.539],[-139.361,12.616],[-81.591,3.263],[-12.612,-36.255]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.485],[29.852,13.281],[-19.537,8.942],[-43.755,11.039],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.857,-13.027],[31.214,-14.286],[13.464,-3.397],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.23,117.003],[-117.624,122.012],[-218.586,112.84],[-218.12,52.548],[-139.363,12.6],[-81.554,3.254],[-12.612,-36.255]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.273],[-19.537,8.939],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.856,-13.019],[31.215,-14.281],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.213,117.005],[-117.622,122.026],[-218.531,112.819],[-218.062,52.556],[-139.365,12.586],[-81.521,3.247],[-12.612,-36.255]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.85,13.266],[-19.538,8.936],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.012],[31.215,-14.277],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.199,117.006],[-117.621,122.038],[-218.483,112.801],[-218.011,52.563],[-139.366,12.574],[-81.493,3.24],[-12.612,-36.255]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.486],[29.85,13.26],[-19.538,8.933],[-43.755,11.042],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.486],[-29.854,-13.006],[31.216,-14.273],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.186,117.007],[-117.619,122.048],[-218.442,112.786],[-217.967,52.57],[-139.368,12.564],[-81.468,3.234],[-12.612,-36.255]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.255],[-19.538,8.931],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-13.001],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.174,117.009],[-117.618,122.057],[-218.406,112.773],[-217.929,52.575],[-139.369,12.555],[-81.446,3.229],[-12.612,-36.255]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.996],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.165,117.009],[-117.617,122.065],[-218.376,112.761],[-217.896,52.58],[-139.37,12.547],[-81.428,3.225],[-12.612,-36.255]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.246],[-19.539,8.928],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.992],[31.217,-14.265],[13.464,-3.399],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.157,117.01],[-117.617,122.071],[-218.35,112.752],[-217.869,52.583],[-139.371,12.541],[-81.413,3.221],[-12.612,-36.255]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.243],[-19.539,8.927],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.99],[31.217,-14.263],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.151,117.011],[-117.616,122.077],[-218.33,112.744],[-217.847,52.586],[-139.371,12.535],[-81.401,3.219],[-12.612,-36.255]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.241],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.146,117.011],[-117.615,122.081],[-218.313,112.738],[-217.83,52.589],[-139.372,12.531],[-81.391,3.216],[-12.612,-36.255]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.853,-4.49],[29.848,13.234],[-19.538,8.926],[-43.753,11.05],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.853,4.49],[-29.852,-12.98],[31.216,-14.262],[13.464,-3.4],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.609,122.089],[-218.282,112.739],[-217.802,52.604],[-139.378,12.528],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.852,-4.496],[29.852,13.224],[-19.535,8.933],[-43.749,11.064],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.852,4.496],[-29.856,-12.971],[31.211,-14.271],[13.462,-3.405],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.592,122.092],[-218.266,112.774],[-217.805,52.64],[-139.395,12.539],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.849,-4.509],[29.859,13.206],[-19.529,8.944],[-43.742,11.09],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.849,4.509],[-29.863,-12.952],[31.202,-14.29],[13.46,-3.413],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.558,122.098],[-218.236,112.841],[-217.812,52.707],[-139.427,12.561],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.843,-4.529],[29.871,13.176],[-19.52,8.963],[-43.729,11.133],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.843,4.529],[-29.875,-12.923],[31.187,-14.32],[13.456,-3.426],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.504,122.108],[-218.187,112.95],[-217.822,52.818],[-139.479,12.596],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.835,-4.56],[29.89,13.13],[-19.505,8.992],[-43.71,11.199],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.835,4.56],[-29.893,-12.877],[31.163,-14.367],[13.45,-3.446],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.42,122.123],[-218.112,113.119],[-217.838,52.99],[-139.56,12.65],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.823,-4.609],[29.918,13.059],[-19.483,9.037],[-43.681,11.3],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.823,4.609],[-29.921,-12.806],[31.128,-14.438],[13.441,-3.477],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.29,122.147],[-217.996,113.379],[-217.863,53.253],[-139.685,12.734],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.804,-4.686],[29.964,12.946],[-19.447,9.109],[-43.634,11.462],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.804,4.686],[-29.966,-12.693],[31.07,-14.553],[13.427,-3.527],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.083,122.185],[-217.811,113.794],[-217.902,53.674],[-139.884,12.867],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.77,-4.822],[30.044,12.747],[-19.384,9.235],[-43.551,11.747],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.77,4.822],[-30.044,-12.494],[30.969,-14.755],[13.401,-3.615],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.718,122.253],[-217.485,114.525],[-217.971,54.416],[-140.234,13.103],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.705,-5.078],[30.195,12.372],[-19.265,9.473],[-43.396,12.284],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.705,5.078],[-30.192,-12.118],[30.779,-15.136],[13.353,-3.78],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.032,122.379],[-216.87,115.902],[-218.102,55.813],[-140.895,13.546],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.64,-5.337],[30.347,11.993],[-19.145,9.713],[-43.239,12.825],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.64,5.337],[-30.341,-11.74],[30.588,-15.519],[13.305,-3.947],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.339,122.506],[-216.251,117.29],[-218.233,57.222],[-141.561,13.993],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.601,-5.492],[30.439,11.766],[-19.073,9.857],[-43.144,13.15],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.601,5.492],[-30.431,-11.513],[30.473,-15.749],[13.276,-4.047],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.924,122.583],[-215.879,118.123],[-218.312,58.067],[-141.96,14.261],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.575,-5.593],[30.498,11.617],[-19.026,9.952],[-43.083,13.363],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.575,5.593],[-30.489,-11.364],[30.397,-15.9],[13.257,-4.112],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.651,122.633],[-215.635,118.67],[-218.364,58.621],[-142.223,14.437],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.557,-5.667],[30.542,11.51],[-18.992,10.02],[-43.038,13.517],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.557,5.667],[-30.532,-11.257],[30.343,-16.009],[13.243,-4.159],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.455,122.669],[-215.459,119.064],[-218.401,59.021],[-142.412,14.564],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.543,-5.723],[30.575,11.428],[-18.966,10.072],[-43.004,13.634],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.543,5.723],[-30.564,-11.175],[30.301,-16.092],[13.233,-4.195],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.305,122.697],[-215.325,119.365],[-218.43,59.326],[-142.556,14.661],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.531,-5.767],[30.601,11.363],[-18.945,10.113],[-42.977,13.727],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.531,5.767],[-30.589,-11.11],[30.269,-16.158],[13.225,-4.224],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.186,122.719],[-215.219,119.602],[-218.452,59.567],[-142.67,14.737],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.523,-5.802],[30.622,11.312],[-18.929,10.146],[-42.956,13.801],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.523,5.802],[-30.61,-11.058],[30.242,-16.21],[13.218,-4.247],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.092,122.736],[-215.134,119.792],[-218.47,59.76],[-142.761,14.798],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.515,-5.831],[30.638,11.269],[-18.916,10.173],[-42.938,13.861],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.515,5.831],[-30.626,-11.016],[30.221,-16.253],[13.213,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.014,122.75],[-215.066,119.947],[-218.485,59.916],[-142.835,14.848],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.855],[30.652,11.235],[-18.905,10.194],[-42.924,13.91],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.855],[-30.64,-10.982],[30.204,-16.288],[13.208,-4.28],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.952,122.762],[-215.009,120.073],[-218.497,60.044],[-142.896,14.888],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.505,-5.874],[30.664,11.207],[-18.896,10.212],[-42.912,13.951],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.505,5.874],[-30.651,-10.954],[30.19,-16.316],[13.205,-4.293],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.9,122.771],[-214.963,120.176],[-218.507,60.149],[-142.945,14.922],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.501,-5.889],[30.673,11.184],[-18.889,10.227],[-42.903,13.983],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.501,5.889],[-30.66,-10.931],[30.178,-16.339],[13.202,-4.303],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.858,122.779],[-214.926,120.259],[-218.514,60.234],[-142.985,14.948],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.497,-5.902],[30.68,11.166],[-18.883,10.238],[-42.895,14.009],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.497,5.902],[-30.667,-10.913],[30.169,-16.358],[13.2,-4.311],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.825,122.785],[-214.896,120.327],[-218.521,60.302],[-143.017,14.97],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.495,-5.912],[30.686,11.151],[-18.878,10.248],[-42.889,14.03],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.495,5.912],[-30.673,-10.898],[30.161,-16.372],[13.198,-4.317],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.799,122.79],[-214.872,120.38],[-218.526,60.356],[-143.043,14.987],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.493,-5.919],[30.69,11.14],[-18.875,10.255],[-42.885,14.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.493,5.919],[-30.677,-10.887],[30.156,-16.384],[13.196,-4.322],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.778,122.794],[-214.854,120.42],[-218.53,60.397],[-143.062,15],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.492,-5.925],[30.694,11.132],[-18.872,10.26],[-42.881,14.058],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.492,5.925],[-30.68,-10.879],[30.152,-16.392],[13.195,-4.326],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.763,122.797],[-214.841,120.45],[-218.533,60.427],[-143.077,15.01],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.929],[30.696,11.127],[-18.87,10.263],[-42.879,14.065],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.929],[-30.683,-10.873],[30.149,-16.397],[13.195,-4.328],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.753,122.798],[-214.832,120.47],[-218.534,60.448],[-143.086,15.016],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.926],[30.694,11.13],[-18.871,10.261],[-42.88,14.06],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.926],[-30.681,-10.877],[30.15,-16.393],[13.195,-4.327],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.76,122.801],[-214.837,120.461],[-218.532,60.439],[-143.08,15.017],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.494,-5.909],[30.683,11.154],[-18.878,10.245],[-42.888,14.024],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.494,5.909],[-30.67,-10.901],[30.161,-16.368],[13.197,-4.315],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.807,122.805],[-214.874,120.382],[-218.52,60.362],[-143.036,15.005],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.5,-5.878],[30.662,11.198],[-18.891,10.215],[-42.903,13.959],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.5,5.878],[-30.649,-10.945],[30.181,-16.321],[13.202,-4.295],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.891,122.811],[-214.94,120.24],[-218.497,60.223],[-142.957,14.984],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.831],[30.631,11.264],[-18.91,10.171],[-42.926,13.86],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.831],[-30.619,-11.011],[30.212,-16.25],[13.209,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.018,122.822],[-215.041,120.025],[-218.463,60.011],[-142.837,14.951],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.522,-5.764],[30.587,11.358],[-18.937,10.109],[-42.957,13.721],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.522,5.764],[-30.575,-11.105],[30.255,-16.15],[13.219,-4.222],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.198,122.836],[-215.184,119.721],[-218.416,59.713],[-142.668,14.904],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.539,-5.674],[30.527,11.485],[-18.973,10.024],[-43.001,13.532],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.539,5.674],[-30.517,-11.232],[30.313,-16.015],[13.232,-4.164],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.441,122.855],[-215.377,119.309],[-218.351,59.31],[-142.439,14.841],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.562,-5.555],[30.448,11.653],[-19.021,9.911],[-43.058,13.281],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.562,5.555],[-30.439,-11.4],[30.39,-15.835],[13.249,-4.087],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.764,122.881],[-215.634,118.763],[-218.265,58.774],[-142.135,14.757],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.592,-5.398],[30.343,11.875],[-19.085,9.763],[-43.133,12.95],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.592,5.398],[-30.336,-11.622],[30.492,-15.598],[13.273,-3.985],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.19,122.915],[-215.972,118.042],[-218.152,58.067],[-141.734,14.646],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.632,-5.189],[30.204,12.169],[-19.169,9.566],[-43.233,12.512],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.632,5.189],[-30.2,-11.916],[30.627,-15.284],[13.303,-3.85],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.755,122.96],[-216.421,117.086],[-218.001,57.13],[-141.203,14.5],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.686,-4.908],[30.018,12.566],[-19.283,9.302],[-43.368,11.922],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.686,4.908],[-30.017,-12.313],[30.808,-14.861],[13.345,-3.669],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.515,123.021],[-217.025,115.8],[-217.799,55.869],[-140.488,14.302],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.76,-4.519],[29.759,13.113],[-19.44,8.935],[-43.554,11.106],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.76,4.519],[-29.763,-12.861],[31.059,-14.276],[13.402,-3.417],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.567,123.104],[-217.86,114.021],[-217.519,54.124],[-139.498,14.029],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.865,-3.972],[29.396,13.885],[-19.662,8.42],[-43.816,9.956],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.865,3.972],[-29.406,-13.633],[31.413,-13.452],[13.483,-3.064],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-119.049,123.222],[-219.037,111.514],[-217.125,51.666],[-138.104,13.644],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.997,-3.279],[28.935,14.862],[-19.942,7.767],[-44.148,8.501],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.997,3.279],[-28.954,-14.61],[31.861,-12.409],[13.585,-2.616],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-120.924,123.372],[-220.526,108.342],[-216.626,48.556],[-136.34,13.158],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.11,-2.69],[28.544,15.692],[-20.18,7.212],[-44.431,7.265],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.11,2.69],[-28.57,-15.44],[32.241,-11.522],[13.672,-2.235],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-122.517,123.499],[-221.791,105.647],[-216.202,45.913],[-134.841,12.744],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.177,-2.342],[28.313,16.183],[-20.321,6.884],[-44.597,6.533],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.177,2.342],[-28.343,-15.931],[32.466,-10.998],[13.723,-2.01],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.459,123.574],[-222.539,104.053],[-215.952,44.35],[-133.955,12.499],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.212,-2.159],[28.191,16.441],[-20.395,6.711],[-44.685,6.149],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.212,2.159],[-28.224,-16.189],[32.585,-10.723],[13.75,-1.892],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.954,123.613],[-222.933,103.215],[-215.82,43.528],[-133.488,12.371],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.228,-2.074],[28.135,16.561],[-20.429,6.631],[-44.726,5.97],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.228,2.074],[-28.168,-16.31],[32.64,-10.595],[13.763,-1.837],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.185,123.632],[-223.116,102.825],[-215.759,43.146],[-133.272,12.311],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[21.229,-2.075],[28.141,16.584],[-20.428,6.644],[-44.727,5.971],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-21.229,2.075],[-28.174,-16.332],[32.638,-10.615],[13.763,-1.837],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.191,117.007],[-124.183,123.577],[-223.288,102.889],[-215.949,43.116],[-133.272,12.341],[-81.479,3.237],[-12.612,-36.255]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[21.214,-2.165],[28.22,16.547],[-20.388,6.771],[-44.691,6.156],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-21.214,2.165],[-28.252,-16.294],[32.574,-10.818],[13.752,-1.894],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.392,116.987],[-123.942,123.353],[-223.74,103.522],[-216.715,43.395],[-133.494,12.513],[-81.864,3.326],[-12.612,-36.255]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[21.184,-2.358],[28.391,16.468],[-20.303,7.044],[-44.612,6.552],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.78],[-21.184,2.358],[-28.42,-16.211],[32.438,-11.253],[13.728,-2.016],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.82,116.945],[-123.428,122.877],[-224.705,104.876],[-218.353,43.99],[-133.968,12.88],[-82.687,3.517],[-12.612,-36.255]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[21.132,-2.689],[28.683,16.333],[-20.156,7.512],[-44.478,7.231],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.757],[-21.132,2.689],[-28.707,-16.07],[32.204,-11.999],[13.687,-2.225],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.555,116.873],[-122.546,122.059],[-226.362,107.198],[-221.163,45.012],[-134.782,13.509],[-84.098,3.845],[-12.612,-36.255]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.137],[21.067,-3.101],[29.047,16.164],[-19.974,8.094],[-44.311,8.076],[-18.619,4.319],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.727],[-21.067,3.101],[-29.065,-15.895],[31.913,-12.928],[13.635,-2.485],[35.361,-7.864],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.47,116.783],[-121.45,121.041],[-228.421,110.085],[-224.657,46.282],[-135.794,14.292],[-85.853,4.253],[-12.612,-36.255]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.114],[21.011,-3.46],[29.364,16.017],[-19.815,8.601],[-44.166,8.812],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.701],[-21.011,3.46],[-29.377,-15.742],[31.66,-13.737],[13.59,-2.712],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.267,116.705],[-120.493,120.154],[-230.218,112.604],[-227.705,47.39],[-136.676,14.976],[-87.385,4.609],[-12.612,-36.255]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.094,4.097],[20.969,-3.728],[29.6,15.907],[-19.696,8.979],[-44.057,9.361],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.283,-4.682],[-20.969,3.728],[-29.609,-15.628],[31.471,-14.34],[13.557,-2.88],[35.363,-7.845],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.861,116.646],[-119.78,119.493],[-231.555,114.479],[-229.974,48.215],[-137.333,15.484],[-88.524,4.873],[-12.612,-36.255]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.092,4.085],[20.938,-3.922],[29.771,15.828],[-19.611,9.253],[-43.979,9.759],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.281,-4.668],[-20.938,3.922],[-29.777,-15.545],[31.334,-14.777],[13.533,-3.003],[35.364,-7.839],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.291,116.604],[-119.263,119.014],[-232.526,115.84],[-231.62,48.814],[-137.81,15.853],[-89.352,5.066],[-12.612,-36.255]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.076],[20.916,-4.063],[29.896,15.77],[-19.548,9.453],[-43.921,10.049],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.658],[-20.916,4.063],[-29.9,-15.485],[31.235,-15.096],[13.515,-3.092],[35.364,-7.835],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.605,116.573],[-118.887,118.664],[-233.233,116.832],[-232.82,49.25],[-138.158,16.122],[-89.954,5.206],[-12.612,-36.255]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.07],[20.9,-4.166],[29.987,15.728],[-19.502,9.599],[-43.88,10.26],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.651],[-20.9,4.166],[-29.989,-15.441],[31.162,-15.328],[13.502,-3.157],[35.364,-7.832],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.834,116.551],[-118.613,118.41],[-233.748,117.554],[-233.694,49.567],[-138.411,16.318],[-90.393,5.308],[-12.612,-36.255]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.065],[20.888,-4.24],[30.052,15.698],[-19.47,9.703],[-43.85,10.411],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.646],[-20.888,4.24],[-30.053,-15.41],[31.11,-15.495],[13.493,-3.204],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.998,116.534],[-118.416,118.227],[-234.118,118.072],[-234.321,49.796],[-138.592,16.459],[-90.708,5.381],[-12.612,-36.255]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.88,-4.291],[30.097,15.677],[-19.447,9.776],[-43.829,10.516],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.88,4.291],[-30.098,-15.388],[31.074,-15.61],[13.487,-3.236],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.112,116.523],[-118.279,118.101],[-234.374,118.431],[-234.756,49.954],[-138.718,16.556],[-90.927,5.432],[-12.612,-36.255]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.06],[20.875,-4.324],[30.126,15.663],[-19.432,9.822],[-43.815,10.584],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.64],[-20.875,4.324],[-30.127,-15.374],[31.05,-15.685],[13.483,-3.257],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.185,116.516],[-118.191,118.019],[-234.54,118.664],[-235.037,50.056],[-138.8,16.619],[-91.068,5.464],[-12.612,-36.255]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.872,-4.342],[30.142,15.656],[-19.424,9.848],[-43.808,10.621],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.872,4.343],[-30.142,-15.366],[31.037,-15.726],[13.48,-3.268],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.226,116.512],[-118.143,117.974],[-234.631,118.791],[-235.191,50.112],[-138.844,16.654],[-91.145,5.482],[-12.612,-36.255]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.422,9.851],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.35],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.209,116.514],[-118.125,117.984],[-234.564,118.795],[-235.138,50.143],[-138.861,16.64],[-91.113,5.475],[-12.612,-36.255]],"c":true}],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.14,15.591],[-19.425,9.832],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.352],[-30.14,-15.302],[31.038,-15.7],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.106,116.524],[-118.114,118.067],[-234.235,118.672],[-234.787,50.193],[-138.871,16.557],[-90.916,5.429],[-12.612,-36.255]],"c":true}],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.068],[20.87,-4.357],[30.127,15.494],[-19.43,9.794],[-43.802,10.66],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.357],[-30.128,-15.206],[31.046,-15.641],[13.479,-3.28],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.901,116.544],[-118.094,118.233],[-233.578,118.427],[-234.088,50.292],[-138.892,16.391],[-90.523,5.338],[-12.612,-36.255]],"c":true}],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.078],[20.869,-4.367],[30.107,15.33],[-19.438,9.731],[-43.799,10.688],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.66],[-20.869,4.367],[-30.108,-15.045],[31.058,-15.54],[13.478,-3.289],[35.364,-7.836],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.555,116.578],[-118.059,118.513],[-232.466,118.013],[-232.903,50.459],[-138.927,16.11],[-89.857,5.183],[-12.612,-36.255]],"c":true}],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.093],[20.867,-4.381],[30.076,15.082],[-19.45,9.636],[-43.794,10.731],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.677],[-20.867,4.381],[-30.077,-14.8],[31.077,-15.388],[13.476,-3.302],[35.363,-7.843],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.031,116.63],[-118.006,118.937],[-230.785,117.386],[-231.113,50.712],[-138.98,15.685],[-88.852,4.95],[-12.612,-36.255]],"c":true}],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.112],[20.865,-4.399],[30.037,14.766],[-19.465,9.514],[-43.787,10.785],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.285,-4.698],[-20.865,4.399],[-30.039,-14.489],[31.101,-15.195],[13.474,-3.319],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.364,116.695],[-117.939,119.476],[-228.645,116.589],[-228.834,51.034],[-139.047,15.144],[-87.572,4.652],[-12.612,-36.255]],"c":true}],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.1,4.147],[20.861,-4.434],[29.963,14.171],[-19.494,9.284],[-43.774,10.887],[-18.618,4.321],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.29,-4.739],[-20.861,4.434],[-29.966,-13.903],[31.146,-14.83],[13.47,-3.35],[35.36,-7.868],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.108,116.818],[-117.813,120.493],[-224.613,115.086],[-224.539,51.641],[-139.174,14.124],[-85.159,4.092],[-12.612,-36.255]],"c":true}],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.936,13.951],[-19.504,9.2],[-43.77,10.924],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.754],[-20.859,4.446],[-29.939,-13.687],[31.163,-14.696],[13.469,-3.362],[35.359,-7.875],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.646,116.864],[-117.766,120.867],[-223.128,114.533],[-222.958,51.864],[-139.22,13.749],[-84.271,3.885],[-12.612,-36.255]],"c":true}],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.456],[29.914,13.779],[-19.513,9.134],[-43.766,10.953],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.765],[-20.858,4.456],[-29.918,-13.517],[31.176,-14.591],[13.467,-3.371],[35.359,-7.879],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.282,116.9],[-117.73,121.161],[-221.961,114.098],[-221.715,52.04],[-139.257,13.453],[-83.573,3.723],[-12.612,-36.255]],"c":true}],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.996,116.928],[-117.701,121.393],[-221.042,113.755],[-220.736,52.178],[-139.286,13.221],[-83.023,3.596],[-12.612,-36.255]],"c":true}],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.185],[20.856,-4.47],[29.884,13.537],[-19.525,9.04],[-43.761,10.995],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.782],[-20.856,4.47],[-29.888,-13.278],[31.195,-14.442],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.77,116.95],[-117.678,121.576],[-220.317,113.485],[-219.964,52.287],[-139.309,13.038],[-82.59,3.495],[-12.612,-36.255]],"c":true}],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.19],[20.855,-4.475],[29.874,13.452],[-19.529,9.008],[-43.759,11.009],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.475],[-29.878,-13.195],[31.201,-14.391],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.592,116.968],[-117.66,121.72],[-219.745,113.272],[-219.355,52.373],[-139.327,12.893],[-82.248,3.415],[-12.612,-36.255]],"c":true}],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.865,13.386],[-19.532,8.982],[-43.758,11.021],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.13],[31.206,-14.35],[13.465,-3.391],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.452,116.981],[-117.646,121.833],[-219.297,113.105],[-218.878,52.441],[-139.341,12.78],[-81.98,3.353],[-12.612,-36.255]],"c":true}],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.854,-4.482],[29.859,13.335],[-19.534,8.962],[-43.757,11.029],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.855,4.482],[-29.863,-13.08],[31.21,-14.319],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.344,116.992],[-117.635,121.92],[-218.951,112.976],[-218.51,52.493],[-139.352,12.693],[-81.773,3.305],[-12.612,-36.255]],"c":true}],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.484],[29.854,13.297],[-19.536,8.948],[-43.756,11.036],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.042],[31.213,-14.295],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.263,117],[-117.627,121.985],[-218.691,112.879],[-218.232,52.532],[-139.36,12.627],[-81.617,3.269],[-12.612,-36.255]],"c":true}],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.269],[-19.538,8.937],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.015],[31.215,-14.278],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.205,117.006],[-117.621,122.033],[-218.504,112.809],[-218.033,52.56],[-139.366,12.579],[-81.505,3.243],[-12.612,-36.255]],"c":true}],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.166,117.009],[-117.617,122.064],[-218.379,112.763],[-217.9,52.579],[-139.37,12.548],[-81.43,3.225],[-12.612,-36.255]],"c":true}],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.986],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.308,112.736],[-217.825,52.59],[-139.372,12.53],[-81.388,3.216],[-12.612,-36.255]],"c":true}],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.085,-3.398],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.374],[-19.532,8.977],[-43.757,11.023],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.428,0.653],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.118],[31.207,-14.343],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.077,194.754],[32.184,139.048],[-41.426,116.984],[-117.644,121.854],[-219.214,113.074],[-218.79,52.453],[-139.343,12.759],[-81.93,3.342],[-12.612,-36.255]],"c":true}],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.763,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.729],[-19.515,9.114],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.751,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.468],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.251,193.909],[32.184,139.048],[-42.176,116.91],[-117.719,121.247],[-221.619,113.97],[-221.351,52.091],[-139.268,13.367],[-83.369,3.676],[-12.612,-36.255]],"c":true}],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[47.069,-2.957],[27.304,14.384],[26.1,4.15],[20.86,-4.436],[29.957,14.124],[-19.496,9.266],[-43.773,10.895],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.446,1.054],[-24.064,-12.677],[-29.291,-4.742],[-20.86,4.436],[-29.96,-13.857],[31.15,-14.802],[13.47,-3.352],[35.36,-7.87],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[125.893,192.97],[32.184,139.048],[-43.009,116.828],[-117.803,120.573],[-224.294,114.967],[-224.2,51.689],[-139.184,14.043],[-84.969,4.047],[-12.612,-36.255]],"c":true}],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[43.879,-2.757],[27.304,14.385],[26.098,4.13],[20.863,-4.417],[29.999,14.464],[-19.48,9.398],[-43.781,10.836],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.637,1.236],[-24.064,-12.677],[-29.288,-4.719],[-20.863,4.417],[-30.002,-14.192],[31.124,-15.01],[13.472,-3.335],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.901,192.158],[32.184,139.048],[-43.728,116.758],[-117.875,119.991],[-226.604,115.828],[-226.659,51.341],[-139.111,14.627],[-86.35,4.368],[-12.612,-36.255]],"c":true}],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.29,-2.594],[27.304,14.385],[26.096,4.113],[20.865,-4.401],[30.034,14.741],[-19.466,9.504],[-43.786,10.789],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.227,1.384],[-24.064,-12.677],[-29.285,-4.7],[-20.865,4.401],[-30.036,-14.465],[31.103,-15.18],[13.474,-3.32],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.155,191.499],[32.184,139.048],[-44.312,116.7],[-117.934,119.518],[-228.478,116.527],[-228.656,51.059],[-139.052,15.101],[-87.472,4.629],[-12.612,-36.255]],"c":true}],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.213,-2.464],[27.304,14.385],[26.094,4.1],[20.866,-4.388],[30.061,14.963],[-19.455,9.59],[-43.791,10.751],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.305,1.503],[-24.064,-12.677],[-29.283,-4.685],[-20.866,4.388],[-30.063,-14.684],[31.086,-15.316],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.765,190.971],[32.184,139.048],[-44.781,116.654],[-117.981,119.139],[-229.982,117.087],[-230.258,50.833],[-139.005,15.482],[-88.372,4.838],[-12.612,-36.255]],"c":true}],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.55,-2.359],[27.304,14.385],[26.093,4.089],[20.868,-4.378],[30.084,15.141],[-19.447,9.658],[-43.795,10.721],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-27.969,1.598],[-24.064,-12.677],[-29.282,-4.673],[-20.867,4.378],[-30.085,-14.859],[31.072,-15.425],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[137.855,190.548],[32.184,139.048],[-45.156,116.617],[-118.019,118.836],[-231.186,117.536],[-231.54,50.652],[-138.967,15.786],[-89.092,5.005],[-12.612,-36.255]],"c":true}],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.223,-2.276],[27.304,14.385],[26.092,4.081],[20.869,-4.37],[30.101,15.283],[-19.44,9.713],[-43.798,10.696],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.296,1.674],[-24.064,-12.677],[-29.281,-4.663],[-20.869,4.37],[-30.102,-14.998],[31.062,-15.511],[13.477,-3.292],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.523,190.21],[32.184,139.048],[-45.456,116.588],[-118.049,118.593],[-232.147,117.894],[-232.564,50.507],[-138.937,16.029],[-89.667,5.139],[-12.612,-36.255]],"c":true}],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.172,-2.21],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.395],[-19.434,9.756],[-43.8,10.677],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.347,1.734],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.116,-15.109],[31.053,-15.58],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.843,189.943],[32.184,139.048],[-45.693,116.565],[-118.073,118.402],[-232.908,118.178],[-233.374,50.392],[-138.913,16.221],[-90.122,5.245],[-12.612,-36.255]],"c":true}],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.354,-2.158],[27.304,14.385],[26.09,4.069],[20.87,-4.358],[30.126,15.482],[-19.43,9.79],[-43.802,10.662],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.166,1.781],[-24.064,-12.677],[-29.279,-4.65],[-20.87,4.358],[-30.126,-15.195],[31.046,-15.634],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.871,189.735],[32.184,139.048],[-45.877,116.546],[-118.091,118.252],[-233.5,118.398],[-234.005,50.303],[-138.894,16.371],[-90.476,5.327],[-12.612,-36.255]],"c":true}],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.733,-2.119],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.549],[-19.427,9.816],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.787,1.816],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.26],[31.041,-15.674],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.652,189.577],[32.184,139.048],[-46.017,116.533],[-118.105,118.139],[-233.95,118.566],[-234.484,50.236],[-138.88,16.485],[-90.745,5.389],[-12.612,-36.255]],"c":true}],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.282,-2.091],[27.304,14.385],[26.089,4.062],[20.871,-4.351],[30.14,15.597],[-19.425,9.834],[-43.805,10.643],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.238,1.842],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.351],[-30.14,-15.308],[31.038,-15.704],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.218,189.462],[32.184,139.048],[-46.119,116.523],[-118.116,118.057],[-234.277,118.688],[-234.832,50.187],[-138.87,16.568],[-90.941,5.435],[-12.612,-36.255]],"c":true}],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.98,-2.072],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.144,15.629],[-19.423,9.847],[-43.805,10.637],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.54,1.859],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.144,-15.34],[31.035,-15.724],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.598,189.385],[32.184,139.048],[-46.187,116.516],[-118.123,118.001],[-234.495,118.769],[-235.065,50.154],[-138.863,16.623],[-91.071,5.465],[-12.612,-36.255]],"c":true}],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.809,-2.061],[27.304,14.385],[26.089,4.059],[20.871,-4.348],[30.147,15.648],[-19.422,9.854],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.711,1.869],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.349],[-30.147,-15.358],[31.034,-15.735],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.813,189.342],[32.184,139.048],[-46.226,116.512],[-118.126,117.97],[-234.619,118.815],[-235.197,50.135],[-138.859,16.654],[-91.146,5.482],[-12.612,-36.255]],"c":true}],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.786,-2.06],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.65],[-19.422,9.855],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.734,1.87],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.36],[31.034,-15.736],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.841,189.336],[32.184,139.048],[-46.231,116.512],[-118.127,117.966],[-234.636,118.821],[-235.214,50.132],[-138.859,16.658],[-91.155,5.485],[-12.612,-36.255]],"c":true}],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.888,-2.066],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.423,9.85],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.632,1.865],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.349],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.714,189.362],[32.184,139.048],[-46.208,116.514],[-118.125,117.985],[-234.562,118.794],[-235.136,50.144],[-138.861,16.64],[-91.111,5.474],[-12.612,-36.255]],"c":true}],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.072,-2.078],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.143,15.619],[-19.423,9.843],[-43.805,10.639],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.448,1.854],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.143,-15.33],[31.036,-15.718],[13.479,-3.274],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.482,189.409],[32.184,139.048],[-46.166,116.518],[-118.12,118.018],[-234.429,118.744],[-234.993,50.164],[-138.865,16.606],[-91.031,5.456],[-12.612,-36.255]],"c":true}],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.355,-2.096],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.139,15.589],[-19.425,9.831],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.164,1.838],[-24.064,-12.677],[-29.278,-4.643],[-20.871,4.352],[-30.139,-15.3],[31.038,-15.699],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.126,189.481],[32.184,139.048],[-46.102,116.524],[-118.114,118.07],[-234.223,118.668],[-234.775,50.195],[-138.872,16.554],[-90.909,5.427],[-12.612,-36.255]],"c":true}],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.759,-2.121],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.546],[-19.427,9.815],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.761,1.815],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.258],[31.042,-15.673],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.619,189.584],[32.184,139.048],[-46.011,116.533],[-118.105,118.144],[-233.931,118.559],[-234.464,50.238],[-138.881,16.48],[-90.734,5.387],[-12.612,-36.255]],"c":true}],"t":364,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.313,-2.156],[27.304,14.385],[26.09,4.068],[20.87,-4.358],[30.127,15.487],[-19.43,9.792],[-43.802,10.661],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.207,1.783],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.358],[-30.127,-15.199],[31.046,-15.636],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.923,189.724],[32.184,139.048],[-45.887,116.546],[-118.092,118.245],[-233.53,118.41],[-234.037,50.299],[-138.893,16.379],[-90.494,5.331],[-12.612,-36.255]],"c":true}],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.056,-2.203],[27.304,14.385],[26.091,4.073],[20.869,-4.362],[30.117,15.407],[-19.434,9.761],[-43.801,10.675],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.463,1.741],[-24.064,-12.677],[-29.28,-4.655],[-20.869,4.362],[-30.117,-15.121],[31.052,-15.588],[13.478,-3.285],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.989,189.914],[32.184,139.048],[-45.719,116.562],[-118.075,118.38],[-232.992,118.209],[-233.463,50.38],[-138.91,16.243],[-90.172,5.256],[-12.612,-36.255]],"c":true}],"t":366,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.047,-2.265],[27.304,14.385],[26.092,4.079],[20.869,-4.368],[30.104,15.302],[-19.439,9.72],[-43.798,10.693],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.472,1.684],[-24.064,-12.677],[-29.281,-4.662],[-20.869,4.368],[-30.104,-15.017],[31.06,-15.523],[13.477,-3.291],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.743,190.166],[32.184,139.048],[-45.495,116.584],[-118.053,118.561],[-232.275,117.941],[-232.699,50.488],[-138.933,16.061],[-89.743,5.157],[-12.612,-36.255]],"c":true}],"t":367,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.366,-2.348],[27.304,14.385],[26.093,4.088],[20.868,-4.377],[30.086,15.161],[-19.446,9.666],[-43.795,10.717],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-28.153,1.609],[-24.064,-12.677],[-29.282,-4.672],[-20.868,4.377],[-30.087,-14.878],[31.071,-15.437],[13.476,-3.298],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[138.086,190.501],[32.184,139.048],[-45.198,116.613],[-118.023,118.802],[-231.32,117.586],[-231.682,50.632],[-138.963,15.82],[-89.172,5.024],[-12.612,-36.255]],"c":true}],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.115,-2.458],[27.304,14.385],[26.094,4.099],[20.866,-4.387],[30.063,14.974],[-19.455,9.594],[-43.791,10.749],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.403,1.509],[-24.064,-12.677],[-29.283,-4.684],[-20.866,4.387],[-30.064,-14.694],[31.085,-15.322],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.888,190.946],[32.184,139.048],[-44.803,116.652],[-117.983,119.121],[-230.053,117.114],[-230.333,50.822],[-139.003,15.5],[-88.414,4.848],[-12.612,-36.255]],"c":true}],"t":369,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.378,-2.6],[27.304,14.385],[26.096,4.114],[20.865,-4.401],[30.033,14.732],[-19.467,9.501],[-43.786,10.791],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.139,1.379],[-24.064,-12.677],[-29.285,-4.701],[-20.865,4.401],[-30.034,-14.456],[31.104,-15.174],[13.474,-3.32],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.044,191.522],[32.184,139.048],[-44.293,116.702],[-117.932,119.534],[-228.414,116.503],[-228.588,51.069],[-139.054,15.085],[-87.434,4.62],[-12.612,-36.255]],"c":true}],"t":370,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[44.061,-2.768],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.456,1.226],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.673,192.204],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":371,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[46.743,-2.937],[27.304,14.385],[26.1,4.148],[20.86,-4.434],[29.961,14.158],[-19.494,9.28],[-43.774,10.889],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.773,1.073],[-24.064,-12.677],[-29.29,-4.74],[-20.86,4.434],[-29.964,-13.891],[31.147,-14.823],[13.47,-3.351],[35.36,-7.869],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[126.303,192.886],[32.184,139.048],[-43.083,116.821],[-117.81,120.513],[-224.53,115.055],[-224.451,51.653],[-139.176,14.103],[-85.11,4.08],[-12.612,-36.255]],"c":true}],"t":372,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[49.006,-3.079],[27.304,14.385],[26.102,4.162],[20.859,-4.448],[29.931,13.917],[-19.506,9.187],[-43.769,10.93],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-16.508,0.943],[-24.064,-12.677],[-29.292,-4.756],[-20.859,4.448],[-29.935,-13.653],[31.166,-14.675],[13.468,-3.363],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[123.459,193.462],[32.184,139.048],[-42.572,116.871],[-117.759,120.927],[-222.892,114.444],[-222.706,51.9],[-139.228,13.689],[-84.13,3.853],[-12.612,-36.255]],"c":true}],"t":373,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.755,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.73],[-19.515,9.115],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.758,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.469],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.26,193.907],[32.184,139.048],[-42.177,116.91],[-117.719,121.246],[-221.625,113.972],[-221.357,52.091],[-139.268,13.369],[-83.372,3.677],[-12.612,-36.255]],"c":true}],"t":374,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[52.074,-3.272],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.589],[-19.522,9.06],[-43.762,10.986],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-13.439,0.768],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.894,-13.33],[31.191,-14.474],[13.466,-3.381],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[119.603,194.243],[32.184,139.048],[-41.88,116.939],[-117.689,121.487],[-220.67,113.617],[-220.34,52.234],[-139.298,13.127],[-82.801,3.544],[-12.612,-36.255]],"c":true}],"t":375,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[53.065,-3.334],[27.304,14.385],[26.105,4.188],[20.856,-4.473],[29.877,13.483],[-19.527,9.019],[-43.76,11.004],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-12.448,0.711],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.226],[31.199,-14.409],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[118.358,194.495],[32.184,139.048],[-41.656,116.961],[-117.667,121.667],[-219.953,113.349],[-219.576,52.342],[-139.32,12.946],[-82.372,3.444],[-12.612,-36.255]],"c":true}],"t":376,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[53.809,-3.381],[27.304,14.385],[26.106,4.193],[20.855,-4.478],[29.868,13.403],[-19.531,8.989],[-43.758,11.018],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.704,0.669],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.872,-13.147],[31.205,-14.361],[13.465,-3.39],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.424,194.684],[32.184,139.048],[-41.489,116.978],[-117.65,121.803],[-219.414,113.148],[-219.003,52.423],[-139.337,12.81],[-82.05,3.369],[-12.612,-36.255]],"c":true}],"t":377,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.362,-3.415],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.344],[-19.534,8.966],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.151,0.637],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.481],[-29.864,-13.089],[31.209,-14.324],[13.465,-3.393],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[116.728,194.825],[32.184,139.048],[-41.364,116.99],[-117.637,121.904],[-219.014,112.999],[-218.576,52.484],[-139.35,12.708],[-81.81,3.314],[-12.612,-36.255]],"c":true}],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[54.766,-3.441],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.747,0.614],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[116.221,194.928],[32.184,139.048],[-41.273,116.999],[-117.628,121.978],[-218.721,112.89],[-218.264,52.528],[-139.359,12.634],[-81.635,3.273],[-12.612,-36.255]],"c":true}],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.049,-3.459],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.271],[-19.537,8.938],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.463,0.598],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.017],[31.215,-14.28],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.865,195],[32.184,139.048],[-41.209,117.005],[-117.622,122.03],[-218.516,112.814],[-218.046,52.558],[-139.365,12.583],[-81.512,3.245],[-12.612,-36.255]],"c":true}],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.233,-3.47],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.251],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.279,0.587],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.633,195.046],[32.184,139.048],[-41.167,117.009],[-117.618,122.063],[-218.383,112.764],[-217.904,52.578],[-139.37,12.549],[-81.433,3.226],[-12.612,-36.255]],"c":true}],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.335,-3.477],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.177,0.582],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.505,195.072],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.309,112.737],[-217.825,52.59],[-139.372,12.53],[-81.389,3.216],[-12.612,-36.255]],"c":true}],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.256],[-19.538,8.932],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.854,-13.002],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.177,117.008],[-117.619,122.055],[-218.414,112.776],[-217.937,52.574],[-139.369,12.557],[-81.451,3.23],[-12.612,-36.255]],"c":true}],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.856,13.308],[-19.536,8.952],[-43.756,11.034],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.484],[-29.86,-13.053],[31.212,-14.302],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.287,116.997],[-117.63,121.966],[-218.767,112.907],[-218.313,52.521],[-139.358,12.646],[-81.662,3.279],[-12.612,-36.255]],"c":true}],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.866,13.387],[-19.532,8.983],[-43.758,11.02],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.132],[31.206,-14.351],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.455,116.981],[-117.647,121.83],[-219.306,113.108],[-218.888,52.439],[-139.341,12.782],[-81.985,3.354],[-12.612,-36.255]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.188],[20.856,-4.473],[29.878,13.491],[-19.527,9.022],[-43.76,11.003],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.785],[-20.856,4.473],[-29.882,-13.233],[31.198,-14.414],[13.466,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.673,116.96],[-117.668,121.654],[-220.006,113.369],[-219.633,52.334],[-139.319,12.959],[-82.404,3.452],[-12.612,-36.255]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.181],[20.857,-4.466],[29.894,13.615],[-19.521,9.07],[-43.762,10.982],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.777],[-20.857,4.466],[-29.898,-13.355],[31.189,-14.49],[13.466,-3.379],[35.358,-7.884],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.934,116.934],[-117.695,121.443],[-220.845,113.682],[-220.526,52.208],[-139.292,13.171],[-82.906,3.568],[-12.612,-36.255]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.172],[20.858,-4.458],[29.911,13.757],[-19.514,9.125],[-43.766,10.957],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.767],[-20.858,4.458],[-29.915,-13.495],[31.178,-14.577],[13.467,-3.372],[35.358,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.234,116.904],[-117.725,121.2],[-221.807,114.04],[-221.551,52.063],[-139.262,13.415],[-83.481,3.702],[-12.612,-36.255]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[20.859,-4.449],[29.931,13.915],[-19.506,9.186],[-43.769,10.93],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.756],[-20.859,4.449],[-29.934,-13.651],[31.166,-14.674],[13.468,-3.363],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.568,116.872],[-117.759,120.93],[-222.879,114.44],[-222.693,51.902],[-139.228,13.686],[-84.123,3.851],[-12.612,-36.255]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.439],[29.953,14.088],[-19.498,9.253],[-43.773,10.901],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.439],[-29.956,-13.822],[31.153,-14.78],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.934,116.836],[-117.795,120.634],[-224.053,114.877],[-223.943,51.725],[-139.191,13.982],[-84.824,4.014],[-12.612,-36.255]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.141],[20.861,-4.428],[29.976,14.275],[-19.489,9.325],[-43.777,10.869],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.732],[-20.861,4.428],[-29.978,-14.006],[31.138,-14.894],[13.471,-3.344],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.328,116.797],[-117.835,120.315],[-225.319,115.349],[-225.291,51.535],[-139.152,14.302],[-85.582,4.19],[-12.612,-36.255]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.129],[20.863,-4.416],[30.001,14.474],[-19.479,9.402],[-43.781,10.835],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.718],[-20.863,4.416],[-30.003,-14.202],[31.123,-15.017],[13.472,-3.334],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.749,116.755],[-117.877,119.974],[-226.671,115.853],[-226.731,51.331],[-139.109,14.645],[-86.391,4.378],[-12.612,-36.255]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.116],[20.864,-4.404],[30.027,14.686],[-19.469,9.483],[-43.785,10.798],[-18.619,4.313],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.704],[-20.864,4.404],[-30.029,-14.411],[31.107,-15.146],[13.473,-3.323],[35.362,-7.854],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.196,116.712],[-117.922,119.612],[-228.106,116.388],[-228.259,51.115],[-139.064,15.007],[-87.249,4.577],[-12.612,-36.255]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.91],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.631],[31.09,-15.283],[13.475,-3.311],[35.362,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.668,116.665],[-117.97,119.23],[-229.62,116.952],[-229.872,50.887],[-139.016,15.39],[-88.155,4.788],[-12.612,-36.255]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.089],[20.868,-4.377],[30.084,15.145],[-19.447,9.66],[-43.795,10.72],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.673],[-20.868,4.378],[-30.085,-14.863],[31.072,-15.427],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.165,116.616],[-118.02,118.829],[-231.213,117.546],[-231.569,50.648],[-138.966,15.793],[-89.108,5.009],[-12.612,-36.255]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.392],[-19.434,9.755],[-43.8,10.678],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.115,-15.106],[31.053,-15.578],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.687,116.565],[-118.072,118.406],[-232.889,118.17],[-233.353,50.395],[-138.914,16.217],[-90.11,5.242],[-12.612,-36.255]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Nail - PATH","parent":5,"tt":1,"tp":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-215.854,53.1,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[0,0],[4.232,-12.502],[12.921,-1.766],[0,0],[-10.742,11.216],[0,0],[-9.55,-10.068]],"o":[[8.923,9.803],[-4.232,12.502],[0,0],[-17.559,-12.801],[0,0],[13.042,-4.219],[0,0]],"v":[[43.524,-16.699],[51.346,19.151],[23.347,42.689],[-15.873,40.533],[-19.404,-10.788],[6.329,-27.088],[43.177,-17.287]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"t":197,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":275,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":400,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.75686275959,0.549019634724,0.474509805441,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Thumb - PATH","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":59,"s":[17.7]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":95,"s":[15.7]},{"t":147,"s":[15.7]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":122,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.604,"y":0.604},"t":145,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.2,"y":0.2},"t":147,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":197,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.49,-5.931],[30.698,11.123],[-18.869,10.266],[-42.877,14.071],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.49,5.931],[-30.684,-10.869],[30.147,-16.402],[13.194,-4.33],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.746,122.8],[-214.825,120.486],[-218.536,60.463],[-143.094,15.021],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":197,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":275,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":400,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":3,"nm":"All Overview Scroll","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[214.5]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":263,"s":[419.3]},{"t":348,"s":[726.5]}],"ix":3},"y":{"a":0,"k":-95,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":3,"nm":"Initial Overview In","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":182,"s":[-156]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[209]},{"t":217,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":3,"nm":"Loop App to Center","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-512,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":384.666,"s":[-34.6]},{"t":418,"s":[-86.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":10,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":264,"s":[100]},{"t":281,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-256,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":7,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":378,"s":[-768]},{"t":402,"s":[-1098]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":8,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":264,"s":[50]},{"i":{"x":[0.833],"y":[0.757]},"o":{"x":[0.167],"y":[0]},"t":348,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":399,"s":[95]},{"t":424,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[468.4]},{"t":408,"s":[841]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[412.4]},{"t":408,"s":[701]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":378,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":383,"s":[43.2]},{"t":408,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":11,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-112.782,-52.531],[-53.158,-112.155],[53.158,-112.155],[112.782,-52.531],[112.782,52.531],[53.158,112.155],[-53.158,112.155],[-112.782,52.531]],"c":true}],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-121.743,-60.684],[-63.331,-119.095],[63.331,-119.095],[121.743,-60.684],[121.743,60.684],[63.331,119.095],[-63.331,119.095],[-121.743,60.684]],"c":true}],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-139.025,-76.408],[-82.951,-132.482],[82.951,-132.482],[139.025,-76.408],[139.025,76.408],[82.951,132.482],[-82.951,132.482],[-139.025,76.408]],"c":true}],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-169.932,-104.527],[-118.039,-156.421],[118.039,-156.421],[169.932,-104.527],[169.932,104.527],[118.039,156.421],[-118.039,156.421],[-169.932,104.527]],"c":true}],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-234.2,-163],[-191,-206.2],[191,-206.2],[234.2,-163],[234.2,163],[191,206.2],[-191,206.2],[-234.2,163]],"c":true}],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-307.385,-229.585],[-274.084,-262.886],[274.084,-262.886],[307.385,-229.585],[307.385,229.585],[274.084,262.886],[-274.084,262.886],[-307.385,229.585]],"c":true}],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-339.603,-258.898],[-310.66,-287.84],[310.66,-287.84],[339.603,-258.898],[339.603,258.898],[310.66,287.84],[-310.66,287.84],[-339.603,258.898]],"c":true}],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-358.277,-275.888],[-331.86,-302.305],[331.86,-302.305],[358.277,-275.888],[358.277,275.888],[331.86,302.305],[-331.86,302.305],[-358.277,275.888]],"c":true}],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-370.965,-287.432],[-346.265,-312.133],[346.265,-312.133],[370.965,-287.432],[370.965,287.432],[346.265,312.133],[-346.265,312.133],[-370.965,287.432]],"c":true}],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-380.319,-295.942],[-356.883,-319.377],[356.884,-319.377],[380.319,-295.942],[380.319,295.942],[356.884,319.377],[-356.883,319.377],[-380.319,295.942]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-387.553,-302.524],[-365.096,-324.98],[365.096,-324.98],[387.553,-302.524],[387.553,302.524],[365.096,324.98],[-365.096,324.98],[-387.553,302.524]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-393.324,-307.775],[-371.648,-329.451],[371.648,-329.451],[393.324,-307.775],[393.324,307.775],[371.648,329.451],[-371.648,329.451],[-393.324,307.775]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-398.027,-312.053],[-376.987,-333.093],[376.987,-333.093],[398.027,-312.053],[398.027,312.053],[376.987,333.093],[-376.987,333.093],[-398.027,312.053]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-401.916,-315.591],[-381.402,-336.105],[381.402,-336.105],[401.916,-315.591],[401.916,315.591],[381.402,336.105],[-381.402,336.105],[-401.916,315.591]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-405.165,-318.548],[-385.091,-338.622],[385.091,-338.622],[405.165,-318.548],[405.165,318.548],[385.091,338.622],[-385.091,338.622],[-405.165,318.548]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-407.9,-321.036],[-388.195,-340.74],[388.195,-340.74],[407.9,-321.036],[407.9,321.036],[388.195,340.74],[-388.195,340.74],[-407.9,321.036]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-410.211,-323.139],[-390.82,-342.531],[390.82,-342.531],[410.211,-323.139],[410.211,323.139],[390.82,342.531],[-390.82,342.531],[-410.211,323.139]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-412.17,-324.921],[-393.043,-344.048],[393.043,-344.048],[412.17,-324.921],[412.17,324.921],[393.043,344.048],[-393.043,344.048],[-412.17,324.921]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-413.829,-326.431],[-394.927,-345.333],[394.927,-345.333],[413.829,-326.431],[413.829,326.431],[394.927,345.333],[-394.927,345.333],[-413.829,326.431]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.327,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.327,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-415.232,-327.707],[-396.519,-346.42],[396.519,-346.42],[415.232,-327.707],[415.232,327.707],[396.519,346.42],[-396.519,346.42],[-415.232,327.707]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-416.413,-328.782],[-397.86,-347.335],[397.86,-347.335],[416.413,-328.782],[416.413,328.782],[397.86,347.335],[-397.86,347.335],[-416.413,328.782]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-417.401,-329.68],[-398.982,-348.1],[398.982,-348.1],[417.401,-329.68],[417.401,329.68],[398.982,348.1],[-398.982,348.1],[-417.401,329.68]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.104,0],[0,0],[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104],[0,0],[-10.104,0],[0,0]],"v":[[-418.219,-330.424],[-399.91,-348.733],[399.91,-348.733],[418.219,-330.424],[418.219,330.424],[399.91,348.733],[-399.91,348.733],[-418.219,330.424]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-418.886,-331.031],[-400.667,-349.25],[400.667,-349.25],[418.886,-331.031],[418.886,331.031],[400.667,349.25],[-400.667,349.25],[-418.886,331.031]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-419.419,-331.516],[-401.272,-349.663],[401.272,-349.663],[419.419,-331.516],[419.419,331.516],[401.272,349.663],[-401.272,349.663],[-419.419,331.516]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-419.832,-331.892],[-401.741,-349.982],[401.741,-349.982],[419.832,-331.892],[419.832,331.892],[401.741,349.982],[-401.741,349.982],[-419.832,331.892]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-420.136,-332.169],[-402.087,-350.218],[402.087,-350.218],[420.136,-332.169],[420.136,332.169],[402.087,350.218],[-402.087,350.218],[-420.136,332.169]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-420.344,-332.358],[-402.322,-350.379],[402.322,-350.379],[420.344,-332.358],[420.344,332.358],[402.322,350.379],[-402.322,350.379],[-420.344,332.358]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-420.462,-332.465],[-402.457,-350.471],[402.457,-350.471],[420.462,-332.465],[420.462,332.465],[402.457,350.471],[-402.457,350.471],[-420.462,332.465]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":110,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":64,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":76,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":88,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":118,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":140,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[100]},{"t":264,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":122,"s":[206,752,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.37,"y":0.37},"t":170,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":378,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"t":402,"s":[526,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[843]},{"t":170,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[582]},{"t":170,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[90]},{"t":170,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[64]},{"t":217,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":12,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[206,751.633],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,750.454],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,748.33],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,745.094],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,740.545],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,734.442],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,726.497],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,716.407],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,703.886],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,688.79],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,671.278],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,651.958],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,631.805],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,611.874],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,592.965],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,575.511],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,559.641],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,545.32],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,532.437],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,520.847],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,510.403],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,500.982],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,492.465],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,484.749],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,477.755],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,471.405],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,465.636],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,460.395],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,455.631],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,451.307],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,447.382],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,443.824],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,440.61],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,437.711],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,435.105],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,432.771],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,430.694],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,428.857],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,427.245],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,425.844],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,424.643],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,423.63],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,422.795],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,422.13],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421.625],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421.273],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[211.988,421],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[237.854,421],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[287.777,421],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[336.028,421],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[372.487,421],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[400.31,421],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[422.313,421],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[440.201,421],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[455.018,421],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[467.451,421],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[477.968,421],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[486.907,421],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[494.518,421],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[500.994,421],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[506.487,421],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[511.115,421],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[514.977,421],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[518.154,421],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[520.713,421],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[522.712,421],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[524.201,421],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[525.221,421],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[525.81,421],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-421.5,90],[-331.5,0],[331.5,0],[421.5,90],[421.5,492],[331.5,582],[-331.5,582],[-421.5,492]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-421.06,89.982],[-331.078,0],[331.078,0],[421.06,89.982],[421.06,491.605],[331.078,581.587],[-331.078,581.587],[-421.06,491.605]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-419.619,89.923],[-329.695,0],[329.695,0],[419.619,89.923],[419.619,490.314],[329.695,580.237],[-329.695,580.237],[-419.619,490.314]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-416.958,89.815],[-327.143,0],[327.143,0],[416.958,89.815],[416.958,487.93],[327.143,577.745],[-327.143,577.745],[-416.958,487.93]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-412.797,89.645],[-323.151,0],[323.151,0],[412.797,89.645],[412.797,484.201],[323.151,573.846],[-323.151,573.846],[-412.797,484.201]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-406.775,89.4],[-317.375,0],[317.375,0],[406.775,89.4],[406.775,478.804],[317.375,568.205],[-317.375,568.205],[-406.775,478.804]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-398.461,89.062],[-309.4,0],[309.4,0],[398.461,89.062],[398.461,471.354],[309.4,560.416],[-309.4,560.416],[-398.461,471.354]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-387.407,88.611],[-298.795,0],[298.795,0],[387.407,88.611],[387.407,461.448],[298.795,550.059],[-298.795,550.059],[-387.407,461.448]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-373.33,88.038],[-285.292,0],[285.292,0],[373.33,88.038],[373.33,448.834],[285.292,536.872],[-285.292,536.872],[-373.33,448.834]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-356.473,87.351],[-269.122,0],[269.122,0],[356.473,87.351],[356.473,433.728],[269.122,521.079],[-269.122,521.079],[-356.473,433.728]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-337.88,86.594],[-251.286,0],[251.286,0],[337.88,86.594],[337.88,417.066],[251.286,503.66],[-251.286,503.66],[-337.88,417.066]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-319.099,85.829],[-233.27,0],[233.27,0],[319.099,85.829],[319.099,400.235],[233.27,486.064],[-233.27,486.064],[-319.099,400.235]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-301.424,85.109],[-216.315,0],[216.315,0],[301.424,85.109],[301.424,384.396],[216.315,469.505],[-216.315,469.505],[-301.424,384.396]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-285.496,84.46],[-201.036,0],[201.036,0],[285.496,84.46],[285.496,370.123],[201.036,454.583],[-201.036,454.583],[-285.496,370.123]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-271.44,83.888],[-187.553,0],[187.553,0],[271.44,83.888],[271.44,357.527],[187.553,441.415],[-187.553,441.415],[-271.44,357.527]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-259.129,83.386],[-175.743,0],[175.743,0],[259.129,83.386],[259.129,346.495],[175.743,429.881],[-175.743,429.881],[-259.129,346.495]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-248.356,82.947],[-165.409,0],[165.409,0],[248.356,82.947],[248.356,336.841],[165.409,419.788],[-165.409,419.788],[-248.356,336.841]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-238.91,82.563],[-156.348,0],[156.348,0],[238.91,82.563],[238.91,328.376],[156.348,410.938],[-156.348,410.938],[-238.91,328.376]],"c":true}],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-230.605,82.224],[-148.381,0],[148.381,0],[230.605,82.224],[230.605,320.933],[148.381,403.157],[-148.381,403.157],[-230.605,320.933]],"c":true}],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-223.282,81.926],[-141.356,0],[141.356,0],[223.282,81.926],[223.282,314.371],[141.356,396.297],[-141.356,396.297],[-223.282,314.371]],"c":true}],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-216.811,81.662],[-135.148,0],[135.148,0],[216.811,81.662],[216.811,308.572],[135.148,390.234],[-135.148,390.234],[-216.811,308.572]],"c":true}],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-211.082,81.429],[-129.653,0],[129.653,0],[211.082,81.429],[211.082,303.438],[129.653,384.867],[-129.653,384.867],[-211.082,303.438]],"c":true}],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-206.006,81.222],[-124.784,0],[124.784,0],[206.006,81.222],[206.006,298.89],[124.784,380.112],[-124.784,380.112],[-206.006,298.89]],"c":true}],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-201.509,81.039],[-120.47,0],[120.47,0],[201.509,81.039],[201.509,294.859],[120.47,375.898],[-120.47,375.898],[-201.509,294.859]],"c":true}],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-197.527,80.877],[-116.65,0],[116.65,0],[197.527,80.877],[197.527,291.291],[116.65,372.168],[-116.65,372.168],[-197.527,291.291]],"c":true}],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-194.007,80.733],[-113.274,0],[113.274,0],[194.007,80.733],[194.007,288.137],[113.274,368.87],[-113.274,368.87],[-194.007,288.137]],"c":true}],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-190.904,80.607],[-110.297,0],[110.297,0],[190.904,80.607],[190.904,285.356],[110.297,365.963],[-110.297,365.963],[-190.904,285.356]],"c":true}],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-188.18,80.496],[-107.684,0],[107.684,0],[188.18,80.496],[188.18,282.915],[107.684,363.411],[-107.684,363.411],[-188.18,282.915]],"c":true}],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-185.8,80.399],[-105.401,0],[105.401,0],[185.8,80.399],[185.8,280.782],[105.401,361.182],[-105.401,361.182],[-185.8,280.782]],"c":true}],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-183.736,80.315],[-103.421,0],[103.421,0],[183.736,80.315],[183.736,278.933],[103.421,359.248],[-103.421,359.248],[-183.736,278.933]],"c":true}],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-181.963,80.243],[-101.72,0],[101.72,0],[181.963,80.243],[181.963,277.344],[101.72,357.586],[-101.72,357.586],[-181.963,277.344]],"c":true}],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-180.457,80.182],[-100.276,0],[100.276,0],[180.457,80.182],[180.457,275.994],[100.276,356.176],[-100.276,356.176],[-180.457,275.994]],"c":true}],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-179.2,80.13],[-99.069,0],[99.069,0],[179.2,80.13],[179.2,274.867],[99.069,354.998],[-99.069,354.998],[-179.2,274.867]],"c":true}],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-178.173,80.089],[-98.084,0],[98.084,0],[178.173,80.089],[178.173,273.947],[98.084,354.036],[-98.084,354.036],[-178.173,273.947]],"c":true}],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-177.361,80.055],[-97.305,0],[97.305,0],[177.361,80.055],[177.361,273.219],[97.305,353.275],[-97.305,353.275],[-177.361,273.219]],"c":true}],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.749,80.031],[-96.719,0],[96.719,0],[176.749,80.031],[176.749,272.672],[96.719,352.702],[-96.719,352.702],[-176.749,272.672]],"c":true}],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.326,80.013],[-96.313,0],[96.313,0],[176.326,80.013],[176.326,272.292],[96.313,352.306],[-96.313,352.306],[-176.326,272.292]],"c":true}],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.08,80.003],[-96.077,0],[96.077,0],[176.08,80.003],[176.08,272.072],[96.077,352.075],[-96.077,352.075],[-176.08,272.072]],"c":true}],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,272],[96,352],[-96,352],[-176,272]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,271.658],[95.852,351.613],[-95.852,351.613],[-175.806,271.658]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,270.502],[95.351,350.302],[-95.351,350.302],[-175.151,270.502]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,268.264],[94.381,347.766],[-94.381,347.766],[-173.883,268.264]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,264.526],[92.761,343.529],[-92.761,343.529],[-171.765,264.526]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,258.595],[90.191,336.808],[-90.191,336.808],[-168.404,258.595]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,249.31],[86.168,326.284],[-86.168,326.284],[-163.142,249.31]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,235.078],[80.001,310.155],[-80.001,310.155],[-155.078,235.078]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,216.31],[71.868,288.885],[-71.868,288.885],[-144.442,216.31]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,198.587],[64.188,268.799],[-64.188,268.799],[-134.399,198.587]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,185.345],[58.449,253.791],[-58.449,253.791],[-126.895,185.345]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,175.861],[54.34,243.043],[-54.34,243.043],[-121.522,175.861]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,168.957],[51.348,235.217],[-51.348,235.217],[-117.609,168.957]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,163.84],[49.131,229.419],[-49.131,229.419],[-114.709,163.84]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,160.02],[47.475,225.089],[-47.475,225.089],[-112.544,160.02]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,157.178],[46.244,221.869],[-46.244,221.869],[-110.934,157.178]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.102],[45.344,219.516],[-45.344,219.516],[-109.758,155.102]],"c":true}],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,153.643],[44.712,217.862],[-44.712,217.862],[-108.931,153.643]],"c":true}],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.691],[44.299,216.783],[-44.299,216.783],[-108.391,152.691]],"c":true}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.164],[44.071,216.186],[-44.071,216.186],[-108.093,152.164]],"c":true}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":59,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":7,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":264,"s":[100]},{"t":281,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":378,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":402,"s":[64,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":426,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[841,701],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.325,0.271,0.165,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.325,0.271,0.165,1],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":426,"st":0,"ct":1,"bm":0}]},{"id":"comp_1","nm":"Part02_Charade_Overview_FO_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Scene Repo","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[635,160.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Size","np":3,"mn":"ADBE Point Control","ix":1,"en":1,"ef":[{"ty":3,"nm":"Point","mn":"ADBE Point Control-0001","ix":1,"v":{"a":0,"k":[100,100],"ix":1}}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Secondary Y Movement","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-214.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[457.209]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":40.334,"s":[464.409]},{"t":52,"s":[457.209]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"MASTER Y POSITION","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.426],"y":[0.38]},"o":{"x":[0.48],"y":[0.051]},"t":0,"s":[-97.709]},{"i":{"x":[0.633],"y":[1]},"o":{"x":[0.654],"y":[-0.375]},"t":23,"s":[-103.709]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":38,"s":[-92.709]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":44.666,"s":[-50.709]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":78,"s":[12.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":109,"s":[-7.709]},{"i":{"x":[0.8],"y":[0.764]},"o":{"x":[0.3],"y":[0]},"t":118,"s":[-7.709]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":128,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.78],"y":[0]},"t":143,"s":[46.291]},{"i":{"x":[0.8],"y":[0.528]},"o":{"x":[0.3],"y":[0]},"t":145,"s":[46.291]},{"i":{"x":[0.22],"y":[1]},"o":{"x":[0.18],"y":[1]},"t":155,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":184,"s":[-7.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":195,"s":[-7.709]},{"i":{"x":[0.428],"y":[1]},"o":{"x":[0.681],"y":[0]},"t":235,"s":[-221.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[-199.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":294,"s":[-199.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":334,"s":[-221.709]},{"i":{"x":[0.473],"y":[1.867]},"o":{"x":[0.63],"y":[0]},"t":343,"s":[-221.709]},{"i":{"x":[0.105],"y":[1]},"o":{"x":[0.497],"y":[-0.207]},"t":406,"s":[-157.709]},{"t":466,"s":[62.291]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":60,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":72,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":84,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":96,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":108,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":162,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":174,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":186,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":198,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":210,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":264,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":276,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":288,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":300,"s":[100]},{"t":312,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-214.5,1078.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":6,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":0,"k":843,"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":0,"k":581,"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":0,"k":90,"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"a":0,"k":90,"ix":8}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"a":0,"k":135,"ix":9}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"a":0,"k":135,"ix":10}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[420.5,1239],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,1239],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.506,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.507,0],[0,0]],"v":[[-421.5,-491],[-331.5,-581],[331.5,-581],[421.5,-491],[421.5,-135],[286.5,0],[-286.5,0],[-421.5,-135]],"c":true}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.506,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.507,0],[0,0]],"v":[[-421.5,-491],[-331.5,-581],[331.5,-581],[421.5,-491],[421.5,-135],[286.5,0],[-286.5,0],[-421.5,-135]],"c":true}],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":311,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"k":[{"s":[0,0],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 11986","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":312,"st":-205,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-144,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-134,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.108},"t":426,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":465,"s":[0,-10.9,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":5,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-0.27],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-0.737],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-1.391],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-2.194],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-3.049],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-3.867],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-4.609],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-5.269],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-5.856],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-6.38],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-6.85],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.272],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.654],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.999],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.312],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.595],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.851],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.083],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.295],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.488],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.662],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.82],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.963],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.093],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.211],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.317],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.412],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.498],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.575],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.642],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.701],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.752],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.794],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.83],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.857],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.878],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.892],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}]},{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.167},"t":426,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}]},{"t":465,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.44],"y":[0]},"t":406,"s":[54]},{"t":426,"s":[58]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":18,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.461,-40.238]],"c":false}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.979,-40.201]],"c":false}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.191,-40.142]],"c":false}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[53.112,-40.06]],"c":false}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[51.754,-39.958]],"c":false}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[50.13,-39.835]],"c":false}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[48.251,-39.693]],"c":false}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[46.13,-39.533]],"c":false}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[43.779,-39.356]],"c":false}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[41.212,-39.162]],"c":false}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[38.443,-38.953]],"c":false}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[35.488,-38.73]],"c":false}],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[32.365,-38.494]],"c":false}],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[29.095,-38.248]],"c":false}],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[25.705,-37.992]],"c":false}],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[22.232,-37.73]],"c":false}],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[18.728,-37.465]],"c":false}],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[15.275,-37.205]],"c":false}],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[12.014,-36.959]],"c":false}],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.245]],"c":false}],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-35.487]],"c":false}],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-34.479]],"c":false}],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-33.307]],"c":false}],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-32.102]],"c":false}],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-30.966]],"c":false}],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.94]],"c":false}],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.029]],"c":false}],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-28.223]],"c":false}],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-27.508]],"c":false}],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.872]],"c":false}],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.304]],"c":false}],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.794]],"c":false}],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.335]],"c":false}],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.92]],"c":false}],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.545]],"c":false}],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.205]],"c":false}],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.896]],"c":false}],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.615]],"c":false}],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.36]],"c":false}],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.129]],"c":false}],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.918]],"c":false}],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.728]],"c":false}],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.555]],"c":false}],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.4]],"c":false}],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.26]],"c":false}],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.135]],"c":false}],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.023]],"c":false}],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.924]],"c":false}],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.837]],"c":false}],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.762]],"c":false}],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.697]],"c":false}],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.642]],"c":false}],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.597]],"c":false}],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.561]],"c":false}],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.534]],"c":false}],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.515]],"c":false}],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"k":[{"s":[54.014],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.056],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.123],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.216],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.333],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.474],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.636],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.819],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.022],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.244],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.483],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.738],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.008],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.291],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.584],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.883],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.185],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.482],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.763],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":1,"k":[{"t":-145,"s":[0],"h":1},{"t":18,"s":[100],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[6.167,-3.179],[-15.352,0],[5.008,2.581]],"o":[[-5.59,2.881],[13.869,0],[-6.167,-3.179]],"v":[[-9.526,-79.571],[0.604,-100.669],[9.867,-79.571]],"c":true}]},{"t":426,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,-79.571],[0.709,-100.669],[11.321,-79.571]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.765,"y":0.675},"o":{"x":0.399,"y":0},"t":406,"s":[0,139],"to":[0,0],"ti":[0,0]},{"i":{"x":0.24,"y":1},"o":{"x":0.4,"y":0.441},"t":424,"s":[0,101],"to":[0,0],"ti":[0,0]},{"t":427,"s":[0,93]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":406,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-6,"s":[100]},{"t":5,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0.467,-21.75],[3.272,-35.766]],"c":false}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.584,-21.75],[18.031,-34.708]],"c":false}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.048,-21.75],[28.237,-33.976]],"c":false}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.064,-21.75],[35.32,-33.468]],"c":false}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.767,-21.75],[40.22,-33.116]],"c":false}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.241,-21.75],[43.523,-32.88]],"c":false}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.54,-21.75],[45.607,-32.73]],"c":false}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.701,-21.75],[46.73,-32.65]],"c":false}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[49.587,-33.707]],"c":false}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[54.144,-35.668]],"c":false}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[57.197,-36.982]],"c":false}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[59.162,-37.828]],"c":false}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[60.549,-38.425]],"c":false}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[61.581,-38.869]],"c":false}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.369,-39.208]],"c":false}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.978,-39.47]],"c":false}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.45,-39.673]],"c":false}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.811,-39.829]],"c":false}],"t":218,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.082,-39.945]],"c":false}],"t":219,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.276,-40.028]],"c":false}],"t":220,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.405,-40.084]],"c":false}],"t":221,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":221,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":195,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.01,"y":1},"o":{"x":0.167,"y":0.167},"t":208,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}]},{"t":223,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.5,-40.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":221,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":200,"op":221,"st":-6,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-145,"s":[100]},{"t":-134,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.725,-44.786]],"c":false}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.906,-43.051]],"c":false}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.119,-41.012]],"c":false}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.349,-38.801]],"c":false}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.591,-36.476]],"c":false}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.841,-34.073]],"c":false}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.097,-31.615]],"c":false}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.357,-29.121]],"c":false}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.618,-26.612]],"c":false}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.878,-24.121]],"c":false}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.021,-24.795]],"c":false}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.846,-29.943]],"c":false}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.74,-33.077]],"c":false}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.672,-35.065]],"c":false}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.625,-36.457]],"c":false}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.59,-37.483]],"c":false}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.564,-38.258]],"c":false}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.543,-38.847]],"c":false}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.528,-39.292]],"c":false}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.517,-39.621]],"c":false}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.509,-39.856]],"c":false}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.504,-40.011]],"c":false}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.501,-40.098]],"c":false}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.048]],"c":false}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.825]],"c":false}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.469]],"c":false}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.991]],"c":false}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.401]],"c":false}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-37.708]],"c":false}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.919]],"c":false}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.042]],"c":false}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-35.084]],"c":false}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-34.051]],"c":false}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-32.951]],"c":false}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-31.79]],"c":false}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-30.576]],"c":false}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-29.316]],"c":false}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-28.021]],"c":false}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-26.701]],"c":false}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-25.375]],"c":false}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-24.067]],"c":false}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-22.825]],"c":false}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.38,-24.323]],"c":false}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.199,-28.188]],"c":false}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.031,-31.777]],"c":false}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.898,-34.618]],"c":false}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.795,-36.811]],"c":false}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.716,-38.509]],"c":false}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.654,-39.829]],"c":false}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.606,-40.851]],"c":false}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}]},{"t":118,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.5,-43.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,10.429],[0.709,-10.669],[11.321,10.429]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[4.884,-3.179],[-12.16,0],[3.966,2.581]],"o":[[-4.427,2.881],[10.985,0],[-4.884,-3.179]],"v":[[-7.577,14.554],[0.447,-6.544],[7.784,14.554]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[5.367,-3.179],[-13.36,0],[4.358,2.581]],"o":[[-4.864,2.881],[12.069,0],[-5.367,-3.179]],"v":[[-8.36,13.429],[0.455,-7.669],[8.517,13.429]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]},{"t":112,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-90],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Round Bottom","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":59,"op":112,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[420.5,519.522],"t":6,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,519.118],"t":8,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,518.844],"t":9,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,518.523],"t":10,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,518.163],"t":11,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,517.778],"t":12,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,517.383],"t":13,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.991],"t":14,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.607],"t":15,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.236],"t":16,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,515.879],"t":17,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,515.536],"t":18,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,515.206],"t":19,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514.888],"t":20,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514.582],"t":21,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514.286],"t":22,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,514],"t":23,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,513.634],"t":24,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":16,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-37]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":18,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-7.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":28,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"t":52,"s":[100],"h":1},{"t":62,"s":[0],"h":1},{"t":112,"s":[100],"h":1},{"t":200,"s":[0],"h":1},{"t":221,"s":[100],"h":1},{"t":408,"s":[0],"h":1}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-259.147,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.001,"y":0},"t":27,"s":[{"i":[[4.22,-5.198],[6.889,-2.445],[6.141,2.195],[4.414,5.745],[2.09,6.003],[1.842,5.673],[0,0],[-4.629,7.032],[-3.668,2.338],[-9.176,-4.129],[0,0],[-2.537,1.423],[0,0],[-5.764,-2.348],[-3.35,-5.761],[3.559,-9.527],[0,0],[2.211,-5.388]],"o":[[-4.607,5.675],[-6.146,2.181],[-6.823,-2.438],[-3.873,-5.041],[-1.961,-5.633],[-0.673,-2.074],[-3.418,-8.054],[2.391,-3.632],[7.091,-4.519],[0,0],[2.053,0.611],[0,0],[6.766,-3.045],[6.042,2.461],[4.226,7.269],[0,0],[0,0],[-2.542,6.194]],"v":[[26.625,263.759],[9.088,276.927],[-10.477,276.927],[-27.766,263.755],[-34.35,245.857],[-39.92,228.853],[-41.895,222.617],[-38.621,196.593],[-29.625,187.329],[-2.764,182.988],[-0.678,184.077],[3.537,183.327],[5.123,182.613],[23.746,183.97],[38.891,196.367],[42.816,222.402],[40.88,229.024],[34.705,245.369]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":40,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":49,"s":[{"i":[[0,0],[5.924,-2.615],[6.267,2.766],[3.263,7.561],[2.981,6.909],[0,0],[0,0],[-4.825,8.784],[-3.668,2.709],[-9.176,-4.785],[0,0],[-7.064,3.683],[0,0],[-5.942,-2.295],[-3.35,-6.676],[4.5,-10.429],[0,0],[2.725,-6.315]],"o":[[-3.262,7.56],[-6.266,2.766],[-5.925,-2.615],[0,0],[-2.981,-6.909],[0,0],[-3.988,-9.246],[2.335,-4.251],[7.091,-5.237],[0,0],[7.064,3.683],[0,0],[6.766,-3.528],[6.387,2.466],[4.226,8.423],[0,0],[0,0],[-3.063,7.1]],"v":[[23.515,261.285],[9.088,276.548],[-10.477,276.549],[-24.906,261.285],[-33.85,240.557],[-42.795,219.829],[-48.707,206.127],[-47.871,176.22],[-38.875,165.486],[-13.389,163.498],[-11.803,164.325],[10.412,164.325],[11.998,163.498],[31.496,162.173],[46.641,176.538],[47.316,206.126],[40.88,221.041],[32.705,239.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.61,"y":0},"t":57,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[5.829,-2.275],[6.166,2.405],[3.21,6.575],[2.933,6.009],[0,0],[0,0],[-4.747,7.639],[-3.609,2.356],[-9.028,-5.782],[0,0],[-6.95,4.451],[0,0],[-5.847,-1.996],[-3.296,-5.806],[4.428,-9.07],[0,0],[2.681,-5.492]],"o":[[-3.21,6.575],[-6.165,2.406],[-5.83,-2.274],[0,0],[-2.933,-6.009],[0,0],[-3.924,-8.041],[2.297,-3.697],[6.977,-4.554],[0,0],[6.95,4.451],[0,0],[6.657,-4.263],[6.284,2.145],[4.158,7.326],[0,0],[0,0],[-3.014,6.174]],"v":[[23.147,263.139],[8.953,276.413],[-10.297,276.414],[-24.493,263.14],[-31.981,245.113],[-39.468,227.086],[-43.871,215.169],[-44.463,189.161],[-35.612,179.825],[-10.537,178.375],[-8.977,179.374],[7.631,179.374],[9.191,178.375],[28.374,176.944],[43.275,189.437],[42.525,215.169],[37.607,228.14],[30.877,244.617]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[5.782,-2.283],[6.116,2.414],[3.184,6.6],[2.91,6.031],[0,0],[0,0],[-4.709,7.668],[-3.58,2.365],[-8.956,-2.881],[0,0],[-6.894,2.218],[0,0],[-5.8,-2.003],[-3.269,-5.828],[4.392,-9.104],[0,0],[2.66,-5.513]],"o":[[-3.184,6.599],[-6.116,2.415],[-5.783,-2.283],[0,0],[-2.91,-6.031],[0,0],[-3.893,-8.071],[2.279,-3.711],[6.921,-4.571],[0,0],[6.894,2.218],[0,0],[6.604,-2.124],[6.234,2.153],[4.125,7.353],[0,0],[0,0],[-2.99,6.198]],"v":[[22.966,262.838],[8.886,276.162],[-10.209,276.162],[-24.29,262.838],[-31.064,244.743],[-37.837,226.649],[-41.5,214.688],[-42.792,188.581],[-34.012,179.21],[-9.139,174.179],[-7.591,174.677],[6.267,174.677],[7.814,174.179],[26.844,176.318],[41.625,188.859],[40.176,214.688],[36.003,227.707],[29.98,244.245]],"c":true}]},{"i":{"x":0.48,"y":1},"o":{"x":0.26,"y":1},"t":111,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,1.445],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,1.445],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[22.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-30.85,245.866],[-37.795,227.978],[-42.707,216.152],[-41.871,190.343],[-32.875,181.079],[-7.389,179.363],[-5.803,180.077],[5.412,180.077],[6.998,179.363],[26.496,178.22],[41.641,190.617],[42.316,216.152],[38.88,229.024],[31.705,245.374]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.902,"y":0},"o":{"x":0.3,"y":0},"t":119,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":129,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.78,"y":0},"t":144,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.4,"y":0},"t":146,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.884},"t":156,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":175,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":195,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"t":200,"s":[{"i":[[0,0],[4.982,-1.843],[5.269,1.949],[2.743,5.327],[2.507,4.868],[0,0],[0,0],[-4.057,6.188],[-3.084,1.909],[-7.716,-3.371],[0,0],[-5.94,2.595],[0,0],[-4.997,-1.617],[-2.817,-4.703],[3.784,-7.348],[0,0],[2.291,-4.449]],"o":[[-2.743,5.326],[-5.269,1.949],[-4.982,-1.842],[0,0],[-2.507,-4.868],[0,0],[-3.354,-6.514],[1.963,-2.995],[5.963,-3.69],[0,0],[5.94,2.595],[0,0],[5.69,-2.486],[5.371,1.738],[3.554,5.935],[0,0],[0,0],[-2.576,5.002]],"v":[[21.328,266.623],[7.572,277.365],[-8.88,277.366],[-21.013,266.612],[-30.158,252.046],[-38.929,237.463],[-42.276,232.155],[-38.901,208.3],[-31.337,200.737],[-7.657,199.329],[-6.324,199.912],[6.078,199.877],[7.412,199.294],[26.437,198.157],[39.172,208.278],[42.466,230.78],[38.179,240.068],[31.18,251.666]],"c":true}],"h":1},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":221,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":225,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":230,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":235,"s":[{"i":[[0,0],[-6.469,2.527],[-6.843,-2.672],[-3.562,-7.305],[-2.238,-6.948],[0,0],[0,0],[6.26,-7.958],[4.298,-2.236],[9.409,5.515],[0,0],[2.81,-1.723],[0,0],[6.751,1.509],[4.533,6.012],[-3.466,10.525],[0,0],[-1.94,6.411]],"o":[[3.562,-7.305],[6.843,-2.673],[6.47,2.527],[0,0],[2.25,6.984],[0,0],[3.257,9.283],[-3.029,3.851],[-8.309,4.323],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.171],[-7.256,-1.622],[-5.72,-7.586],[0,0],[0,0],[2.154,-7.118]],"v":[[-25.972,256.282],[-10.844,241.57],[10.52,241.569],[26.276,256.317],[31.363,275.406],[37.793,296.199],[41.622,309.972],[42.615,338.644],[31.6,348.06],[3.818,347.368],[2.192,346.415],[-2.497,346.685],[-4.104,347.662],[-23.931,350.493],[-42.288,338.48],[-42.272,310.249],[-38.575,296.613],[-32.279,277.866]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":240,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.17,"y":0},"t":250,"s":[{"i":[[0,0],[-6.469,2.528],[-6.843,-2.674],[-3.562,-7.309],[-2.238,-6.951],[0,0],[0,0],[6.26,-7.962],[4.298,-2.237],[9.409,5.517],[0,0],[2.81,-1.724],[0,0],[6.751,1.51],[4.533,6.015],[-3.466,10.53],[0,0],[-1.94,6.414]],"o":[[3.562,-7.308],[6.843,-2.674],[6.47,2.528],[0,0],[2.25,6.988],[0,0],[3.257,9.287],[-3.029,3.853],[-8.309,4.325],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.173],[-7.256,-1.623],[-5.72,-7.59],[0,0],[0,0],[2.154,-7.121]],"v":[[-25.972,256.238],[-10.844,241.519],[10.52,241.518],[26.276,256.273],[31.363,275.37],[37.793,296.172],[41.622,309.952],[42.615,338.637],[31.6,348.057],[3.818,347.366],[2.192,346.412],[-2.497,346.682],[-4.104,347.66],[-23.931,350.492],[-42.288,338.473],[-42.272,310.229],[-38.575,296.587],[-32.279,277.831]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":296,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":313,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":318,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":323,"s":[{"i":[[0,0],[-6.37,2.351],[-6.738,-2.486],[-3.508,-6.797],[-3.206,-6.211],[0,0],[0,0],[5.188,-7.896],[3.944,-2.435],[9.867,4.301],[0,0],[7.596,-3.311],[0,0],[6.39,2.063],[3.602,6.001],[-4.839,9.375],[0,0],[-2.93,5.677]],"o":[[3.508,-6.796],[6.738,-2.487],[6.371,2.351],[0,0],[3.206,6.211],[0,0],[4.289,8.311],[-2.511,3.821],[-7.625,4.707],[0,0],[-7.596,-3.311],[0,0],[-7.276,3.172],[-6.868,-2.217],[-4.545,-7.572],[0,0],[0,0],[3.294,-6.382]],"v":[[-26.198,255.941],[-10.685,242.221],[10.353,242.22],[25.868,255.941],[35.486,274.574],[45.103,294.249],[51.461,306.566],[50.562,333.45],[40.889,343.1],[13.484,344.887],[11.779,344.143],[-12.109,344.143],[-13.814,344.887],[-34.78,346.078],[-51.065,333.164],[-51.791,306.566],[-44.871,293.159],[-36.08,275.087]],"c":true}]},{"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0},"t":328,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.52,"y":0.96},"o":{"x":0.48,"y":0.04},"t":343,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":370,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.59,"y":1},"o":{"x":0.5,"y":0},"t":389,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"t":406,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[30.971,273.182],[38.915,291.071],[43.202,302.895],[42.366,328.704],[33.371,337.968],[7.884,339.684],[6.299,338.97],[-6.167,338.97],[-7.753,339.684],[-27.251,340.827],[-42.396,328.43],[-43.071,302.895],[-38.76,290.025],[-31.585,273.675]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"animated arrow","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":27,"op":408,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[841,701],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.325,0.271,0.165,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.325,0.271,0.165,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0}]},{"id":"comp_2","nm":"Part03_Demonstration_Overview_FO_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[635,255.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Size","np":3,"mn":"ADBE Point Control","ix":1,"en":1,"ef":[{"ty":3,"nm":"Point","mn":"ADBE Point Control-0001","ix":1,"v":{"a":0,"k":[100,100],"ix":1}}]}],"ip":0,"op":445,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Reset to Center","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":292,"s":[-98.901]},{"t":362,"s":[-324.901]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":292,"s":[407.5]},{"t":372,"s":[298.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"OVERSHOOT CHARACTER","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":227,"s":[-32.599]},{"t":329,"s":[67.401]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-609,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-599,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":398,"s":[100]},{"t":404,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-298]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-298]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-161.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[15],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.634],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[13.459],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[11.342],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[8.117],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.584],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.5],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-10.417],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.475],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.954],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.451],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-84.709],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-104.794],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-124.659],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.507],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-160.907],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-176.724],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-190.994],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.834],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.387],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-225.794],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-235.185],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-243.675],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-251.363],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-258.334],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.663],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.412],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.637],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.384],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-284.695],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-288.607],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-292.152],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-295.356],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-298.246],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-300.843],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-303.168],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-305.238],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.069],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.676],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.073],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.27],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.279],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.111],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.774],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.277],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.627],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.622],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.261],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.739],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.043],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.163],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.083],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.789],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.263],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.486],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.435],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.087],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.414],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.384],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-292.963],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.11],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-284.78],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-279.922],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-274.481],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-268.395],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-261.601],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-254.035],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-245.641],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-236.382],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-226.259],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.328],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.721],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-191.658],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-179.422],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.325],"t":170,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.649],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-144.609],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-134.337],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-124.891],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.273],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-108.451],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-101.373],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.982],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-89.217],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-84.021],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-79.341],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.129],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.342],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.941],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.893],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.168],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.738],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.58],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.673],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.998],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.538],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.278],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.204],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.305],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.567],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.983],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.542],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.236],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.046],"t":294,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.082],"t":295,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.128],"t":296,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.183],"t":297,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.248],"t":298,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.323],"t":299,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.407],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.5],"t":301,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.602],"t":302,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.713],"t":303,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.833],"t":304,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.961],"t":305,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.098],"t":306,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.244],"t":307,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.398],"t":308,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.56],"t":309,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.73],"t":310,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.908],"t":311,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.094],"t":312,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.288],"t":313,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.489],"t":314,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.698],"t":315,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.914],"t":316,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.137],"t":317,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.367],"t":318,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.605],"t":319,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.849],"t":320,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.101],"t":321,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.359],"t":322,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.623],"t":323,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.894],"t":324,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.171],"t":325,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.455],"t":326,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.745],"t":327,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.04],"t":328,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.342],"t":329,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.65],"t":330,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.963],"t":331,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.281],"t":332,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.606],"t":333,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.935],"t":334,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.27],"t":335,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.61],"t":336,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.955],"t":337,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-56.304],"t":338,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-56.659],"t":339,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.018],"t":340,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.382],"t":341,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.75],"t":342,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.122],"t":343,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.499],"t":344,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.879],"t":345,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.263],"t":346,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.651],"t":347,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.043],"t":348,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.438],"t":349,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.836],"t":350,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.237],"t":351,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.642],"t":352,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.049],"t":353,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.459],"t":354,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.871],"t":355,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.286],"t":356,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.702],"t":357,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.121],"t":358,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.541],"t":359,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.963],"t":360,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.386],"t":361,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.81],"t":362,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-66.234],"t":363,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.936],"t":367,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.36],"t":368,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.783],"t":369,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.205],"t":370,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.626],"t":371,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.044],"t":372,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.459],"t":373,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.871],"t":374,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.28],"t":375,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.684],"t":376,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.083],"t":377,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.477],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.865],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.245],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.617],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.98],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.333],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.674],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.002],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.316],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.612],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.89],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.147],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.378],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.581],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.751],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.883],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.969],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.913],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.843],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.753],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.639],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.503],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.343],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.158],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.947],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.71],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.444],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.149],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.824],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.466],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.076],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.651],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.189],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.689],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.148],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.566],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.938],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.264],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.54],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.763],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.931],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.039],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-66.085],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.064],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.971],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.802],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.552],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.214],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.782],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.249],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.608],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.85],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.967],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.95],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.788],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.473],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.996],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.352],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.536],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.552],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.41],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.132],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-24.753],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-21.322],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[420.5,677.634],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,676.459],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,674.342],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,671.117],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,666.584],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,660.5],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,652.583],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,642.525],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,630.046],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,615],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,597.549],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,578.291],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,558.206],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,538.341],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,519.493],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,502.093],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,486.276],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,472.006],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,459.166],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,447.613],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,437.206],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,427.815],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,419.325],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,411.637],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,404.666],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,398.337],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,392.588],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,387.363],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,382.616],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,378.305],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,374.393],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,370.848],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,367.644],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,364.754],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,362.157],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,359.832],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,357.762],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,355.931],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,354.324],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.927],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.73],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,350.721],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,349.889],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,349.226],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,348.723],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,348.373],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.133,348.1],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[419.669,348.1],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[419.013,348.1],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.163,348.1],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.114,348.1],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[415.863,348.1],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[414.409,348.1],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[412.748,348.1],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[410.879,348.1],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[408.799,348.168],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[406.508,348.378],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[404.004,348.739],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[401.288,349.261],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[398.36,349.957],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[395.221,350.837],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[391.874,351.917],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[388.321,353.211],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[384.567,354.737],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[380.616,356.514],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[376.474,358.565],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[372.149,360.913],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[367.65,363.586],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[362.985,366.616],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[358.167,370.037],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[353.206,373.89],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[348.118,378.22],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[342.915,383.078],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[337.614,388.519],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[332.23,394.605],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[326.783,401.399],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[321.288,408.965],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[315.766,417.359],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[310.234,426.618],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[304.712,436.741],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[299.217,447.672],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[293.77,459.279],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[288.386,471.342],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[283.085,483.578],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[277.882,495.675],"t":170,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[272.794,507.351],"t":171,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[267.833,518.391],"t":172,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[263.015,528.663],"t":173,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[258.35,538.109],"t":174,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[253.851,546.727],"t":175,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[249.526,554.549],"t":176,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[245.384,561.627],"t":177,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[241.433,568.018],"t":178,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[237.679,573.783],"t":179,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[234.126,578.979],"t":180,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[230.779,583.659],"t":181,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[227.64,587.871],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[224.712,591.658],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[221.996,595.059],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[219.492,598.107],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[217.201,600.832],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[215.121,603.262],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[213.252,605.42],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[211.591,607.327],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[210.137,609.002],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[208.886,610.462],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[207.837,611.722],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206.987,612.796],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206.331,613.695],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[205.867,614.433],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[205.591,615.017],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[205.5,615.458],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[205.5,616],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206.171,616],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[208.21,616],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[211.716,616],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[216.86,616],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[223.901,616],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[233.221,616],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[245.395,616],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[261.349,616],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[282.737,616],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[313.093,616],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[360.267,616],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[401.508,616],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[428.222,616],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[446.678,616],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[460.467,616],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[471.36,616],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[480.308,616],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[487.871,616],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[494.405,616],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[500.148,616],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[505.268,616],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[509.887,616],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[514.098,616],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[517.974,616],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[521.57,616],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[524.933,616],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[528.101,616],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[531.107,616],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[533.977,616],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[536.736,616],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[539.405,616],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[542.002,616],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[544.546,616],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[547.051,616],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[549.533,616],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[552.005,616],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[554.483,616],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[556.977,616],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[559.501,616],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[562.066,616],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[564.684,616],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[567.365,616],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[570.118,616],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[572.948,616],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[575.86,616],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[578.854,616],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[581.924,616],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[585.061,616],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[588.246,616],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[594.665,616],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[597.841,616],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[600.954,616],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[603.975,616],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[606.88,616],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[609.653,616],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[612.28,616],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[614.755,616],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[617.076,616],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[619.245,616],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[621.266,616],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[623.144,616],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[624.885,616],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.498,616],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[627.998,615.995],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[629.313,615.966],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630.359,615.9],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.139,615.795],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.655,615.651],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.903,615.237],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.639,614.965],"t":299,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.118,614.647],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630.342,614.282],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[629.312,613.867],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[628.029,613.401],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.496,612.88],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[624.713,612.303],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[622.683,611.666],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[620.409,610.967],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[617.893,610.201],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[615.139,609.366],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[612.15,608.456],"t":310,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[608.932,607.468],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[605.49,606.395],"t":312,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[601.83,605.233],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[597.959,603.975],"t":314,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[593.885,602.614],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[589.618,601.142],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[585.167,599.55],"t":317,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[580.544,597.828],"t":318,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[575.76,595.966],"t":319,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[570.829,593.952],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[565.765,591.772],"t":321,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[560.582,589.413],"t":322,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[555.297,586.861],"t":323,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[549.926,584.101],"t":324,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[544.486,581.12],"t":325,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[538.995,577.906],"t":326,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[533.47,574.455],"t":327,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[527.929,570.769],"t":328,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[522.39,566.863],"t":329,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[516.878,562.768],"t":330,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[511.418,558.532],"t":331,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[506.025,554.219],"t":332,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[500.716,549.899],"t":333,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[495.506,545.647],"t":334,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[490.408,541.525],"t":335,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[485.436,537.581],"t":336,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[480.602,533.846],"t":337,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[475.917,530.335],"t":338,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[471.391,527.05],"t":339,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[467.033,523.987],"t":340,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[462.851,521.134],"t":341,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[458.853,518.478],"t":342,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[455.042,516.005],"t":343,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[451.425,513.7],"t":344,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[448.006,511.55],"t":345,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[444.786,509.541],"t":346,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[441.769,507.662],"t":347,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[438.955,505.902],"t":348,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[436.346,504.25],"t":349,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[433.942,502.7],"t":350,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[431.741,501.241],"t":351,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[429.744,499.869],"t":352,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[427.949,498.575],"t":353,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[426.354,497.355],"t":354,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[424.957,496.203],"t":355,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[423.756,495.115],"t":356,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[422.748,494.087],"t":357,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[421.93,493.115],"t":358,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[421.299,492.195],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.853,491.325],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.588,490.501],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,489.722],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,488.984],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,488.287],"t":364,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,487.627],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,487.004],"t":366,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,486.416],"t":367,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,485.862],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,485.339],"t":369,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,484.848],"t":370,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,484.388],"t":371,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.956],"t":372,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.541],"t":373,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.129],"t":374,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,482.72],"t":375,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,482.316],"t":376,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.917],"t":377,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.523],"t":378,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.135],"t":379,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.755],"t":380,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.383],"t":381,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.02],"t":382,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.667],"t":383,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.326],"t":384,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.998],"t":385,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.684],"t":386,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.388],"t":387,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.11],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,477.853],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,477.419],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,477.842],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.29],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.556],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,478.851],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.176],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.534],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,479.924],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.349],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.811],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.311],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,481.852],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,482.434],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.062],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,483.736],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,484.46],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,485.237],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,486.069],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,486.961],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,487.915],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,488.936],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,490.029],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,491.198],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,492.448],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,493.786],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,495.218],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,496.751],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,498.392],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,500.15],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,502.033],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,504.05],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,506.212],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,508.527],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,511.004],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,513.648],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.464],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,519.448],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,522.59],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,525.868],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,529.247],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,532.678],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.75]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.75]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.25]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.25]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":445,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"App 3 Matte","parent":13,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[296.8]},{"t":418,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[488.8]},{"t":418,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":245,"op":435,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Pill to Arc | Elevation 2","parent":4,"tt":1,"tp":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":398,"s":[15]},{"t":404,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[-47.046],"t":294,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.082],"t":295,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.128],"t":296,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.183],"t":297,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.248],"t":298,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.323],"t":299,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.407],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.5],"t":301,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.602],"t":302,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.713],"t":303,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.833],"t":304,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.961],"t":305,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.098],"t":306,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.244],"t":307,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.398],"t":308,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.56],"t":309,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.73],"t":310,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.908],"t":311,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.094],"t":312,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.288],"t":313,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.489],"t":314,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.698],"t":315,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.914],"t":316,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.137],"t":317,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.367],"t":318,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.605],"t":319,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.849],"t":320,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.101],"t":321,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.359],"t":322,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.623],"t":323,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.894],"t":324,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.171],"t":325,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.455],"t":326,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.745],"t":327,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.04],"t":328,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.342],"t":329,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.65],"t":330,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.963],"t":331,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.281],"t":332,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.606],"t":333,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.935],"t":334,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.27],"t":335,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.61],"t":336,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.955],"t":337,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-56.304],"t":338,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-56.659],"t":339,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.018],"t":340,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.382],"t":341,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.75],"t":342,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.122],"t":343,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.499],"t":344,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.879],"t":345,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.263],"t":346,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.651],"t":347,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.043],"t":348,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.438],"t":349,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.836],"t":350,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.237],"t":351,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.642],"t":352,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.049],"t":353,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.459],"t":354,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.871],"t":355,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.286],"t":356,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.702],"t":357,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.121],"t":358,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.541],"t":359,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.963],"t":360,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.386],"t":361,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.81],"t":362,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-66.234],"t":363,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.936],"t":367,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.36],"t":368,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.783],"t":369,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.205],"t":370,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.626],"t":371,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.044],"t":372,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.459],"t":373,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.871],"t":374,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.28],"t":375,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.684],"t":376,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.083],"t":377,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.477],"t":378,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.865],"t":379,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.245],"t":380,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.617],"t":381,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.98],"t":382,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.333],"t":383,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.674],"t":384,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.002],"t":385,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.316],"t":386,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.612],"t":387,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.89],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.147],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.378],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.581],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.751],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.883],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.969],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.913],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.843],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.753],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.639],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.503],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.343],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.158],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.947],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.71],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.444],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.149],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.824],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.466],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-74.076],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.651],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-73.189],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.689],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.148],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.566],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.938],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-70.264],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.54],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.763],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.931],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.039],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-66.085],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.064],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-63.971],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.802],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-61.552],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.214],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-58.782],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.249],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.608],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.85],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.967],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.95],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.788],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":245,"op":435,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"App 1 Matte","parent":11,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,752,0],"to":[0,0,0],"ti":[0,0,0]},{"t":101,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[843]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-421.5,90],[-331.5,0],[331.5,0],[421.5,90],[421.5,492],[331.5,582],[-331.5,582],[-421.5,492]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-421.06,89.982],[-331.078,0],[331.078,0],[421.06,89.982],[421.06,491.605],[331.078,581.587],[-331.078,581.587],[-421.06,491.605]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-419.619,89.923],[-329.695,0],[329.695,0],[419.619,89.923],[419.619,490.314],[329.695,580.237],[-329.695,580.237],[-419.619,490.314]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-416.958,89.815],[-327.143,0],[327.143,0],[416.958,89.815],[416.958,487.93],[327.143,577.745],[-327.143,577.745],[-416.958,487.93]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-412.797,89.645],[-323.151,0],[323.151,0],[412.797,89.645],[412.797,484.201],[323.151,573.846],[-323.151,573.846],[-412.797,484.201]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-406.775,89.4],[-317.375,0],[317.375,0],[406.775,89.4],[406.775,478.804],[317.375,568.205],[-317.375,568.205],[-406.775,478.804]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-398.461,89.062],[-309.4,0],[309.4,0],[398.461,89.062],[398.461,471.354],[309.4,560.416],[-309.4,560.416],[-398.461,471.354]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-387.407,88.611],[-298.795,0],[298.795,0],[387.407,88.611],[387.407,461.448],[298.795,550.059],[-298.795,550.059],[-387.407,461.448]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-373.33,88.038],[-285.292,0],[285.292,0],[373.33,88.038],[373.33,448.834],[285.292,536.872],[-285.292,536.872],[-373.33,448.834]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-356.473,87.351],[-269.122,0],[269.122,0],[356.473,87.351],[356.473,433.728],[269.122,521.079],[-269.122,521.079],[-356.473,433.728]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-337.88,86.594],[-251.286,0],[251.286,0],[337.88,86.594],[337.88,417.066],[251.286,503.66],[-251.286,503.66],[-337.88,417.066]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-319.099,85.829],[-233.27,0],[233.27,0],[319.099,85.829],[319.099,400.235],[233.27,486.064],[-233.27,486.064],[-319.099,400.235]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-301.424,85.109],[-216.315,0],[216.315,0],[301.424,85.109],[301.424,384.396],[216.315,469.505],[-216.315,469.505],[-301.424,384.396]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-285.496,84.46],[-201.036,0],[201.036,0],[285.496,84.46],[285.496,370.123],[201.036,454.583],[-201.036,454.583],[-285.496,370.123]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-271.44,83.888],[-187.553,0],[187.553,0],[271.44,83.888],[271.44,357.527],[187.553,441.415],[-187.553,441.415],[-271.44,357.527]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-259.129,83.386],[-175.743,0],[175.743,0],[259.129,83.386],[259.129,346.495],[175.743,429.881],[-175.743,429.881],[-259.129,346.495]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-248.356,82.947],[-165.409,0],[165.409,0],[248.356,82.947],[248.356,336.841],[165.409,419.788],[-165.409,419.788],[-248.356,336.841]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-238.91,82.563],[-156.348,0],[156.348,0],[238.91,82.563],[238.91,328.376],[156.348,410.938],[-156.348,410.938],[-238.91,328.376]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-230.605,82.224],[-148.381,0],[148.381,0],[230.605,82.224],[230.605,320.933],[148.381,403.157],[-148.381,403.157],[-230.605,320.933]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-223.282,81.926],[-141.356,0],[141.356,0],[223.282,81.926],[223.282,314.371],[141.356,396.297],[-141.356,396.297],[-223.282,314.371]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-216.811,81.662],[-135.148,0],[135.148,0],[216.811,81.662],[216.811,308.572],[135.148,390.234],[-135.148,390.234],[-216.811,308.572]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-211.082,81.429],[-129.653,0],[129.653,0],[211.082,81.429],[211.082,303.438],[129.653,384.867],[-129.653,384.867],[-211.082,303.438]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-206.006,81.222],[-124.784,0],[124.784,0],[206.006,81.222],[206.006,298.89],[124.784,380.112],[-124.784,380.112],[-206.006,298.89]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-201.509,81.039],[-120.47,0],[120.47,0],[201.509,81.039],[201.509,294.859],[120.47,375.898],[-120.47,375.898],[-201.509,294.859]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-197.527,80.877],[-116.65,0],[116.65,0],[197.527,80.877],[197.527,291.291],[116.65,372.168],[-116.65,372.168],[-197.527,291.291]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-194.007,80.733],[-113.274,0],[113.274,0],[194.007,80.733],[194.007,288.137],[113.274,368.87],[-113.274,368.87],[-194.007,288.137]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-190.904,80.607],[-110.297,0],[110.297,0],[190.904,80.607],[190.904,285.356],[110.297,365.963],[-110.297,365.963],[-190.904,285.356]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-188.18,80.496],[-107.684,0],[107.684,0],[188.18,80.496],[188.18,282.915],[107.684,363.411],[-107.684,363.411],[-188.18,282.915]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-185.8,80.399],[-105.401,0],[105.401,0],[185.8,80.399],[185.8,280.782],[105.401,361.182],[-105.401,361.182],[-185.8,280.782]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-183.736,80.315],[-103.421,0],[103.421,0],[183.736,80.315],[183.736,278.933],[103.421,359.248],[-103.421,359.248],[-183.736,278.933]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-181.963,80.243],[-101.72,0],[101.72,0],[181.963,80.243],[181.963,277.344],[101.72,357.586],[-101.72,357.586],[-181.963,277.344]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-180.457,80.182],[-100.276,0],[100.276,0],[180.457,80.182],[180.457,275.994],[100.276,356.176],[-100.276,356.176],[-180.457,275.994]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-179.2,80.13],[-99.069,0],[99.069,0],[179.2,80.13],[179.2,274.867],[99.069,354.998],[-99.069,354.998],[-179.2,274.867]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-178.173,80.089],[-98.084,0],[98.084,0],[178.173,80.089],[178.173,273.947],[98.084,354.036],[-98.084,354.036],[-178.173,273.947]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-177.361,80.055],[-97.305,0],[97.305,0],[177.361,80.055],[177.361,273.219],[97.305,353.275],[-97.305,353.275],[-177.361,273.219]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.749,80.031],[-96.719,0],[96.719,0],[176.749,80.031],[176.749,272.672],[96.719,352.702],[-96.719,352.702],[-176.749,272.672]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.326,80.013],[-96.313,0],[96.313,0],[176.326,80.013],[176.326,272.292],[96.313,352.306],[-96.313,352.306],[-176.326,272.292]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.08,80.003],[-96.077,0],[96.077,0],[176.08,80.003],[176.08,272.072],[96.077,352.075],[-96.077,352.075],[-176.08,272.072]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,272],[96,352],[-96,352],[-176,272]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,271.658],[95.852,351.613],[-95.852,351.613],[-175.806,271.658]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,270.502],[95.351,350.302],[-95.351,350.302],[-175.151,270.502]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,268.264],[94.381,347.766],[-94.381,347.766],[-173.883,268.264]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,264.526],[92.761,343.529],[-92.761,343.529],[-171.765,264.526]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,258.595],[90.191,336.808],[-90.191,336.808],[-168.404,258.595]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,249.31],[86.168,326.284],[-86.168,326.284],[-163.142,249.31]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,235.078],[80.001,310.155],[-80.001,310.155],[-155.078,235.078]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,216.31],[71.868,288.885],[-71.868,288.885],[-144.442,216.31]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,198.587],[64.188,268.799],[-64.188,268.799],[-134.399,198.587]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,185.345],[58.449,253.791],[-58.449,253.791],[-126.895,185.345]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,175.861],[54.34,243.043],[-54.34,243.043],[-121.522,175.861]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,168.957],[51.348,235.217],[-51.348,235.217],[-117.609,168.957]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,163.84],[49.131,229.419],[-49.131,229.419],[-114.709,163.84]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,160.02],[47.475,225.089],[-47.475,225.089],[-112.544,160.02]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,157.178],[46.244,221.869],[-46.244,221.869],[-110.934,157.178]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.102],[45.344,219.516],[-45.344,219.516],[-109.758,155.102]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,153.643],[44.712,217.862],[-44.712,217.862],[-108.931,153.643]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.691],[44.299,216.783],[-44.299,216.783],[-108.391,152.691]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.164],[44.071,216.186],[-44.071,216.186],[-108.093,152.164]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":198,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Pill to Arc | Elevation 1","parent":4,"tt":1,"tp":8,"sr":1,"ks":{"o":{"a":0,"k":15,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"t":197,"s":[-298]}],"ix":3},"y":{"k":[{"s":[15],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.634],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[13.459],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[11.342],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[8.117],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.584],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.5],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-10.417],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-20.475],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.954],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.451],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-84.709],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-104.794],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-124.659],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.507],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-160.907],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-176.724],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-190.994],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.834],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.387],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-225.794],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-235.185],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-243.675],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-251.363],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-258.334],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.663],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.412],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.637],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.384],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-284.695],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-288.607],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-292.152],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-295.356],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-298.246],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-300.843],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-303.168],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-305.238],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.069],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.676],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.073],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.27],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.279],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.111],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.774],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.277],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.627],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.622],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.261],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.739],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.043],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.163],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.083],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.789],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.263],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.486],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.435],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.087],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.414],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.384],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-292.963],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.11],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-284.78],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-279.922],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-274.481],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-268.395],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-261.601],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-254.035],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-245.641],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-236.382],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-226.259],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.328],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.721],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-191.658],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-179.422],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.325],"t":170,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.649],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-144.609],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-134.337],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-124.891],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.273],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-108.451],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-101.373],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.982],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-89.217],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-84.021],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-79.341],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-75.129],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-71.342],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-67.941],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-64.893],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.168],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-59.738],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.58],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.673],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-53.998],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.538],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.278],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.204],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.305],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.567],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.983],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.542],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":198,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"All Overview Scroll","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-420.5]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":244,"s":[-215.7]},{"t":329,"s":[91.5]}],"ix":3},"y":{"a":0,"k":-350.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":445,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":3,"nm":"Initial Overview In","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[-156]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[209]},{"t":148,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":445,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":3,"nm":"Loop App to Center","parent":12,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-512,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":394.666,"s":[-34.6]},{"t":428,"s":[-86.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":2,"op":445,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":15,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-256,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":90,"op":445,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":388,"s":[-768]},{"t":412,"s":[-1098]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":90,"op":445,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":13,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[468.4]},{"t":418,"s":[841]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[412.4]},{"t":418,"s":[701]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[-453.5,437],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-451.394,437],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-444.06,437],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-429.42,437],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-404.609,437],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-367.146,437],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-319.437,437],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-271,437],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-229.538,437],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-196.441,437],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-170.42,437],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-149.937,437],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-133.772,437],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-121.025,437],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-111.04,437],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-103.331,437],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-97.527,437],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-93.345,437],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.561,437],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.994,437],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.5,437],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.538,437],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.646,437],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-88.812,437],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.026,437],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.278,437],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.556,437],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.85,437],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.15,437],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.444,437],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.722,437],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-90.974,437],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.188,437],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.354,437],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.462,437],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.5,437],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-91.108,437],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-89.928,437],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-87.941,437],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-85.108,437],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-81.374,437],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-76.666,437],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-70.891,437],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-63.931,437],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-55.635,437],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-45.809,437],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-34.194,437],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20.442,437],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-4.059,437],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[15.691,437],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[39.987,437],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[70.961,437],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[113.3,437],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[160.183,437],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[197.01,437],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[224.779,437],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[246.21,437],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[263.332,437],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[277.435,437],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[289.337,437],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[299.575,437],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[308.516,437],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[316.422,437],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[323.483,437],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[329.841,437],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[335.607,437],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[340.868,437],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[345.692,437],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[350.135,437],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[354.243,437],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[358.054,437],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[361.6,437],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[364.909,437],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[368.003,437],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[370.903,437],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[373.627,437],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[376.188,437],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[378.601,437],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[380.877,437],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[383.027,437],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.06,437],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[386.984,437],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[388.807,437],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[390.536,437],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[392.176,437],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[393.734,437],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[395.214,437],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[396.62,437],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[397.958,437],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[399.231,437],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[400.443,437],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[401.596,437],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[402.694,437],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[403.74,437],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[404.736,437],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[405.685,437],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[406.588,437],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[407.449,437],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[408.269,437],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[409.049,437],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[409.793,437],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[410.5,437],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[411.173,437],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[411.813,437],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[412.422,437],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[413,437],"t":297,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[413.549,437],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[414.071,437],"t":299,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[414.565,437],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[415.033,437],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[415.477,437],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[415.896,437],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[416.292,437],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[416.666,437],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.018,437],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.35,437],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.661,437],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[417.953,437],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.225,437],"t":310,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.48,437],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.717,437],"t":312,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.937,437],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[419.327,437],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[419.655,437],"t":317,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.038,437],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.451,437],"t":326,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,436.567],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,435.217],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,432.777],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,428.912],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,422.963],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,413.35],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,395.555],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,382.006],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,374.776],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,370.148],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,366.833],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,364.298],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,362.279],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,360.625],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,359.243],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,358.07],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,357.064],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,356.194],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,355.436],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,354.772],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,354.189],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,353.675],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,353.221],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.821],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.467],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.155],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.88],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.638],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.427],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,351.085],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,350.74],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-112.782,-52.531],[-53.158,-112.155],[53.158,-112.155],[112.782,-52.531],[112.782,52.531],[53.158,112.155],[-53.158,112.155],[-112.782,52.531]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-121.743,-60.684],[-63.331,-119.095],[63.331,-119.095],[121.743,-60.684],[121.743,60.684],[63.331,119.095],[-63.331,119.095],[-121.743,60.684]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-139.025,-76.408],[-82.951,-132.482],[82.951,-132.482],[139.025,-76.408],[139.025,76.408],[82.951,132.482],[-82.951,132.482],[-139.025,76.408]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-169.932,-104.527],[-118.039,-156.421],[118.039,-156.421],[169.932,-104.527],[169.932,104.527],[118.039,156.421],[-118.039,156.421],[-169.932,104.527]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-234.2,-163],[-191,-206.2],[191,-206.2],[234.2,-163],[234.2,163],[191,206.2],[-191,206.2],[-234.2,163]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-307.385,-229.585],[-274.084,-262.886],[274.084,-262.886],[307.385,-229.585],[307.385,229.585],[274.084,262.886],[-274.084,262.886],[-307.385,229.585]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-339.603,-258.898],[-310.66,-287.84],[310.66,-287.84],[339.603,-258.898],[339.603,258.898],[310.66,287.84],[-310.66,287.84],[-339.603,258.898]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-358.277,-275.888],[-331.86,-302.305],[331.86,-302.305],[358.277,-275.888],[358.277,275.888],[331.86,302.305],[-331.86,302.305],[-358.277,275.888]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-370.965,-287.432],[-346.265,-312.133],[346.265,-312.133],[370.965,-287.432],[370.965,287.432],[346.265,312.133],[-346.265,312.133],[-370.965,287.432]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-380.319,-295.942],[-356.883,-319.377],[356.884,-319.377],[380.319,-295.942],[380.319,295.942],[356.884,319.377],[-356.883,319.377],[-380.319,295.942]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-387.553,-302.524],[-365.096,-324.98],[365.096,-324.98],[387.553,-302.524],[387.553,302.524],[365.096,324.98],[-365.096,324.98],[-387.553,302.524]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-393.324,-307.775],[-371.648,-329.451],[371.648,-329.451],[393.324,-307.775],[393.324,307.775],[371.648,329.451],[-371.648,329.451],[-393.324,307.775]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-398.027,-312.053],[-376.987,-333.093],[376.987,-333.093],[398.027,-312.053],[398.027,312.053],[376.987,333.093],[-376.987,333.093],[-398.027,312.053]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-401.916,-315.591],[-381.402,-336.105],[381.402,-336.105],[401.916,-315.591],[401.916,315.591],[381.402,336.105],[-381.402,336.105],[-401.916,315.591]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-405.165,-318.548],[-385.091,-338.622],[385.091,-338.622],[405.165,-318.548],[405.165,318.548],[385.091,338.622],[-385.091,338.622],[-405.165,318.548]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-407.9,-321.036],[-388.195,-340.74],[388.195,-340.74],[407.9,-321.036],[407.9,321.036],[388.195,340.74],[-388.195,340.74],[-407.9,321.036]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-410.211,-323.139],[-390.82,-342.531],[390.82,-342.531],[410.211,-323.139],[410.211,323.139],[390.82,342.531],[-390.82,342.531],[-410.211,323.139]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-412.17,-324.921],[-393.043,-344.048],[393.043,-344.048],[412.17,-324.921],[412.17,324.921],[393.043,344.048],[-393.043,344.048],[-412.17,324.921]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-413.829,-326.431],[-394.927,-345.333],[394.927,-345.333],[413.829,-326.431],[413.829,326.431],[394.927,345.333],[-394.927,345.333],[-413.829,326.431]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.327,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.327,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-415.232,-327.707],[-396.519,-346.42],[396.519,-346.42],[415.232,-327.707],[415.232,327.707],[396.519,346.42],[-396.519,346.42],[-415.232,327.707]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-416.413,-328.782],[-397.86,-347.335],[397.86,-347.335],[416.413,-328.782],[416.413,328.782],[397.86,347.335],[-397.86,347.335],[-416.413,328.782]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-417.401,-329.68],[-398.982,-348.1],[398.982,-348.1],[417.401,-329.68],[417.401,329.68],[398.982,348.1],[-398.982,348.1],[-417.401,329.68]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.104,0],[0,0],[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104],[0,0],[-10.104,0],[0,0]],"v":[[-418.219,-330.424],[-399.91,-348.733],[399.91,-348.733],[418.219,-330.424],[418.219,330.424],[399.91,348.733],[-399.91,348.733],[-418.219,330.424]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-418.886,-331.031],[-400.667,-349.25],[400.667,-349.25],[418.886,-331.031],[418.886,331.031],[400.667,349.25],[-400.667,349.25],[-418.886,331.031]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-419.419,-331.516],[-401.272,-349.663],[401.272,-349.663],[419.419,-331.516],[419.419,331.516],[401.272,349.663],[-401.272,349.663],[-419.419,331.516]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-419.832,-331.892],[-401.741,-349.982],[401.741,-349.982],[419.832,-331.892],[419.832,331.892],[401.741,349.982],[-401.741,349.982],[-419.832,331.892]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-420.136,-332.169],[-402.087,-350.218],[402.087,-350.218],[420.136,-332.169],[420.136,332.169],[402.087,350.218],[-402.087,350.218],[-420.136,332.169]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-420.344,-332.358],[-402.322,-350.379],[402.322,-350.379],[420.344,-332.358],[420.344,332.358],[402.322,350.379],[-402.322,350.379],[-420.344,332.358]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-420.462,-332.465],[-402.457,-350.471],[402.457,-350.471],[420.462,-332.465],[420.462,332.465],[402.457,350.471],[-402.457,350.471],[-420.462,332.465]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":90,"op":445,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":245,"s":[100]},{"t":262,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":388,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":412,"s":[64,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":90,"op":445,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,752,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.37,"y":0.37},"t":101,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":388,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"t":412,"s":[526,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":2,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[843]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[420.5,656.633],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,655.454],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,653.33],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,650.094],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,645.545],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,639.442],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,631.497],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,621.407],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,608.886],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,593.79],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,576.278],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,556.958],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,536.805],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,516.874],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,497.965],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,480.511],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,464.641],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,450.32],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,437.437],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,425.847],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,415.403],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,405.982],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,397.465],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,389.749],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,382.755],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,376.405],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,370.636],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,365.395],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,360.631],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,356.307],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,352.382],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,348.824],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,345.61],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,342.711],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,340.105],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,337.771],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,335.694],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,333.857],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,332.245],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,330.844],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,329.643],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,328.63],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,327.795],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,327.13],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,326.625],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.5,326.273],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[420.892,326],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[422.072,326],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[424.059,326],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[426.892,326],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[430.626,326],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[435.334,326],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[441.109,326],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[448.069,326],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[456.365,326],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[466.191,326],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[477.806,326],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[491.558,326],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[507.941,326],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[527.691,326],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[551.987,326],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[582.961,326],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[625.3,326],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[672.183,326],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[709.01,326],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[736.779,326],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[758.21,326],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[775.332,326],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[789.435,326],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[801.337,326],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[811.575,326],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[820.516,326],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[828.422,326],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[835.483,326],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[841.841,326],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[847.607,326],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[852.868,326],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[857.692,326],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[862.135,326],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[866.243,326],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[870.054,326],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[873.6,326],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[876.909,326],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[880.003,326],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[882.903,326],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[885.627,326],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[888.188,326],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[890.601,326],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[892.877,326],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[895.027,326],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[897.06,326],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[898.984,326],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[900.807,326],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[902.536,326],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[904.176,326],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[905.734,326],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[907.214,326],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[908.62,326],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[909.958,326],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[911.231,326],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[912.443,326],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[913.596,326],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[914.694,326],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[915.74,326],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[916.736,326],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[917.685,326],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[918.588,326],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[919.449,326],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[920.269,326],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[921.049,326],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[921.793,326],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[922.5,326],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[923.173,326],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[923.813,326],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[924.422,326],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[925,326],"t":297,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[925.549,326],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[926.071,326],"t":299,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[926.565,326],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[927.477,326],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[928.292,326],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[929.018,326],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[929.661,326],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[930.48,326],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[931.327,326],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[932.226,326],"t":322,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[932.5,326],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[938.488,326],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[964.354,326],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1014.277,326],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1062.528,326],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1098.987,326],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1126.81,326],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1148.813,326],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1166.701,326],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1181.518,326],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1193.951,326],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1204.468,326],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1213.407,326],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1221.018,326],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1227.494,326],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1232.987,326],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1237.615,326],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1241.477,326],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1244.654,326],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1247.213,326],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1249.212,326],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1250.701,326],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1251.721,326],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-421.5,90],[-331.5,0],[331.5,0],[421.5,90],[421.5,492],[331.5,582],[-331.5,582],[-421.5,492]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-421.06,89.982],[-331.078,0],[331.078,0],[421.06,89.982],[421.06,491.605],[331.078,581.587],[-331.078,581.587],[-421.06,491.605]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-419.619,89.923],[-329.695,0],[329.695,0],[419.619,89.923],[419.619,490.314],[329.695,580.237],[-329.695,580.237],[-419.619,490.314]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-416.958,89.815],[-327.143,0],[327.143,0],[416.958,89.815],[416.958,487.93],[327.143,577.745],[-327.143,577.745],[-416.958,487.93]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-412.797,89.645],[-323.151,0],[323.151,0],[412.797,89.645],[412.797,484.201],[323.151,573.846],[-323.151,573.846],[-412.797,484.201]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-406.775,89.4],[-317.375,0],[317.375,0],[406.775,89.4],[406.775,478.804],[317.375,568.205],[-317.375,568.205],[-406.775,478.804]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-398.461,89.062],[-309.4,0],[309.4,0],[398.461,89.062],[398.461,471.354],[309.4,560.416],[-309.4,560.416],[-398.461,471.354]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-387.407,88.611],[-298.795,0],[298.795,0],[387.407,88.611],[387.407,461.448],[298.795,550.059],[-298.795,550.059],[-387.407,461.448]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-373.33,88.038],[-285.292,0],[285.292,0],[373.33,88.038],[373.33,448.834],[285.292,536.872],[-285.292,536.872],[-373.33,448.834]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-356.473,87.351],[-269.122,0],[269.122,0],[356.473,87.351],[356.473,433.728],[269.122,521.079],[-269.122,521.079],[-356.473,433.728]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-337.88,86.594],[-251.286,0],[251.286,0],[337.88,86.594],[337.88,417.066],[251.286,503.66],[-251.286,503.66],[-337.88,417.066]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-319.099,85.829],[-233.27,0],[233.27,0],[319.099,85.829],[319.099,400.235],[233.27,486.064],[-233.27,486.064],[-319.099,400.235]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-301.424,85.109],[-216.315,0],[216.315,0],[301.424,85.109],[301.424,384.396],[216.315,469.505],[-216.315,469.505],[-301.424,384.396]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-285.496,84.46],[-201.036,0],[201.036,0],[285.496,84.46],[285.496,370.123],[201.036,454.583],[-201.036,454.583],[-285.496,370.123]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-271.44,83.888],[-187.553,0],[187.553,0],[271.44,83.888],[271.44,357.527],[187.553,441.415],[-187.553,441.415],[-271.44,357.527]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-259.129,83.386],[-175.743,0],[175.743,0],[259.129,83.386],[259.129,346.495],[175.743,429.881],[-175.743,429.881],[-259.129,346.495]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-248.356,82.947],[-165.409,0],[165.409,0],[248.356,82.947],[248.356,336.841],[165.409,419.788],[-165.409,419.788],[-248.356,336.841]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-238.91,82.563],[-156.348,0],[156.348,0],[238.91,82.563],[238.91,328.376],[156.348,410.938],[-156.348,410.938],[-238.91,328.376]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-230.605,82.224],[-148.381,0],[148.381,0],[230.605,82.224],[230.605,320.933],[148.381,403.157],[-148.381,403.157],[-230.605,320.933]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-223.282,81.926],[-141.356,0],[141.356,0],[223.282,81.926],[223.282,314.371],[141.356,396.297],[-141.356,396.297],[-223.282,314.371]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-216.811,81.662],[-135.148,0],[135.148,0],[216.811,81.662],[216.811,308.572],[135.148,390.234],[-135.148,390.234],[-216.811,308.572]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-211.082,81.429],[-129.653,0],[129.653,0],[211.082,81.429],[211.082,303.438],[129.653,384.867],[-129.653,384.867],[-211.082,303.438]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-206.006,81.222],[-124.784,0],[124.784,0],[206.006,81.222],[206.006,298.89],[124.784,380.112],[-124.784,380.112],[-206.006,298.89]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-201.509,81.039],[-120.47,0],[120.47,0],[201.509,81.039],[201.509,294.859],[120.47,375.898],[-120.47,375.898],[-201.509,294.859]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-197.527,80.877],[-116.65,0],[116.65,0],[197.527,80.877],[197.527,291.291],[116.65,372.168],[-116.65,372.168],[-197.527,291.291]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-194.007,80.733],[-113.274,0],[113.274,0],[194.007,80.733],[194.007,288.137],[113.274,368.87],[-113.274,368.87],[-194.007,288.137]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-190.904,80.607],[-110.297,0],[110.297,0],[190.904,80.607],[190.904,285.356],[110.297,365.963],[-110.297,365.963],[-190.904,285.356]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-188.18,80.496],[-107.684,0],[107.684,0],[188.18,80.496],[188.18,282.915],[107.684,363.411],[-107.684,363.411],[-188.18,282.915]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-185.8,80.399],[-105.401,0],[105.401,0],[185.8,80.399],[185.8,280.782],[105.401,361.182],[-105.401,361.182],[-185.8,280.782]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-183.736,80.315],[-103.421,0],[103.421,0],[183.736,80.315],[183.736,278.933],[103.421,359.248],[-103.421,359.248],[-183.736,278.933]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-181.963,80.243],[-101.72,0],[101.72,0],[181.963,80.243],[181.963,277.344],[101.72,357.586],[-101.72,357.586],[-181.963,277.344]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-180.457,80.182],[-100.276,0],[100.276,0],[180.457,80.182],[180.457,275.994],[100.276,356.176],[-100.276,356.176],[-180.457,275.994]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-179.2,80.13],[-99.069,0],[99.069,0],[179.2,80.13],[179.2,274.867],[99.069,354.998],[-99.069,354.998],[-179.2,274.867]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-178.173,80.089],[-98.084,0],[98.084,0],[178.173,80.089],[178.173,273.947],[98.084,354.036],[-98.084,354.036],[-178.173,273.947]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-177.361,80.055],[-97.305,0],[97.305,0],[177.361,80.055],[177.361,273.219],[97.305,353.275],[-97.305,353.275],[-177.361,273.219]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.749,80.031],[-96.719,0],[96.719,0],[176.749,80.031],[176.749,272.672],[96.719,352.702],[-96.719,352.702],[-176.749,272.672]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.326,80.013],[-96.313,0],[96.313,0],[176.326,80.013],[176.326,272.292],[96.313,352.306],[-96.313,352.306],[-176.326,272.292]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.08,80.003],[-96.077,0],[96.077,0],[176.08,80.003],[176.08,272.072],[96.077,352.075],[-96.077,352.075],[-176.08,272.072]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,272],[96,352],[-96,352],[-176,272]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,271.658],[95.852,351.613],[-95.852,351.613],[-175.806,271.658]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,270.502],[95.351,350.302],[-95.351,350.302],[-175.151,270.502]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,268.264],[94.381,347.766],[-94.381,347.766],[-173.883,268.264]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,264.526],[92.761,343.529],[-92.761,343.529],[-171.765,264.526]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,258.595],[90.191,336.808],[-90.191,336.808],[-168.404,258.595]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,249.31],[86.168,326.284],[-86.168,326.284],[-163.142,249.31]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,235.078],[80.001,310.155],[-80.001,310.155],[-155.078,235.078]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,216.31],[71.868,288.885],[-71.868,288.885],[-144.442,216.31]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,198.587],[64.188,268.799],[-64.188,268.799],[-134.399,198.587]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,185.345],[58.449,253.791],[-58.449,253.791],[-126.895,185.345]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,175.861],[54.34,243.043],[-54.34,243.043],[-121.522,175.861]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,168.957],[51.348,235.217],[-51.348,235.217],[-117.609,168.957]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,163.84],[49.131,229.419],[-49.131,229.419],[-114.709,163.84]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,160.02],[47.475,225.089],[-47.475,225.089],[-112.544,160.02]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,157.178],[46.244,221.869],[-46.244,221.869],[-110.934,157.178]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.102],[45.344,219.516],[-45.344,219.516],[-109.758,155.102]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,153.643],[44.712,217.862],[-44.712,217.862],[-108.931,153.643]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.691],[44.299,216.783],[-44.299,216.783],[-108.391,152.691]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.164],[44.071,216.186],[-44.071,216.186],[-108.093,152.164]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":2,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":2,"op":445,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[841,701],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.325,0.271,0.165,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.325,0.271,0.165,1],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":445,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Part01_Thumb_Overview_FO_V02","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[420.5,350.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":841,"h":701,"ip":0,"op":425,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Part02_Charade_Overview_FO_V02","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[420.5,350.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":841,"h":701,"ip":425,"op":891,"st":425,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Part03_Demonstration_Overview_FO_V02","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[420.5,350.5,0],"ix":2,"l":2},"a":{"a":0,"k":[420.5,350.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":841,"h":701,"ip":891,"op":1336,"st":891,"bm":0}],"markers":[],"props":{}}
\ No newline at end of file
diff --git a/quickstep/res/raw/overview_gesture_tutorial_tablet_animation.json b/quickstep/res/raw/overview_gesture_tutorial_tablet_animation.json
index 05afd85..4032497 100644
--- a/quickstep/res/raw/overview_gesture_tutorial_tablet_animation.json
+++ b/quickstep/res/raw/overview_gesture_tutorial_tablet_animation.json
@@ -1 +1 @@
-{"v":"5.10.0","fr":60,"ip":0,"op":1367,"w":1280,"h":800,"nm":"SUW_Tablet_Overview_Preview V02","ddd":0,"assets":[{"id":"comp_0","nm":"Part01_Thumb_Tablet_Overview_V03","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Tablet_PointerFinger_UpdatedDesign","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[640,400,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"w":1280,"h":800,"ip":290,"op":456,"st":290,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"HAND REPO","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[950,344,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Size","np":3,"mn":"ADBE Point Control","ix":1,"en":1,"ef":[{"ty":3,"nm":"Point","mn":"ADBE Point Control-0001","ix":1,"v":{"a":0,"k":[100,100],"ix":1}}]}],"ip":0,"op":456,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"OVERSHOOT THUMB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[83]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":263,"s":[163]},{"t":348,"s":[283]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":246,"s":[322]},{"t":295,"s":[386]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":3,"nm":"HAND NULL","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.59],"y":[0]},"t":3,"s":[10]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.15],"y":[0]},"t":59,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.6],"y":[0]},"t":95,"s":[-3]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[-4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.166],"y":[0]},"t":170,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[15]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":231,"s":[12]},{"i":{"x":[0.22],"y":[0.993]},"o":{"x":[0.41],"y":[0]},"t":246,"s":[15.59]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[40]},{"t":321,"s":[40]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.06],"y":[0.36]},"t":0,"s":[260]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[123]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[123]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":231,"s":[70]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[70]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":264.166,"s":[154.8]},{"t":355,"s":[282]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.194],"y":[0]},"t":0,"s":[273.366]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":63,"s":[162]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[162]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":170,"s":[0]},{"i":{"x":[0.82],"y":[-0.109]},"o":{"x":[0.78],"y":[0]},"t":246,"s":[40]},{"t":317,"s":[13]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Thumb - KO","parent":6,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"k":[{"s":[17.7],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[17.084],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.752],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.548],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.405],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.298],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.213],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.144],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.086],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.037],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.995],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.958],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.926],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.898],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.874],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.852],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.832],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.815],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.8],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.786],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.773],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.763],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.753],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.744],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.73],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.715],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"p":{"k":[{"s":[0,0,0],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.015,0,0],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.077,0,0],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.192,0,0],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.364,0,0],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.598,0,0],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.902,0,0],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.285,0,0],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.76,0,0],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.347,0,0],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.074,0,0],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.968,0,0],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.068,0,0],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-6.423,0,0],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-8.089,0,0],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.109,0,0],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-12.416,0,0],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.732,0,0],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-16.688,0,0],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.11,0,0],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.047,0,0],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.624,0,0],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.922,0,0],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.792,0,0],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.993,0,0],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-17.321,0,0],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.437,0,0],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.855,0,0],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-7.728,0,0],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.403,0,0],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.711,0,0],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.481,0,0],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.587,0,0],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.945,0,0],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.494,0,0],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.2,0,0],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.041,0,0],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.909],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.63],[31.09,-15.283],[13.475,-3.311],[35.363,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.667,116.665],[-117.97,119.232],[-229.615,116.95],[-229.867,50.888],[-139.016,15.389],[-88.152,4.787],[-12.612,-36.255]],"c":true}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.127],[20.863,-4.414],[30.005,14.508],[-19.477,9.414],[-43.782,10.829],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.287,-4.716],[-20.863,4.414],[-30.007,-14.235],[31.121,-15.037],[13.472,-3.332],[35.361,-7.859],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.82,116.749],[-117.884,119.917],[-226.898,115.937],[-226.972,51.297],[-139.102,14.702],[-86.526,4.409],[-12.612,-36.255]],"c":true}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.142],[20.861,-4.429],[29.974,14.261],[-19.489,9.319],[-43.776,10.871],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.733],[-20.861,4.429],[-29.977,-13.992],[31.139,-14.886],[13.471,-3.345],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.3,116.8],[-117.832,120.338],[-225.228,115.315],[-225.194,51.548],[-139.154,14.28],[-85.528,4.177],[-12.612,-36.255]],"c":true}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.438],[29.953,14.089],[-19.498,9.253],[-43.773,10.9],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.438],[-29.956,-13.823],[31.153,-14.781],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.936,116.835],[-117.796,120.632],[-224.061,114.88],[-223.952,51.724],[-139.191,13.985],[-84.829,4.015],[-12.612,-36.255]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.937,13.959],[-19.504,9.203],[-43.77,10.923],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.753],[-20.859,4.446],[-29.94,-13.695],[31.162,-14.701],[13.469,-3.361],[35.359,-7.874],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.662,116.862],[-117.768,120.854],[-223.181,114.552],[-223.014,51.856],[-139.219,13.762],[-84.303,3.893],[-12.612,-36.255]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.166],[20.858,-4.452],[29.924,13.857],[-19.509,9.163],[-43.768,10.94],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.76],[-20.858,4.452],[-29.927,-13.594],[31.17,-14.638],[13.468,-3.366],[35.359,-7.877],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.446,116.884],[-117.746,121.029],[-222.486,114.293],[-222.274,51.961],[-139.241,13.586],[-83.887,3.796],[-12.612,-36.255]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.457],[29.914,13.773],[-19.513,9.131],[-43.766,10.954],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.766],[-20.858,4.457],[-29.917,-13.511],[31.177,-14.587],[13.467,-3.371],[35.359,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.269,116.901],[-117.728,121.172],[-221.919,114.082],[-221.67,52.046],[-139.258,13.443],[-83.548,3.717],[-12.612,-36.255]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.175],[20.857,-4.461],[29.905,13.703],[-19.516,9.104],[-43.764,10.966],[-18.617,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.771],[-20.857,4.461],[-29.908,-13.443],[31.182,-14.544],[13.467,-3.375],[35.358,-7.882],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.121,116.915],[-117.714,121.291],[-221.446,113.906],[-221.166,52.118],[-139.273,13.323],[-83.265,3.652],[-12.612,-36.255]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.997,116.928],[-117.701,121.392],[-221.044,113.756],[-220.739,52.178],[-139.286,13.222],[-83.025,3.596],[-12.612,-36.255]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.593],[-19.522,9.062],[-43.762,10.985],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.895,-13.334],[31.19,-14.477],[13.466,-3.38],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.889,116.938],[-117.69,121.479],[-220.7,113.628],[-220.372,52.23],[-139.297,13.135],[-82.819,3.548],[-12.612,-36.255]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[20.856,-4.47],[29.886,13.549],[-19.524,9.045],[-43.761,10.993],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.781],[-20.856,4.47],[-29.89,-13.291],[31.194,-14.45],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.796,116.947],[-117.681,121.554],[-220.401,113.516],[-220.054,52.275],[-139.306,13.059],[-82.64,3.507],[-12.612,-36.255]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.187],[20.856,-4.472],[29.881,13.51],[-19.526,9.03],[-43.76,10.999],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.784],[-20.856,4.472],[-29.885,-13.253],[31.197,-14.426],[13.466,-3.385],[35.358,-7.887],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.715,116.955],[-117.673,121.62],[-220.14,113.419],[-219.776,52.314],[-139.314,12.993],[-82.484,3.47],[-12.612,-36.255]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.189],[20.856,-4.474],[29.877,13.477],[-19.527,9.017],[-43.76,11.005],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.219],[31.199,-14.406],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.643,116.962],[-117.665,121.678],[-219.911,113.334],[-219.531,52.349],[-139.322,12.935],[-82.347,3.438],[-12.612,-36.255]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.191],[20.855,-4.476],[29.873,13.447],[-19.529,9.005],[-43.759,11.01],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.476],[-29.877,-13.19],[31.201,-14.387],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.58,116.969],[-117.659,121.729],[-219.708,113.258],[-219.316,52.379],[-139.328,12.884],[-82.226,3.41],[-12.612,-36.255]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.192],[20.855,-4.477],[29.87,13.42],[-19.53,8.995],[-43.758,11.015],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.79],[-20.855,4.477],[-29.874,-13.164],[31.203,-14.371],[13.465,-3.389],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.524,116.974],[-117.654,121.774],[-219.529,113.191],[-219.124,52.406],[-139.334,12.839],[-82.118,3.385],[-12.612,-36.255]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.478],[29.867,13.397],[-19.531,8.986],[-43.758,11.019],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.871,-13.141],[31.205,-14.357],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.475,116.979],[-117.649,121.815],[-219.369,113.132],[-218.955,52.43],[-139.339,12.798],[-82.023,3.363],[-12.612,-36.255]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.376],[-19.532,8.978],[-43.757,11.022],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.12],[31.207,-14.344],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.43,116.983],[-117.644,121.85],[-219.227,113.079],[-218.803,52.451],[-139.343,12.762],[-81.938,3.343],[-12.612,-36.255]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[20.855,-4.481],[29.862,13.357],[-19.533,8.971],[-43.757,11.026],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-20.855,4.481],[-29.866,-13.102],[31.208,-14.332],[13.465,-3.393],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.391,116.987],[-117.64,121.882],[-219.101,113.032],[-218.669,52.47],[-139.347,12.73],[-81.862,3.326],[-12.612,-36.255]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.34],[-19.534,8.965],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.482],[-29.864,-13.085],[31.21,-14.322],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.356,116.991],[-117.637,121.911],[-218.988,112.99],[-218.549,52.487],[-139.351,12.702],[-81.795,3.31],[-12.612,-36.255]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.198],[20.854,-4.483],[29.858,13.326],[-19.535,8.959],[-43.756,11.031],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.854,4.483],[-29.862,-13.071],[31.211,-14.313],[13.464,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.324,116.994],[-117.633,121.936],[-218.888,112.952],[-218.441,52.503],[-139.354,12.676],[-81.735,3.296],[-12.612,-36.255]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.199],[20.854,-4.483],[29.856,13.312],[-19.535,8.954],[-43.756,11.033],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.483],[-29.861,-13.058],[31.212,-14.305],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.297,116.997],[-117.631,121.959],[-218.798,112.919],[-218.346,52.516],[-139.357,12.654],[-81.681,3.284],[-12.612,-36.255]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.272,116.999],[-117.628,121.979],[-218.719,112.889],[-218.261,52.528],[-139.359,12.634],[-81.633,3.273],[-12.612,-36.255]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.485],[29.854,13.29],[-19.537,8.945],[-43.756,11.037],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.858,-13.036],[31.213,-14.291],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.25,117.001],[-117.626,121.996],[-218.648,112.863],[-218.186,52.539],[-139.361,12.616],[-81.591,3.263],[-12.612,-36.255]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.485],[29.852,13.281],[-19.537,8.942],[-43.755,11.039],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.857,-13.027],[31.214,-14.286],[13.464,-3.397],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.23,117.003],[-117.624,122.012],[-218.586,112.84],[-218.12,52.548],[-139.363,12.6],[-81.554,3.254],[-12.612,-36.255]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.273],[-19.537,8.939],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.856,-13.019],[31.215,-14.281],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.213,117.005],[-117.622,122.026],[-218.531,112.819],[-218.062,52.556],[-139.365,12.586],[-81.521,3.247],[-12.612,-36.255]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.85,13.266],[-19.538,8.936],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.012],[31.215,-14.277],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.199,117.006],[-117.621,122.038],[-218.483,112.801],[-218.011,52.563],[-139.366,12.574],[-81.493,3.24],[-12.612,-36.255]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.486],[29.85,13.26],[-19.538,8.933],[-43.755,11.042],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.486],[-29.854,-13.006],[31.216,-14.273],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.186,117.007],[-117.619,122.048],[-218.442,112.786],[-217.967,52.57],[-139.368,12.564],[-81.468,3.234],[-12.612,-36.255]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.255],[-19.538,8.931],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-13.001],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.174,117.009],[-117.618,122.057],[-218.406,112.773],[-217.929,52.575],[-139.369,12.555],[-81.446,3.229],[-12.612,-36.255]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.996],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.165,117.009],[-117.617,122.065],[-218.376,112.761],[-217.896,52.58],[-139.37,12.547],[-81.428,3.225],[-12.612,-36.255]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.246],[-19.539,8.928],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.992],[31.217,-14.265],[13.464,-3.399],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.157,117.01],[-117.617,122.071],[-218.35,112.752],[-217.869,52.583],[-139.371,12.541],[-81.413,3.221],[-12.612,-36.255]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.243],[-19.539,8.927],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.99],[31.217,-14.263],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.151,117.011],[-117.616,122.077],[-218.33,112.744],[-217.847,52.586],[-139.371,12.535],[-81.401,3.219],[-12.612,-36.255]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.241],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.146,117.011],[-117.615,122.081],[-218.313,112.738],[-217.83,52.589],[-139.372,12.531],[-81.391,3.216],[-12.612,-36.255]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.853,-4.49],[29.848,13.234],[-19.538,8.926],[-43.753,11.05],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.853,4.49],[-29.852,-12.98],[31.216,-14.262],[13.464,-3.4],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.609,122.089],[-218.282,112.739],[-217.802,52.604],[-139.378,12.528],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.852,-4.496],[29.852,13.224],[-19.535,8.933],[-43.749,11.064],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.852,4.496],[-29.856,-12.971],[31.211,-14.271],[13.462,-3.405],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.592,122.092],[-218.266,112.774],[-217.805,52.64],[-139.395,12.539],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.849,-4.509],[29.859,13.206],[-19.529,8.944],[-43.742,11.09],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.849,4.509],[-29.863,-12.952],[31.202,-14.29],[13.46,-3.413],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.558,122.098],[-218.236,112.841],[-217.812,52.707],[-139.427,12.561],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.843,-4.529],[29.871,13.176],[-19.52,8.963],[-43.729,11.133],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.843,4.529],[-29.875,-12.923],[31.187,-14.32],[13.456,-3.426],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.504,122.108],[-218.187,112.95],[-217.822,52.818],[-139.479,12.596],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.835,-4.56],[29.89,13.13],[-19.505,8.992],[-43.71,11.199],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.835,4.56],[-29.893,-12.877],[31.163,-14.367],[13.45,-3.446],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.42,122.123],[-218.112,113.119],[-217.838,52.99],[-139.56,12.65],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.823,-4.609],[29.918,13.059],[-19.483,9.037],[-43.681,11.3],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.823,4.609],[-29.921,-12.806],[31.128,-14.438],[13.441,-3.477],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.29,122.147],[-217.996,113.379],[-217.863,53.253],[-139.685,12.734],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.804,-4.686],[29.964,12.946],[-19.447,9.109],[-43.634,11.462],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.804,4.686],[-29.966,-12.693],[31.07,-14.553],[13.427,-3.527],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.083,122.185],[-217.811,113.794],[-217.902,53.674],[-139.884,12.867],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.77,-4.822],[30.044,12.747],[-19.384,9.235],[-43.551,11.747],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.77,4.822],[-30.044,-12.494],[30.969,-14.755],[13.401,-3.615],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.718,122.253],[-217.485,114.525],[-217.971,54.416],[-140.234,13.103],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.705,-5.078],[30.195,12.372],[-19.265,9.473],[-43.396,12.284],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.705,5.078],[-30.192,-12.118],[30.779,-15.136],[13.353,-3.78],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.032,122.379],[-216.87,115.902],[-218.102,55.813],[-140.895,13.546],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.64,-5.337],[30.347,11.993],[-19.145,9.713],[-43.239,12.825],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.64,5.337],[-30.341,-11.74],[30.588,-15.519],[13.305,-3.947],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.339,122.506],[-216.251,117.29],[-218.233,57.222],[-141.561,13.993],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.601,-5.492],[30.439,11.766],[-19.073,9.857],[-43.144,13.15],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.601,5.492],[-30.431,-11.513],[30.473,-15.749],[13.276,-4.047],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.924,122.583],[-215.879,118.123],[-218.312,58.067],[-141.96,14.261],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.575,-5.593],[30.498,11.617],[-19.026,9.952],[-43.083,13.363],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.575,5.593],[-30.489,-11.364],[30.397,-15.9],[13.257,-4.112],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.651,122.633],[-215.635,118.67],[-218.364,58.621],[-142.223,14.437],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.557,-5.667],[30.542,11.51],[-18.992,10.02],[-43.038,13.517],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.557,5.667],[-30.532,-11.257],[30.343,-16.009],[13.243,-4.159],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.455,122.669],[-215.459,119.064],[-218.401,59.021],[-142.412,14.564],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.543,-5.723],[30.575,11.428],[-18.966,10.072],[-43.004,13.634],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.543,5.723],[-30.564,-11.175],[30.301,-16.092],[13.233,-4.195],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.305,122.697],[-215.325,119.365],[-218.43,59.326],[-142.556,14.661],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.531,-5.767],[30.601,11.363],[-18.945,10.113],[-42.977,13.727],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.531,5.767],[-30.589,-11.11],[30.269,-16.158],[13.225,-4.224],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.186,122.719],[-215.219,119.602],[-218.452,59.567],[-142.67,14.737],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.523,-5.802],[30.622,11.312],[-18.929,10.146],[-42.956,13.801],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.523,5.802],[-30.61,-11.058],[30.242,-16.21],[13.218,-4.247],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.092,122.736],[-215.134,119.792],[-218.47,59.76],[-142.761,14.798],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.515,-5.831],[30.638,11.269],[-18.916,10.173],[-42.938,13.861],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.515,5.831],[-30.626,-11.016],[30.221,-16.253],[13.213,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.014,122.75],[-215.066,119.947],[-218.485,59.916],[-142.835,14.848],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.855],[30.652,11.235],[-18.905,10.194],[-42.924,13.91],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.855],[-30.64,-10.982],[30.204,-16.288],[13.208,-4.28],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.952,122.762],[-215.009,120.073],[-218.497,60.044],[-142.896,14.888],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.505,-5.874],[30.664,11.207],[-18.896,10.212],[-42.912,13.951],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.505,5.874],[-30.651,-10.954],[30.19,-16.316],[13.205,-4.293],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.9,122.771],[-214.963,120.176],[-218.507,60.149],[-142.945,14.922],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.501,-5.889],[30.673,11.184],[-18.889,10.227],[-42.903,13.983],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.501,5.889],[-30.66,-10.931],[30.178,-16.339],[13.202,-4.303],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.858,122.779],[-214.926,120.259],[-218.514,60.234],[-142.985,14.948],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.497,-5.902],[30.68,11.166],[-18.883,10.238],[-42.895,14.009],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.497,5.902],[-30.667,-10.913],[30.169,-16.358],[13.2,-4.311],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.825,122.785],[-214.896,120.327],[-218.521,60.302],[-143.017,14.97],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.495,-5.912],[30.686,11.151],[-18.878,10.248],[-42.889,14.03],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.495,5.912],[-30.673,-10.898],[30.161,-16.372],[13.198,-4.317],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.799,122.79],[-214.872,120.38],[-218.526,60.356],[-143.043,14.987],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.493,-5.919],[30.69,11.14],[-18.875,10.255],[-42.885,14.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.493,5.919],[-30.677,-10.887],[30.156,-16.384],[13.196,-4.322],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.778,122.794],[-214.854,120.42],[-218.53,60.397],[-143.062,15],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.492,-5.925],[30.694,11.132],[-18.872,10.26],[-42.881,14.058],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.492,5.925],[-30.68,-10.879],[30.152,-16.392],[13.195,-4.326],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.763,122.797],[-214.841,120.45],[-218.533,60.427],[-143.077,15.01],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.929],[30.696,11.127],[-18.87,10.263],[-42.879,14.065],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.929],[-30.683,-10.873],[30.149,-16.397],[13.195,-4.328],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.753,122.798],[-214.832,120.47],[-218.534,60.448],[-143.086,15.016],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.926],[30.694,11.13],[-18.871,10.261],[-42.88,14.06],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.926],[-30.681,-10.877],[30.15,-16.393],[13.195,-4.327],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.76,122.801],[-214.837,120.461],[-218.532,60.439],[-143.08,15.017],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.494,-5.909],[30.683,11.154],[-18.878,10.245],[-42.888,14.024],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.494,5.909],[-30.67,-10.901],[30.161,-16.368],[13.197,-4.315],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.807,122.805],[-214.874,120.382],[-218.52,60.362],[-143.036,15.005],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.5,-5.878],[30.662,11.198],[-18.891,10.215],[-42.903,13.959],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.5,5.878],[-30.649,-10.945],[30.181,-16.321],[13.202,-4.295],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.891,122.811],[-214.94,120.24],[-218.497,60.223],[-142.957,14.984],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.831],[30.631,11.264],[-18.91,10.171],[-42.926,13.86],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.831],[-30.619,-11.011],[30.212,-16.25],[13.209,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.018,122.822],[-215.041,120.025],[-218.463,60.011],[-142.837,14.951],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.522,-5.764],[30.587,11.358],[-18.937,10.109],[-42.957,13.721],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.522,5.764],[-30.575,-11.105],[30.255,-16.15],[13.219,-4.222],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.198,122.836],[-215.184,119.721],[-218.416,59.713],[-142.668,14.904],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.539,-5.674],[30.527,11.485],[-18.973,10.024],[-43.001,13.532],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.539,5.674],[-30.517,-11.232],[30.313,-16.015],[13.232,-4.164],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.441,122.855],[-215.377,119.309],[-218.351,59.31],[-142.439,14.841],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.562,-5.555],[30.448,11.653],[-19.021,9.911],[-43.058,13.281],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.562,5.555],[-30.439,-11.4],[30.39,-15.835],[13.249,-4.087],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.764,122.881],[-215.634,118.763],[-218.265,58.774],[-142.135,14.757],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.592,-5.398],[30.343,11.875],[-19.085,9.763],[-43.133,12.95],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.592,5.398],[-30.336,-11.622],[30.492,-15.598],[13.273,-3.985],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.19,122.915],[-215.972,118.042],[-218.152,58.067],[-141.734,14.646],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.632,-5.189],[30.204,12.169],[-19.169,9.566],[-43.233,12.512],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.632,5.189],[-30.2,-11.916],[30.627,-15.284],[13.303,-3.85],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.755,122.96],[-216.421,117.086],[-218.001,57.13],[-141.203,14.5],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.686,-4.908],[30.018,12.566],[-19.283,9.302],[-43.368,11.922],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.686,4.908],[-30.017,-12.313],[30.808,-14.861],[13.345,-3.669],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.515,123.021],[-217.025,115.8],[-217.799,55.869],[-140.488,14.302],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.76,-4.519],[29.759,13.113],[-19.44,8.935],[-43.554,11.106],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.76,4.519],[-29.763,-12.861],[31.059,-14.276],[13.402,-3.417],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.567,123.104],[-217.86,114.021],[-217.519,54.124],[-139.498,14.029],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.865,-3.972],[29.396,13.885],[-19.662,8.42],[-43.816,9.956],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.865,3.972],[-29.406,-13.633],[31.413,-13.452],[13.483,-3.064],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-119.049,123.222],[-219.037,111.514],[-217.125,51.666],[-138.104,13.644],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.997,-3.279],[28.935,14.862],[-19.942,7.767],[-44.148,8.501],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.997,3.279],[-28.954,-14.61],[31.861,-12.409],[13.585,-2.616],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-120.924,123.372],[-220.526,108.342],[-216.626,48.556],[-136.34,13.158],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.11,-2.69],[28.544,15.692],[-20.18,7.212],[-44.431,7.265],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.11,2.69],[-28.57,-15.44],[32.241,-11.522],[13.672,-2.235],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-122.517,123.499],[-221.791,105.647],[-216.202,45.913],[-134.841,12.744],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.177,-2.342],[28.313,16.183],[-20.321,6.884],[-44.597,6.533],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.177,2.342],[-28.343,-15.931],[32.466,-10.998],[13.723,-2.01],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.459,123.574],[-222.539,104.053],[-215.952,44.35],[-133.955,12.499],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.212,-2.159],[28.191,16.441],[-20.395,6.711],[-44.685,6.149],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.212,2.159],[-28.224,-16.189],[32.585,-10.723],[13.75,-1.892],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.954,123.613],[-222.933,103.215],[-215.82,43.528],[-133.488,12.371],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.228,-2.074],[28.135,16.561],[-20.429,6.631],[-44.726,5.97],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.228,2.074],[-28.168,-16.31],[32.64,-10.595],[13.763,-1.837],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.185,123.632],[-223.116,102.825],[-215.759,43.146],[-133.272,12.311],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[21.229,-2.075],[28.141,16.584],[-20.428,6.644],[-44.727,5.971],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-21.229,2.075],[-28.174,-16.332],[32.638,-10.615],[13.763,-1.837],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.191,117.007],[-124.183,123.577],[-223.288,102.889],[-215.949,43.116],[-133.272,12.341],[-81.479,3.237],[-12.612,-36.255]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[21.214,-2.165],[28.22,16.547],[-20.388,6.771],[-44.691,6.156],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-21.214,2.165],[-28.252,-16.294],[32.574,-10.818],[13.752,-1.894],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.392,116.987],[-123.942,123.353],[-223.74,103.522],[-216.715,43.395],[-133.494,12.513],[-81.864,3.326],[-12.612,-36.255]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[21.184,-2.358],[28.391,16.468],[-20.303,7.044],[-44.612,6.552],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.78],[-21.184,2.358],[-28.42,-16.211],[32.438,-11.253],[13.728,-2.016],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.82,116.945],[-123.428,122.877],[-224.705,104.876],[-218.353,43.99],[-133.968,12.88],[-82.687,3.517],[-12.612,-36.255]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[21.132,-2.689],[28.683,16.333],[-20.156,7.512],[-44.478,7.231],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.757],[-21.132,2.689],[-28.707,-16.07],[32.204,-11.999],[13.687,-2.225],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.555,116.873],[-122.546,122.059],[-226.362,107.198],[-221.163,45.012],[-134.782,13.509],[-84.098,3.845],[-12.612,-36.255]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.137],[21.067,-3.101],[29.047,16.164],[-19.974,8.094],[-44.311,8.076],[-18.619,4.319],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.727],[-21.067,3.101],[-29.065,-15.895],[31.913,-12.928],[13.635,-2.485],[35.361,-7.864],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.47,116.783],[-121.45,121.041],[-228.421,110.085],[-224.657,46.282],[-135.794,14.292],[-85.853,4.253],[-12.612,-36.255]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.114],[21.011,-3.46],[29.364,16.017],[-19.815,8.601],[-44.166,8.812],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.701],[-21.011,3.46],[-29.377,-15.742],[31.66,-13.737],[13.59,-2.712],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.267,116.705],[-120.493,120.154],[-230.218,112.604],[-227.705,47.39],[-136.676,14.976],[-87.385,4.609],[-12.612,-36.255]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.094,4.097],[20.969,-3.728],[29.6,15.907],[-19.696,8.979],[-44.057,9.361],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.283,-4.682],[-20.969,3.728],[-29.609,-15.628],[31.471,-14.34],[13.557,-2.88],[35.363,-7.845],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.861,116.646],[-119.78,119.493],[-231.555,114.479],[-229.974,48.215],[-137.333,15.484],[-88.524,4.873],[-12.612,-36.255]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.092,4.085],[20.938,-3.922],[29.771,15.828],[-19.611,9.253],[-43.979,9.759],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.281,-4.668],[-20.938,3.922],[-29.777,-15.545],[31.334,-14.777],[13.533,-3.003],[35.364,-7.839],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.291,116.604],[-119.263,119.014],[-232.526,115.84],[-231.62,48.814],[-137.81,15.853],[-89.352,5.066],[-12.612,-36.255]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.076],[20.916,-4.063],[29.896,15.77],[-19.548,9.453],[-43.921,10.049],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.658],[-20.916,4.063],[-29.9,-15.485],[31.235,-15.096],[13.515,-3.092],[35.364,-7.835],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.605,116.573],[-118.887,118.664],[-233.233,116.832],[-232.82,49.25],[-138.158,16.122],[-89.954,5.206],[-12.612,-36.255]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.07],[20.9,-4.166],[29.987,15.728],[-19.502,9.599],[-43.88,10.26],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.651],[-20.9,4.166],[-29.989,-15.441],[31.162,-15.328],[13.502,-3.157],[35.364,-7.832],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.834,116.551],[-118.613,118.41],[-233.748,117.554],[-233.694,49.567],[-138.411,16.318],[-90.393,5.308],[-12.612,-36.255]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.065],[20.888,-4.24],[30.052,15.698],[-19.47,9.703],[-43.85,10.411],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.646],[-20.888,4.24],[-30.053,-15.41],[31.11,-15.495],[13.493,-3.204],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.998,116.534],[-118.416,118.227],[-234.118,118.072],[-234.321,49.796],[-138.592,16.459],[-90.708,5.381],[-12.612,-36.255]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.88,-4.291],[30.097,15.677],[-19.447,9.776],[-43.829,10.516],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.88,4.291],[-30.098,-15.388],[31.074,-15.61],[13.487,-3.236],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.112,116.523],[-118.279,118.101],[-234.374,118.431],[-234.756,49.954],[-138.718,16.556],[-90.927,5.432],[-12.612,-36.255]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.06],[20.875,-4.324],[30.126,15.663],[-19.432,9.822],[-43.815,10.584],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.64],[-20.875,4.324],[-30.127,-15.374],[31.05,-15.685],[13.483,-3.257],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.185,116.516],[-118.191,118.019],[-234.54,118.664],[-235.037,50.056],[-138.8,16.619],[-91.068,5.464],[-12.612,-36.255]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.872,-4.342],[30.142,15.656],[-19.424,9.848],[-43.808,10.621],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.872,4.343],[-30.142,-15.366],[31.037,-15.726],[13.48,-3.268],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.226,116.512],[-118.143,117.974],[-234.631,118.791],[-235.191,50.112],[-138.844,16.654],[-91.145,5.482],[-12.612,-36.255]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.422,9.851],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.35],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.209,116.514],[-118.125,117.984],[-234.564,118.795],[-235.138,50.143],[-138.861,16.64],[-91.113,5.475],[-12.612,-36.255]],"c":true}],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.14,15.591],[-19.425,9.832],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.352],[-30.14,-15.302],[31.038,-15.7],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.106,116.524],[-118.114,118.067],[-234.235,118.672],[-234.787,50.193],[-138.871,16.557],[-90.916,5.429],[-12.612,-36.255]],"c":true}],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.068],[20.87,-4.357],[30.127,15.494],[-19.43,9.794],[-43.802,10.66],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.357],[-30.128,-15.206],[31.046,-15.641],[13.479,-3.28],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.901,116.544],[-118.094,118.233],[-233.578,118.427],[-234.088,50.292],[-138.892,16.391],[-90.523,5.338],[-12.612,-36.255]],"c":true}],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.078],[20.869,-4.367],[30.107,15.33],[-19.438,9.731],[-43.799,10.688],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.66],[-20.869,4.367],[-30.108,-15.045],[31.058,-15.54],[13.478,-3.289],[35.364,-7.836],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.555,116.578],[-118.059,118.513],[-232.466,118.013],[-232.903,50.459],[-138.927,16.11],[-89.857,5.183],[-12.612,-36.255]],"c":true}],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.093],[20.867,-4.381],[30.076,15.082],[-19.45,9.636],[-43.794,10.731],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.677],[-20.867,4.381],[-30.077,-14.8],[31.077,-15.388],[13.476,-3.302],[35.363,-7.843],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.031,116.63],[-118.006,118.937],[-230.785,117.386],[-231.113,50.712],[-138.98,15.685],[-88.852,4.95],[-12.612,-36.255]],"c":true}],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.112],[20.865,-4.399],[30.037,14.766],[-19.465,9.514],[-43.787,10.785],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.285,-4.698],[-20.865,4.399],[-30.039,-14.489],[31.101,-15.195],[13.474,-3.319],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.364,116.695],[-117.939,119.476],[-228.645,116.589],[-228.834,51.034],[-139.047,15.144],[-87.572,4.652],[-12.612,-36.255]],"c":true}],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.1,4.147],[20.861,-4.434],[29.963,14.171],[-19.494,9.284],[-43.774,10.887],[-18.618,4.321],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.29,-4.739],[-20.861,4.434],[-29.966,-13.903],[31.146,-14.83],[13.47,-3.35],[35.36,-7.868],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.108,116.818],[-117.813,120.493],[-224.613,115.086],[-224.539,51.641],[-139.174,14.124],[-85.159,4.092],[-12.612,-36.255]],"c":true}],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.936,13.951],[-19.504,9.2],[-43.77,10.924],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.754],[-20.859,4.446],[-29.939,-13.687],[31.163,-14.696],[13.469,-3.362],[35.359,-7.875],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.646,116.864],[-117.766,120.867],[-223.128,114.533],[-222.958,51.864],[-139.22,13.749],[-84.271,3.885],[-12.612,-36.255]],"c":true}],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.456],[29.914,13.779],[-19.513,9.134],[-43.766,10.953],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.765],[-20.858,4.456],[-29.918,-13.517],[31.176,-14.591],[13.467,-3.371],[35.359,-7.879],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.282,116.9],[-117.73,121.161],[-221.961,114.098],[-221.715,52.04],[-139.257,13.453],[-83.573,3.723],[-12.612,-36.255]],"c":true}],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.996,116.928],[-117.701,121.393],[-221.042,113.755],[-220.736,52.178],[-139.286,13.221],[-83.023,3.596],[-12.612,-36.255]],"c":true}],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.185],[20.856,-4.47],[29.884,13.537],[-19.525,9.04],[-43.761,10.995],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.782],[-20.856,4.47],[-29.888,-13.278],[31.195,-14.442],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.77,116.95],[-117.678,121.576],[-220.317,113.485],[-219.964,52.287],[-139.309,13.038],[-82.59,3.495],[-12.612,-36.255]],"c":true}],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.19],[20.855,-4.475],[29.874,13.452],[-19.529,9.008],[-43.759,11.009],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.475],[-29.878,-13.195],[31.201,-14.391],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.592,116.968],[-117.66,121.72],[-219.745,113.272],[-219.355,52.373],[-139.327,12.893],[-82.248,3.415],[-12.612,-36.255]],"c":true}],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.865,13.386],[-19.532,8.982],[-43.758,11.021],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.13],[31.206,-14.35],[13.465,-3.391],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.452,116.981],[-117.646,121.833],[-219.297,113.105],[-218.878,52.441],[-139.341,12.78],[-81.98,3.353],[-12.612,-36.255]],"c":true}],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.854,-4.482],[29.859,13.335],[-19.534,8.962],[-43.757,11.029],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.855,4.482],[-29.863,-13.08],[31.21,-14.319],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.344,116.992],[-117.635,121.92],[-218.951,112.976],[-218.51,52.493],[-139.352,12.693],[-81.773,3.305],[-12.612,-36.255]],"c":true}],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.484],[29.854,13.297],[-19.536,8.948],[-43.756,11.036],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.042],[31.213,-14.295],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.263,117],[-117.627,121.985],[-218.691,112.879],[-218.232,52.532],[-139.36,12.627],[-81.617,3.269],[-12.612,-36.255]],"c":true}],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.269],[-19.538,8.937],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.015],[31.215,-14.278],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.205,117.006],[-117.621,122.033],[-218.504,112.809],[-218.033,52.56],[-139.366,12.579],[-81.505,3.243],[-12.612,-36.255]],"c":true}],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.166,117.009],[-117.617,122.064],[-218.379,112.763],[-217.9,52.579],[-139.37,12.548],[-81.43,3.225],[-12.612,-36.255]],"c":true}],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.986],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.308,112.736],[-217.825,52.59],[-139.372,12.53],[-81.388,3.216],[-12.612,-36.255]],"c":true}],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.085,-3.398],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.374],[-19.532,8.977],[-43.757,11.023],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.428,0.653],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.118],[31.207,-14.343],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.077,194.754],[32.184,139.048],[-41.426,116.984],[-117.644,121.854],[-219.214,113.074],[-218.79,52.453],[-139.343,12.759],[-81.93,3.342],[-12.612,-36.255]],"c":true}],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.763,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.729],[-19.515,9.114],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.751,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.468],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.251,193.909],[32.184,139.048],[-42.176,116.91],[-117.719,121.247],[-221.619,113.97],[-221.351,52.091],[-139.268,13.367],[-83.369,3.676],[-12.612,-36.255]],"c":true}],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[47.069,-2.957],[27.304,14.384],[26.1,4.15],[20.86,-4.436],[29.957,14.124],[-19.496,9.266],[-43.773,10.895],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.446,1.054],[-24.064,-12.677],[-29.291,-4.742],[-20.86,4.436],[-29.96,-13.857],[31.15,-14.802],[13.47,-3.352],[35.36,-7.87],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[125.893,192.97],[32.184,139.048],[-43.009,116.828],[-117.803,120.573],[-224.294,114.967],[-224.2,51.689],[-139.184,14.043],[-84.969,4.047],[-12.612,-36.255]],"c":true}],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[43.879,-2.757],[27.304,14.385],[26.098,4.13],[20.863,-4.417],[29.999,14.464],[-19.48,9.398],[-43.781,10.836],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.637,1.236],[-24.064,-12.677],[-29.288,-4.719],[-20.863,4.417],[-30.002,-14.192],[31.124,-15.01],[13.472,-3.335],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.901,192.158],[32.184,139.048],[-43.728,116.758],[-117.875,119.991],[-226.604,115.828],[-226.659,51.341],[-139.111,14.627],[-86.35,4.368],[-12.612,-36.255]],"c":true}],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.29,-2.594],[27.304,14.385],[26.096,4.113],[20.865,-4.401],[30.034,14.741],[-19.466,9.504],[-43.786,10.789],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.227,1.384],[-24.064,-12.677],[-29.285,-4.7],[-20.865,4.401],[-30.036,-14.465],[31.103,-15.18],[13.474,-3.32],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.155,191.499],[32.184,139.048],[-44.312,116.7],[-117.934,119.518],[-228.478,116.527],[-228.656,51.059],[-139.052,15.101],[-87.472,4.629],[-12.612,-36.255]],"c":true}],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.213,-2.464],[27.304,14.385],[26.094,4.1],[20.866,-4.388],[30.061,14.963],[-19.455,9.59],[-43.791,10.751],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.305,1.503],[-24.064,-12.677],[-29.283,-4.685],[-20.866,4.388],[-30.063,-14.684],[31.086,-15.316],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.765,190.971],[32.184,139.048],[-44.781,116.654],[-117.981,119.139],[-229.982,117.087],[-230.258,50.833],[-139.005,15.482],[-88.372,4.838],[-12.612,-36.255]],"c":true}],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.55,-2.359],[27.304,14.385],[26.093,4.089],[20.868,-4.378],[30.084,15.141],[-19.447,9.658],[-43.795,10.721],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-27.969,1.598],[-24.064,-12.677],[-29.282,-4.673],[-20.867,4.378],[-30.085,-14.859],[31.072,-15.425],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[137.855,190.548],[32.184,139.048],[-45.156,116.617],[-118.019,118.836],[-231.186,117.536],[-231.54,50.652],[-138.967,15.786],[-89.092,5.005],[-12.612,-36.255]],"c":true}],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.223,-2.276],[27.304,14.385],[26.092,4.081],[20.869,-4.37],[30.101,15.283],[-19.44,9.713],[-43.798,10.696],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.296,1.674],[-24.064,-12.677],[-29.281,-4.663],[-20.869,4.37],[-30.102,-14.998],[31.062,-15.511],[13.477,-3.292],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.523,190.21],[32.184,139.048],[-45.456,116.588],[-118.049,118.593],[-232.147,117.894],[-232.564,50.507],[-138.937,16.029],[-89.667,5.139],[-12.612,-36.255]],"c":true}],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.172,-2.21],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.395],[-19.434,9.756],[-43.8,10.677],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.347,1.734],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.116,-15.109],[31.053,-15.58],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.843,189.943],[32.184,139.048],[-45.693,116.565],[-118.073,118.402],[-232.908,118.178],[-233.374,50.392],[-138.913,16.221],[-90.122,5.245],[-12.612,-36.255]],"c":true}],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.354,-2.158],[27.304,14.385],[26.09,4.069],[20.87,-4.358],[30.126,15.482],[-19.43,9.79],[-43.802,10.662],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.166,1.781],[-24.064,-12.677],[-29.279,-4.65],[-20.87,4.358],[-30.126,-15.195],[31.046,-15.634],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.871,189.735],[32.184,139.048],[-45.877,116.546],[-118.091,118.252],[-233.5,118.398],[-234.005,50.303],[-138.894,16.371],[-90.476,5.327],[-12.612,-36.255]],"c":true}],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.733,-2.119],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.549],[-19.427,9.816],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.787,1.816],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.26],[31.041,-15.674],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.652,189.577],[32.184,139.048],[-46.017,116.533],[-118.105,118.139],[-233.95,118.566],[-234.484,50.236],[-138.88,16.485],[-90.745,5.389],[-12.612,-36.255]],"c":true}],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.282,-2.091],[27.304,14.385],[26.089,4.062],[20.871,-4.351],[30.14,15.597],[-19.425,9.834],[-43.805,10.643],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.238,1.842],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.351],[-30.14,-15.308],[31.038,-15.704],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.218,189.462],[32.184,139.048],[-46.119,116.523],[-118.116,118.057],[-234.277,118.688],[-234.832,50.187],[-138.87,16.568],[-90.941,5.435],[-12.612,-36.255]],"c":true}],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.98,-2.072],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.144,15.629],[-19.423,9.847],[-43.805,10.637],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.54,1.859],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.144,-15.34],[31.035,-15.724],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.598,189.385],[32.184,139.048],[-46.187,116.516],[-118.123,118.001],[-234.495,118.769],[-235.065,50.154],[-138.863,16.623],[-91.071,5.465],[-12.612,-36.255]],"c":true}],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.809,-2.061],[27.304,14.385],[26.089,4.059],[20.871,-4.348],[30.147,15.648],[-19.422,9.854],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.711,1.869],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.349],[-30.147,-15.358],[31.034,-15.735],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.813,189.342],[32.184,139.048],[-46.226,116.512],[-118.126,117.97],[-234.619,118.815],[-235.197,50.135],[-138.859,16.654],[-91.146,5.482],[-12.612,-36.255]],"c":true}],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":295,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Nail - PATH","parent":9,"tt":1,"tp":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-215.854,53.1,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[0,0],[4.232,-12.502],[12.921,-1.766],[0,0],[-10.742,11.216],[0,0],[-9.55,-10.068]],"o":[[8.923,9.803],[-4.232,12.502],[0,0],[-17.559,-12.801],[0,0],[13.042,-4.219],[0,0]],"v":[[43.524,-16.699],[51.346,19.151],[23.347,42.689],[-15.873,40.533],[-19.404,-10.788],[6.329,-27.088],[43.177,-17.287]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"t":197,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":275,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":400,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.75686275959,0.549019634724,0.474509805441,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":295,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Thumb - PATH","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":59,"s":[17.7]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":95,"s":[15.7]},{"t":147,"s":[15.7]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":122,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.604,"y":0.604},"t":145,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.2,"y":0.2},"t":147,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":197,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.49,-5.931],[30.698,11.123],[-18.869,10.266],[-42.877,14.071],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.49,5.931],[-30.684,-10.869],[30.147,-16.402],[13.194,-4.33],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.746,122.8],[-214.825,120.486],[-218.536,60.463],[-143.094,15.021],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":197,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":275,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":295,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":3,"nm":"All Overview Scroll","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[434]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":263,"s":[638.8]},{"t":348,"s":[946]}],"ix":3},"y":{"a":0,"k":-36,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"Initial Overview In","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":182,"s":[-326]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[209]},{"t":217,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":3,"nm":"Loop App to Center","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-512,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":407.666,"s":[-38.4]},{"t":441,"s":[-96]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":456,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":14,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-256,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":455,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":122,"s":[-768]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[-768]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":406,"s":[-984]},{"t":431,"s":[-1308]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":14,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[-768,0],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-772.838,0],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-788.422,0],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-818.479,0],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-872.229,0],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-984,0],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1111.278,0],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1167.309,0],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1199.786,0],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1221.853,0],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1238.119,0],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1250.7,0],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1260.737,0],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1268.916,0],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1275.679,0],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1281.331,0],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1286.087,0],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1290.107,0],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1293.513,0],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1296.398,0],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1298.838,0],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1300.893,0],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1302.61,0],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1304.033,0],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1305.193,0],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1306.12,0],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1307.368,0],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":28,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":455,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":264,"s":[50]},{"i":{"x":[0.833],"y":[0.648]},"o":{"x":[0.167],"y":[0]},"t":348,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":422,"s":[95]},{"t":447,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":406,"s":[644]},{"t":431,"s":[1280]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":406,"s":[452]},{"t":431,"s":[800]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":406,"s":[43.2]},{"t":431,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":15,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-114.749,-52.975],[-55.125,-112.598],[55.125,-112.598],[114.749,-52.975],[114.749,52.975],[55.125,112.598],[-55.125,112.598],[-114.749,52.975]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-130.044,-62.556],[-71.633,-120.968],[71.633,-120.968],[130.044,-62.556],[130.044,62.556],[71.633,120.968],[-71.633,120.968],[-130.044,62.556]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-159.544,-81.035],[-103.47,-137.109],[103.47,-137.109],[159.544,-81.035],[159.544,81.035],[103.47,137.109],[-103.47,137.109],[-159.544,81.035]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-212.299,-114.082],[-160.406,-165.975],[160.406,-165.975],[212.299,-114.082],[212.299,114.082],[160.406,165.975],[-160.406,165.975],[-212.299,114.082]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-322,-182.8],[-278.8,-226],[278.8,-226],[322,-182.8],[322,182.8],[278.8,226],[-278.8,226],[-322,182.8]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-446.921,-261.052],[-413.62,-294.353],[413.62,-294.353],[446.921,-261.052],[446.921,261.052],[413.62,294.353],[-413.62,294.353],[-446.921,261.052]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-501.914,-295.501],[-472.972,-324.444],[472.972,-324.444],[501.914,-295.501],[501.914,295.501],[472.972,324.444],[-472.972,324.444],[-501.914,295.501]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-533.79,-315.468],[-507.373,-341.885],[507.373,-341.885],[533.79,-315.468],[533.79,315.468],[507.373,341.885],[-507.373,341.885],[-533.79,315.468]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-555.448,-329.035],[-530.748,-353.736],[530.748,-353.736],[555.448,-329.035],[555.448,329.035],[530.748,353.736],[-530.748,353.736],[-555.448,329.035]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-571.413,-339.036],[-547.978,-362.471],[547.978,-362.471],[571.413,-339.036],[571.413,339.036],[547.978,362.471],[-547.978,362.471],[-571.413,339.036]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-583.761,-346.771],[-561.305,-369.228],[561.305,-369.228],[583.761,-346.771],[583.761,346.771],[561.305,369.228],[-561.305,369.228],[-583.761,346.771]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-593.612,-352.942],[-571.936,-374.618],[571.936,-374.618],[593.612,-352.942],[593.612,352.942],[571.936,374.618],[-571.936,374.618],[-593.612,352.942]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-601.64,-357.97],[-580.6,-379.01],[580.6,-379.01],[601.64,-357.97],[601.64,357.97],[580.6,379.01],[-580.6,379.01],[-601.64,357.97]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-608.278,-362.129],[-587.764,-382.643],[587.764,-382.643],[608.278,-362.129],[608.278,362.129],[587.764,382.643],[-587.764,382.643],[-608.278,362.129]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-613.825,-365.603],[-593.75,-385.678],[593.75,-385.678],[613.825,-365.603],[613.825,365.603],[593.75,385.678],[-593.75,385.678],[-613.825,365.603]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-618.492,-368.527],[-598.788,-388.232],[598.788,-388.232],[618.492,-368.527],[618.492,368.527],[598.788,388.232],[-598.788,388.232],[-618.492,368.527]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-622.438,-370.999],[-603.047,-390.391],[603.047,-390.391],[622.438,-370.999],[622.438,370.999],[603.047,390.391],[-603.047,390.391],[-622.438,370.999]],"c":true}],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-625.781,-373.093],[-606.654,-392.22],[606.654,-392.22],[625.781,-373.093],[625.781,373.093],[606.654,392.22],[-606.654,392.22],[-625.781,373.093]],"c":true}],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-628.613,-374.867],[-609.711,-393.769],[609.711,-393.769],[628.613,-374.867],[628.613,374.867],[609.711,393.769],[-609.711,393.769],[-628.613,374.867]],"c":true}],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-631.008,-376.367],[-612.295,-395.08],[612.295,-395.08],[631.008,-376.367],[631.008,376.367],[612.295,395.08],[-612.295,395.08],[-631.008,376.367]],"c":true}],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-633.024,-377.63],[-614.471,-396.183],[614.471,-396.183],[633.024,-377.63],[633.024,377.63],[614.471,396.183],[-614.471,396.183],[-633.024,377.63]],"c":true}],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-634.71,-378.686],[-616.291,-397.106],[616.291,-397.106],[634.71,-378.686],[634.71,378.686],[616.291,397.106],[-616.291,397.106],[-634.71,378.686]],"c":true}],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.104,0],[0,0],[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104],[0,0],[-10.104,0],[0,0]],"v":[[-636.106,-379.561],[-617.797,-397.869],[617.797,-397.869],[636.106,-379.561],[636.106,379.561],[617.797,397.869],[-617.797,397.869],[-636.106,379.561]],"c":true}],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-637.245,-380.274],[-619.026,-398.492],[619.026,-398.492],[637.245,-380.274],[637.245,380.274],[619.026,398.492],[-619.026,398.492],[-637.245,380.274]],"c":true}],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-638.154,-380.844],[-620.008,-398.99],[620.008,-398.99],[638.154,-380.844],[638.154,380.844],[620.008,398.99],[-620.008,398.99],[-638.154,380.844]],"c":true}],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-638.859,-381.285],[-620.769,-399.376],[620.769,-399.376],[638.859,-381.285],[638.859,381.285],[620.769,399.376],[-620.769,399.376],[-638.859,381.285]],"c":true}],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-639.379,-381.611],[-621.33,-399.66],[621.33,-399.66],[639.379,-381.611],[639.379,381.611],[621.33,399.66],[-621.33,399.66],[-639.379,381.611]],"c":true}],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-639.733,-381.833],[-621.712,-399.854],[621.712,-399.854],[639.733,-381.833],[639.733,381.833],[621.712,399.854],[-621.712,399.854],[-639.733,381.833]],"c":true}],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-639.935,-381.959],[-621.93,-399.965],[621.93,-399.965],[639.935,-381.959],[639.935,381.959],[621.93,399.965],[-621.93,399.965],[-639.935,381.959]],"c":true}],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":455,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":110,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":10,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":64,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":76,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":88,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":118,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":140,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[100]},{"t":264,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":122,"s":[206,794,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.37,"y":0.37},"t":170,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.8,"y":0.15},"o":{"x":0.3,"y":0},"t":401,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":406,"s":[418,421,0],"to":[0,0,0],"ti":[0,0,0]},{"t":431,"s":[736,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[1282]},{"t":170,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[582]},{"t":170,"s":[382],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[382]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[90]},{"t":170,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[64]},{"t":217,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":16,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[206,793.586],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,792.258],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,789.864],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,786.218],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,781.092],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,774.214],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,765.261],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,753.89],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,739.78],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,722.769],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,703.036],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,681.264],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,658.554],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,636.094],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,614.786],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,595.117],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,577.233],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,561.095],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.578],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,533.516],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,521.747],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,511.131],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,501.533],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,492.838],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,484.956],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,477.801],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,471.3],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,465.393],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,460.026],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,455.152],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,450.729],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,446.721],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,443.098],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,439.832],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,436.895],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,434.265],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,431.924],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,429.854],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,428.038],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,426.459],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,425.105],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,423.964],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,423.023],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,422.273],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421.704],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421.308],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[210.749,421],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[226.045,421],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[255.545,421],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[308.302,421],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418,421],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[542.923,421],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[597.913,421],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[629.788,421],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[651.447,421],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[667.413,421],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[679.761,421],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[689.612,421],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[697.64,421],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[704.277,421],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[709.824,421],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[714.491,421],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[718.438,421],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[721.78,421],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[724.612,421],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[727.008,421],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[729.024,421],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[730.711,421],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[732.106,421],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[733.245,421],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[734.154,421],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[734.859,421],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[735.379,421],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-641,90],[-551,0],[551,0],[641,90],[641,492],[551,582],[-551,582],[-641,492]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-640.166,89.982],[-550.184,0],[550.184,0],[640.166,89.982],[640.166,491.659],[550.184,581.641],[-550.184,581.641],[-640.166,491.659]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-637.437,89.923],[-547.513,0],[547.513,0],[637.437,89.923],[637.437,490.544],[547.513,580.467],[-547.513,580.467],[-637.437,490.544]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-632.398,89.815],[-542.583,0],[542.583,0],[632.398,89.815],[632.398,488.485],[542.583,578.3],[-542.583,578.3],[-632.398,488.485]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-624.515,89.645],[-534.87,0],[534.87,0],[624.515,89.645],[624.515,485.264],[534.87,574.91],[-534.87,574.91],[-624.515,485.264]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-613.109,89.4],[-523.709,0],[523.709,0],[613.109,89.4],[613.109,480.604],[523.709,570.004],[-523.709,570.004],[-613.109,480.604]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-597.362,89.062],[-508.301,0],[508.301,0],[597.362,89.062],[597.362,474.17],[508.301,563.231],[-508.301,563.231],[-597.362,474.17]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-576.424,88.611],[-487.812,0],[487.813,0],[576.424,88.611],[576.424,465.614],[487.813,554.225],[-487.812,554.225],[-576.424,465.614]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-549.762,88.038],[-461.724,0],[461.724,0],[549.762,88.038],[549.762,454.72],[461.724,542.758],[-461.724,542.758],[-549.762,454.72]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-517.833,87.351],[-430.482,0],[430.482,0],[517.833,87.351],[517.833,441.674],[430.482,529.025],[-430.482,529.025],[-517.833,441.674]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-482.616,86.594],[-396.022,0],[396.022,0],[482.616,86.594],[482.616,427.284],[396.022,513.878],[-396.022,513.878],[-482.616,427.284]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-447.043,85.829],[-361.214,0],[361.214,0],[447.043,85.829],[447.043,412.749],[361.214,498.578],[-361.214,498.578],[-447.043,412.749]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-413.564,85.109],[-328.455,0],[328.456,0],[413.564,85.109],[413.564,399.069],[328.456,484.178],[-328.455,484.178],[-413.564,399.069]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-383.396,84.46],[-298.936,0],[298.936,0],[383.396,84.46],[383.396,386.742],[298.936,471.203],[-298.936,471.203],[-383.396,386.742]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-356.773,83.888],[-272.885,0],[272.885,0],[356.773,83.888],[356.773,375.864],[272.885,459.752],[-272.885,459.752],[-356.773,375.864]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-333.455,83.386],[-250.069,0],[250.069,0],[333.455,83.386],[333.455,366.336],[250.069,449.723],[-250.069,449.723],[-333.455,366.336]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-313.049,82.947],[-230.102,0],[230.102,0],[313.049,82.947],[313.049,357.999],[230.102,440.946],[-230.102,440.946],[-313.049,357.999]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-295.158,82.563],[-212.595,0],[212.595,0],[295.158,82.563],[295.158,350.688],[212.595,433.251],[-212.595,433.251],[-295.158,350.688]],"c":true}],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-279.427,82.224],[-197.203,0],[197.203,0],[279.427,82.224],[279.427,344.26],[197.203,426.485],[-197.203,426.485],[-279.427,344.26]],"c":true}],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-265.557,81.926],[-183.631,0],[183.631,0],[265.557,81.926],[265.557,338.593],[183.631,420.519],[-183.631,420.519],[-265.557,338.593]],"c":true}],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-253.299,81.662],[-171.637,0],[171.637,0],[253.299,81.662],[253.299,333.585],[171.637,415.247],[-171.637,415.247],[-253.299,333.585]],"c":true}],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-242.449,81.429],[-161.02,0],[161.02,0],[242.449,81.429],[242.449,329.151],[161.02,410.58],[-161.02,410.58],[-242.449,329.151]],"c":true}],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-232.835,81.222],[-151.613,0],[151.613,0],[232.835,81.222],[232.835,325.223],[151.613,406.445],[-151.613,406.445],[-232.835,325.223]],"c":true}],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-224.316,81.039],[-143.277,0],[143.277,0],[224.316,81.039],[224.316,321.742],[143.277,402.781],[-143.277,402.781],[-224.316,321.742]],"c":true}],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-216.774,80.877],[-135.897,0],[135.897,0],[216.774,80.877],[216.774,318.66],[135.897,399.537],[-135.897,399.537],[-216.774,318.66]],"c":true}],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-210.107,80.733],[-129.374,0],[129.374,0],[210.107,80.733],[210.107,315.936],[129.374,396.67],[-129.374,396.67],[-210.107,315.936]],"c":true}],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-204.23,80.607],[-123.623,0],[123.623,0],[204.23,80.607],[204.23,313.535],[123.623,394.142],[-123.623,394.142],[-204.23,313.535]],"c":true}],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-199.07,80.496],[-118.574,0],[118.574,0],[199.07,80.496],[199.07,311.426],[118.574,391.923],[-118.574,391.923],[-199.07,311.426]],"c":true}],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-194.563,80.399],[-114.164,0],[114.164,0],[194.563,80.399],[194.563,309.585],[114.164,389.984],[-114.164,389.984],[-194.563,309.585]],"c":true}],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-190.654,80.315],[-110.338,0],[110.338,0],[190.654,80.315],[190.654,307.987],[110.338,388.303],[-110.338,388.303],[-190.654,307.987]],"c":true}],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-187.294,80.243],[-107.051,0],[107.051,0],[187.294,80.243],[187.294,306.615],[107.051,386.858],[-107.051,386.858],[-187.294,306.615]],"c":true}],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-184.442,80.182],[-104.261,0],[104.261,0],[184.442,80.182],[184.442,305.45],[104.261,385.631],[-104.261,385.631],[-184.442,305.45]],"c":true}],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-182.061,80.13],[-101.93,0],[101.93,0],[182.061,80.13],[182.061,304.476],[101.93,384.607],[-101.93,384.607],[-182.061,304.476]],"c":true}],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-180.115,80.089],[-100.027,0],[100.027,0],[180.115,80.089],[180.115,303.682],[100.027,383.77],[-100.027,383.77],[-180.115,303.682]],"c":true}],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-178.577,80.055],[-98.522,0],[98.522,0],[178.577,80.055],[178.577,303.053],[98.522,383.108],[-98.522,383.108],[-178.577,303.053]],"c":true}],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-177.419,80.031],[-97.389,0],[97.389,0],[177.419,80.031],[177.419,302.58],[97.389,382.611],[-97.389,382.611],[-177.419,302.58]],"c":true}],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.618,80.013],[-96.605,0],[96.605,0],[176.618,80.013],[176.618,302.253],[96.605,382.266],[-96.605,382.266],[-176.618,302.253]],"c":true}],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.151,80.003],[-96.148,0],[96.148,0],[176.151,80.003],[176.151,302.062],[96.148,382.065],[-96.148,382.065],[-176.151,302.062]],"c":true}],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,302],[96,382],[-96,382],[-176,302]],"c":true}],"t":170,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,302],[96,382],[-96,382],[-176,302]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,301.573],[95.852,381.527],[-95.852,381.527],[-175.806,301.573]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,300.128],[95.351,379.928],[-95.351,379.928],[-175.151,300.128]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,297.331],[94.381,376.832],[-94.381,376.832],[-173.883,297.331]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,292.657],[92.761,371.661],[-92.761,371.661],[-171.765,292.657]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,285.244],[90.191,363.457],[-90.191,363.457],[-168.404,285.244]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,273.637],[86.168,350.612],[-86.168,350.612],[-163.142,273.637]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,255.848],[80.001,330.925],[-80.001,330.925],[-155.078,255.848]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,232.388],[71.868,304.963],[-71.868,304.963],[-144.442,232.388]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,210.234],[64.188,280.446],[-64.188,280.446],[-134.399,210.234]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,193.681],[58.449,262.127],[-58.449,262.127],[-126.895,193.681]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,181.827],[54.34,249.008],[-54.34,249.008],[-121.522,181.827]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,173.196],[51.348,239.457],[-51.348,239.457],[-117.609,173.196]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,166.8],[49.131,232.379],[-49.131,232.379],[-114.709,166.8]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,162.024],[47.475,227.094],[-47.475,227.094],[-112.544,162.024]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,158.473],[46.244,223.163],[-46.244,223.163],[-110.934,158.473]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.878],[45.344,220.292],[-45.344,220.292],[-109.758,155.878]],"c":true}],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.054],[44.712,218.273],[-44.712,218.273],[-108.931,154.054]],"c":true}],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.863],[44.299,216.955],[-44.299,216.955],[-108.391,152.863]],"c":true}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.205],[44.071,216.227],[-44.071,216.227],[-108.093,152.205]],"c":true}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":455,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":59,"op":456,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":264,"s":[100]},{"t":281,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.8,"y":0.15},"o":{"x":0.3,"y":0},"t":401,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":406,"s":[-44,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":431,"s":[274,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":455,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[1280,800],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.875,0.953,0.686,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.875,0.953,0.686,1],"t":455,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":456,"st":0,"ct":1,"bm":0}]},{"id":"comp_1","nm":"Tablet_PointerFinger_UpdatedDesign","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"OVERSHOOT INDEX","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.6],"y":[0.52]},"o":{"x":[0.26],"y":[0]},"t":130,"s":[0]},{"t":168,"s":[-5]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.6],"y":[0.2]},"o":{"x":[0.26],"y":[0]},"t":130,"s":[1107.018]},{"t":168,"s":[1225]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.66],"y":[0.893]},"o":{"x":[0.69],"y":[0]},"t":118,"s":[1122.018]},{"t":165,"s":[1256.018]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":184,"st":-290,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"INDEX HAND NULL","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":24,"s":[15]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":94,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":113,"s":[1]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":118,"s":[1]},{"t":158,"s":[4]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.56],"y":[0]},"t":4,"s":[515.81]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":94,"s":[-132]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":118,"s":[-132]},{"t":158,"s":[-31]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":24,"s":[-367.627]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":90,"s":[-219.627]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":113,"s":[-209.627]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":118,"s":[-209.627]},{"t":158,"s":[48]}],"ix":4}},"a":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.44,"y":0},"t":90,"s":[0,20,0],"to":[0,0,0],"ti":[0,0,0]},{"t":113,"s":[0,0,0]}],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.58,0.58,0.58],"y":[1,1,1]},"o":{"x":[0.42,0.42,0.42],"y":[0,0,0]},"t":92,"s":[104,104,100]},{"i":{"x":[0.59,0.59,0.59],"y":[1,1,1]},"o":{"x":[0.11,0.11,0.11],"y":[0,0,0]},"t":111,"s":[100,100,100]},{"i":{"x":[0.59,0.59,0.59],"y":[1,1,1]},"o":{"x":[0.11,0.11,0.11],"y":[0.44,0.44,0]},"t":115,"s":[100,100,100]},{"t":140,"s":[104,104,100]}],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":21,"mn":"Pseudo/474342","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/474342-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/474342-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/474342-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/474342-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Roundness","mn":"Pseudo/474342-0005","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":6,"nm":"About","mn":"Pseudo/474342-0006","ix":6,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/474342-0007","ix":7,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0008","ix":8,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/474342-0009","ix":9,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0010","ix":10,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/474342-0011","ix":11,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0012","ix":12,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/474342-0013","ix":13,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0014","ix":14,"v":0},{"ty":6,"nm":"Void - 1.0.4","mn":"Pseudo/474342-0015","ix":15,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0016","ix":16,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/474342-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0019","ix":19,"v":0}]}],"ip":0,"op":300,"st":-290,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Index Nail","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-180.223,-270.591,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.84,"y":1},"o":{"x":0.83,"y":0},"t":65,"s":[{"i":[[-2.414,9.958],[-9.532,8.492],[-8.791,-2.892],[-2.171,-6.452],[5.371,-14.184],[13.429,-5.311],[1.086,0.181],[6.579,7.605]],"o":[[1.6,-6.669],[5.524,-4.921],[7.702,2.534],[2.002,5.33],[-6.579,17.412],[-8.148,3.229],[-1.479,-0.241],[-9.627,-11.075]],"v":[[-32.333,-4.972],[-16.302,-38.994],[12.239,-40.207],[33.667,-22.415],[31.011,3.961],[5.963,40.173],[-10.966,42.105],[-29.104,32.539]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":98,"s":[{"i":[[-0.698,10.223],[-9.532,11.629],[-21.476,-7.681],[-2.528,-9.138],[6.879,-13.735],[11.047,-4.308],[1.189,0.194],[7.375,8.159]],"o":[[0.525,-7.692],[6.683,-8.153],[16.081,5.751],[2.272,8.212],[-8.799,17.568],[-8.931,3.483],[-1.618,-0.264],[-8.455,-9.354]],"v":[[-41.951,-0.782],[-27.133,-34.111],[13.998,-44.435],[42.171,-12.972],[35.693,12.318],[7.278,43.341],[-11.239,45.454],[-31.076,34.991]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.66,"y":0},"t":113,"s":[{"i":[[-1.146,6.239],[-7.955,8.894],[-6.883,-2.265],[-1.7,-5.052],[6.14,-15.114],[8.464,-3.354],[0.685,0.112],[4.159,4.785]],"o":[[1.862,-10.142],[5.437,-6.078],[6.031,1.984],[1.568,4.174],[-4.539,11.172],[-5.137,2.036],[-0.932,-0.152],[-6.069,-6.982]],"v":[[-27.679,-2.349],[-13.046,-32.207],[10.368,-34.984],[27.147,-21.053],[23.939,6.893],[1.942,28.66],[-8.731,29.878],[-20.165,23.847]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.66,"y":0},"t":115,"s":[{"i":[[-1.146,6.239],[-7.955,8.894],[-6.883,-2.265],[-1.7,-5.052],[6.14,-15.114],[8.464,-3.354],[0.685,0.112],[4.159,4.785]],"o":[[1.862,-10.142],[5.437,-6.078],[6.031,1.984],[1.568,4.174],[-4.539,11.172],[-5.137,2.036],[-0.932,-0.152],[-6.069,-6.982]],"v":[[-27.679,-2.349],[-13.046,-32.207],[10.368,-34.984],[27.147,-21.053],[23.939,6.893],[1.942,28.66],[-8.731,29.878],[-20.165,23.847]],"c":true}]},{"t":140,"s":[{"i":[[-2.414,9.958],[-9.532,8.492],[-8.791,-2.892],[-2.171,-6.452],[5.371,-14.184],[13.429,-5.311],[1.086,0.181],[6.579,7.605]],"o":[[1.6,-6.669],[5.524,-4.921],[7.702,2.534],[2.002,5.33],[-6.579,17.412],[-8.148,3.229],[-1.479,-0.241],[-9.627,-11.075]],"v":[[-32.333,-4.972],[-16.302,-38.994],[12.239,-40.207],[33.667,-22.415],[31.011,3.961],[5.963,40.173],[-10.966,42.105],[-29.104,32.539]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-53.598,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Index Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Thumb Nail","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":98,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[6.94]},{"i":{"x":[0.59],"y":[1]},"o":{"x":[0.11],"y":[0.44]},"t":115,"s":[6.94]},{"t":140,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":98,"s":[-200.402,36.571,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":0.2},"o":{"x":0.4,"y":0.4},"t":113,"s":[-192.388,33.434,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.59,"y":1},"o":{"x":0.11,"y":0.44},"t":115,"s":[-192.388,33.434,0],"to":[0,0,0],"ti":[0,0,0]},{"t":140,"s":[-200.402,36.571,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.454,-3.078],[9.687,0.211],[0,0],[-2.754,8.058],[-9.627,2.595],[0,0],[-4.165,-1.992],[-0.392,-2.354],[0.905,-1.69]],"o":[[-10.653,4.376],[0,0],[2.401,-7.767],[4.126,-12.071],[2.475,-0.664],[4.044,0.362],[3.169,1.509],[2.082,12.524],[-5.704,10.623]],"v":[[9.153,24.314],[-28.629,28.116],[-28.629,28.086],[-20.331,5.151],[4.113,-27.742],[10.783,-28.195],[25.026,-23.578],[28.044,-19.413],[25.147,5.302]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Hand Lines KO","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"k":[{"s":[-5.995],"t":6,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.989],"t":7,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.98],"t":8,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.969],"t":9,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.954],"t":10,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.937],"t":11,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.916],"t":12,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.892],"t":13,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.864],"t":14,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.832],"t":15,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.796],"t":16,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.756],"t":17,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.711],"t":18,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.662],"t":19,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.607],"t":20,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.546],"t":21,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.479],"t":22,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.406],"t":23,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.326],"t":24,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.238],"t":25,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.141],"t":26,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.035],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.919],"t":28,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.792],"t":29,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.653],"t":30,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.501],"t":31,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.334],"t":32,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.15],"t":33,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.949],"t":34,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.728],"t":35,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.487],"t":36,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.225],"t":37,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.942],"t":38,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.642],"t":39,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.33],"t":40,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.015],"t":41,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1.708],"t":42,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1.42],"t":43,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1.158],"t":44,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.927],"t":45,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.728],"t":46,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.56],"t":47,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.421],"t":48,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.306],"t":49,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.214],"t":50,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.142],"t":51,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.087],"t":52,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.047],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.02],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.005],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.002],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.009],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.02],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.037],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.06],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.091],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.13],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.178],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.238],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.312],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.402],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.513],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.648],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.813],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.012],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.245],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.755],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.988],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.187],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.352],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.487],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.598],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.688],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.762],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.822],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.87],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.909],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.94],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.963],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.98],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.991],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.998],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.979],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.907],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.765],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.526],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.164],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.686],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.171],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.708],"t":100,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.328],"t":101,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.025],"t":102,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.216],"t":103,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.408],"t":104,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.561],"t":105,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.683],"t":106,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.779],"t":107,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.854],"t":108,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.911],"t":109,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.952],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.98],"t":111,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.995],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.373],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.094],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.488],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.835],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.149],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.436],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.701],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.947],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.177],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.39],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.589],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.775],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.947],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.107],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.254],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.388],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.51],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.62],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.716],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.8],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.869],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.925],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.966],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.991],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[4],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[133,148,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.632,42.969],[-21.739,54.462],[-6.188,16.331],[-17.668,-6.383],[2.898,-20.708],[10.649,-42.063],[12.372,-41.711]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.265,-54.261],[10.737,-26.9],[20.949,-34.02],[15.865,5.732],[-1.303,9.342],[-14.021,55.386],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.701,-249.695],[46.909,-330.8],[99.523,-350.994],[119.596,-304.538],[99.441,-218.66],[54.795,-53.073]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.629,42.97],[-21.742,54.469],[-6.19,16.336],[-17.674,-6.385],[2.899,-20.715],[10.653,-42.068],[12.379,-41.752]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.269,-54.283],[10.739,-26.904],[20.956,-34.032],[15.871,5.734],[-1.303,9.345],[-14.027,55.392],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.682,-249.676],[46.895,-330.803],[99.528,-351.004],[119.609,-304.532],[99.438,-218.637],[54.795,-53.073]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.625,42.972],[-21.746,54.48],[-6.193,16.345],[-17.683,-6.389],[2.9,-20.725],[10.659,-42.076],[12.389,-41.812]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.275,-54.314],[10.741,-26.909],[20.967,-34.049],[15.879,5.737],[-1.304,9.35],[-14.035,55.401],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.656,-249.648],[46.876,-330.807],[99.535,-351.018],[119.626,-304.523],[99.435,-218.604],[54.795,-53.073]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.62,42.974],[-21.751,54.493],[-6.198,16.355],[-17.695,-6.393],[2.902,-20.739],[10.668,-42.086],[12.402,-41.891]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.283,-54.355],[10.743,-26.916],[20.981,-34.072],[15.89,5.741],[-1.305,9.356],[-14.046,55.413],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.621,-249.611],[46.851,-330.812],[99.545,-351.038],[119.65,-304.511],[99.43,-218.56],[54.795,-53.073]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.613,42.977],[-21.758,54.51],[-6.203,16.369],[-17.71,-6.398],[2.905,-20.757],[10.678,-42.098],[12.419,-41.99]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.293,-54.406],[10.747,-26.924],[20.999,-34.1],[15.903,5.746],[-1.306,9.364],[-14.059,55.427],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.577,-249.565],[46.819,-330.819],[99.558,-351.061],[119.679,-304.496],[99.424,-218.505],[54.795,-53.073]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.605,42.98],[-21.766,54.531],[-6.209,16.386],[-17.728,-6.405],[2.907,-20.778],[10.691,-42.113],[12.439,-42.11]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.305,-54.469],[10.751,-26.934],[21.02,-34.135],[15.919,5.751],[-1.307,9.374],[-14.076,55.445],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.523,-249.509],[46.781,-330.828],[99.573,-351.091],[119.715,-304.477],[99.417,-218.439],[54.795,-53.073]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.596,42.984],[-21.776,54.555],[-6.217,16.406],[-17.749,-6.413],[2.911,-20.803],[10.706,-42.13],[12.463,-42.253]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.319,-54.543],[10.756,-26.946],[21.046,-34.176],[15.938,5.758],[-1.309,9.385],[-14.095,55.467],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.46,-249.442],[46.735,-330.838],[99.591,-351.125],[119.757,-304.456],[99.408,-218.359],[54.795,-53.073]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.585,42.988],[-21.787,54.584],[-6.225,16.429],[-17.774,-6.422],[2.915,-20.832],[10.724,-42.151],[12.491,-42.421]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.336,-54.63],[10.761,-26.96],[21.075,-34.225],[15.961,5.767],[-1.311,9.398],[-14.118,55.492],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.386,-249.364],[46.681,-330.85],[99.613,-351.166],[119.807,-304.43],[99.398,-218.267],[54.795,-53.073]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.572,42.993],[-21.8,54.617],[-6.236,16.456],[-17.803,-6.432],[2.919,-20.866],[10.744,-42.175],[12.524,-42.614]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.355,-54.731],[10.768,-26.977],[21.11,-34.28],[15.987,5.776],[-1.313,9.414],[-14.144,55.521],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.3,-249.273],[46.62,-330.863],[99.637,-351.212],[119.865,-304.401],[99.386,-218.16],[54.795,-53.073]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.557,42.999],[-21.816,54.654],[-6.247,16.486],[-17.836,-6.444],[2.925,-20.905],[10.767,-42.202],[12.561,-42.835]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.378,-54.845],[10.775,-26.995],[21.149,-34.344],[16.017,5.787],[-1.315,9.431],[-14.174,55.554],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.202,-249.17],[46.549,-330.879],[99.665,-351.266],[119.93,-304.367],[99.372,-218.038],[54.795,-53.073]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.54,43.005],[-21.833,54.697],[-6.26,16.521],[-17.874,-6.458],[2.931,-20.949],[10.794,-42.233],[12.603,-43.085]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.403,-54.975],[10.784,-27.016],[21.193,-34.416],[16.05,5.799],[-1.318,9.451],[-14.207,55.591],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.09,-249.053],[46.469,-330.897],[99.697,-351.327],[120.005,-304.329],[99.357,-217.899],[54.795,-53.073]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.522,43.013],[-21.852,54.746],[-6.275,16.56],[-17.916,-6.473],[2.938,-20.999],[10.824,-42.268],[12.651,-43.368]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.431,-55.122],[10.793,-27.04],[21.244,-34.498],[16.088,5.813],[-1.321,9.474],[-14.246,55.633],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.965,-248.921],[46.379,-330.917],[99.733,-351.395],[120.088,-304.286],[99.34,-217.743],[54.795,-53.073]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.501,43.021],[-21.874,54.8],[-6.292,16.604],[-17.964,-6.49],[2.945,-21.055],[10.857,-42.307],[12.704,-43.684]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.463,-55.287],[10.804,-27.067],[21.3,-34.589],[16.131,5.828],[-1.325,9.499],[-14.288,55.681],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.824,-248.773],[46.277,-330.939],[99.773,-351.471],[120.183,-304.237],[99.321,-217.568],[54.795,-53.073]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.477,43.03],[-21.898,54.86],[-6.31,16.653],[-18.017,-6.509],[2.954,-21.117],[10.894,-42.35],[12.764,-44.038]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.499,-55.471],[10.816,-27.097],[21.363,-34.692],[16.179,5.845],[-1.329,9.527],[-14.336,55.734],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.667,-248.608],[46.164,-330.964],[99.818,-351.557],[120.288,-304.184],[99.299,-217.372],[54.795,-53.073]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.451,43.041],[-21.925,54.928],[-6.331,16.708],[-18.076,-6.531],[2.963,-21.186],[10.936,-42.399],[12.83,-44.433]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.539,-55.676],[10.829,-27.13],[21.433,-34.806],[16.232,5.864],[-1.333,9.558],[-14.39,55.793],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.492,-248.424],[46.038,-330.992],[99.868,-351.653],[120.405,-304.123],[99.275,-217.153],[54.795,-53.073]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.422,43.052],[-21.955,55.003],[-6.354,16.769],[-18.142,-6.555],[2.974,-21.263],[10.982,-42.453],[12.904,-44.872]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.583,-55.904],[10.844,-27.167],[21.511,-34.932],[16.291,5.886],[-1.338,9.593],[-14.449,55.858],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.297,-248.219],[45.897,-331.023],[99.923,-351.759],[120.536,-304.057],[99.249,-216.911],[54.795,-53.073]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.389,43.065],[-21.988,55.086],[-6.38,16.836],[-18.215,-6.581],[2.985,-21.349],[11.034,-42.513],[12.987,-45.36]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.632,-56.158],[10.86,-27.209],[21.598,-35.073],[16.357,5.91],[-1.343,9.632],[-14.515,55.931],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.08,-247.991],[45.741,-331.057],[99.985,-351.877],[120.68,-303.982],[99.219,-216.641],[54.795,-53.073]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.353,43.079],[-22.025,55.179],[-6.408,16.911],[-18.296,-6.61],[2.998,-21.444],[11.091,-42.58],[13.078,-45.901]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.686,-56.439],[10.879,-27.254],[21.694,-35.23],[16.43,5.936],[-1.349,9.674],[-14.588,56.012],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[13.84,-247.738],[45.568,-331.095],[100.054,-352.008],[120.841,-303.9],[99.186,-216.341],[54.795,-53.073]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.313,43.095],[-22.066,55.282],[-6.44,16.995],[-18.386,-6.643],[3.013,-21.55],[11.154,-42.654],[13.179,-46.502]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.747,-56.752],[10.899,-27.305],[21.801,-35.403],[16.511,5.965],[-1.356,9.722],[-14.67,56.102],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[13.573,-247.457],[45.376,-331.138],[100.13,-352.153],[121.02,-303.808],[99.149,-216.009],[54.795,-53.073]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.269,43.113],[-22.111,55.396],[-6.475,17.087],[-18.486,-6.679],[3.029,-21.667],[11.225,-42.736],[13.292,-47.17]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.814,-57.098],[10.921,-27.361],[21.92,-35.596],[16.6,5.998],[-1.363,9.775],[-14.76,56.202],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[13.276,-247.146],[45.163,-331.185],[100.214,-352.315],[121.218,-303.706],[99.109,-215.639],[54.795,-53.073]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.22,43.132],[-22.162,55.523],[-6.514,17.19],[-18.597,-6.719],[3.046,-21.798],[11.303,-42.828],[13.416,-47.911]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.889,-57.484],[10.946,-27.424],[22.052,-35.81],[16.7,6.034],[-1.372,9.834],[-14.86,56.312],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[12.947,-246.799],[44.925,-331.237],[100.308,-352.494],[121.438,-303.594],[99.064,-215.229],[54.795,-53.073]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.165,43.154],[-22.218,55.664],[-6.557,17.304],[-18.721,-6.764],[3.066,-21.943],[11.39,-42.93],[13.555,-48.735]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.972,-57.912],[10.974,-27.494],[22.198,-36.048],[16.811,6.074],[-1.381,9.899],[-14.972,56.436],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[12.581,-246.414],[44.662,-331.295],[100.413,-352.694],[121.683,-303.468],[99.013,-214.773],[54.795,-53.073]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.104,43.178],[-22.281,55.82],[-6.605,17.431],[-18.859,-6.814],[3.088,-22.104],[11.487,-43.043],[13.71,-49.653]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.064,-58.389],[11.005,-27.571],[22.361,-36.313],[16.935,6.118],[-1.391,9.972],[-15.096,56.573],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[12.173,-245.986],[44.368,-331.36],[100.529,-352.916],[121.956,-303.328],[98.958,-214.266],[54.795,-53.073]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.036,43.204],[-22.351,55.995],[-6.659,17.573],[-19.012,-6.869],[3.113,-22.284],[11.594,-43.169],[13.882,-50.674]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.167,-58.92],[11.04,-27.657],[22.543,-36.608],[17.072,6.168],[-1.402,10.053],[-15.234,56.725],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[11.72,-245.509],[44.042,-331.432],[100.658,-353.163],[122.259,-303.173],[98.896,-213.701],[54.795,-53.073]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.961,43.234],[-22.428,56.189],[-6.718,17.73],[-19.182,-6.93],[3.14,-22.483],[11.714,-43.308],[14.073,-51.808]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.281,-59.509],[11.078,-27.753],[22.744,-36.935],[17.225,6.223],[-1.415,10.143],[-15.388,56.895],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[11.216,-244.979],[43.679,-331.512],[100.802,-353.437],[122.596,-303],[98.827,-213.073],[54.795,-53.073]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.878,43.267],[-22.514,56.403],[-6.784,17.904],[-19.37,-6.998],[3.17,-22.703],[11.846,-43.463],[14.284,-53.06]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.407,-60.16],[11.12,-27.859],[22.967,-37.297],[17.394,6.284],[-1.428,10.242],[-15.557,57.082],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[10.66,-244.394],[43.279,-331.6],[100.961,-353.74],[122.968,-302.809],[98.75,-212.381],[54.795,-53.073]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.788,43.303],[-22.606,56.635],[-6.855,18.092],[-19.573,-7.072],[3.202,-22.942],[11.989,-43.63],[14.513,-54.417]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.544,-60.865],[11.166,-27.974],[23.208,-37.688],[17.576,6.35],[-1.444,10.35],[-15.74,57.285],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[10.058,-243.761],[42.845,-331.696],[101.133,-354.068],[123.371,-302.602],[98.668,-211.63],[54.795,-53.073]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.694,43.34],[-22.703,56.877],[-6.93,18.288],[-19.785,-7.148],[3.236,-23.191],[12.139,-43.804],[14.751,-55.831]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.686,-61.6],[11.214,-28.093],[23.46,-38.097],[17.767,6.419],[-1.459,10.462],[-15.932,57.496],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[9.429,-243.1],[42.392,-331.796],[101.312,-354.41],[123.791,-302.387],[98.582,-210.848],[54.795,-53.073]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.604,43.375],[-22.795,57.109],[-7.001,18.476],[-19.989,-7.222],[3.269,-23.429],[12.282,-43.972],[14.979,-57.188]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.823,-62.306],[11.259,-28.208],[23.701,-38.489],[17.949,6.485],[-1.474,10.569],[-16.115,57.699],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.827,-242.466],[41.958,-331.891],[101.484,-354.739],[124.195,-302.18],[98.499,-210.097],[54.795,-53.073]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.53,43.405],[-22.871,57.3],[-7.06,18.63],[-20.156,-7.282],[3.296,-23.625],[12.399,-44.109],[15.167,-58.303]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.935,-62.885],[11.297,-28.302],[23.899,-38.81],[18.1,6.539],[-1.486,10.658],[-16.266,57.866],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.332,-241.946],[41.602,-331.97],[101.625,-355.008],[124.526,-302.01],[98.431,-209.48],[54.795,-53.073]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.483,43.423],[-22.919,57.419],[-7.096,18.727],[-20.261,-7.32],[3.312,-23.748],[12.473,-44.195],[15.285,-59.001]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[24.005,-63.248],[11.32,-28.361],[24.023,-39.012],[18.194,6.573],[-1.494,10.713],[-16.361,57.97],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.022,-241.619],[41.378,-332.019],[101.714,-355.177],[124.733,-301.904],[98.389,-209.094],[54.795,-53.073]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.468,43.429],[-22.934,57.457],[-7.108,18.758],[-20.294,-7.332],[3.318,-23.787],[12.497,-44.223],[15.323,-59.225]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[24.028,-63.364],[11.328,-28.38],[24.063,-39.077],[18.224,6.584],[-1.497,10.731],[-16.391,58.003],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[7.922,-241.515],[41.307,-332.035],[101.742,-355.231],[124.8,-301.87],[98.375,-208.97],[54.795,-53.073]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.202,94.793],[-14.745,12.801],[-6.916,-15.158],[0.26,-12.13],[2.071,-12.308],[-4.165,-36.183],[-7.967,-22.12],[-16.458,43.348],[-22.845,57.21],[-7.084,18.696],[-20.227,-7.308],[3.307,-23.708],[12.461,-44.152],[15.305,-59.305]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.411,-14.451],[14.383,-12.469],[4.809,12.017],[-0.359,17.259],[-0.853,5.038],[1.63,14.184],[20.846,-49.856],[24.257,-63.814],[11.331,-28.369],[23.983,-38.947],[18.163,6.562],[-1.492,10.695],[-16.352,57.947],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.301,-55.919],[-162.806,-147.528],[-120.554,-133.098],[-114.753,-99.686],[-117.8,-61.551],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.019,-241.502],[41.451,-332.003],[101.686,-355.155],[124.666,-301.938],[98.296,-209.023],[54.795,-53.073]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.752,94.698],[-14.814,12.709],[-6.825,-15.192],[0.331,-12.123],[2.143,-12.29],[-4.165,-36.183],[-7.967,-22.12],[-16.418,43.052],[-22.515,56.299],[-6.997,18.465],[-19.977,-7.218],[3.266,-23.416],[12.327,-43.89],[15.239,-59.604]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.494,-14.437],[14.449,-12.38],[4.737,12.04],[-0.459,17.25],[-0.882,5.031],[1.63,14.184],[20.846,-49.856],[25.102,-65.473],[11.342,-28.33],[23.687,-38.466],[17.939,6.481],[-1.473,10.563],[-16.21,57.737],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.334,-56.066],[-162.321,-147.412],[-120.172,-132.743],[-114.568,-99.311],[-117.836,-61.209],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.374,-241.455],[41.982,-331.885],[101.478,-354.871],[124.171,-302.191],[98.002,-209.218],[54.795,-53.073]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-10.927,94.497],[-14.96,12.513],[-6.63,-15.264],[0.481,-12.109],[2.295,-12.253],[-4.165,-36.183],[-7.967,-22.12],[-16.335,42.417],[-21.81,54.351],[-6.81,17.972],[-19.444,-7.025],[3.179,-22.79],[12.042,-43.331],[15.097,-60.243]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.673,-14.406],[14.591,-12.19],[4.583,12.089],[-0.674,17.23],[-0.944,5.015],[1.63,14.184],[20.846,-49.856],[26.909,-69.021],[11.367,-28.245],[23.055,-37.439],[17.46,6.308],[-1.434,10.281],[-15.905,57.289],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.403,-56.38],[-161.286,-147.164],[-119.354,-131.982],[-114.171,-98.508],[-117.911,-60.479],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[9.135,-241.355],[43.119,-331.633],[101.035,-354.265],[123.113,-302.732],[97.373,-209.636],[54.795,-53.073]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-12.943,94.151],[-15.212,12.177],[-6.296,-15.388],[0.738,-12.085],[2.556,-12.189],[-4.165,-36.183],[-7.967,-22.12],[-16.191,41.328],[-20.6,51.008],[-6.49,17.126],[-18.529,-6.694],[3.029,-21.718],[11.553,-42.371],[14.854,-61.339]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.979,-14.354],[14.835,-11.863],[4.319,12.173],[-1.042,17.195],[-1.05,4.989],[1.63,14.184],[20.846,-49.856],[30.008,-75.107],[11.408,-28.101],[21.97,-35.677],[16.638,6.011],[-1.366,9.797],[-15.383,56.521],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.523,-56.919],[-159.51,-146.738],[-117.952,-130.677],[-113.491,-97.132],[-118.04,-59.227],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[10.44,-241.182],[45.069,-331.201],[100.274,-353.225],[121.298,-303.66],[96.295,-210.352],[54.795,-53.073]],"c":true}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-15.45,93.722],[-15.524,11.759],[-5.88,-15.543],[1.058,-12.055],[2.881,-12.11],[-4.165,-36.183],[-7.967,-22.12],[-16.012,39.975],[-19.095,46.852],[-6.091,16.074],[-17.391,-6.283],[2.843,-20.384],[10.945,-41.177],[14.553,-62.702]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.36,-14.288],[15.138,-11.457],[3.991,12.277],[-1.499,17.152],[-1.182,4.957],[1.63,14.184],[20.846,-49.856],[33.862,-82.675],[11.46,-27.921],[20.621,-33.486],[15.617,5.642],[-1.283,9.196],[-14.733,55.566],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.672,-57.588],[-157.302,-146.209],[-116.209,-129.055],[-112.646,-95.42],[-118.201,-57.67],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[12.062,-240.967],[47.494,-330.664],[99.328,-351.932],[119.042,-304.815],[94.955,-211.242],[54.795,-53.073]],"c":true}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-17.637,93.347],[-15.797,11.394],[-5.518,-15.677],[1.337,-12.028],[3.164,-12.041],[-4.165,-36.183],[-7.967,-22.12],[-15.856,38.794],[-17.783,43.226],[-5.743,15.157],[-16.398,-5.924],[2.681,-19.221],[10.414,-40.136],[14.289,-63.89]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.692,-14.231],[15.402,-11.103],[3.705,12.368],[-1.898,17.115],[-1.297,4.929],[1.63,14.184],[20.846,-49.856],[37.225,-89.278],[11.505,-27.764],[19.443,-31.575],[14.725,5.32],[-1.209,8.671],[-14.166,54.732],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.801,-58.172],[-155.376,-145.747],[-114.688,-127.639],[-111.908,-93.926],[-118.341,-56.311],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[13.477,-240.78],[49.609,-330.196],[98.503,-350.804],[117.073,-305.821],[93.785,-212.018],[54.795,-53.073]],"c":true}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-19.265,93.068],[-16,11.122],[-5.248,-15.777],[1.545,-12.009],[3.375,-11.989],[-4.165,-36.183],[-7.967,-22.12],[-15.739,37.914],[-16.806,40.527],[-5.485,14.474],[-15.659,-5.658],[2.56,-18.354],[10.02,-39.36],[14.093,-64.775]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.939,-14.189],[15.599,-10.84],[3.491,12.436],[-2.195,17.087],[-1.383,4.908],[1.63,14.184],[20.846,-49.856],[39.727,-94.192],[11.538,-27.648],[18.567,-30.152],[14.062,5.08],[-1.155,8.28],[-13.744,54.112],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.898,-58.607],[-153.942,-145.404],[-113.555,-126.585],[-111.359,-92.815],[-118.445,-55.3],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.531,-240.641],[51.184,-329.847],[97.889,-349.965],[115.607,-306.571],[92.915,-212.596],[54.795,-53.073]],"c":true}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-20.447,92.865],[-16.147,10.925],[-5.052,-15.85],[1.696,-11.995],[3.528,-11.951],[-4.165,-36.183],[-7.967,-22.12],[-15.655,37.276],[-16.097,38.568],[-5.297,13.978],[-15.123,-5.464],[2.472,-17.726],[9.733,-38.798],[13.951,-65.418]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.119,-14.158],[15.742,-10.649],[3.337,12.485],[-2.411,17.067],[-1.445,4.893],[1.63,14.184],[20.846,-49.856],[41.544,-97.759],[11.563,-27.563],[17.931,-29.119],[13.58,4.906],[-1.115,7.996],[-13.438,53.661],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.968,-58.923],[-152.901,-145.154],[-112.734,-125.821],[-110.96,-92.008],[-118.521,-54.566],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.296,-240.54],[52.327,-329.593],[97.443,-349.355],[114.544,-307.115],[92.283,-213.016],[54.795,-53.073]],"c":true}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-21.308,92.717],[-16.254,10.782],[-4.909,-15.903],[1.806,-11.984],[3.639,-11.924],[-4.165,-36.183],[-7.967,-22.12],[-15.594,36.811],[-15.58,37.141],[-5.16,13.617],[-14.732,-5.323],[2.408,-17.268],[9.524,-38.388],[13.848,-65.885]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.25,-14.135],[15.846,-10.509],[3.224,12.521],[-2.568,17.052],[-1.49,4.881],[1.63,14.184],[20.846,-49.856],[42.867,-100.358],[11.58,-27.501],[17.468,-28.367],[13.229,4.78],[-1.086,7.79],[-13.215,53.333],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.019,-59.153],[-152.142,-144.973],[-112.135,-125.263],[-110.67,-91.42],[-118.576,-54.031],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.853,-240.466],[53.159,-329.409],[97.118,-348.911],[113.769,-307.511],[91.822,-213.322],[54.795,-53.073]],"c":true}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-21.935,92.61],[-16.332,10.677],[-4.805,-15.942],[1.886,-11.977],[3.72,-11.904],[-4.165,-36.183],[-7.967,-22.12],[-15.549,36.473],[-15.204,36.102],[-5.06,13.354],[-14.447,-5.22],[2.362,-16.934],[9.372,-38.089],[13.772,-66.226]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.345,-14.119],[15.922,-10.408],[3.142,12.547],[-2.682,17.041],[-1.523,4.873],[1.63,14.184],[20.846,-49.856],[43.831,-102.251],[11.593,-27.456],[17.131,-27.819],[12.974,4.687],[-1.065,7.639],[-13.052,53.094],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.056,-59.32],[-151.59,-144.84],[-111.699,-124.858],[-110.458,-90.992],[-118.616,-53.642],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.259,-240.412],[53.766,-329.275],[96.882,-348.588],[113.205,-307.8],[91.487,-213.544],[54.795,-53.073]],"c":true}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.385,92.533],[-16.388,10.602],[-4.73,-15.969],[1.943,-11.971],[3.779,-11.89],[-4.165,-36.183],[-7.967,-22.12],[-15.517,36.23],[-14.934,35.356],[-4.989,13.165],[-14.243,-5.146],[2.328,-16.695],[9.263,-37.875],[13.718,-66.471]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.413,-14.107],[15.976,-10.335],[3.083,12.566],[-2.764,17.034],[-1.547,4.867],[1.63,14.184],[20.846,-49.856],[44.523,-103.609],[11.603,-27.424],[16.888,-27.425],[12.79,4.621],[-1.05,7.531],[-12.936,52.923],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.083,-59.441],[-151.194,-144.745],[-111.386,-124.566],[-110.306,-90.685],[-118.645,-53.362],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.55,-240.374],[54.201,-329.178],[96.712,-348.356],[112.799,-308.007],[91.247,-213.704],[54.795,-53.073]],"c":true}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.697,92.479],[-16.427,10.55],[-4.679,-15.989],[1.983,-11.967],[3.819,-11.88],[-4.165,-36.183],[-7.967,-22.12],[-15.494,36.061],[-14.746,34.838],[-4.939,13.034],[-14.101,-5.095],[2.305,-16.529],[9.187,-37.726],[13.68,-66.641]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.461,-14.099],[16.014,-10.284],[3.042,12.579],[-2.821,17.028],[-1.564,4.863],[1.63,14.184],[20.846,-49.856],[45.003,-104.552],[11.609,-27.402],[16.72,-27.153],[12.663,4.575],[-1.04,7.456],[-12.855,52.804],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.101,-59.524],[-150.919,-144.68],[-111.169,-124.364],[-110.201,-90.471],[-118.665,-53.168],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.752,-240.347],[54.503,-329.111],[96.594,-348.195],[112.518,-308.151],[91.08,-213.815],[54.795,-53.073]],"c":true}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.899,92.445],[-16.452,10.517],[-4.645,-16.001],[2.009,-11.965],[3.845,-11.874],[-4.165,-36.183],[-7.967,-22.12],[-15.48,35.953],[-14.625,34.504],[-4.907,12.95],[-14.01,-5.062],[2.29,-16.422],[9.138,-37.631],[13.656,-66.75]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.491,-14.094],[16.039,-10.252],[3.016,12.587],[-2.858,17.025],[-1.574,4.861],[1.63,14.184],[20.846,-49.856],[45.313,-105.16],[11.613,-27.387],[16.612,-26.977],[12.581,4.545],[-1.033,7.408],[-12.803,52.727],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.113,-59.578],[-150.741,-144.637],[-111.029,-124.234],[-110.133,-90.334],[-118.678,-53.043],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.882,-240.33],[54.698,-329.068],[96.518,-348.091],[112.337,-308.243],[90.972,-213.886],[54.795,-53.073]],"c":true}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.009,92.426],[-16.466,10.498],[-4.627,-16.008],[2.023,-11.964],[3.86,-11.87],[-4.165,-36.183],[-7.967,-22.12],[-15.472,35.893],[-14.559,34.321],[-4.889,12.903],[-13.96,-5.044],[2.282,-16.363],[9.112,-37.578],[13.643,-66.81]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.508,-14.091],[16.052,-10.234],[3.001,12.592],[-2.878,17.023],[-1.58,4.859],[1.63,14.184],[20.846,-49.856],[45.483,-105.493],[11.615,-27.379],[16.553,-26.88],[12.536,4.529],[-1.03,7.382],[-12.774,52.685],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.119,-59.607],[-150.644,-144.614],[-110.952,-124.163],[-110.096,-90.258],[-118.685,-52.975],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.954,-240.32],[54.804,-329.044],[96.476,-348.034],[112.238,-308.294],[90.913,-213.926],[54.795,-53.073]],"c":true}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.043,92.42],[-16.47,10.492],[-4.621,-16.01],[2.027,-11.963],[3.864,-11.869],[-4.165,-36.183],[-7.967,-22.12],[-15.47,35.875],[-14.539,34.264],[-4.884,12.889],[-13.944,-5.038],[2.28,-16.345],[9.103,-37.562],[13.639,-66.829]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.513,-14.09],[16.056,-10.228],[2.997,12.593],[-2.884,17.022],[-1.582,4.859],[1.63,14.184],[20.846,-49.856],[45.535,-105.596],[11.616,-27.377],[16.534,-26.85],[12.522,4.524],[-1.028,7.373],[-12.765,52.672],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.122,-59.616],[-150.614,-144.607],[-110.928,-124.14],[-110.084,-90.235],[-118.687,-52.953],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.976,-240.317],[54.837,-329.037],[96.463,-348.016],[112.207,-308.31],[90.895,-213.938],[54.795,-53.073]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.043,92.42],[-16.47,10.492],[-4.621,-16.01],[2.027,-11.963],[3.864,-11.869],[-4.165,-36.183],[-7.967,-22.12],[-15.47,35.875],[-14.539,34.264],[-4.884,12.889],[-13.944,-5.038],[2.28,-16.345],[9.103,-37.562],[13.639,-66.829]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.513,-14.09],[16.056,-10.228],[2.997,12.593],[-2.884,17.022],[-1.582,4.859],[1.63,14.184],[20.846,-49.856],[45.535,-105.596],[11.616,-27.377],[16.534,-26.85],[12.522,4.524],[-1.028,7.373],[-12.765,52.672],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.122,-59.616],[-150.614,-144.607],[-110.928,-124.14],[-110.084,-90.235],[-118.687,-52.953],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.976,-240.317],[54.837,-329.037],[96.463,-348.016],[112.207,-308.31],[90.895,-213.938],[54.795,-53.073]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.026,92.423],[-16.468,10.495],[-4.624,-16.009],[2.025,-11.964],[3.862,-11.87],[-4.165,-36.183],[-7.967,-22.12],[-15.472,35.883],[-14.548,34.29],[-4.886,12.893],[-13.949,-5.04],[2.28,-16.35],[9.105,-37.567],[13.637,-66.797]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.51,-14.091],[16.054,-10.231],[2.999,12.593],[-2.881,17.023],[-1.581,4.859],[1.63,14.184],[20.846,-49.856],[45.506,-105.532],[11.615,-27.376],[16.54,-26.859],[12.526,4.526],[-1.029,7.376],[-12.767,52.675],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.12,-59.612],[-150.629,-144.61],[-110.94,-124.152],[-110.09,-90.247],[-118.686,-52.964],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.974,-240.329],[54.828,-329.039],[96.467,-348.02],[112.216,-308.305],[90.905,-213.944],[54.795,-53.073]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.972,92.432],[-16.462,10.504],[-4.633,-16.006],[2.018,-11.964],[3.855,-11.871],[-4.165,-36.183],[-7.967,-22.12],[-15.481,35.91],[-14.575,34.367],[-4.891,12.906],[-13.963,-5.045],[2.283,-16.367],[9.111,-37.585],[13.632,-66.701]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.502,-14.092],[16.047,-10.24],[3.006,12.59],[-2.871,17.023],[-1.578,4.86],[1.63,14.184],[20.846,-49.856],[45.417,-105.336],[11.612,-27.374],[16.557,-26.887],[12.539,4.53],[-1.03,7.383],[-12.772,52.686],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.117,-59.598],[-150.676,-144.622],[-110.977,-124.186],[-110.108,-90.283],[-118.682,-52.997],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.969,-240.365],[54.797,-329.046],[96.479,-348.031],[112.244,-308.291],[90.938,-213.962],[54.795,-53.073]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.881,92.448],[-16.45,10.52],[-4.648,-16],[2.006,-11.965],[3.843,-11.874],[-4.165,-36.183],[-7.967,-22.12],[-15.495,35.957],[-14.622,34.499],[-4.899,12.929],[-13.988,-5.054],[2.287,-16.395],[9.121,-37.614],[13.624,-66.537]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.489,-14.094],[16.036,-10.255],[3.018,12.587],[-2.855,17.025],[-1.573,4.861],[1.63,14.184],[20.846,-49.856],[45.265,-105.001],[11.606,-27.371],[16.585,-26.933],[12.561,4.538],[-1.032,7.396],[-12.78,52.703],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.112,-59.573],[-150.757,-144.641],[-111.041,-124.245],[-110.139,-90.346],[-118.677,-53.054],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.961,-240.426],[54.746,-329.058],[96.499,-348.051],[112.292,-308.266],[90.994,-213.993],[54.795,-53.073]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.75,92.47],[-16.434,10.541],[-4.67,-15.992],[1.99,-11.967],[3.826,-11.879],[-4.165,-36.183],[-7.967,-22.12],[-15.515,36.023],[-14.69,34.688],[-4.911,12.961],[-14.022,-5.066],[2.293,-16.436],[9.136,-37.656],[13.612,-66.301]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.469,-14.098],[16.021,-10.276],[3.035,12.581],[-2.831,17.027],[-1.566,4.863],[1.63,14.184],[20.846,-49.856],[45.047,-104.519],[11.598,-27.367],[16.627,-27],[12.592,4.549],[-1.034,7.415],[-12.792,52.729],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.104,-59.538],[-150.873,-144.669],[-111.132,-124.33],[-110.183,-90.435],[-118.668,-53.136],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.949,-240.514],[54.671,-329.074],[96.527,-348.078],[112.362,-308.231],[91.074,-214.037],[54.795,-53.073]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.576,92.5],[-16.412,10.57],[-4.699,-15.981],[1.967,-11.969],[3.804,-11.884],[-4.165,-36.183],[-7.967,-22.12],[-15.542,36.111],[-14.779,34.938],[-4.927,13.004],[-14.068,-5.083],[2.3,-16.49],[9.155,-37.712],[13.596,-65.989]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.442,-14.102],[16,-10.304],[3.058,12.574],[-2.799,17.03],[-1.557,4.865],[1.63,14.184],[20.846,-49.856],[44.758,-103.883],[11.587,-27.361],[16.681,-27.089],[12.633,4.564],[-1.038,7.439],[-12.807,52.762],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.094,-59.492],[-151.025,-144.705],[-111.253,-124.443],[-110.242,-90.554],[-118.657,-53.243],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.934,-240.631],[54.573,-329.096],[96.565,-348.115],[112.453,-308.184],[91.18,-214.096],[54.795,-53.073]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.358,92.537],[-16.385,10.607],[-4.735,-15.968],[1.94,-11.972],[3.775,-11.891],[-4.165,-36.183],[-7.967,-22.12],[-15.576,36.222],[-14.891,35.253],[-4.948,13.057],[-14.126,-5.104],[2.31,-16.558],[9.179,-37.782],[13.576,-65.598]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.409,-14.108],[15.973,-10.339],[3.087,12.565],[-2.759,17.034],[-1.546,4.868],[1.63,14.184],[20.846,-49.856],[44.396,-103.083],[11.573,-27.353],[16.75,-27.201],[12.685,4.583],[-1.042,7.47],[-12.827,52.805],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.081,-59.434],[-151.217,-144.751],[-111.404,-124.584],[-110.315,-90.703],[-118.643,-53.379],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.914,-240.777],[54.45,-329.123],[96.613,-348.162],[112.568,-308.126],[91.313,-214.17],[54.795,-53.073]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.093,92.583],[-16.352,10.651],[-4.779,-15.951],[1.906,-11.975],[3.741,-11.899],[-4.165,-36.183],[-7.967,-22.12],[-15.617,36.356],[-15.027,35.635],[-4.972,13.122],[-14.197,-5.129],[2.322,-16.64],[9.208,-37.867],[13.552,-65.121]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.369,-14.115],[15.941,-10.382],[3.121,12.554],[-2.711,17.038],[-1.532,4.871],[1.63,14.184],[20.846,-49.856],[43.955,-102.11],[11.556,-27.344],[16.833,-27.336],[12.749,4.606],[-1.047,7.507],[-12.85,52.856],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.065,-59.363],[-151.451,-144.807],[-111.589,-124.755],[-110.405,-90.884],[-118.626,-53.543],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.89,-240.955],[54.3,-329.157],[96.671,-348.218],[112.708,-308.054],[91.475,-214.259],[54.795,-53.073]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-21.779,92.637],[-16.313,10.703],[-4.831,-15.932],[1.866,-11.979],[3.7,-11.909],[-4.165,-36.183],[-7.967,-22.12],[-15.665,36.516],[-15.189,36.09],[-5.002,13.2],[-14.281,-5.159],[2.335,-16.739],[9.243,-37.968],[13.524,-64.555]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.321,-14.123],[15.903,-10.433],[3.162,12.541],[-2.653,17.044],[-1.515,4.875],[1.63,14.184],[20.846,-49.856],[43.431,-100.954],[11.537,-27.333],[16.933,-27.497],[12.824,4.633],[-1.053,7.551],[-12.878,52.917],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.047,-59.279],[-151.728,-144.873],[-111.807,-124.959],[-110.511,-91.099],[-118.606,-53.739],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.862,-241.166],[54.122,-329.196],[96.74,-348.285],[112.874,-307.969],[91.667,-214.366],[54.795,-53.073]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-21.411,92.7],[-16.267,10.765],[-4.892,-15.909],[1.819,-11.983],[3.653,-11.921],[-4.165,-36.183],[-7.967,-22.12],[-15.722,36.702],[-15.379,36.621],[-5.036,13.29],[-14.378,-5.195],[2.352,-16.853],[9.283,-38.087],[13.49,-63.894]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.265,-14.133],[15.859,-10.493],[3.211,12.525],[-2.586,17.05],[-1.496,4.88],[1.63,14.184],[20.846,-49.856],[42.819,-99.605],[11.514,-27.321],[17.049,-27.686],[12.912,4.665],[-1.06,7.603],[-12.911,52.988],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.025,-59.18],[-152.052,-144.951],[-112.063,-125.197],[-110.635,-91.35],[-118.582,-53.967],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.829,-241.413],[53.914,-329.242],[96.82,-348.363],[113.068,-307.87],[91.892,-214.491],[54.795,-53.073]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-20.987,92.772],[-16.214,10.835],[-4.962,-15.883],[1.765,-11.988],[3.598,-11.934],[-4.165,-36.183],[-7.967,-22.12],[-15.788,36.917],[-15.597,37.232],[-5.075,13.394],[-14.491,-5.235],[2.37,-16.985],[9.33,-38.223],[13.452,-63.132]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.201,-14.144],[15.807,-10.561],[3.266,12.508],[-2.509,17.057],[-1.474,4.886],[1.63,14.184],[20.846,-49.856],[42.114,-98.049],[11.487,-27.306],[17.182,-27.903],[13.013,4.701],[-1.069,7.662],[-12.949,53.07],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202,-59.067],[-152.425,-145.041],[-112.358,-125.471],[-110.778,-91.639],[-118.555,-54.231],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.791,-241.698],[53.674,-329.296],[96.912,-348.453],[113.292,-307.756],[92.151,-214.634],[54.795,-53.073]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-20.504,92.855],[-16.154,10.916],[-5.042,-15.854],[1.703,-11.994],[3.535,-11.95],[-4.165,-36.183],[-7.967,-22.12],[-15.863,37.162],[-15.845,37.93],[-5.12,13.513],[-14.619,-5.282],[2.392,-17.136],[9.383,-38.378],[13.408,-62.263]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.127,-14.156],[15.749,-10.639],[3.329,12.488],[-2.421,17.066],[-1.448,4.892],[1.63,14.184],[20.846,-49.856],[41.31,-96.275],[11.456,-27.29],[17.335,-28.15],[13.128,4.743],[-1.078,7.73],[-12.992,53.164],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.971,-58.938],[-152.851,-145.143],[-112.694,-125.784],[-110.941,-91.969],[-118.524,-54.531],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.747,-242.022],[53.4,-329.357],[97.018,-348.555],[113.546,-307.626],[92.446,-214.798],[54.795,-53.073]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-19.958,92.949],[-16.086,11.007],[-5.133,-15.82],[1.633,-12],[3.464,-11.967],[-4.165,-36.183],[-7.967,-22.12],[-15.947,37.439],[-16.126,38.718],[-5.171,13.647],[-14.765,-5.334],[2.416,-17.306],[9.443,-38.554],[13.358,-61.281]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.044,-14.171],[15.683,-10.728],[3.401,12.465],[-2.321,17.075],[-1.419,4.899],[1.63,14.184],[20.846,-49.856],[40.402,-94.27],[11.422,-27.271],[17.507,-28.43],[13.258,4.79],[-1.089,7.807],[-13.041,53.269],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.939,-58.792],[-153.332,-145.258],[-113.074,-126.137],[-111.125,-92.342],[-118.489,-54.87],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.698,-242.389],[53.091,-329.425],[97.137,-348.671],[113.835,-307.479],[92.78,-214.983],[54.795,-53.073]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-19.345,93.054],[-16.009,11.109],[-5.235,-15.782],[1.555,-12.008],[3.385,-11.986],[-4.165,-36.183],[-7.967,-22.12],[-16.042,37.75],[-16.442,39.603],[-5.228,13.798],[-14.927,-5.393],[2.443,-17.497],[9.511,-38.751],[13.302,-60.18]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.951,-14.187],[15.609,-10.827],[3.481,12.439],[-2.209,17.086],[-1.387,4.907],[1.63,14.184],[20.846,-49.856],[39.382,-92.02],[11.384,-27.25],[17.7,-28.743],[13.405,4.843],[-1.101,7.893],[-13.096,53.388],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.902,-58.629],[-153.872,-145.387],[-113.5,-126.534],[-111.332,-92.761],[-118.45,-55.251],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.643,-242.801],[52.744,-329.502],[97.271,-348.801],[114.158,-307.314],[93.154,-215.191],[54.795,-53.073]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-18.662,93.171],[-15.924,11.223],[-5.348,-15.74],[1.468,-12.016],[3.297,-12.008],[-4.165,-36.183],[-7.967,-22.12],[-16.147,38.096],[-16.793,40.588],[-5.292,13.965],[-15.109,-5.459],[2.473,-17.709],[9.586,-38.97],[13.24,-58.952]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.848,-14.205],[15.526,-10.938],[3.57,12.411],[-2.085,17.097],[-1.351,4.916],[1.63,14.184],[20.846,-49.856],[38.246,-89.514],[11.341,-27.227],[17.915,-29.093],[13.568,4.902],[-1.114,7.989],[-13.157,53.52],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.862,-58.446],[-154.473,-145.531],[-113.975,-126.976],[-111.562,-93.227],[-118.406,-55.675],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.581,-243.259],[52.357,-329.588],[97.42,-348.946],[114.518,-307.13],[93.572,-215.422],[54.795,-53.073]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-17.906,93.301],[-15.83,11.349],[-5.473,-15.694],[1.371,-12.025],[3.199,-12.032],[-4.165,-36.183],[-7.967,-22.12],[-16.264,38.48],[-17.182,41.68],[-5.362,14.151],[-15.31,-5.531],[2.506,-17.945],[9.67,-39.213],[13.171,-57.593]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.733,-14.224],[15.435,-11.06],[3.669,12.379],[-1.947,17.11],[-1.311,4.925],[1.63,14.184],[20.846,-49.856],[36.988,-86.738],[11.293,-27.201],[18.153,-29.48],[13.748,4.967],[-1.129,8.095],[-13.225,53.667],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.817,-58.244],[-155.139,-145.691],[-114.501,-127.465],[-111.817,-93.743],[-118.358,-56.145],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.513,-243.767],[51.93,-329.684],[97.585,-349.107],[114.917,-306.927],[94.034,-215.678],[54.795,-53.073]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-17.074,93.443],[-15.726,11.488],[-5.611,-15.643],[1.265,-12.035],[3.091,-12.058],[-4.165,-36.183],[-7.967,-22.12],[-16.393,38.901],[-17.61,42.88],[-5.44,14.355],[-15.531,-5.611],[2.543,-18.204],[9.761,-39.481],[13.096,-56.098]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.606,-14.246],[15.334,-11.195],[3.778,12.345],[-1.795,17.124],[-1.267,4.936],[1.63,14.184],[20.846,-49.856],[35.605,-83.686],[11.241,-27.172],[18.415,-29.905],[13.947,5.039],[-1.145,8.212],[-13.299,53.828],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.768,-58.022],[-155.872,-145.866],[-115.079,-128.004],[-112.098,-94.311],[-118.305,-56.661],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.438,-244.325],[51.459,-329.788],[97.767,-349.283],[115.356,-306.703],[94.542,-215.96],[54.795,-53.073]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-16.167,93.599],[-15.613,11.639],[-5.761,-15.587],[1.149,-12.046],[2.973,-12.087],[-4.165,-36.183],[-7.967,-22.12],[-16.533,39.361],[-18.077,44.189],[-5.524,14.578],[-15.772,-5.698],[2.583,-18.486],[9.861,-39.772],[13.013,-54.467]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.469,-14.27],[15.225,-11.341],[3.897,12.307],[-1.63,17.14],[-1.22,4.948],[1.63,14.184],[20.846,-49.856],[34.096,-80.356],[11.184,-27.141],[18.701,-30.37],[14.163,5.117],[-1.163,8.34],[-13.381,54.003],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.714,-57.78],[-156.671,-146.058],[-115.71,-128.591],[-112.404,-94.931],[-118.246,-57.225],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.356,-244.934],[50.945,-329.902],[97.965,-349.476],[115.834,-306.458],[95.096,-216.267],[54.795,-53.073]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-15.186,93.767],[-15.491,11.803],[-5.924,-15.526],[1.024,-12.058],[2.846,-12.118],[-4.165,-36.183],[-7.967,-22.12],[-16.685,39.859],[-18.581,45.604],[-5.615,14.819],[-16.033,-5.793],[2.626,-18.792],[9.969,-40.088],[12.924,-52.704]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.32,-14.295],[15.106,-11.5],[4.025,12.266],[-1.451,17.157],[-1.168,4.96],[1.63,14.184],[20.846,-49.856],[32.465,-76.757],[11.122,-27.108],[19.01,-30.871],[14.397,5.202],[-1.182,8.478],[-13.468,54.193],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.656,-57.518],[-157.534,-146.265],[-116.392,-129.225],[-112.734,-95.6],[-118.184,-57.834],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.268,-245.592],[50.39,-330.026],[98.179,-349.684],[116.351,-306.195],[95.695,-216.599],[54.795,-53.073]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-14.141,93.946],[-15.361,11.977],[-6.097,-15.462],[0.891,-12.07],[2.711,-12.151],[-4.165,-36.183],[-7.967,-22.12],[-16.847,40.389],[-19.119,47.113],[-5.713,15.076],[-16.311,-5.893],[2.672,-19.117],[10.085,-40.424],[12.829,-50.826]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.161,-14.322],[14.98,-11.669],[4.162,12.223],[-1.26,17.175],[-1.113,4.974],[1.63,14.184],[20.846,-49.856],[30.726,-72.921],[11.056,-27.072],[19.34,-31.406],[14.647,5.292],[-1.203,8.625],[-13.562,54.396],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.594,-57.239],[-158.455,-146.485],[-117.119,-129.902],[-113.087,-96.314],[-118.117,-58.483],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.174,-246.294],[49.799,-330.157],[98.407,-349.906],[116.903,-305.913],[96.334,-216.954],[54.795,-53.073]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-13.049,94.133],[-15.225,12.159],[-6.278,-15.395],[0.751,-12.083],[2.57,-12.186],[-4.165,-36.183],[-7.967,-22.12],[-17.016,40.942],[-19.681,48.689],[-5.814,15.344],[-16.601,-5.998],[2.721,-19.457],[10.205,-40.775],[12.73,-48.863]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.995,-14.351],[14.848,-11.846],[4.305,12.177],[-1.061,17.193],[-1.055,4.988],[1.63,14.184],[20.846,-49.856],[28.909,-68.913],[10.988,-27.035],[19.684,-31.965],[14.907,5.386],[-1.224,8.778],[-13.66,54.607],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.529,-56.947],[-159.417,-146.716],[-117.878,-130.608],[-113.455,-97.059],[-118.047,-59.161],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.075,-247.027],[49.181,-330.295],[98.646,-350.138],[117.479,-305.619],[97.001,-217.323],[54.795,-53.073]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-11.945,94.323],[-15.087,12.343],[-6.461,-15.327],[0.61,-12.097],[2.427,-12.221],[-4.165,-36.183],[-7.967,-22.12],[-17.187,41.502],[-20.249,50.284],[-5.917,15.616],[-16.894,-6.104],[2.769,-19.801],[10.327,-41.13],[12.629,-46.876]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.827,-14.38],[14.714,-12.025],[4.45,12.131],[-0.859,17.212],[-0.997,5.002],[1.63,14.184],[20.846,-49.856],[27.071,-64.857],[10.918,-26.997],[20.032,-32.53],[15.171,5.481],[-1.246,8.933],[-13.758,54.821],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.464,-56.652],[-160.39,-146.949],[-118.647,-131.323],[-113.828,-97.814],[-117.976,-59.847],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.976,-247.769],[48.555,-330.434],[98.887,-350.372],[118.061,-305.322],[97.676,-217.698],[54.795,-53.073]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-10.885,94.504],[-14.955,12.52],[-6.637,-15.262],[0.475,-12.109],[2.289,-12.254],[-4.165,-36.183],[-7.967,-22.12],[-17.35,42.04],[-20.794,51.813],[-6.016,15.876],[-17.176,-6.206],[2.816,-20.131],[10.443,-41.47],[12.533,-44.972]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.666,-14.407],[14.586,-12.196],[4.589,12.087],[-0.666,17.23],[-0.941,5.016],[1.63,14.184],[20.846,-49.856],[25.309,-60.968],[10.852,-26.96],[20.366,-33.073],[15.424,5.573],[-1.267,9.082],[-13.853,55.026],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.401,-56.369],[-161.323,-147.173],[-119.384,-132.009],[-114.185,-98.537],[-117.908,-60.506],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.88,-248.48],[47.956,-330.567],[99.118,-350.597],[118.62,-305.036],[98.324,-218.057],[54.795,-53.073]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.962,94.662],[-14.84,12.674],[-6.79,-15.205],[0.357,-12.121],[2.17,-12.284],[-4.165,-36.183],[-7.967,-22.12],[-17.493,42.508],[-21.269,53.145],[-6.102,16.103],[-17.421,-6.294],[2.857,-20.419],[10.545,-41.767],[12.449,-43.312]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.526,-14.431],[14.474,-12.346],[4.709,12.049],[-0.498,17.246],[-0.893,5.028],[1.63,14.184],[20.846,-49.856],[23.773,-57.58],[10.793,-26.929],[20.657,-33.545],[15.644,5.652],[-1.285,9.212],[-13.936,55.205],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.346,-56.122],[-162.136,-147.367],[-120.026,-132.606],[-114.497,-99.167],[-117.849,-61.079],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.797,-249.1],[47.433,-330.683],[99.32,-350.793],[119.107,-304.788],[98.888,-218.369],[54.795,-53.073]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.303,94.775],[-14.758,12.784],[-6.899,-15.165],[0.273,-12.128],[2.084,-12.305],[-4.165,-36.183],[-7.967,-22.12],[-17.595,42.842],[-21.608,54.096],[-6.163,16.265],[-17.596,-6.357],[2.886,-20.624],[10.618,-41.979],[12.389,-42.128]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.426,-14.449],[14.395,-12.453],[4.796,12.021],[-0.378,17.257],[-0.858,5.036],[1.63,14.184],[20.846,-49.856],[22.677,-55.161],[10.752,-26.906],[20.865,-33.882],[15.801,5.709],[-1.298,9.305],[-13.995,55.333],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.307,-55.946],[-162.717,-147.506],[-120.484,-133.033],[-114.719,-99.617],[-117.807,-61.488],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.738,-249.543],[47.06,-330.766],[99.464,-350.933],[119.455,-304.61],[99.29,-218.593],[54.795,-53.073]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.634,42.969],[-21.737,54.457],[-6.186,16.326],[-17.663,-6.381],[2.897,-20.702],[10.645,-42.059],[12.366,-41.679]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.261,-54.244],[10.736,-26.898],[20.943,-34.01],[15.861,5.73],[-1.303,9.34],[-14.017,55.381],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.715,-249.71],[46.919,-330.797],[99.518,-350.986],[119.587,-304.543],[99.443,-218.677],[54.795,-53.073]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Hand","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Hand Lines","parent":7,"tt":1,"tp":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[72.723,19.821,0],"ix":2,"l":2},"a":{"a":0,"k":[490.552,442.212,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.665,31.475]],"o":[[0,0],[0,0]],"v":[[-15.889,21.592],[15.889,-21.592]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[382.696,550.212],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb Line","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[-9.068,38.768],[0,0]],"v":[[10.258,-29.133],[-10.258,29.133]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.8,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[428.001,369.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Line 1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[9.242,-16.485]],"o":[[-4.672,26.39],[0,0]],"v":[[10.819,-35.549],[-10.819,35.549]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.8,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[515.779,357.675],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Line 2","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,25.56],[0,0]],"v":[[8.374,-35.429],[-8.374,35.429]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.8,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[583.068,337.766],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Line 3","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Hand","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":4,"s":[-6]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":56,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[3]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":92,"s":[3]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":113,"s":[-1]},{"i":{"x":[0.59],"y":[1]},"o":{"x":[0.11],"y":[0.44]},"t":115,"s":[-1]},{"t":140,"s":[4],"h":1}],"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[133,148,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.84,"y":1},"o":{"x":0.83,"y":0},"t":65,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.634,42.969],[-21.737,54.457],[-6.186,16.326],[-17.663,-6.381],[2.897,-20.702],[10.645,-42.059],[12.366,-41.679]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.261,-54.244],[10.736,-26.898],[20.943,-34.01],[15.861,5.73],[-1.303,9.34],[-14.017,55.381],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.715,-249.71],[46.919,-330.797],[99.518,-350.986],[119.587,-304.543],[99.443,-218.677],[54.795,-53.073]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":98,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.468,43.429],[-22.934,57.457],[-7.108,18.758],[-20.294,-7.332],[3.318,-23.787],[12.497,-44.223],[15.323,-59.225]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[24.028,-63.364],[11.328,-28.38],[24.063,-39.077],[18.224,6.584],[-1.497,10.731],[-16.391,58.003],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[7.922,-241.515],[41.307,-332.035],[101.742,-355.231],[124.8,-301.87],[98.375,-208.97],[54.795,-53.073]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.66,"y":0},"t":113,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.043,92.42],[-16.47,10.492],[-4.621,-16.01],[2.027,-11.963],[3.864,-11.869],[-4.165,-36.183],[-7.967,-22.12],[-15.47,35.875],[-14.539,34.264],[-4.884,12.889],[-13.944,-5.038],[2.28,-16.345],[9.103,-37.562],[13.639,-66.829]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.513,-14.09],[16.056,-10.228],[2.997,12.593],[-2.884,17.022],[-1.582,4.859],[1.63,14.184],[20.846,-49.856],[45.535,-105.596],[11.616,-27.377],[16.534,-26.85],[12.522,4.524],[-1.028,7.373],[-12.765,52.672],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.122,-59.616],[-150.614,-144.607],[-110.928,-124.14],[-110.084,-90.235],[-118.687,-52.953],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.976,-240.317],[54.837,-329.037],[96.463,-348.016],[112.207,-308.31],[90.895,-213.938],[54.795,-53.073]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.66,"y":0},"t":115,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.043,92.42],[-16.47,10.492],[-4.621,-16.01],[2.027,-11.963],[3.864,-11.869],[-4.165,-36.183],[-7.967,-22.12],[-15.47,35.875],[-14.539,34.264],[-4.884,12.889],[-13.944,-5.038],[2.28,-16.345],[9.103,-37.562],[13.639,-66.829]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.513,-14.09],[16.056,-10.228],[2.997,12.593],[-2.884,17.022],[-1.582,4.859],[1.63,14.184],[20.846,-49.856],[45.535,-105.596],[11.616,-27.377],[16.534,-26.85],[12.522,4.524],[-1.028,7.373],[-12.765,52.672],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.122,-59.616],[-150.614,-144.607],[-110.928,-124.14],[-110.084,-90.235],[-118.687,-52.953],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.976,-240.317],[54.837,-329.037],[96.463,-348.016],[112.207,-308.31],[90.895,-213.938],[54.795,-53.073]],"c":true}]},{"t":140,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.634,42.969],[-21.737,54.457],[-6.186,16.326],[-17.663,-6.381],[2.897,-20.702],[10.645,-42.059],[12.366,-41.679]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.261,-54.244],[10.736,-26.898],[20.943,-34.01],[15.861,5.73],[-1.303,9.34],[-14.017,55.381],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.715,-249.71],[46.919,-330.797],[99.518,-350.986],[119.587,-304.543],[99.443,-218.677],[54.795,-53.073]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Hand","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0}]},{"id":"comp_2","nm":"Part02_Charade_Tablet_Overview_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"REPO","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":640,"ix":3},"y":{"a":0,"k":1337,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":60,"op":312,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Secondary Y Movement","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[-621.291]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":40.334,"s":[-614.091]},{"t":52,"s":[-621.291]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"MASTER Y POSITION","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.426],"y":[0.38]},"o":{"x":[0.48],"y":[0.051]},"t":0,"s":[-97.709]},{"i":{"x":[0.633],"y":[1]},"o":{"x":[0.654],"y":[-0.375]},"t":23,"s":[-103.709]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":38,"s":[-92.709]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":44.666,"s":[-50.709]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":78,"s":[12.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":109,"s":[-7.709]},{"i":{"x":[0.8],"y":[0.764]},"o":{"x":[0.3],"y":[0]},"t":118,"s":[-7.709]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":128,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.78],"y":[0]},"t":143,"s":[46.291]},{"i":{"x":[0.8],"y":[0.528]},"o":{"x":[0.3],"y":[0]},"t":145,"s":[46.291]},{"i":{"x":[0.22],"y":[1]},"o":{"x":[0.18],"y":[1]},"t":155,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":184,"s":[-7.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":195,"s":[-7.709]},{"i":{"x":[0.428],"y":[1]},"o":{"x":[0.681],"y":[0]},"t":235,"s":[-261.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[-239.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":294,"s":[-239.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":334,"s":[-261.709]},{"i":{"x":[0.473],"y":[1.533]},"o":{"x":[0.63],"y":[0]},"t":343,"s":[-261.709]},{"i":{"x":[0.105],"y":[1]},"o":{"x":[0.497],"y":[-0.207]},"t":406,"s":[-157.709]},{"t":466,"s":[62.291]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":60,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":72,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":84,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":96,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":108,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":162,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":174,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":186,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":198,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":210,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":264,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":276,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":288,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":300,"s":[100]},{"t":312,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":6,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":0,"k":1282,"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":0,"k":581,"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":0,"k":90,"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"a":0,"k":90,"ix":8}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"a":0,"k":135,"ix":9}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"a":0,"k":135,"ix":10}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.506,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.506,0],[0,0]],"v":[[-641,-491],[-551,-581],[551,-581],[641,-491],[641,-135],[506,0],[-506,0],[-641,-135]],"c":true}],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.506,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.506,0],[0,0]],"v":[[-641,-491],[-551,-581],[551,-581],[641,-491],[641,-135],[506,0],[-506,0],[-641,-135]],"c":true}],"t":466,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"k":[{"s":[0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":466,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 11986","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":312,"st":-205,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-144,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-134,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.108},"t":426,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":465,"s":[0,-10.9,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":5,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-0.27],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-0.737],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-1.391],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-2.194],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-3.049],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-3.867],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-4.609],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-5.269],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-5.856],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-6.38],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-6.85],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.272],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.654],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.999],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.312],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.595],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.851],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.083],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.295],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.488],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.662],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.82],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.963],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.093],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.211],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.317],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.412],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.498],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.575],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.642],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.701],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.752],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.794],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.83],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.857],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.878],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.892],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}]},{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.167},"t":426,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}]},{"t":465,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.44],"y":[0]},"t":406,"s":[54]},{"t":426,"s":[58]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":18,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.461,-40.238]],"c":false}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.979,-40.201]],"c":false}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.191,-40.142]],"c":false}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[53.112,-40.06]],"c":false}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[51.754,-39.958]],"c":false}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[50.13,-39.835]],"c":false}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[48.251,-39.693]],"c":false}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[46.13,-39.533]],"c":false}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[43.779,-39.356]],"c":false}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[41.212,-39.162]],"c":false}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[38.443,-38.953]],"c":false}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[35.488,-38.73]],"c":false}],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[32.365,-38.494]],"c":false}],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[29.095,-38.248]],"c":false}],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[25.705,-37.992]],"c":false}],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[22.232,-37.73]],"c":false}],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[18.728,-37.465]],"c":false}],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[15.275,-37.205]],"c":false}],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[12.014,-36.959]],"c":false}],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.245]],"c":false}],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-35.487]],"c":false}],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-34.479]],"c":false}],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-33.307]],"c":false}],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-32.102]],"c":false}],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-30.966]],"c":false}],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.94]],"c":false}],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.029]],"c":false}],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-28.223]],"c":false}],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-27.508]],"c":false}],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.872]],"c":false}],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.304]],"c":false}],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.794]],"c":false}],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.335]],"c":false}],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.92]],"c":false}],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.545]],"c":false}],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.205]],"c":false}],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.896]],"c":false}],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.615]],"c":false}],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.36]],"c":false}],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.129]],"c":false}],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.918]],"c":false}],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.728]],"c":false}],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.555]],"c":false}],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.4]],"c":false}],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.26]],"c":false}],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.135]],"c":false}],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.023]],"c":false}],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.924]],"c":false}],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.837]],"c":false}],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.762]],"c":false}],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.697]],"c":false}],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.642]],"c":false}],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.597]],"c":false}],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.561]],"c":false}],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.534]],"c":false}],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.515]],"c":false}],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"k":[{"s":[54.014],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.056],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.123],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.216],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.333],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.474],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.636],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.819],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.022],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.244],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.483],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.738],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.008],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.291],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.584],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.883],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.185],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.482],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.763],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":1,"k":[{"t":-145,"s":[0],"h":1},{"t":18,"s":[100],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[6.167,-3.179],[-15.352,0],[5.008,2.581]],"o":[[-5.59,2.881],[13.869,0],[-6.167,-3.179]],"v":[[-9.526,-79.571],[0.604,-100.669],[9.867,-79.571]],"c":true}]},{"t":426,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,-79.571],[0.709,-100.669],[11.321,-79.571]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.765,"y":0.675},"o":{"x":0.399,"y":0},"t":406,"s":[0,139],"to":[0,0],"ti":[0,0]},{"i":{"x":0.24,"y":1},"o":{"x":0.4,"y":0.441},"t":424,"s":[0,101],"to":[0,0],"ti":[0,0]},{"t":427,"s":[0,93]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":406,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-6,"s":[100]},{"t":5,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.033,-21.75],[-55.984,-40.016]],"c":false}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-7.198,-21.75],[-50.169,-39.599]],"c":false}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5.356,-21.75],[-37.325,-38.678]],"c":false}],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-2.425,-21.75],[-16.892,-37.213]],"c":false}],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0.467,-21.75],[3.272,-35.766]],"c":false}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.584,-21.75],[18.031,-34.708]],"c":false}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.048,-21.75],[28.237,-33.976]],"c":false}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.064,-21.75],[35.32,-33.468]],"c":false}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.767,-21.75],[40.22,-33.116]],"c":false}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.241,-21.75],[43.523,-32.88]],"c":false}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.54,-21.75],[45.607,-32.73]],"c":false}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.701,-21.75],[46.73,-32.65]],"c":false}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[49.587,-33.707]],"c":false}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[54.144,-35.668]],"c":false}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[57.197,-36.982]],"c":false}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[59.162,-37.828]],"c":false}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[60.549,-38.425]],"c":false}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[61.581,-38.869]],"c":false}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.369,-39.208]],"c":false}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.978,-39.47]],"c":false}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.45,-39.673]],"c":false}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.811,-39.829]],"c":false}],"t":218,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.082,-39.945]],"c":false}],"t":219,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.276,-40.028]],"c":false}],"t":220,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.405,-40.084]],"c":false}],"t":221,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.477,-40.115]],"c":false}],"t":222,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":195,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.01,"y":1},"o":{"x":0.167,"y":0.167},"t":208,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}]},{"t":223,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.5,-40.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":200,"op":221,"st":-6,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-145,"s":[100]},{"t":-134,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.725,-44.786]],"c":false}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.906,-43.051]],"c":false}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.119,-41.012]],"c":false}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.349,-38.801]],"c":false}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.591,-36.476]],"c":false}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.841,-34.073]],"c":false}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.097,-31.615]],"c":false}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.357,-29.121]],"c":false}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.618,-26.612]],"c":false}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.878,-24.121]],"c":false}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.021,-24.795]],"c":false}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.846,-29.943]],"c":false}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.74,-33.077]],"c":false}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.672,-35.065]],"c":false}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.625,-36.457]],"c":false}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.59,-37.483]],"c":false}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.564,-38.258]],"c":false}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.543,-38.847]],"c":false}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.528,-39.292]],"c":false}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.517,-39.621]],"c":false}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.509,-39.856]],"c":false}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.504,-40.011]],"c":false}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.501,-40.098]],"c":false}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.048]],"c":false}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.825]],"c":false}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.469]],"c":false}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.991]],"c":false}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.401]],"c":false}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-37.708]],"c":false}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.919]],"c":false}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.042]],"c":false}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-35.084]],"c":false}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-34.051]],"c":false}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-32.951]],"c":false}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-31.79]],"c":false}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-30.576]],"c":false}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-29.316]],"c":false}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-28.021]],"c":false}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-26.701]],"c":false}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-25.375]],"c":false}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-24.067]],"c":false}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-22.825]],"c":false}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.38,-24.323]],"c":false}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.199,-28.188]],"c":false}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.031,-31.777]],"c":false}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.898,-34.618]],"c":false}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.795,-36.811]],"c":false}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.716,-38.509]],"c":false}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.654,-39.829]],"c":false}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.606,-40.851]],"c":false}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.57,-41.634]],"c":false}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.542,-42.22]],"c":false}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.523,-42.64]],"c":false}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.51,-42.919]],"c":false}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.502,-43.076]],"c":false}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.5,-43.125]],"c":false}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}]},{"t":118,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.5,-43.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,10.429],[0.709,-10.669],[11.321,10.429]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[4.884,-3.179],[-12.16,0],[3.966,2.581]],"o":[[-4.427,2.881],[10.985,0],[-4.884,-3.179]],"v":[[-7.577,14.554],[0.447,-6.544],[7.784,14.554]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[5.367,-3.179],[-13.36,0],[4.358,2.581]],"o":[[-4.864,2.881],[12.069,0],[-5.367,-3.179]],"v":[[-8.36,13.429],[0.455,-7.669],[8.517,13.429]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]},{"t":112,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-90],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Round Bottom","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":59,"op":112,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":466,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":16,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-37]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-7.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":28,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"t":52,"s":[100],"h":1},{"t":62,"s":[0],"h":1},{"t":112,"s":[100],"h":1},{"t":200,"s":[0],"h":1},{"t":221,"s":[100],"h":1},{"t":408,"s":[0],"h":1}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-259.147,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.001,"y":0},"t":27,"s":[{"i":[[4.22,-5.198],[6.889,-2.445],[6.141,2.195],[4.414,5.745],[2.09,6.003],[1.842,5.673],[0,0],[-4.629,7.032],[-3.668,2.338],[-9.176,-4.129],[0,0],[-2.537,1.423],[0,0],[-5.764,-2.348],[-3.35,-5.761],[3.559,-9.527],[0,0],[2.211,-5.388]],"o":[[-4.607,5.675],[-6.146,2.181],[-6.823,-2.438],[-3.873,-5.041],[-1.961,-5.633],[-0.673,-2.074],[-3.418,-8.054],[2.391,-3.632],[7.091,-4.519],[0,0],[2.053,0.611],[0,0],[6.766,-3.045],[6.042,2.461],[4.226,7.269],[0,0],[0,0],[-2.542,6.194]],"v":[[26.625,263.759],[9.088,276.927],[-10.477,276.927],[-27.766,263.755],[-34.35,245.857],[-39.92,228.853],[-41.895,222.617],[-38.621,196.593],[-29.625,187.329],[-2.764,182.988],[-0.678,184.077],[3.537,183.327],[5.123,182.613],[23.746,183.97],[38.891,196.367],[42.816,222.402],[40.88,229.024],[34.705,245.369]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":40,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":49,"s":[{"i":[[0,0],[5.924,-2.615],[6.267,2.766],[3.263,7.561],[2.981,6.909],[0,0],[0,0],[-4.825,8.784],[-3.668,2.709],[-9.176,-4.785],[0,0],[-7.064,3.683],[0,0],[-5.942,-2.295],[-3.35,-6.676],[4.5,-10.429],[0,0],[2.725,-6.315]],"o":[[-3.262,7.56],[-6.266,2.766],[-5.925,-2.615],[0,0],[-2.981,-6.909],[0,0],[-3.988,-9.246],[2.335,-4.251],[7.091,-5.237],[0,0],[7.064,3.683],[0,0],[6.766,-3.528],[6.387,2.466],[4.226,8.423],[0,0],[0,0],[-3.063,7.1]],"v":[[23.515,261.285],[9.088,276.548],[-10.477,276.549],[-24.906,261.285],[-33.85,240.557],[-42.795,219.829],[-48.707,206.127],[-47.871,176.22],[-38.875,165.486],[-13.389,163.498],[-11.803,164.325],[10.412,164.325],[11.998,163.498],[31.496,162.173],[46.641,176.538],[47.316,206.126],[40.88,221.041],[32.705,239.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.61,"y":0},"t":57,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[5.829,-2.275],[6.166,2.405],[3.21,6.575],[2.933,6.009],[0,0],[0,0],[-4.747,7.639],[-3.609,2.356],[-9.028,-5.782],[0,0],[-6.95,4.451],[0,0],[-5.847,-1.996],[-3.296,-5.806],[4.428,-9.07],[0,0],[2.681,-5.492]],"o":[[-3.21,6.575],[-6.165,2.406],[-5.83,-2.274],[0,0],[-2.933,-6.009],[0,0],[-3.924,-8.041],[2.297,-3.697],[6.977,-4.554],[0,0],[6.95,4.451],[0,0],[6.657,-4.263],[6.284,2.145],[4.158,7.326],[0,0],[0,0],[-3.014,6.174]],"v":[[23.147,263.139],[8.953,276.413],[-10.297,276.414],[-24.493,263.14],[-31.981,245.113],[-39.468,227.086],[-43.871,215.169],[-44.463,189.161],[-35.612,179.825],[-10.537,178.375],[-8.977,179.374],[7.631,179.374],[9.191,178.375],[28.374,176.944],[43.275,189.437],[42.525,215.169],[37.607,228.14],[30.877,244.617]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[5.782,-2.283],[6.116,2.414],[3.184,6.6],[2.91,6.031],[0,0],[0,0],[-4.709,7.668],[-3.58,2.365],[-8.956,-2.881],[0,0],[-6.894,2.218],[0,0],[-5.8,-2.003],[-3.269,-5.828],[4.392,-9.104],[0,0],[2.66,-5.513]],"o":[[-3.184,6.599],[-6.116,2.415],[-5.783,-2.283],[0,0],[-2.91,-6.031],[0,0],[-3.893,-8.071],[2.279,-3.711],[6.921,-4.571],[0,0],[6.894,2.218],[0,0],[6.604,-2.124],[6.234,2.153],[4.125,7.353],[0,0],[0,0],[-2.99,6.198]],"v":[[22.966,262.838],[8.886,276.162],[-10.209,276.162],[-24.29,262.838],[-31.064,244.743],[-37.837,226.649],[-41.5,214.688],[-42.792,188.581],[-34.012,179.21],[-9.139,174.179],[-7.591,174.677],[6.267,174.677],[7.814,174.179],[26.844,176.318],[41.625,188.859],[40.176,214.688],[36.003,227.707],[29.98,244.245]],"c":true}]},{"i":{"x":0.48,"y":1},"o":{"x":0.26,"y":1},"t":111,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,1.445],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,1.445],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[22.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-30.85,245.866],[-37.795,227.978],[-42.707,216.152],[-41.871,190.343],[-32.875,181.079],[-7.389,179.363],[-5.803,180.077],[5.412,180.077],[6.998,179.363],[26.496,178.22],[41.641,190.617],[42.316,216.152],[38.88,229.024],[31.705,245.374]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.902,"y":0},"o":{"x":0.3,"y":0},"t":119,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":129,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.78,"y":0},"t":144,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.4,"y":0},"t":146,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.884},"t":156,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":175,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":195,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"t":200,"s":[{"i":[[0,0],[4.982,-1.843],[5.269,1.949],[2.743,5.327],[2.507,4.868],[0,0],[0,0],[-4.057,6.188],[-3.084,1.909],[-7.716,-3.371],[0,0],[-5.94,2.595],[0,0],[-4.997,-1.617],[-2.817,-4.703],[3.784,-7.348],[0,0],[2.291,-4.449]],"o":[[-2.743,5.326],[-5.269,1.949],[-4.982,-1.842],[0,0],[-2.507,-4.868],[0,0],[-3.354,-6.514],[1.963,-2.995],[5.963,-3.69],[0,0],[5.94,2.595],[0,0],[5.69,-2.486],[5.371,1.738],[3.554,5.935],[0,0],[0,0],[-2.576,5.002]],"v":[[21.328,266.623],[7.572,277.365],[-8.88,277.366],[-21.013,266.612],[-30.158,252.046],[-38.929,237.463],[-42.276,232.155],[-38.901,208.3],[-31.337,200.737],[-7.657,199.329],[-6.324,199.912],[6.078,199.877],[7.412,199.294],[26.437,198.157],[39.172,208.278],[42.466,230.78],[38.179,240.068],[31.18,251.666]],"c":true}],"h":1},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":221,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":225,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":230,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":235,"s":[{"i":[[0,0],[-6.469,2.527],[-6.843,-2.672],[-3.562,-7.305],[-2.238,-6.948],[0,0],[0,0],[6.26,-7.958],[4.298,-2.236],[9.409,5.515],[0,0],[2.81,-1.723],[0,0],[6.751,1.509],[4.533,6.012],[-3.466,10.525],[0,0],[-1.94,6.411]],"o":[[3.562,-7.305],[6.843,-2.673],[6.47,2.527],[0,0],[2.25,6.984],[0,0],[3.257,9.283],[-3.029,3.851],[-8.309,4.323],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.171],[-7.256,-1.622],[-5.72,-7.586],[0,0],[0,0],[2.154,-7.118]],"v":[[-25.972,256.282],[-10.844,241.57],[10.52,241.569],[26.276,256.317],[31.363,275.406],[37.793,296.199],[41.622,309.972],[42.615,338.644],[31.6,348.06],[3.818,347.368],[2.192,346.415],[-2.497,346.685],[-4.104,347.662],[-23.931,350.493],[-42.288,338.48],[-42.272,310.249],[-38.575,296.613],[-32.279,277.866]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":240,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.17,"y":0},"t":250,"s":[{"i":[[0,0],[-6.469,2.528],[-6.843,-2.674],[-3.562,-7.309],[-2.238,-6.951],[0,0],[0,0],[6.26,-7.962],[4.298,-2.237],[9.409,5.517],[0,0],[2.81,-1.724],[0,0],[6.751,1.51],[4.533,6.015],[-3.466,10.53],[0,0],[-1.94,6.414]],"o":[[3.562,-7.308],[6.843,-2.674],[6.47,2.528],[0,0],[2.25,6.988],[0,0],[3.257,9.287],[-3.029,3.853],[-8.309,4.325],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.173],[-7.256,-1.623],[-5.72,-7.59],[0,0],[0,0],[2.154,-7.121]],"v":[[-25.972,256.238],[-10.844,241.519],[10.52,241.518],[26.276,256.273],[31.363,275.37],[37.793,296.172],[41.622,309.952],[42.615,338.637],[31.6,348.057],[3.818,347.366],[2.192,346.412],[-2.497,346.682],[-4.104,347.66],[-23.931,350.492],[-42.288,338.473],[-42.272,310.229],[-38.575,296.587],[-32.279,277.831]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":296,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":313,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":318,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":323,"s":[{"i":[[0,0],[-6.37,2.351],[-6.738,-2.486],[-3.508,-6.797],[-3.206,-6.211],[0,0],[0,0],[5.188,-7.896],[3.944,-2.435],[9.867,4.301],[0,0],[7.596,-3.311],[0,0],[6.39,2.063],[3.602,6.001],[-4.839,9.375],[0,0],[-2.93,5.677]],"o":[[3.508,-6.796],[6.738,-2.487],[6.371,2.351],[0,0],[3.206,6.211],[0,0],[4.289,8.311],[-2.511,3.821],[-7.625,4.707],[0,0],[-7.596,-3.311],[0,0],[-7.276,3.172],[-6.868,-2.217],[-4.545,-7.572],[0,0],[0,0],[3.294,-6.382]],"v":[[-26.198,255.941],[-10.685,242.221],[10.353,242.22],[25.868,255.941],[35.486,274.574],[45.103,294.249],[51.461,306.566],[50.562,333.45],[40.889,343.1],[13.484,344.887],[11.779,344.143],[-12.109,344.143],[-13.814,344.887],[-34.78,346.078],[-51.065,333.164],[-51.791,306.566],[-44.871,293.159],[-36.08,275.087]],"c":true}]},{"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0},"t":328,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.52,"y":0.96},"o":{"x":0.48,"y":0.04},"t":343,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":370,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.59,"y":1},"o":{"x":0.5,"y":0},"t":389,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"t":406,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[30.971,273.182],[38.915,291.071],[43.202,302.895],[42.366,328.704],[33.371,337.968],[7.884,339.684],[6.299,338.97],[-6.167,338.97],[-7.753,339.684],[-27.251,340.827],[-42.396,328.43],[-43.071,302.895],[-38.76,290.025],[-31.585,273.675]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"animated arrow","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":27,"op":408,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[1280,800],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.875,0.953,0.686,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.875,0.953,0.686,1],"t":466,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0}]},{"id":"comp_3","nm":"Part03_Demonstration_Tablet_Overview_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"SCENE REPO","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1074,364,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Size","np":3,"mn":"ADBE Point Control","ix":1,"en":1,"ef":[{"ty":3,"nm":"Point","mn":"ADBE Point Control-0001","ix":1,"v":{"a":0,"k":[100,100],"ix":1}}]}],"ip":0,"op":446,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Reset to Center","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":292,"s":[-318.401]},{"t":362,"s":[-584.401]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":292,"s":[358]},{"t":372,"s":[249]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"OVERSHOOT CHARACTER","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":227,"s":[-32.599]},{"t":339,"s":[107.401]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-609,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-599,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":405,"s":[100]},{"t":411,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-338]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-338]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-185.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[54],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[53.591],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[52.277],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[49.909],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[46.303],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[41.234],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[34.431],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[25.579],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.331],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.377],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-16.447],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.962],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.496],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-79.956],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-102.169],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-123.245],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-142.703],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-160.389],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-176.346],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-190.704],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.623],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.26],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-225.762],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-235.255],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-243.852],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-251.647],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-258.724],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-265.153],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.995],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-276.303],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.125],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.499],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.462],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.046],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.277],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.181],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.781],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.096],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.143],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.941],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.502],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.841],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.97],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.9],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.641],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.203],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.595],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.237],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.958],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.904],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.827],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.727],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.602],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.452],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.276],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.072],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.84],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.578],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.285],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.96],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.601],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.207],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.777],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.308],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.799],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.248],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.652],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.01],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.318],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.575],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.777],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.921],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.003],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.021],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.969],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-33.843],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.639],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.35],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.972],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.497],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.919],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-25.229],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-23.42],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-21.483],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-19.407],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.183],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-14.8],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-12.248],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-9.519],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-6.604],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.5],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.211],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.252],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.866],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[10.59],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.372],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.144],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[640,775.591],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,774.277],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,771.909],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,768.303],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,763.234],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,756.431],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,747.579],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,736.331],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,722.377],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,705.553],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,686.038],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,664.504],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,642.044],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,619.831],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,598.755],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,579.297],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,561.611],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,545.654],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,531.296],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,518.377],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,506.74],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,496.238],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,486.745],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,478.148],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,470.353],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,463.276],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,456.847],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,451.005],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,445.697],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,440.875],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,436.501],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,432.538],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,428.954],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,425.723],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,422.819],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,420.219],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,417.904],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,415.857],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,414.059],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,412.498],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,411.159],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,410.03],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,409.1],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,408.359],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,407.797],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,407.405],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[639.565,407.1],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[639.015,407.1],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[638.237,407.1],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[637.228,407.1],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[635.984,407.1],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[634.501,407.1],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[632.776,407.1],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630.806,407.1],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[628.589,407.1],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.122,407.158],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[623.405,407.337],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[620.435,407.644],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[617.214,408.089],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[613.741,408.679],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[610.018,409.425],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[606.048,410.339],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[601.834,411.433],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[597.381,412.721],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[592.695,414.219],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[587.783,415.944],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[582.654,417.917],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[577.317,420.159],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[571.785,422.697],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[566.07,425.559],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[560.187,428.78],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[554.151,432.398],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[547.98,436.457],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[541.693,441.008],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[535.308,446.11],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[528.847,451.829],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[522.33,458.241],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[515.781,465.427],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[509.219,473.472],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[502.67,482.457],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[496.153,492.437],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[489.692,503.423],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[483.307,515.339],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[477.02,527.989],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[470.849,541.05],"t":170,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[464.813,554.111],"t":171,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[458.93,566.761],"t":172,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[453.215,578.677],"t":173,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[447.683,589.663],"t":174,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[442.346,599.643],"t":175,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[437.217,608.628],"t":176,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[432.305,616.673],"t":177,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[427.619,623.859],"t":178,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[423.166,630.271],"t":179,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.952,635.99],"t":180,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[414.982,641.092],"t":181,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[411.259,645.643],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[407.786,649.702],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[404.565,653.32],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[401.595,656.541],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[398.878,659.403],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[396.411,661.941],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[394.194,664.183],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[392.224,666.156],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[390.499,667.881],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[389.016,669.379],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[387.772,670.667],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[386.763,671.761],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.985,672.675],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.435,673.421],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.108,674.011],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385,674.456],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385,675],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.765,675],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[388.09,675],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[392.085,675],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[397.945,675],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[405.96,675],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[416.557,675],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[430.38,675],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[448.467,675],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[472.664,675],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[506.923,675],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[560.017,675],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[606.525,675],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[636.85,675],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[657.995,675],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[673.974,675],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[686.767,675],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[697.438,675],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[706.614,675],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[714.692,675],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[721.939,675],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[728.542,675],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[734.639,675],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[740.332,675],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[745.699,675],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[750.803,675],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[755.691,675],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[760.402,675],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[764.968,675],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[769.413,675],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[773.757,675],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[778.015,675],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[782.199,675],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[786.316,675],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[790.373,675],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[794.373,675],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[798.316,675],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[802.203,675],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[806.031,675],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[809.798,675],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[813.5,675],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[817.133,675],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[820.694,675],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[824.177,675],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[827.579,675],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[830.896,675],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[834.125,675],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[837.263,675],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[840.308,675],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[843.258,675],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[846.112,675],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[848.869,675],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[851.529,675],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[854.093,675],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[856.561,675],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[858.933,675],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[861.212,675],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[863.398,675],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[865.494,675],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[867.5,675],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[869.419,675],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[871.253,675],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[873.004,675],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[874.674,675],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[876.265,675],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[877.789,675],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[879.155,674.987],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[880.257,674.946],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[881.093,674.877],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[881.958,674.648],"t":297,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[881.206,674.054],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[880.401,673.782],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[879.317,673.469],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[877.952,673.113],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[876.307,672.713],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[874.382,672.264],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[872.176,671.764],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[869.692,671.211],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[866.931,670.599],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[863.896,669.926],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[860.59,669.186],"t":310,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[857.019,668.376],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[853.186,667.489],"t":312,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[849.099,666.521],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[844.766,665.464],"t":314,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[840.194,664.312],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[835.396,663.056],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[830.38,661.687],"t":317,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[825.161,660.196],"t":318,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[819.752,658.571],"t":319,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[814.167,656.801],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[808.424,654.873],"t":321,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[802.539,652.772],"t":322,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[796.531,650.484],"t":323,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[790.419,647.995],"t":324,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[784.223,645.291],"t":325,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[777.963,642.361],"t":326,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[771.659,639.199],"t":327,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[765.333,635.809],"t":328,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[759.007,632.205],"t":329,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[752.699,628.418],"t":330,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[746.431,624.495],"t":331,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[740.223,620.5],"t":332,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[734.093,616.505],"t":333,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[728.06,612.582],"t":334,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[722.14,608.795],"t":335,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[716.35,605.191],"t":336,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[710.704,601.801],"t":337,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[705.216,598.639],"t":338,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[699.898,595.709],"t":339,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[694.769,593.005],"t":340,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[689.847,590.516],"t":341,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[685.141,588.228],"t":342,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[680.656,586.127],"t":343,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[676.399,584.199],"t":344,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[672.374,582.429],"t":345,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[668.584,580.804],"t":346,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[665.033,579.313],"t":347,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[661.722,577.944],"t":348,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[658.651,576.688],"t":349,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[655.821,575.536],"t":350,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[653.231,574.479],"t":351,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[650.881,573.511],"t":352,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[648.768,572.624],"t":353,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[646.89,571.814],"t":354,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[645.246,571.074],"t":355,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[643.832,570.401],"t":356,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[642.646,569.789],"t":357,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[641.683,569.236],"t":358,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640.941,568.736],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640.416,568.287],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640.103,567.887],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,567.531],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,567.218],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,566.712],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,566.222],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,566.724],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,567.16],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,567.715],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,568.04],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,568.399],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,568.793],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,569.223],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,569.692],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,570.201],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,570.752],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,571.348],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,571.99],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,572.682],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,573.425],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,574.223],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,575.079],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,575.997],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,576.979],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,578.031],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,579.157],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,580.361],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,581.65],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,583.028],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,584.503],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,586.081],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,587.771],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,589.58],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,591.517],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,593.593],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,595.817],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,598.2],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,600.752],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,603.481],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,606.396],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,609.5],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,612.789],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,616.252],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,619.866],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,623.59],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,627.372],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,631.144],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.75]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.75]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.25]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.25]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.714,0.557,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.714,0.557,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":446,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"App 3 Matte","parent":13,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[296.8]},{"t":418,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[488.8]},{"t":418,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":245,"op":435,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Pill to Arc | Elevation 2","parent":4,"tt":1,"tp":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":405,"s":[15]},{"t":411,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[110.1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[109.629],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[108.115],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[105.387],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[101.233],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[95.393],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.556],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[77.356],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.399],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[48.322],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.939],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.457],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-18.352],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.227],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-69.819],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-94.1],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-116.516],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-136.892],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.275],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-171.817],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-186.701],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-200.108],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-212.206],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-223.143],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-233.047],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-242.028],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-250.181],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-257.587],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-264.318],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.434],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.988],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.028],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.594],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.722],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.445],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.791],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.786],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-302.453],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.812],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.882],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-308.681],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.224],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.524],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.595],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.449],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.097],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.549],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.814],"t":100,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.663],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.237],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.958],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.904],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.827],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.727],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.602],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.452],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.276],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.072],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.84],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.578],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.285],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.96],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.601],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.207],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.777],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.308],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.799],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.248],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.652],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.01],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.318],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.575],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.777],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.921],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.003],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.021],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.969],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-33.843],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.639],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.35],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.972],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.497],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.919],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-25.229],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-23.42],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-21.483],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-19.407],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.183],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-14.8],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-12.248],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-9.519],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-6.604],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.5],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.211],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.252],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.866],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[10.59],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.372],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.144],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":245,"op":435,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"App 1 Matte","parent":11,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,792,0],"to":[0,0,0],"ti":[0,0,0]},{"t":101,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[412]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[442],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[442]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-205.946,89.982],[-115.964,0],[115.964,0],[205.946,89.982],[205.946,491.767],[115.964,581.749],[-115.964,581.749],[-205.946,491.767]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-205.77,89.923],[-115.847,0],[115.847,0],[205.77,89.923],[205.77,491.004],[115.847,580.927],[-115.847,580.927],[-205.77,491.004]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-205.445,89.815],[-115.63,0],[115.63,0],[205.445,89.815],[205.445,489.595],[115.63,579.41],[-115.63,579.41],[-205.445,489.595]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-204.936,89.645],[-115.291,0],[115.291,0],[204.936,89.645],[204.936,487.391],[115.291,577.037],[-115.291,577.037],[-204.936,487.391]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-204.201,89.4],[-114.8,0],[114.8,0],[204.201,89.4],[204.201,484.203],[114.8,573.603],[-114.8,573.603],[-204.201,484.203]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-203.185,89.062],[-114.123,0],[114.123,0],[203.185,89.062],[203.185,479.8],[114.123,568.862],[-114.123,568.862],[-203.185,479.8]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-201.834,88.611],[-113.223,0],[113.223,0],[201.834,88.611],[201.834,473.946],[113.223,562.558],[-113.223,562.558],[-201.834,473.946]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-200.114,88.038],[-112.076,0],[112.076,0],[200.114,88.038],[200.114,466.493],[112.076,554.531],[-112.076,554.531],[-200.114,466.493]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-198.054,87.351],[-110.703,0],[110.703,0],[198.054,87.351],[198.054,457.566],[110.703,544.918],[-110.703,544.918],[-198.054,457.566]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-195.782,86.594],[-109.188,0],[109.188,0],[195.782,86.594],[195.782,447.721],[109.188,534.315],[-109.188,534.315],[-195.782,447.721]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-193.487,85.829],[-107.658,0],[107.658,0],[193.487,85.829],[193.487,437.775],[107.658,523.604],[-107.658,523.604],[-193.487,437.775]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-191.327,85.109],[-106.218,0],[106.218,0],[191.327,85.109],[191.327,428.416],[106.218,513.525],[-106.218,513.525],[-191.327,428.416]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-189.38,84.46],[-104.92,0],[104.92,0],[189.38,84.46],[189.38,419.982],[104.92,504.442],[-104.92,504.442],[-189.38,419.982]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-187.663,83.888],[-103.775,0],[103.775,0],[187.663,83.888],[187.663,412.539],[103.775,496.426],[-103.775,496.426],[-187.663,412.539]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-186.158,83.386],[-102.772,0],[102.772,0],[186.158,83.386],[186.158,406.02],[102.772,489.406],[-102.772,489.406],[-186.158,406.02]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-184.842,82.947],[-101.895,0],[101.895,0],[184.842,82.947],[184.842,400.315],[101.895,483.262],[-101.895,483.262],[-184.842,400.315]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-183.688,82.563],[-101.125,0],[101.125,0],[183.688,82.563],[183.688,395.313],[101.125,477.875],[-101.125,477.875],[-183.688,395.313]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-182.673,82.224],[-100.448,0],[100.448,0],[182.673,82.224],[182.673,390.915],[100.448,473.139],[-100.448,473.139],[-182.673,390.915]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-181.778,81.926],[-99.852,0],[99.852,0],[181.778,81.926],[181.778,387.037],[99.852,468.963],[-99.852,468.963],[-181.778,387.037]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-180.987,81.662],[-99.325,0],[99.325,0],[180.987,81.662],[180.987,383.61],[99.325,465.273],[-99.325,465.273],[-180.987,383.61]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-180.287,81.429],[-98.858,0],[98.858,0],[180.287,81.429],[180.287,380.577],[98.858,462.006],[-98.858,462.006],[-180.287,380.577]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-179.667,81.222],[-98.445,0],[98.445,0],[179.667,81.222],[179.667,377.889],[98.445,459.112],[-98.445,459.112],[-179.667,377.889]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-179.117,81.039],[-98.078,0],[98.078,0],[179.117,81.039],[179.117,375.508],[98.078,456.547],[-98.078,456.547],[-179.117,375.508]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-178.631,80.877],[-97.754,0],[97.754,0],[178.631,80.877],[178.631,373.399],[97.754,454.276],[-97.754,454.276],[-178.631,373.399]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-178.2,80.733],[-97.467,0],[97.467,0],[178.2,80.733],[178.2,371.535],[97.467,452.269],[-97.467,452.269],[-178.2,371.535]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-177.821,80.607],[-97.214,0],[97.214,0],[177.821,80.607],[177.821,369.892],[97.214,450.499],[-97.214,450.499],[-177.821,369.892]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-177.488,80.496],[-96.992,0],[96.992,0],[177.488,80.496],[177.488,368.45],[96.992,448.946],[-96.992,448.946],[-177.488,368.45]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-177.198,80.399],[-96.798,0],[96.798,0],[177.198,80.399],[177.198,367.19],[96.798,447.589],[-96.798,447.589],[-177.198,367.19]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-176.945,80.315],[-96.63,0],[96.63,0],[176.945,80.315],[176.945,366.097],[96.63,446.412],[-96.63,446.412],[-176.945,366.097]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-176.729,80.243],[-96.486,0],[96.486,0],[176.729,80.243],[176.729,365.158],[96.486,445.4],[-96.486,445.4],[-176.729,365.158]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-176.545,80.182],[-96.363,0],[96.363,0],[176.545,80.182],[176.545,364.36],[96.363,444.542],[-96.363,444.542],[-176.545,364.36]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-176.391,80.13],[-96.261,0],[96.261,0],[176.391,80.13],[176.391,363.694],[96.261,443.825],[-96.261,443.825],[-176.391,363.694]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-176.266,80.089],[-96.177,0],[96.177,0],[176.266,80.089],[176.266,363.151],[96.177,443.239],[-96.177,443.239],[-176.266,363.151]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-176.166,80.055],[-96.111,0],[96.111,0],[176.166,80.055],[176.166,362.721],[96.111,442.776],[-96.111,442.776],[-176.166,362.721]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.092,80.031],[-96.061,0],[96.061,0],[176.092,80.031],[176.092,362.397],[96.061,442.427],[-96.061,442.427],[-176.092,362.397]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.01,80.003],[-96.007,0],[96.007,0],[176.01,80.003],[176.01,362.042],[96.007,442.046],[-96.007,442.046],[-176.01,362.042]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,362],[96,442],[-96,442],[-176,362]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,361.402],[95.852,441.356],[-95.852,441.356],[-175.806,361.402]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,359.379],[95.351,439.179],[-95.351,439.179],[-175.151,359.379]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,355.463],[94.381,434.965],[-94.381,434.965],[-173.883,355.463]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,348.92],[92.761,427.924],[-92.761,427.924],[-171.765,348.92]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,338.542],[90.191,416.754],[-90.191,416.754],[-168.404,338.542]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,322.292],[86.168,399.267],[-86.168,399.267],[-163.142,322.292]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,297.387],[80.001,372.464],[-80.001,372.464],[-155.078,297.387]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,264.543],[71.868,337.118],[-71.868,337.118],[-144.442,264.543]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,233.528],[64.188,303.739],[-64.188,303.739],[-134.399,233.528]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,210.354],[58.449,278.8],[-58.449,278.8],[-126.895,210.354]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,193.758],[54.34,260.939],[-54.34,260.939],[-121.522,193.758]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,181.674],[51.348,247.935],[-51.348,247.935],[-117.609,181.674]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,172.72],[49.131,238.299],[-49.131,238.299],[-114.709,172.72]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,166.034],[47.475,231.104],[-47.475,231.104],[-112.544,166.034]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,161.062],[46.244,225.752],[-46.244,225.752],[-110.934,161.062]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,157.429],[45.344,221.843],[-45.344,221.843],[-109.758,157.429]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.875],[44.712,219.094],[-44.712,219.094],[-108.931,154.875]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,153.209],[44.299,217.301],[-44.299,217.301],[-108.391,153.209]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.287],[44.071,216.309],[-44.071,216.309],[-108.093,152.287]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":198,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Pill to Arc | Elevation 1","parent":4,"tt":1,"tp":8,"sr":1,"ks":{"o":{"a":0,"k":15,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-338]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-338]},{"t":237.666015625,"s":[-185.6]}],"ix":3},"y":{"k":[{"s":[54],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[53.591],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[52.277],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[49.909],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[46.303],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[41.234],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[34.431],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[25.579],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.331],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.377],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-16.447],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.962],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.496],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-79.956],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-102.169],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-123.245],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-142.703],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-160.389],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-176.346],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-190.704],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.623],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.26],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-225.762],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-235.255],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-243.852],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-251.647],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-258.724],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-265.153],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.995],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-276.303],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.125],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.499],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.462],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.046],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.277],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.181],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.781],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.096],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.143],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.941],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.502],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.841],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.97],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.9],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.641],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.203],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.595],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.237],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":198,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"All Overview Scroll","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-640]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":244,"s":[-435.2]},{"t":329,"s":[-128]}],"ix":3},"y":{"a":0,"k":-400,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":3,"nm":"Initial Overview In","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[-326]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[209]},{"t":148,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":3,"nm":"Loop App to Center","parent":12,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-512,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":394.666,"s":[-38.4]},{"t":428,"s":[-96]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":2,"op":446,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":15,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-256,0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":446,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[-768]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[-984]},{"t":418,"s":[-1308]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":28,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":13,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[644]},{"t":418,"s":[1280]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[452]},{"t":418,"s":[800]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[-404,496],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-400.913,496],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-390.163,496],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-368.705,496],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-332.338,496],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-277.426,496],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-207.497,496],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-136.5,496],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-75.727,496],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-27.215,496],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[10.925,496],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[40.948,496],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[64.643,496],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[83.326,496],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[97.961,496],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[109.262,496],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[117.768,496],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[123.898,496],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[127.979,496],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.276,496],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[131,496],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.962,496],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.854,496],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.688,496],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.474,496],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.222,496],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.944,496],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.65,496],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.35,496],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.056,496],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.778,496],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.526,496],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.312,496],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.146,496],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.038,496],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128,496],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.392,496],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.572,496],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[131.559,496],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[134.392,496],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[138.126,496],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[142.834,496],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[148.609,496],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[155.569,496],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[163.865,496],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[173.691,496],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[185.306,496],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[199.058,496],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[215.441,496],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[235.191,496],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[259.487,496],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[290.461,496],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[332.8,496],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[379.683,496],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[416.51,496],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[444.279,496],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[465.71,496],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[482.832,496],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[496.935,496],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[508.837,496],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[519.075,496],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[528.016,496],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[535.922,496],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[542.983,496],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[549.341,496],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[555.107,496],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[560.368,496],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[565.192,496],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[569.635,496],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[573.743,496],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[577.554,496],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[581.1,496],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[584.409,496],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[587.503,496],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[590.403,496],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[593.127,496],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[595.688,496],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[598.101,496],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[600.377,496],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[602.527,496],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[604.56,496],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[606.484,496],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[608.307,496],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[610.036,496],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[611.676,496],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[613.234,496],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[614.714,496],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[616.12,496],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[617.458,496],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[618.731,496],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[619.943,496],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[621.096,496],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[622.194,496],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[623.24,496],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[624.236,496],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[625.185,496],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.088,496],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.949,496],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[627.769,496],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[628.549,496],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[629.293,496],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630,496],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630.673,496],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.313,496],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.922,496],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[632.5,496],"t":297,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[633.049,496],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[633.571,496],"t":299,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[634.065,496],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[634.533,496],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[634.977,496],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[635.396,496],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[635.792,496],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[636.166,496],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[636.518,496],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[636.85,496],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[637.453,496],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[637.98,496],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[638.437,496],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[638.999,496],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[639.538,496],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,495.519],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,494.021],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,491.313],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,487.024],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,480.422],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,469.753],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,450.003],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,434.966],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,426.942],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,421.806],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,418.126],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,415.314],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,413.073],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,411.237],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,409.703],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,408.402],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,407.285],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,406.319],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,405.478],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,404.741],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,404.094],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,403.523],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,403.02],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,402.575],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,402.183],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,401.836],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,401.531],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,401.263],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,401.029],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,400.65],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,400.266],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-114.749,-52.975],[-55.125,-112.598],[55.125,-112.598],[114.749,-52.975],[114.749,52.975],[55.125,112.598],[-55.125,112.598],[-114.749,52.975]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-130.044,-62.556],[-71.633,-120.968],[71.633,-120.968],[130.044,-62.556],[130.044,62.556],[71.633,120.968],[-71.633,120.968],[-130.044,62.556]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-159.544,-81.035],[-103.47,-137.109],[103.47,-137.109],[159.544,-81.035],[159.544,81.035],[103.47,137.109],[-103.47,137.109],[-159.544,81.035]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-212.299,-114.082],[-160.406,-165.975],[160.406,-165.975],[212.299,-114.082],[212.299,114.082],[160.406,165.975],[-160.406,165.975],[-212.299,114.082]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-322,-182.8],[-278.8,-226],[278.8,-226],[322,-182.8],[322,182.8],[278.8,226],[-278.8,226],[-322,182.8]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-446.921,-261.052],[-413.62,-294.353],[413.62,-294.353],[446.921,-261.052],[446.921,261.052],[413.62,294.353],[-413.62,294.353],[-446.921,261.052]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-501.914,-295.501],[-472.972,-324.444],[472.972,-324.444],[501.914,-295.501],[501.914,295.501],[472.972,324.444],[-472.972,324.444],[-501.914,295.501]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-533.79,-315.468],[-507.373,-341.885],[507.373,-341.885],[533.79,-315.468],[533.79,315.468],[507.373,341.885],[-507.373,341.885],[-533.79,315.468]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-555.448,-329.035],[-530.748,-353.736],[530.748,-353.736],[555.448,-329.035],[555.448,329.035],[530.748,353.736],[-530.748,353.736],[-555.448,329.035]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-571.413,-339.036],[-547.978,-362.471],[547.978,-362.471],[571.413,-339.036],[571.413,339.036],[547.978,362.471],[-547.978,362.471],[-571.413,339.036]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-583.761,-346.771],[-561.305,-369.228],[561.305,-369.228],[583.761,-346.771],[583.761,346.771],[561.305,369.228],[-561.305,369.228],[-583.761,346.771]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-593.612,-352.942],[-571.936,-374.618],[571.936,-374.618],[593.612,-352.942],[593.612,352.942],[571.936,374.618],[-571.936,374.618],[-593.612,352.942]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-601.64,-357.97],[-580.6,-379.01],[580.6,-379.01],[601.64,-357.97],[601.64,357.97],[580.6,379.01],[-580.6,379.01],[-601.64,357.97]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-608.278,-362.129],[-587.764,-382.643],[587.764,-382.643],[608.278,-362.129],[608.278,362.129],[587.764,382.643],[-587.764,382.643],[-608.278,362.129]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-613.825,-365.603],[-593.75,-385.678],[593.75,-385.678],[613.825,-365.603],[613.825,365.603],[593.75,385.678],[-593.75,385.678],[-613.825,365.603]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-618.492,-368.527],[-598.788,-388.232],[598.788,-388.232],[618.492,-368.527],[618.492,368.527],[598.788,388.232],[-598.788,388.232],[-618.492,368.527]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-622.438,-370.999],[-603.047,-390.391],[603.047,-390.391],[622.438,-370.999],[622.438,370.999],[603.047,390.391],[-603.047,390.391],[-622.438,370.999]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-625.781,-373.093],[-606.654,-392.22],[606.654,-392.22],[625.781,-373.093],[625.781,373.093],[606.654,392.22],[-606.654,392.22],[-625.781,373.093]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-628.613,-374.867],[-609.711,-393.769],[609.711,-393.769],[628.613,-374.867],[628.613,374.867],[609.711,393.769],[-609.711,393.769],[-628.613,374.867]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-631.008,-376.367],[-612.295,-395.08],[612.295,-395.08],[631.008,-376.367],[631.008,376.367],[612.295,395.08],[-612.295,395.08],[-631.008,376.367]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-633.024,-377.63],[-614.471,-396.183],[614.471,-396.183],[633.024,-377.63],[633.024,377.63],[614.471,396.183],[-614.471,396.183],[-633.024,377.63]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-634.71,-378.686],[-616.291,-397.106],[616.291,-397.106],[634.71,-378.686],[634.71,378.686],[616.291,397.106],[-616.291,397.106],[-634.71,378.686]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.104,0],[0,0],[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104],[0,0],[-10.104,0],[0,0]],"v":[[-636.106,-379.561],[-617.797,-397.869],[617.797,-397.869],[636.106,-379.561],[636.106,379.561],[617.797,397.869],[-617.797,397.869],[-636.106,379.561]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-637.245,-380.274],[-619.026,-398.492],[619.026,-398.492],[637.245,-380.274],[637.245,380.274],[619.026,398.492],[-619.026,398.492],[-637.245,380.274]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-638.154,-380.844],[-620.008,-398.99],[620.008,-398.99],[638.154,-380.844],[638.154,380.844],[620.008,398.99],[-620.008,398.99],[-638.154,380.844]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-638.859,-381.285],[-620.769,-399.376],[620.769,-399.376],[638.859,-381.285],[638.859,381.285],[620.769,399.376],[-620.769,399.376],[-638.859,381.285]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-639.379,-381.611],[-621.33,-399.66],[621.33,-399.66],[639.379,-381.611],[639.379,381.611],[621.33,399.66],[-621.33,399.66],[-639.379,381.611]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-639.733,-381.833],[-621.712,-399.854],[621.712,-399.854],[639.733,-381.833],[639.733,381.833],[621.712,399.854],[-621.712,399.854],[-639.733,381.833]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-639.935,-381.959],[-621.93,-399.965],[621.93,-399.965],[639.935,-381.959],[639.935,381.959],[621.93,399.965],[-621.93,399.965],[-639.935,381.959]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":53,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":245,"s":[100]},{"t":262,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.8,"y":0.15},"o":{"x":0.3,"y":0},"t":388,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":393,"s":[-44,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":418,"s":[274,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"rd","nm":"Round Corners 1","r":{"a":0,"k":57,"ix":1},"ix":2,"mn":"ADBE Vector Filter - RC","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":446,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,792,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.37,"y":0.37},"t":101,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.8,"y":0.15},"o":{"x":0.3,"y":0},"t":388,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":393,"s":[418,421,0],"to":[0,0,0],"ti":[0,0,0]},{"t":418,"s":[736,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[1282]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[382],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[382]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[640,755.589],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,754.267],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,751.886],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,748.26],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,743.161],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,736.32],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,727.415],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,716.105],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,702.071],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,685.151],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,665.524],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,643.868],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,621.28],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,598.94],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,577.747],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,558.183],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,540.395],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,524.343],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,509.904],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,496.913],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,485.207],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,474.647],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,465.101],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,456.453],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,448.613],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,441.496],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,435.03],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,429.155],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,423.816],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,418.969],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,414.57],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,410.583],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,406.979],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,403.731],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,400.809],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,398.194],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,395.866],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,393.807],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,392],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,390.43],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,389.083],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,387.948],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,387.012],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,386.266],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,385.7],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,385.306],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640.392,385],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[641.572,385],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[643.559,385],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[646.392,385],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[650.126,385],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[654.834,385],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[660.609,385],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[667.569,385],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[675.865,385],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[685.691,385],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[697.306,385],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[711.058,385],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[727.441,385],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[747.191,385],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[771.487,385],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[802.461,385],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[844.8,385],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[891.683,385],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[928.51,385],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[956.279,385],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[977.71,385],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[994.832,385],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1008.935,385],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1020.837,385],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1031.075,385],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1040.016,385],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1047.922,385],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1054.983,385],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1061.341,385],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1067.107,385],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1072.368,385],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1077.192,385],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1081.635,385],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1085.743,385],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1089.554,385],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1093.1,385],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1096.409,385],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1099.503,385],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1102.403,385],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1105.127,385],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1107.688,385],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1110.101,385],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1112.377,385],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1114.527,385],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1116.56,385],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1118.484,385],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1120.307,385],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1122.036,385],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1123.676,385],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1125.234,385],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1126.714,385],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1128.12,385],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1129.458,385],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1130.731,385],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1131.943,385],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1133.096,385],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1134.194,385],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1135.24,385],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1136.236,385],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1137.185,385],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1138.088,385],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1138.949,385],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1139.769,385],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1140.549,385],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1141.293,385],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1142,385],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1142.673,385],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1143.313,385],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1143.922,385],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1145.049,385],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1146.065,385],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1146.977,385],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1147.792,385],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1148.85,385],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1149.98,385],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1150.999,385],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1152,385],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1156.749,385],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1172.045,385],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1201.545,385],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1254.302,385],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1364,385],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1488.923,385],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1543.913,385],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1575.788,385],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1597.447,385],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1613.413,385],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1625.761,385],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1635.612,385],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1643.64,385],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1650.277,385],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1655.824,385],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1660.491,385],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1664.438,385],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1667.78,385],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1670.612,385],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1673.008,385],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1675.024,385],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1676.711,385],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1678.106,385],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1679.245,385],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1680.859,385],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-641,90],[-551,0],[551,0],[641,90],[641,492],[551,582],[-551,582],[-641,492]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-640.166,89.982],[-550.184,0],[550.184,0],[640.166,89.982],[640.166,491.659],[550.184,581.641],[-550.184,581.641],[-640.166,491.659]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-637.437,89.923],[-547.513,0],[547.513,0],[637.437,89.923],[637.437,490.544],[547.513,580.467],[-547.513,580.467],[-637.437,490.544]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-632.398,89.815],[-542.583,0],[542.583,0],[632.398,89.815],[632.398,488.485],[542.583,578.3],[-542.583,578.3],[-632.398,488.485]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-624.515,89.645],[-534.87,0],[534.87,0],[624.515,89.645],[624.515,485.264],[534.87,574.91],[-534.87,574.91],[-624.515,485.264]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-613.109,89.4],[-523.709,0],[523.709,0],[613.109,89.4],[613.109,480.604],[523.709,570.004],[-523.709,570.004],[-613.109,480.604]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-597.362,89.062],[-508.301,0],[508.301,0],[597.362,89.062],[597.362,474.17],[508.301,563.231],[-508.301,563.231],[-597.362,474.17]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-576.424,88.611],[-487.812,0],[487.813,0],[576.424,88.611],[576.424,465.614],[487.813,554.225],[-487.812,554.225],[-576.424,465.614]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-549.762,88.038],[-461.724,0],[461.724,0],[549.762,88.038],[549.762,454.72],[461.724,542.758],[-461.724,542.758],[-549.762,454.72]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-517.833,87.351],[-430.482,0],[430.482,0],[517.833,87.351],[517.833,441.674],[430.482,529.025],[-430.482,529.025],[-517.833,441.674]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-482.616,86.594],[-396.022,0],[396.022,0],[482.616,86.594],[482.616,427.284],[396.022,513.878],[-396.022,513.878],[-482.616,427.284]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-447.043,85.829],[-361.214,0],[361.214,0],[447.043,85.829],[447.043,412.749],[361.214,498.578],[-361.214,498.578],[-447.043,412.749]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-413.564,85.109],[-328.455,0],[328.456,0],[413.564,85.109],[413.564,399.069],[328.456,484.178],[-328.455,484.178],[-413.564,399.069]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-383.396,84.46],[-298.936,0],[298.936,0],[383.396,84.46],[383.396,386.742],[298.936,471.203],[-298.936,471.203],[-383.396,386.742]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-356.773,83.888],[-272.885,0],[272.885,0],[356.773,83.888],[356.773,375.864],[272.885,459.752],[-272.885,459.752],[-356.773,375.864]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-333.455,83.386],[-250.069,0],[250.069,0],[333.455,83.386],[333.455,366.336],[250.069,449.723],[-250.069,449.723],[-333.455,366.336]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-313.049,82.947],[-230.102,0],[230.102,0],[313.049,82.947],[313.049,357.999],[230.102,440.946],[-230.102,440.946],[-313.049,357.999]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-295.158,82.563],[-212.595,0],[212.595,0],[295.158,82.563],[295.158,350.688],[212.595,433.251],[-212.595,433.251],[-295.158,350.688]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-279.427,82.224],[-197.203,0],[197.203,0],[279.427,82.224],[279.427,344.26],[197.203,426.485],[-197.203,426.485],[-279.427,344.26]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-265.557,81.926],[-183.631,0],[183.631,0],[265.557,81.926],[265.557,338.593],[183.631,420.519],[-183.631,420.519],[-265.557,338.593]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-253.299,81.662],[-171.637,0],[171.637,0],[253.299,81.662],[253.299,333.585],[171.637,415.247],[-171.637,415.247],[-253.299,333.585]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-242.449,81.429],[-161.02,0],[161.02,0],[242.449,81.429],[242.449,329.151],[161.02,410.58],[-161.02,410.58],[-242.449,329.151]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-232.835,81.222],[-151.613,0],[151.613,0],[232.835,81.222],[232.835,325.223],[151.613,406.445],[-151.613,406.445],[-232.835,325.223]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-224.316,81.039],[-143.277,0],[143.277,0],[224.316,81.039],[224.316,321.742],[143.277,402.781],[-143.277,402.781],[-224.316,321.742]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-216.774,80.877],[-135.897,0],[135.897,0],[216.774,80.877],[216.774,318.66],[135.897,399.537],[-135.897,399.537],[-216.774,318.66]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-210.107,80.733],[-129.374,0],[129.374,0],[210.107,80.733],[210.107,315.936],[129.374,396.67],[-129.374,396.67],[-210.107,315.936]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-204.23,80.607],[-123.623,0],[123.623,0],[204.23,80.607],[204.23,313.535],[123.623,394.142],[-123.623,394.142],[-204.23,313.535]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-199.07,80.496],[-118.574,0],[118.574,0],[199.07,80.496],[199.07,311.426],[118.574,391.923],[-118.574,391.923],[-199.07,311.426]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-194.563,80.399],[-114.164,0],[114.164,0],[194.563,80.399],[194.563,309.585],[114.164,389.984],[-114.164,389.984],[-194.563,309.585]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-190.654,80.315],[-110.338,0],[110.338,0],[190.654,80.315],[190.654,307.987],[110.338,388.303],[-110.338,388.303],[-190.654,307.987]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-187.294,80.243],[-107.051,0],[107.051,0],[187.294,80.243],[187.294,306.615],[107.051,386.858],[-107.051,386.858],[-187.294,306.615]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-184.442,80.182],[-104.261,0],[104.261,0],[184.442,80.182],[184.442,305.45],[104.261,385.631],[-104.261,385.631],[-184.442,305.45]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-182.061,80.13],[-101.93,0],[101.93,0],[182.061,80.13],[182.061,304.476],[101.93,384.607],[-101.93,384.607],[-182.061,304.476]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-180.115,80.089],[-100.027,0],[100.027,0],[180.115,80.089],[180.115,303.682],[100.027,383.77],[-100.027,383.77],[-180.115,303.682]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-178.577,80.055],[-98.522,0],[98.522,0],[178.577,80.055],[178.577,303.053],[98.522,383.108],[-98.522,383.108],[-178.577,303.053]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-177.419,80.031],[-97.389,0],[97.389,0],[177.419,80.031],[177.419,302.58],[97.389,382.611],[-97.389,382.611],[-177.419,302.58]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.618,80.013],[-96.605,0],[96.605,0],[176.618,80.013],[176.618,302.253],[96.605,382.266],[-96.605,382.266],[-176.618,302.253]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.151,80.003],[-96.148,0],[96.148,0],[176.151,80.003],[176.151,302.062],[96.148,382.065],[-96.148,382.065],[-176.151,302.062]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,302],[96,382],[-96,382],[-176,302]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,302],[96,382],[-96,382],[-176,302]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,301.573],[95.852,381.527],[-95.852,381.527],[-175.806,301.573]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,300.128],[95.351,379.928],[-95.351,379.928],[-175.151,300.128]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,297.331],[94.381,376.832],[-94.381,376.832],[-173.883,297.331]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,292.657],[92.761,371.661],[-92.761,371.661],[-171.765,292.657]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,285.244],[90.191,363.457],[-90.191,363.457],[-168.404,285.244]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,273.637],[86.168,350.612],[-86.168,350.612],[-163.142,273.637]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,255.848],[80.001,330.925],[-80.001,330.925],[-155.078,255.848]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,232.388],[71.868,304.963],[-71.868,304.963],[-144.442,232.388]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,210.234],[64.188,280.446],[-64.188,280.446],[-134.399,210.234]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,193.681],[58.449,262.127],[-58.449,262.127],[-126.895,193.681]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,181.827],[54.34,249.008],[-54.34,249.008],[-121.522,181.827]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,173.196],[51.348,239.457],[-51.348,239.457],[-117.609,173.196]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,166.8],[49.131,232.379],[-49.131,232.379],[-114.709,166.8]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,162.024],[47.475,227.094],[-47.475,227.094],[-112.544,162.024]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,158.473],[46.244,223.163],[-46.244,223.163],[-110.934,158.473]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.878],[45.344,220.292],[-45.344,220.292],[-109.758,155.878]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.054],[44.712,218.273],[-44.712,218.273],[-108.931,154.054]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.863],[44.299,216.955],[-44.299,216.955],[-108.391,152.863]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.205],[44.071,216.227],[-44.071,216.227],[-108.093,152.205]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.494,0.267,0.678,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.494,0.267,0.678,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":446,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[1280,800],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.875,0.953,0.686,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.875,0.953,0.686,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":446,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Part01_Thumb_Tablet_Overview_V03","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[640,400,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1280,"h":800,"ip":0,"op":455,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Part02_Charade_Tablet_Overview_V02","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[640,400,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1280,"h":800,"ip":455,"op":921,"st":455,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Part03_Demonstration_Tablet_Overview_V02","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[640,400,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1280,"h":800,"ip":921,"op":1367,"st":921,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.12.0","fr":60,"ip":0,"op":1367,"w":1280,"h":800,"nm":"SUW_Tablet_Overview_Preview V02","ddd":0,"assets":[{"id":"comp_0","nm":"Part01_Thumb_Tablet_Overview_V03","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Tablet_PointerFinger_UpdatedDesign","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[640,400,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"w":1280,"h":800,"ip":290,"op":456,"st":290,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"HAND REPO","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[950,344,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Size","np":3,"mn":"ADBE Point Control","ix":1,"en":1,"ef":[{"ty":3,"nm":"Point","mn":"ADBE Point Control-0001","ix":1,"v":{"a":0,"k":[100,100],"ix":1}}]}],"ip":0,"op":456,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"OVERSHOOT THUMB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[83]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":263,"s":[163]},{"t":348,"s":[283]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":246,"s":[322]},{"t":295,"s":[386]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":3,"nm":"HAND NULL","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.39],"y":[1]},"o":{"x":[0.59],"y":[0]},"t":3,"s":[10]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.15],"y":[0]},"t":59,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.6],"y":[0]},"t":95,"s":[-3]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[-4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.166],"y":[0]},"t":170,"s":[15]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[15]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":231,"s":[12]},{"i":{"x":[0.22],"y":[0.993]},"o":{"x":[0.41],"y":[0]},"t":246,"s":[15.59]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[40]},{"t":321,"s":[40]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.06],"y":[0.36]},"t":0,"s":[260]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[123]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":201,"s":[123]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":231,"s":[70]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[70]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":264.166,"s":[154.8]},{"t":355,"s":[282]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.194],"y":[0]},"t":0,"s":[273.366]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":63,"s":[162]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":122,"s":[162]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":170,"s":[0]},{"i":{"x":[0.82],"y":[-0.109]},"o":{"x":[0.78],"y":[0]},"t":246,"s":[40]},{"t":317,"s":[13]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Thumb - KO","parent":6,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"k":[{"s":[17.7],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[17.084],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.752],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.548],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.405],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.298],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.213],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.144],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.086],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[16.037],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.995],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.958],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.926],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.898],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.874],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.852],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.832],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.815],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.8],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.786],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.773],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.763],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.753],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.744],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.73],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[15.715],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"p":{"k":[{"s":[0,0,0],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.015,0,0],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.077,0,0],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.192,0,0],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.364,0,0],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.598,0,0],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.902,0,0],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.285,0,0],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.76,0,0],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.347,0,0],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.074,0,0],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.968,0,0],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.068,0,0],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-6.423,0,0],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-8.089,0,0],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.109,0,0],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-12.416,0,0],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.732,0,0],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-16.688,0,0],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.11,0,0],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.047,0,0],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.624,0,0],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.922,0,0],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-20,0,0],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-19.792,0,0],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-18.993,0,0],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-17.321,0,0],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-14.437,0,0],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-10.855,0,0],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-7.728,0,0],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-5.403,0,0],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-3.711,0,0],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-2.481,0,0],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1.587,0,0],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.945,0,0],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.494,0,0],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.2,0,0],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-0.041,0,0],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.095,4.103],[20.866,-4.391],[30.055,14.909],[-19.458,9.569],[-43.79,10.76],[-18.62,4.309],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.284,-4.689],[-20.866,4.391],[-30.056,-14.63],[31.09,-15.283],[13.475,-3.311],[35.363,-7.848],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.667,116.665],[-117.97,119.232],[-229.615,116.95],[-229.867,50.888],[-139.016,15.389],[-88.152,4.787],[-12.612,-36.255]],"c":true}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.127],[20.863,-4.414],[30.005,14.508],[-19.477,9.414],[-43.782,10.829],[-18.619,4.316],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.287,-4.716],[-20.863,4.414],[-30.007,-14.235],[31.121,-15.037],[13.472,-3.332],[35.361,-7.859],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.82,116.749],[-117.884,119.917],[-226.898,115.937],[-226.972,51.297],[-139.102,14.702],[-86.526,4.409],[-12.612,-36.255]],"c":true}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.142],[20.861,-4.429],[29.974,14.261],[-19.489,9.319],[-43.776,10.871],[-18.619,4.32],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.733],[-20.861,4.429],[-29.977,-13.992],[31.139,-14.886],[13.471,-3.345],[35.36,-7.866],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.3,116.8],[-117.832,120.338],[-225.228,115.315],[-225.194,51.548],[-139.154,14.28],[-85.528,4.177],[-12.612,-36.255]],"c":true}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.101,4.152],[20.86,-4.438],[29.953,14.089],[-19.498,9.253],[-43.773,10.9],[-18.618,4.323],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.291,-4.744],[-20.86,4.438],[-29.956,-13.823],[31.153,-14.781],[13.469,-3.354],[35.36,-7.871],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.936,116.835],[-117.796,120.632],[-224.061,114.88],[-223.952,51.724],[-139.191,13.985],[-84.829,4.015],[-12.612,-36.255]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.937,13.959],[-19.504,9.203],[-43.77,10.923],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.753],[-20.859,4.446],[-29.94,-13.695],[31.162,-14.701],[13.469,-3.361],[35.359,-7.874],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.662,116.862],[-117.768,120.854],[-223.181,114.552],[-223.014,51.856],[-139.219,13.762],[-84.303,3.893],[-12.612,-36.255]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.166],[20.858,-4.452],[29.924,13.857],[-19.509,9.163],[-43.768,10.94],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.76],[-20.858,4.452],[-29.927,-13.594],[31.17,-14.638],[13.468,-3.366],[35.359,-7.877],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.446,116.884],[-117.746,121.029],[-222.486,114.293],[-222.274,51.961],[-139.241,13.586],[-83.887,3.796],[-12.612,-36.255]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.457],[29.914,13.773],[-19.513,9.131],[-43.766,10.954],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.766],[-20.858,4.457],[-29.917,-13.511],[31.177,-14.587],[13.467,-3.371],[35.359,-7.88],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.269,116.901],[-117.728,121.172],[-221.919,114.082],[-221.67,52.046],[-139.258,13.443],[-83.548,3.717],[-12.612,-36.255]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.175],[20.857,-4.461],[29.905,13.703],[-19.516,9.104],[-43.764,10.966],[-18.617,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.294,-4.771],[-20.857,4.461],[-29.908,-13.443],[31.182,-14.544],[13.467,-3.375],[35.358,-7.882],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.121,116.915],[-117.714,121.291],[-221.446,113.906],[-221.166,52.118],[-139.273,13.323],[-83.265,3.652],[-12.612,-36.255]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.997,116.928],[-117.701,121.392],[-221.044,113.756],[-220.739,52.178],[-139.286,13.222],[-83.025,3.596],[-12.612,-36.255]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.182],[20.856,-4.467],[29.891,13.593],[-19.522,9.062],[-43.762,10.985],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.778],[-20.856,4.467],[-29.895,-13.334],[31.19,-14.477],[13.466,-3.38],[35.358,-7.885],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.889,116.938],[-117.69,121.479],[-220.7,113.628],[-220.372,52.23],[-139.297,13.135],[-82.819,3.548],[-12.612,-36.255]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[20.856,-4.47],[29.886,13.549],[-19.524,9.045],[-43.761,10.993],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.781],[-20.856,4.47],[-29.89,-13.291],[31.194,-14.45],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.796,116.947],[-117.681,121.554],[-220.401,113.516],[-220.054,52.275],[-139.306,13.059],[-82.64,3.507],[-12.612,-36.255]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.187],[20.856,-4.472],[29.881,13.51],[-19.526,9.03],[-43.76,10.999],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.784],[-20.856,4.472],[-29.885,-13.253],[31.197,-14.426],[13.466,-3.385],[35.358,-7.887],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.715,116.955],[-117.673,121.62],[-220.14,113.419],[-219.776,52.314],[-139.314,12.993],[-82.484,3.47],[-12.612,-36.255]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.189],[20.856,-4.474],[29.877,13.477],[-19.527,9.017],[-43.76,11.005],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.786],[-20.856,4.474],[-29.881,-13.219],[31.199,-14.406],[13.465,-3.386],[35.357,-7.888],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.643,116.962],[-117.665,121.678],[-219.911,113.334],[-219.531,52.349],[-139.322,12.935],[-82.347,3.438],[-12.612,-36.255]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.191],[20.855,-4.476],[29.873,13.447],[-19.529,9.005],[-43.759,11.01],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.476],[-29.877,-13.19],[31.201,-14.387],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.58,116.969],[-117.659,121.729],[-219.708,113.258],[-219.316,52.379],[-139.328,12.884],[-82.226,3.41],[-12.612,-36.255]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.192],[20.855,-4.477],[29.87,13.42],[-19.53,8.995],[-43.758,11.015],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.79],[-20.855,4.477],[-29.874,-13.164],[31.203,-14.371],[13.465,-3.389],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.524,116.974],[-117.654,121.774],[-219.529,113.191],[-219.124,52.406],[-139.334,12.839],[-82.118,3.385],[-12.612,-36.255]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.478],[29.867,13.397],[-19.531,8.986],[-43.758,11.019],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.791],[-20.855,4.478],[-29.871,-13.141],[31.205,-14.357],[13.465,-3.391],[35.357,-7.89],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.475,116.979],[-117.649,121.815],[-219.369,113.132],[-218.955,52.43],[-139.339,12.798],[-82.023,3.363],[-12.612,-36.255]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.376],[-19.532,8.978],[-43.757,11.022],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.12],[31.207,-14.344],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.43,116.983],[-117.644,121.85],[-219.227,113.079],[-218.803,52.451],[-139.343,12.762],[-81.938,3.343],[-12.612,-36.255]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[20.855,-4.481],[29.862,13.357],[-19.533,8.971],[-43.757,11.026],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-20.855,4.481],[-29.866,-13.102],[31.208,-14.332],[13.465,-3.393],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.391,116.987],[-117.64,121.882],[-219.101,113.032],[-218.669,52.47],[-139.347,12.73],[-81.862,3.326],[-12.612,-36.255]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.855,-4.482],[29.86,13.34],[-19.534,8.965],[-43.757,11.028],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.795],[-20.855,4.482],[-29.864,-13.085],[31.21,-14.322],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.356,116.991],[-117.637,121.911],[-218.988,112.99],[-218.549,52.487],[-139.351,12.702],[-81.795,3.31],[-12.612,-36.255]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.198],[20.854,-4.483],[29.858,13.326],[-19.535,8.959],[-43.756,11.031],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.854,4.483],[-29.862,-13.071],[31.211,-14.313],[13.464,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.324,116.994],[-117.633,121.936],[-218.888,112.952],[-218.441,52.503],[-139.354,12.676],[-81.735,3.296],[-12.612,-36.255]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.199],[20.854,-4.483],[29.856,13.312],[-19.535,8.954],[-43.756,11.033],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.797],[-20.854,4.483],[-29.861,-13.058],[31.212,-14.305],[13.464,-3.395],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.297,116.997],[-117.631,121.959],[-218.798,112.919],[-218.346,52.516],[-139.357,12.654],[-81.681,3.284],[-12.612,-36.255]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.199],[20.854,-4.484],[29.855,13.301],[-19.536,8.949],[-43.756,11.035],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.046],[31.213,-14.298],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.272,116.999],[-117.628,121.979],[-218.719,112.889],[-218.261,52.528],[-139.359,12.634],[-81.633,3.273],[-12.612,-36.255]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.485],[29.854,13.29],[-19.537,8.945],[-43.756,11.037],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.858,-13.036],[31.213,-14.291],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.25,117.001],[-117.626,121.996],[-218.648,112.863],[-218.186,52.539],[-139.361,12.616],[-81.591,3.263],[-12.612,-36.255]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.485],[29.852,13.281],[-19.537,8.942],[-43.755,11.039],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.799],[-20.854,4.485],[-29.857,-13.027],[31.214,-14.286],[13.464,-3.397],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.23,117.003],[-117.624,122.012],[-218.586,112.84],[-218.12,52.548],[-139.363,12.6],[-81.554,3.254],[-12.612,-36.255]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.273],[-19.537,8.939],[-43.755,11.04],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.856,-13.019],[31.215,-14.281],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.213,117.005],[-117.622,122.026],[-218.531,112.819],[-218.062,52.556],[-139.365,12.586],[-81.521,3.247],[-12.612,-36.255]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.85,13.266],[-19.538,8.936],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.012],[31.215,-14.277],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.199,117.006],[-117.621,122.038],[-218.483,112.801],[-218.011,52.563],[-139.366,12.574],[-81.493,3.24],[-12.612,-36.255]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.486],[29.85,13.26],[-19.538,8.933],[-43.755,11.042],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.486],[-29.854,-13.006],[31.216,-14.273],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.186,117.007],[-117.619,122.048],[-218.442,112.786],[-217.967,52.57],[-139.368,12.564],[-81.468,3.234],[-12.612,-36.255]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.255],[-19.538,8.931],[-43.755,11.043],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-13.001],[31.216,-14.27],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.174,117.009],[-117.618,122.057],[-218.406,112.773],[-217.929,52.575],[-139.369,12.555],[-81.446,3.229],[-12.612,-36.255]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.996],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.165,117.009],[-117.617,122.065],[-218.376,112.761],[-217.896,52.58],[-139.37,12.547],[-81.428,3.225],[-12.612,-36.255]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.246],[-19.539,8.928],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.992],[31.217,-14.265],[13.464,-3.399],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.157,117.01],[-117.617,122.071],[-218.35,112.752],[-217.869,52.583],[-139.371,12.541],[-81.413,3.221],[-12.612,-36.255]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.848,13.243],[-19.539,8.927],[-43.755,11.045],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.99],[31.217,-14.263],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.151,117.011],[-117.616,122.077],[-218.33,112.744],[-217.847,52.586],[-139.371,12.535],[-81.401,3.219],[-12.612,-36.255]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.487],[29.847,13.241],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.987],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.146,117.011],[-117.615,122.081],[-218.313,112.738],[-217.83,52.589],[-139.372,12.531],[-81.391,3.216],[-12.612,-36.255]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.853,-4.49],[29.848,13.234],[-19.538,8.926],[-43.753,11.05],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.853,4.49],[-29.852,-12.98],[31.216,-14.262],[13.464,-3.4],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.609,122.089],[-218.282,112.739],[-217.802,52.604],[-139.378,12.528],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.852,-4.496],[29.852,13.224],[-19.535,8.933],[-43.749,11.064],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.852,4.496],[-29.856,-12.971],[31.211,-14.271],[13.462,-3.405],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.592,122.092],[-218.266,112.774],[-217.805,52.64],[-139.395,12.539],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.849,-4.509],[29.859,13.206],[-19.529,8.944],[-43.742,11.09],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.849,4.509],[-29.863,-12.952],[31.202,-14.29],[13.46,-3.413],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.558,122.098],[-218.236,112.841],[-217.812,52.707],[-139.427,12.561],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.843,-4.529],[29.871,13.176],[-19.52,8.963],[-43.729,11.133],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.843,4.529],[-29.875,-12.923],[31.187,-14.32],[13.456,-3.426],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.504,122.108],[-218.187,112.95],[-217.822,52.818],[-139.479,12.596],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.835,-4.56],[29.89,13.13],[-19.505,8.992],[-43.71,11.199],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.835,4.56],[-29.893,-12.877],[31.163,-14.367],[13.45,-3.446],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.42,122.123],[-218.112,113.119],[-217.838,52.99],[-139.56,12.65],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.823,-4.609],[29.918,13.059],[-19.483,9.037],[-43.681,11.3],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.823,4.609],[-29.921,-12.806],[31.128,-14.438],[13.441,-3.477],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.29,122.147],[-217.996,113.379],[-217.863,53.253],[-139.685,12.734],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.804,-4.686],[29.964,12.946],[-19.447,9.109],[-43.634,11.462],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.804,4.686],[-29.966,-12.693],[31.07,-14.553],[13.427,-3.527],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.083,122.185],[-217.811,113.794],[-217.902,53.674],[-139.884,12.867],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.77,-4.822],[30.044,12.747],[-19.384,9.235],[-43.551,11.747],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.77,4.822],[-30.044,-12.494],[30.969,-14.755],[13.401,-3.615],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.718,122.253],[-217.485,114.525],[-217.971,54.416],[-140.234,13.103],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.705,-5.078],[30.195,12.372],[-19.265,9.473],[-43.396,12.284],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.705,5.078],[-30.192,-12.118],[30.779,-15.136],[13.353,-3.78],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.032,122.379],[-216.87,115.902],[-218.102,55.813],[-140.895,13.546],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.64,-5.337],[30.347,11.993],[-19.145,9.713],[-43.239,12.825],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.64,5.337],[-30.341,-11.74],[30.588,-15.519],[13.305,-3.947],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.339,122.506],[-216.251,117.29],[-218.233,57.222],[-141.561,13.993],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.601,-5.492],[30.439,11.766],[-19.073,9.857],[-43.144,13.15],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.601,5.492],[-30.431,-11.513],[30.473,-15.749],[13.276,-4.047],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.924,122.583],[-215.879,118.123],[-218.312,58.067],[-141.96,14.261],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.575,-5.593],[30.498,11.617],[-19.026,9.952],[-43.083,13.363],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.575,5.593],[-30.489,-11.364],[30.397,-15.9],[13.257,-4.112],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.651,122.633],[-215.635,118.67],[-218.364,58.621],[-142.223,14.437],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.557,-5.667],[30.542,11.51],[-18.992,10.02],[-43.038,13.517],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.557,5.667],[-30.532,-11.257],[30.343,-16.009],[13.243,-4.159],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.455,122.669],[-215.459,119.064],[-218.401,59.021],[-142.412,14.564],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.543,-5.723],[30.575,11.428],[-18.966,10.072],[-43.004,13.634],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.543,5.723],[-30.564,-11.175],[30.301,-16.092],[13.233,-4.195],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.305,122.697],[-215.325,119.365],[-218.43,59.326],[-142.556,14.661],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.531,-5.767],[30.601,11.363],[-18.945,10.113],[-42.977,13.727],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.531,5.767],[-30.589,-11.11],[30.269,-16.158],[13.225,-4.224],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.186,122.719],[-215.219,119.602],[-218.452,59.567],[-142.67,14.737],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.523,-5.802],[30.622,11.312],[-18.929,10.146],[-42.956,13.801],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.523,5.802],[-30.61,-11.058],[30.242,-16.21],[13.218,-4.247],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.092,122.736],[-215.134,119.792],[-218.47,59.76],[-142.761,14.798],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.515,-5.831],[30.638,11.269],[-18.916,10.173],[-42.938,13.861],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.515,5.831],[-30.626,-11.016],[30.221,-16.253],[13.213,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.014,122.75],[-215.066,119.947],[-218.485,59.916],[-142.835,14.848],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.855],[30.652,11.235],[-18.905,10.194],[-42.924,13.91],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.855],[-30.64,-10.982],[30.204,-16.288],[13.208,-4.28],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.952,122.762],[-215.009,120.073],[-218.497,60.044],[-142.896,14.888],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.505,-5.874],[30.664,11.207],[-18.896,10.212],[-42.912,13.951],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.505,5.874],[-30.651,-10.954],[30.19,-16.316],[13.205,-4.293],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.9,122.771],[-214.963,120.176],[-218.507,60.149],[-142.945,14.922],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.501,-5.889],[30.673,11.184],[-18.889,10.227],[-42.903,13.983],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.501,5.889],[-30.66,-10.931],[30.178,-16.339],[13.202,-4.303],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.858,122.779],[-214.926,120.259],[-218.514,60.234],[-142.985,14.948],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.497,-5.902],[30.68,11.166],[-18.883,10.238],[-42.895,14.009],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.497,5.902],[-30.667,-10.913],[30.169,-16.358],[13.2,-4.311],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.825,122.785],[-214.896,120.327],[-218.521,60.302],[-143.017,14.97],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.495,-5.912],[30.686,11.151],[-18.878,10.248],[-42.889,14.03],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.495,5.912],[-30.673,-10.898],[30.161,-16.372],[13.198,-4.317],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.799,122.79],[-214.872,120.38],[-218.526,60.356],[-143.043,14.987],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.493,-5.919],[30.69,11.14],[-18.875,10.255],[-42.885,14.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.493,5.919],[-30.677,-10.887],[30.156,-16.384],[13.196,-4.322],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.778,122.794],[-214.854,120.42],[-218.53,60.397],[-143.062,15],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.492,-5.925],[30.694,11.132],[-18.872,10.26],[-42.881,14.058],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.492,5.925],[-30.68,-10.879],[30.152,-16.392],[13.195,-4.326],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.763,122.797],[-214.841,120.45],[-218.533,60.427],[-143.077,15.01],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.929],[30.696,11.127],[-18.87,10.263],[-42.879,14.065],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.929],[-30.683,-10.873],[30.149,-16.397],[13.195,-4.328],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.753,122.798],[-214.832,120.47],[-218.534,60.448],[-143.086,15.016],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.491,-5.926],[30.694,11.13],[-18.871,10.261],[-42.88,14.06],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.491,5.926],[-30.681,-10.877],[30.15,-16.393],[13.195,-4.327],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.76,122.801],[-214.837,120.461],[-218.532,60.439],[-143.08,15.017],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.494,-5.909],[30.683,11.154],[-18.878,10.245],[-42.888,14.024],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.494,5.909],[-30.67,-10.901],[30.161,-16.368],[13.197,-4.315],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.807,122.805],[-214.874,120.382],[-218.52,60.362],[-143.036,15.005],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.5,-5.878],[30.662,11.198],[-18.891,10.215],[-42.903,13.959],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.5,5.878],[-30.649,-10.945],[30.181,-16.321],[13.202,-4.295],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.891,122.811],[-214.94,120.24],[-218.497,60.223],[-142.957,14.984],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.509,-5.831],[30.631,11.264],[-18.91,10.171],[-42.926,13.86],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.509,5.831],[-30.619,-11.011],[30.212,-16.25],[13.209,-4.265],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.018,122.822],[-215.041,120.025],[-218.463,60.011],[-142.837,14.951],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.522,-5.764],[30.587,11.358],[-18.937,10.109],[-42.957,13.721],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.522,5.764],[-30.575,-11.105],[30.255,-16.15],[13.219,-4.222],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.198,122.836],[-215.184,119.721],[-218.416,59.713],[-142.668,14.904],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.539,-5.674],[30.527,11.485],[-18.973,10.024],[-43.001,13.532],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.539,5.674],[-30.517,-11.232],[30.313,-16.015],[13.232,-4.164],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.441,122.855],[-215.377,119.309],[-218.351,59.31],[-142.439,14.841],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.562,-5.555],[30.448,11.653],[-19.021,9.911],[-43.058,13.281],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.562,5.555],[-30.439,-11.4],[30.39,-15.835],[13.249,-4.087],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-114.764,122.881],[-215.634,118.763],[-218.265,58.774],[-142.135,14.757],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.592,-5.398],[30.343,11.875],[-19.085,9.763],[-43.133,12.95],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.592,5.398],[-30.336,-11.622],[30.492,-15.598],[13.273,-3.985],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.19,122.915],[-215.972,118.042],[-218.152,58.067],[-141.734,14.646],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.632,-5.189],[30.204,12.169],[-19.169,9.566],[-43.233,12.512],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.632,5.189],[-30.2,-11.916],[30.627,-15.284],[13.303,-3.85],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-115.755,122.96],[-216.421,117.086],[-218.001,57.13],[-141.203,14.5],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.686,-4.908],[30.018,12.566],[-19.283,9.302],[-43.368,11.922],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.686,4.908],[-30.017,-12.313],[30.808,-14.861],[13.345,-3.669],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-116.515,123.021],[-217.025,115.8],[-217.799,55.869],[-140.488,14.302],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.76,-4.519],[29.759,13.113],[-19.44,8.935],[-43.554,11.106],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.76,4.519],[-29.763,-12.861],[31.059,-14.276],[13.402,-3.417],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.567,123.104],[-217.86,114.021],[-217.519,54.124],[-139.498,14.029],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.865,-3.972],[29.396,13.885],[-19.662,8.42],[-43.816,9.956],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.865,3.972],[-29.406,-13.633],[31.413,-13.452],[13.483,-3.064],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-119.049,123.222],[-219.037,111.514],[-217.125,51.666],[-138.104,13.644],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.997,-3.279],[28.935,14.862],[-19.942,7.767],[-44.148,8.501],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.997,3.279],[-28.954,-14.61],[31.861,-12.409],[13.585,-2.616],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-120.924,123.372],[-220.526,108.342],[-216.626,48.556],[-136.34,13.158],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.11,-2.69],[28.544,15.692],[-20.18,7.212],[-44.431,7.265],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.11,2.69],[-28.57,-15.44],[32.241,-11.522],[13.672,-2.235],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-122.517,123.499],[-221.791,105.647],[-216.202,45.913],[-134.841,12.744],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.177,-2.342],[28.313,16.183],[-20.321,6.884],[-44.597,6.533],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.177,2.342],[-28.343,-15.931],[32.466,-10.998],[13.723,-2.01],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.459,123.574],[-222.539,104.053],[-215.952,44.35],[-133.955,12.499],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.212,-2.159],[28.191,16.441],[-20.395,6.711],[-44.685,6.149],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.212,2.159],[-28.224,-16.189],[32.585,-10.723],[13.75,-1.892],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-123.954,123.613],[-222.933,103.215],[-215.82,43.528],[-133.488,12.371],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.228,-2.074],[28.135,16.561],[-20.429,6.631],[-44.726,5.97],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.228,2.074],[-28.168,-16.31],[32.64,-10.595],[13.763,-1.837],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.185,123.632],[-223.116,102.825],[-215.759,43.146],[-133.272,12.311],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[21.229,-2.075],[28.141,16.584],[-20.428,6.644],[-44.727,5.971],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-21.229,2.075],[-28.174,-16.332],[32.638,-10.615],[13.763,-1.837],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.191,117.007],[-124.183,123.577],[-223.288,102.889],[-215.949,43.116],[-133.272,12.341],[-81.479,3.237],[-12.612,-36.255]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.196],[21.214,-2.165],[28.22,16.547],[-20.388,6.771],[-44.691,6.156],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.794],[-21.214,2.165],[-28.252,-16.294],[32.574,-10.818],[13.752,-1.894],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.392,116.987],[-123.942,123.353],[-223.74,103.522],[-216.715,43.395],[-133.494,12.513],[-81.864,3.326],[-12.612,-36.255]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.184],[21.184,-2.358],[28.391,16.468],[-20.303,7.044],[-44.612,6.552],[-18.617,4.331],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.78],[-21.184,2.358],[-28.42,-16.211],[32.438,-11.253],[13.728,-2.016],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.82,116.945],[-123.428,122.877],[-224.705,104.876],[-218.353,43.99],[-133.968,12.88],[-82.687,3.517],[-12.612,-36.255]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.163],[21.132,-2.689],[28.683,16.333],[-20.156,7.512],[-44.478,7.231],[-18.618,4.326],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.757],[-21.132,2.689],[-28.707,-16.07],[32.204,-11.999],[13.687,-2.225],[35.359,-7.876],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.555,116.873],[-122.546,122.059],[-226.362,107.198],[-221.163,45.012],[-134.782,13.509],[-84.098,3.845],[-12.612,-36.255]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.099,4.137],[21.067,-3.101],[29.047,16.164],[-19.974,8.094],[-44.311,8.076],[-18.619,4.319],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.289,-4.727],[-21.067,3.101],[-29.065,-15.895],[31.913,-12.928],[13.635,-2.485],[35.361,-7.864],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.47,116.783],[-121.45,121.041],[-228.421,110.085],[-224.657,46.282],[-135.794,14.292],[-85.853,4.253],[-12.612,-36.255]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.114],[21.011,-3.46],[29.364,16.017],[-19.815,8.601],[-44.166,8.812],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.286,-4.701],[-21.011,3.46],[-29.377,-15.742],[31.66,-13.737],[13.59,-2.712],[35.362,-7.853],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.267,116.705],[-120.493,120.154],[-230.218,112.604],[-227.705,47.39],[-136.676,14.976],[-87.385,4.609],[-12.612,-36.255]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.094,4.097],[20.969,-3.728],[29.6,15.907],[-19.696,8.979],[-44.057,9.361],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.283,-4.682],[-20.969,3.728],[-29.609,-15.628],[31.471,-14.34],[13.557,-2.88],[35.363,-7.845],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.861,116.646],[-119.78,119.493],[-231.555,114.479],[-229.974,48.215],[-137.333,15.484],[-88.524,4.873],[-12.612,-36.255]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.092,4.085],[20.938,-3.922],[29.771,15.828],[-19.611,9.253],[-43.979,9.759],[-18.62,4.305],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.281,-4.668],[-20.938,3.922],[-29.777,-15.545],[31.334,-14.777],[13.533,-3.003],[35.364,-7.839],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.291,116.604],[-119.263,119.014],[-232.526,115.84],[-231.62,48.814],[-137.81,15.853],[-89.352,5.066],[-12.612,-36.255]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.076],[20.916,-4.063],[29.896,15.77],[-19.548,9.453],[-43.921,10.049],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.658],[-20.916,4.063],[-29.9,-15.485],[31.235,-15.096],[13.515,-3.092],[35.364,-7.835],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.605,116.573],[-118.887,118.664],[-233.233,116.832],[-232.82,49.25],[-138.158,16.122],[-89.954,5.206],[-12.612,-36.255]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.07],[20.9,-4.166],[29.987,15.728],[-19.502,9.599],[-43.88,10.26],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.651],[-20.9,4.166],[-29.989,-15.441],[31.162,-15.328],[13.502,-3.157],[35.364,-7.832],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.834,116.551],[-118.613,118.41],[-233.748,117.554],[-233.694,49.567],[-138.411,16.318],[-90.393,5.308],[-12.612,-36.255]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.065],[20.888,-4.24],[30.052,15.698],[-19.47,9.703],[-43.85,10.411],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.646],[-20.888,4.24],[-30.053,-15.41],[31.11,-15.495],[13.493,-3.204],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.998,116.534],[-118.416,118.227],[-234.118,118.072],[-234.321,49.796],[-138.592,16.459],[-90.708,5.381],[-12.612,-36.255]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.88,-4.291],[30.097,15.677],[-19.447,9.776],[-43.829,10.516],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.88,4.291],[-30.098,-15.388],[31.074,-15.61],[13.487,-3.236],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.112,116.523],[-118.279,118.101],[-234.374,118.431],[-234.756,49.954],[-138.718,16.556],[-90.927,5.432],[-12.612,-36.255]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.06],[20.875,-4.324],[30.126,15.663],[-19.432,9.822],[-43.815,10.584],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.64],[-20.875,4.324],[-30.127,-15.374],[31.05,-15.685],[13.483,-3.257],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.185,116.516],[-118.191,118.019],[-234.54,118.664],[-235.037,50.056],[-138.8,16.619],[-91.068,5.464],[-12.612,-36.255]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.872,-4.342],[30.142,15.656],[-19.424,9.848],[-43.808,10.621],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.872,4.343],[-30.142,-15.366],[31.037,-15.726],[13.48,-3.268],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.226,116.512],[-118.143,117.974],[-234.631,118.791],[-235.191,50.112],[-138.844,16.654],[-91.145,5.482],[-12.612,-36.255]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.059],[20.871,-4.349],[30.146,15.639],[-19.422,9.851],[-43.806,10.635],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.639],[-20.871,4.349],[-30.146,-15.35],[31.035,-15.73],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.209,116.514],[-118.125,117.984],[-234.564,118.795],[-235.138,50.143],[-138.861,16.64],[-91.113,5.475],[-12.612,-36.255]],"c":true}],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.062],[20.871,-4.352],[30.14,15.591],[-19.425,9.832],[-43.805,10.644],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.352],[-30.14,-15.302],[31.038,-15.7],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.106,116.524],[-118.114,118.067],[-234.235,118.672],[-234.787,50.193],[-138.871,16.557],[-90.916,5.429],[-12.612,-36.255]],"c":true}],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.09,4.068],[20.87,-4.357],[30.127,15.494],[-19.43,9.794],[-43.802,10.66],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.279,-4.649],[-20.87,4.357],[-30.128,-15.206],[31.046,-15.641],[13.479,-3.28],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.901,116.544],[-118.094,118.233],[-233.578,118.427],[-234.088,50.292],[-138.892,16.391],[-90.523,5.338],[-12.612,-36.255]],"c":true}],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.091,4.078],[20.869,-4.367],[30.107,15.33],[-19.438,9.731],[-43.799,10.688],[-18.621,4.302],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.28,-4.66],[-20.869,4.367],[-30.108,-15.045],[31.058,-15.54],[13.478,-3.289],[35.364,-7.836],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.555,116.578],[-118.059,118.513],[-232.466,118.013],[-232.903,50.459],[-138.927,16.11],[-89.857,5.183],[-12.612,-36.255]],"c":true}],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.093,4.093],[20.867,-4.381],[30.076,15.082],[-19.45,9.636],[-43.794,10.731],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.282,-4.677],[-20.867,4.381],[-30.077,-14.8],[31.077,-15.388],[13.476,-3.302],[35.363,-7.843],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-45.031,116.63],[-118.006,118.937],[-230.785,117.386],[-231.113,50.712],[-138.98,15.685],[-88.852,4.95],[-12.612,-36.255]],"c":true}],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.096,4.112],[20.865,-4.399],[30.037,14.766],[-19.465,9.514],[-43.787,10.785],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.285,-4.698],[-20.865,4.399],[-30.039,-14.489],[31.101,-15.195],[13.474,-3.319],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-44.364,116.695],[-117.939,119.476],[-228.645,116.589],[-228.834,51.034],[-139.047,15.144],[-87.572,4.652],[-12.612,-36.255]],"c":true}],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.098,4.131],[20.863,-4.418],[29.997,14.445],[-19.48,9.39],[-43.78,10.84],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.288,-4.72],[-20.863,4.418],[-29.999,-14.173],[31.125,-14.999],[13.472,-3.336],[35.361,-7.861],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.688,116.762],[-117.871,120.024],[-226.472,115.779],[-226.52,51.361],[-139.115,14.594],[-86.272,4.35],[-12.612,-36.255]],"c":true}],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.1,4.147],[20.861,-4.434],[29.963,14.171],[-19.494,9.284],[-43.774,10.887],[-18.618,4.321],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.29,-4.739],[-20.861,4.434],[-29.966,-13.903],[31.146,-14.83],[13.47,-3.35],[35.36,-7.868],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-43.108,116.818],[-117.813,120.493],[-224.613,115.086],[-224.539,51.641],[-139.174,14.124],[-85.159,4.092],[-12.612,-36.255]],"c":true}],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.102,4.16],[20.859,-4.446],[29.936,13.951],[-19.504,9.2],[-43.77,10.924],[-18.618,4.325],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.292,-4.754],[-20.859,4.446],[-29.939,-13.687],[31.163,-14.696],[13.469,-3.362],[35.359,-7.875],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.646,116.864],[-117.766,120.867],[-223.128,114.533],[-222.958,51.864],[-139.22,13.749],[-84.271,3.885],[-12.612,-36.255]],"c":true}],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.103,4.171],[20.858,-4.456],[29.914,13.779],[-19.513,9.134],[-43.766,10.953],[-18.618,4.328],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.293,-4.765],[-20.858,4.456],[-29.918,-13.517],[31.176,-14.591],[13.467,-3.371],[35.359,-7.879],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-42.282,116.9],[-117.73,121.161],[-221.961,114.098],[-221.715,52.04],[-139.257,13.453],[-83.573,3.723],[-12.612,-36.255]],"c":true}],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.104,4.179],[20.857,-4.464],[29.897,13.644],[-19.519,9.081],[-43.763,10.977],[-18.617,4.33],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.295,-4.775],[-20.857,4.464],[-29.901,-13.384],[31.186,-14.508],[13.467,-3.378],[35.358,-7.883],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.996,116.928],[-117.701,121.393],[-221.042,113.755],[-220.736,52.178],[-139.286,13.221],[-83.023,3.596],[-12.612,-36.255]],"c":true}],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.185],[20.856,-4.47],[29.884,13.537],[-19.525,9.04],[-43.761,10.995],[-18.617,4.332],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.782],[-20.856,4.47],[-29.888,-13.278],[31.195,-14.442],[13.466,-3.383],[35.358,-7.886],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.77,116.95],[-117.678,121.576],[-220.317,113.485],[-219.964,52.287],[-139.309,13.038],[-82.59,3.495],[-12.612,-36.255]],"c":true}],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.105,4.19],[20.855,-4.475],[29.874,13.452],[-19.529,9.008],[-43.759,11.009],[-18.617,4.333],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.296,-4.788],[-20.855,4.475],[-29.878,-13.195],[31.201,-14.391],[13.465,-3.388],[35.357,-7.889],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.592,116.968],[-117.66,121.72],[-219.745,113.272],[-219.355,52.373],[-139.327,12.893],[-82.248,3.415],[-12.612,-36.255]],"c":true}],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.194],[20.855,-4.479],[29.865,13.386],[-19.532,8.982],[-43.758,11.021],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.792],[-20.855,4.479],[-29.87,-13.13],[31.206,-14.35],[13.465,-3.391],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.452,116.981],[-117.646,121.833],[-219.297,113.105],[-218.878,52.441],[-139.341,12.78],[-81.98,3.353],[-12.612,-36.255]],"c":true}],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.106,4.197],[20.854,-4.482],[29.859,13.335],[-19.534,8.962],[-43.757,11.029],[-18.617,4.335],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.297,-4.796],[-20.855,4.482],[-29.863,-13.08],[31.21,-14.319],[13.465,-3.394],[35.357,-7.892],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.344,116.992],[-117.635,121.92],[-218.951,112.976],[-218.51,52.493],[-139.352,12.693],[-81.773,3.305],[-12.612,-36.255]],"c":true}],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.2],[20.854,-4.484],[29.854,13.297],[-19.536,8.948],[-43.756,11.036],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.798],[-20.854,4.484],[-29.859,-13.042],[31.213,-14.295],[13.464,-3.396],[35.357,-7.893],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.263,117],[-117.627,121.985],[-218.691,112.879],[-218.232,52.532],[-139.36,12.627],[-81.617,3.269],[-12.612,-36.255]],"c":true}],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.201],[20.854,-4.486],[29.851,13.269],[-19.538,8.937],[-43.755,11.041],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.8],[-20.854,4.486],[-29.855,-13.015],[31.215,-14.278],[13.464,-3.397],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.205,117.006],[-117.621,122.033],[-218.504,112.809],[-218.033,52.56],[-139.366,12.579],[-81.505,3.243],[-12.612,-36.255]],"c":true}],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.202],[20.854,-4.487],[29.849,13.25],[-19.538,8.93],[-43.755,11.044],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.801],[-20.854,4.487],[-29.853,-12.997],[31.216,-14.267],[13.464,-3.398],[35.357,-7.894],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.166,117.009],[-117.617,122.064],[-218.379,112.763],[-217.9,52.579],[-139.37,12.548],[-81.43,3.225],[-12.612,-36.255]],"c":true}],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.24],[-19.539,8.926],[-43.755,11.046],[-18.617,4.336],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.487],[-29.852,-12.986],[31.217,-14.261],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-41.144,117.012],[-117.615,122.082],[-218.308,112.736],[-217.825,52.59],[-139.372,12.53],[-81.388,3.216],[-12.612,-36.255]],"c":true}],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[54.085,-3.398],[27.304,14.385],[26.106,4.195],[20.855,-4.48],[29.864,13.374],[-19.532,8.977],[-43.757,11.023],[-18.617,4.334],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-11.428,0.653],[-24.064,-12.677],[-29.297,-4.793],[-20.855,4.48],[-29.868,-13.118],[31.207,-14.343],[13.465,-3.392],[35.357,-7.891],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[117.077,194.754],[32.184,139.048],[-41.426,116.984],[-117.644,121.854],[-219.214,113.074],[-218.79,52.453],[-139.343,12.759],[-81.93,3.342],[-12.612,-36.255]],"c":true}],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[50.763,-3.189],[27.304,14.385],[26.103,4.174],[20.857,-4.459],[29.908,13.729],[-19.515,9.114],[-43.765,10.962],[-18.618,4.329],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-14.751,0.843],[-24.064,-12.677],[-29.294,-4.769],[-20.857,4.459],[-29.912,-13.468],[31.18,-14.56],[13.467,-3.373],[35.358,-7.881],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[121.251,193.909],[32.184,139.048],[-42.176,116.91],[-117.719,121.247],[-221.619,113.97],[-221.351,52.091],[-139.268,13.367],[-83.369,3.676],[-12.612,-36.255]],"c":true}],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[47.069,-2.957],[27.304,14.384],[26.1,4.15],[20.86,-4.436],[29.957,14.124],[-19.496,9.266],[-43.773,10.895],[-18.618,4.322],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-18.446,1.054],[-24.064,-12.677],[-29.291,-4.742],[-20.86,4.436],[-29.96,-13.857],[31.15,-14.802],[13.47,-3.352],[35.36,-7.87],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[125.893,192.97],[32.184,139.048],[-43.009,116.828],[-117.803,120.573],[-224.294,114.967],[-224.2,51.689],[-139.184,14.043],[-84.969,4.047],[-12.612,-36.255]],"c":true}],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[43.879,-2.757],[27.304,14.385],[26.098,4.13],[20.863,-4.417],[29.999,14.464],[-19.48,9.398],[-43.781,10.836],[-18.619,4.317],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-21.637,1.236],[-24.064,-12.677],[-29.288,-4.719],[-20.863,4.417],[-30.002,-14.192],[31.124,-15.01],[13.472,-3.335],[35.361,-7.86],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[129.901,192.158],[32.184,139.048],[-43.728,116.758],[-117.875,119.991],[-226.604,115.828],[-226.659,51.341],[-139.111,14.627],[-86.35,4.368],[-12.612,-36.255]],"c":true}],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[41.29,-2.594],[27.304,14.385],[26.096,4.113],[20.865,-4.401],[30.034,14.741],[-19.466,9.504],[-43.786,10.789],[-18.62,4.312],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-24.227,1.384],[-24.064,-12.677],[-29.285,-4.7],[-20.865,4.401],[-30.036,-14.465],[31.103,-15.18],[13.474,-3.32],[35.362,-7.852],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[133.155,191.499],[32.184,139.048],[-44.312,116.7],[-117.934,119.518],[-228.478,116.527],[-228.656,51.059],[-139.052,15.101],[-87.472,4.629],[-12.612,-36.255]],"c":true}],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[39.213,-2.464],[27.304,14.385],[26.094,4.1],[20.866,-4.388],[30.061,14.963],[-19.455,9.59],[-43.791,10.751],[-18.62,4.308],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-26.305,1.503],[-24.064,-12.677],[-29.283,-4.685],[-20.866,4.388],[-30.063,-14.684],[31.086,-15.316],[13.475,-3.308],[35.363,-7.846],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[135.765,190.971],[32.184,139.048],[-44.781,116.654],[-117.981,119.139],[-229.982,117.087],[-230.258,50.833],[-139.005,15.482],[-88.372,4.838],[-12.612,-36.255]],"c":true}],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[37.55,-2.359],[27.304,14.385],[26.093,4.089],[20.868,-4.378],[30.084,15.141],[-19.447,9.658],[-43.795,10.721],[-18.62,4.306],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-27.969,1.598],[-24.064,-12.677],[-29.282,-4.673],[-20.867,4.378],[-30.085,-14.859],[31.072,-15.425],[13.476,-3.299],[35.363,-7.841],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[137.855,190.548],[32.184,139.048],[-45.156,116.617],[-118.019,118.836],[-231.186,117.536],[-231.54,50.652],[-138.967,15.786],[-89.092,5.005],[-12.612,-36.255]],"c":true}],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[36.223,-2.276],[27.304,14.385],[26.092,4.081],[20.869,-4.37],[30.101,15.283],[-19.44,9.713],[-43.798,10.696],[-18.621,4.303],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-29.296,1.674],[-24.064,-12.677],[-29.281,-4.663],[-20.869,4.37],[-30.102,-14.998],[31.062,-15.511],[13.477,-3.292],[35.364,-7.837],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[139.523,190.21],[32.184,139.048],[-45.456,116.588],[-118.049,118.593],[-232.147,117.894],[-232.564,50.507],[-138.937,16.029],[-89.667,5.139],[-12.612,-36.255]],"c":true}],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[35.172,-2.21],[27.304,14.385],[26.091,4.074],[20.869,-4.363],[30.115,15.395],[-19.434,9.756],[-43.8,10.677],[-18.621,4.301],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-30.347,1.734],[-24.064,-12.677],[-29.28,-4.656],[-20.869,4.363],[-30.116,-15.109],[31.053,-15.58],[13.478,-3.286],[35.364,-7.834],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[140.843,189.943],[32.184,139.048],[-45.693,116.565],[-118.073,118.402],[-232.908,118.178],[-233.374,50.392],[-138.913,16.221],[-90.122,5.245],[-12.612,-36.255]],"c":true}],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[34.354,-2.158],[27.304,14.385],[26.09,4.069],[20.87,-4.358],[30.126,15.482],[-19.43,9.79],[-43.802,10.662],[-18.621,4.3],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.166,1.781],[-24.064,-12.677],[-29.279,-4.65],[-20.87,4.358],[-30.126,-15.195],[31.046,-15.634],[13.479,-3.281],[35.365,-7.831],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[141.871,189.735],[32.184,139.048],[-45.877,116.546],[-118.091,118.252],[-233.5,118.398],[-234.005,50.303],[-138.894,16.371],[-90.476,5.327],[-12.612,-36.255]],"c":true}],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.733,-2.119],[27.304,14.385],[26.09,4.065],[20.87,-4.354],[30.134,15.549],[-19.427,9.816],[-43.804,10.651],[-18.621,4.299],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-31.787,1.816],[-24.064,-12.677],[-29.279,-4.645],[-20.87,4.354],[-30.134,-15.26],[31.041,-15.674],[13.479,-3.278],[35.365,-7.83],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[142.652,189.577],[32.184,139.048],[-46.017,116.533],[-118.105,118.139],[-233.95,118.566],[-234.484,50.236],[-138.88,16.485],[-90.745,5.389],[-12.612,-36.255]],"c":true}],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[33.282,-2.091],[27.304,14.385],[26.089,4.062],[20.871,-4.351],[30.14,15.597],[-19.425,9.834],[-43.805,10.643],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.238,1.842],[-24.064,-12.677],[-29.278,-4.642],[-20.871,4.351],[-30.14,-15.308],[31.038,-15.704],[13.479,-3.275],[35.365,-7.828],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.218,189.462],[32.184,139.048],[-46.119,116.523],[-118.116,118.057],[-234.277,118.688],[-234.832,50.187],[-138.87,16.568],[-90.941,5.435],[-12.612,-36.255]],"c":true}],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.98,-2.072],[27.304,14.385],[26.089,4.06],[20.871,-4.35],[30.144,15.629],[-19.423,9.847],[-43.805,10.637],[-18.621,4.298],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.54,1.859],[-24.064,-12.677],[-29.278,-4.64],[-20.871,4.35],[-30.144,-15.34],[31.035,-15.724],[13.48,-3.273],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.598,189.385],[32.184,139.048],[-46.187,116.516],[-118.123,118.001],[-234.495,118.769],[-235.065,50.154],[-138.863,16.623],[-91.071,5.465],[-12.612,-36.255]],"c":true}],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.809,-2.061],[27.304,14.385],[26.089,4.059],[20.871,-4.348],[30.147,15.648],[-19.422,9.854],[-43.806,10.634],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.711,1.869],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.349],[-30.147,-15.358],[31.034,-15.735],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.813,189.342],[32.184,139.048],[-46.226,116.512],[-118.126,117.97],[-234.619,118.815],[-235.197,50.135],[-138.859,16.654],[-91.146,5.482],[-12.612,-36.255]],"c":true}],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":295,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Nail - PATH","parent":9,"tt":1,"tp":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-215.854,53.1,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[0,0],[4.232,-12.502],[12.921,-1.766],[0,0],[-10.742,11.216],[0,0],[-9.55,-10.068]],"o":[[8.923,9.803],[-4.232,12.502],[0,0],[-17.559,-12.801],[0,0],[13.042,-4.219],[0,0]],"v":[[43.524,-16.699],[51.346,19.151],[23.347,42.689],[-15.873,40.533],[-19.404,-10.788],[6.329,-27.088],[43.177,-17.287]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[0,0],[5.977,-11.693],[12.492,0.343],[0,0],[-11.927,9.366],[0,0],[-7.435,-11.514]],"o":[[6.885,11.15],[-5.977,11.693],[0,0],[-14.573,-15.516],[0,0],[12.995,-2.066],[0,0]],"v":[[41.831,-31.462],[43.556,5.299],[13.369,24.072],[-23.361,15.588],[-18.585,-35.795],[8.315,-47.769],[41.596,-32.101]],"c":true}]},{"t":197,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":275,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1},{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":359,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":383,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":385,"s":[{"i":[[0,0],[4.852,-12.202],[12.469,-0.832],[0,0],[-10.995,10.445],[0,0],[-8.483,-10.765]],"o":[[7.901,10.455],[-4.852,12.202],[0,0],[-15.966,-14.079],[0,0],[12.744,-3.277],[0,0]],"v":[[40.886,-22.623],[46.055,13.814],[17.765,35.338],[-19.6,30.341],[-19.67,-21.264],[5.987,-35.71],[40.592,-23.237]],"c":true}]},{"t":400,"s":[{"i":[[0,0],[4.928,-11.595],[12.465,-0.87],[0,0],[-14.56,12.656],[0,0],[-8.406,-10.146]],"o":[[7.827,9.856],[-4.928,11.595],[0,0],[-20.722,-16.616],[0,0],[12.755,-3.189],[0,0]],"v":[[38.416,-22.549],[43.344,11.946],[14.936,32.527],[-32.966,35.719],[-32.314,-26.028],[3.631,-34.724],[38.126,-23.129]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.75686275959,0.549019634724,0.474509805441,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":295,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Thumb - PATH","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":59,"s":[17.7]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":95,"s":[15.7]},{"t":147,"s":[15.7]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":122,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.604,"y":0.604},"t":145,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0.2,"y":0.2},"t":147,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[-20,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":197,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,49,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":25,"nm":"Elevation","np":8,"mn":"ADBE Drop Shadow","ix":1,"en":1,"ef":[{"ty":2,"nm":"Shadow Color","mn":"ADBE Drop Shadow-0001","ix":1,"v":{"a":0,"k":[0,0,0,0.25],"ix":1}},{"ty":0,"nm":"Opacity","mn":"ADBE Drop Shadow-0002","ix":2,"v":{"a":0,"k":63.75,"ix":2}},{"ty":0,"nm":"Direction","mn":"ADBE Drop Shadow-0003","ix":3,"v":{"a":0,"k":180,"ix":3}},{"ty":0,"nm":"Distance","mn":"ADBE Drop Shadow-0004","ix":4,"v":{"a":0,"k":4,"ix":4}},{"ty":0,"nm":"Softness","mn":"ADBE Drop Shadow-0005","ix":5,"v":{"a":0,"k":8,"ix":5}},{"ty":7,"nm":"Shadow Only","mn":"ADBE Drop Shadow-0006","ix":6,"v":{"a":0,"k":0,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":59,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.6,"y":0},"t":95,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":122,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.49,-5.931],[30.698,11.123],[-18.869,10.266],[-42.877,14.071],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.49,5.931],[-30.684,-10.869],[30.147,-16.402],[13.194,-4.33],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-113.746,122.8],[-214.825,120.486],[-218.536,60.463],[-143.094,15.021],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.56,"y":1},"o":{"x":0.4,"y":0},"t":140,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":182,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[21.232,-2.05],[28.119,16.594],[-20.439,6.609],[-44.737,5.921],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-21.232,2.05],[-28.153,-16.343],[32.655,-10.559],[13.766,-1.822],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-124.248,123.637],[-223.166,102.718],[-215.742,43.041],[-133.212,12.294],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":197,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":228,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.364],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[115.466,195.08],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":248,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0},"t":260,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.218,-40.908],[25.237,-53.227],[55.367,-3.479],[27.304,14.385],[26.107,4.203],[20.854,-4.488],[29.847,13.237],[-19.539,8.925],[-43.754,11.046],[-18.617,4.337],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-10.146,0.58],[-24.064,-12.677],[-29.298,-4.802],[-20.854,4.488],[-29.851,-12.983],[31.217,-14.259],[13.464,-3.399],[35.357,-7.895],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.226,97.821],[115.466,195.08],[32.184,139.048],[-41.137,117.012],[-117.615,122.088],[-218.286,112.728],[-217.801,52.593],[-139.373,12.524],[-81.375,3.213],[-12.612,-36.255]],"c":true}]},{"t":275,"s":[{"i":[[-2.609,1.739],[-87.592,74.129],[-32.219,-40.908],[25.237,-53.227],[32.754,-2.058],[27.304,14.385],[26.089,4.058],[20.871,-4.348],[30.147,15.653],[-19.422,9.856],[-43.806,10.633],[-18.621,4.297],[-16.233,10.726]],"o":[[104.165,-73.861],[39.748,-33.639],[29.647,37.643],[-33.816,71.321],[-32.766,1.872],[-24.064,-12.677],[-29.278,-4.638],[-20.871,4.348],[-30.147,-15.363],[31.033,-15.738],[13.48,-3.272],[35.365,-7.827],[2.609,-2.029]],"v":[[-4.785,-41.762],[88.687,-303.495],[289.167,-149.936],[310.227,97.821],[143.881,189.328],[32.184,139.048],[-46.238,116.511],[-118.128,117.96],[-234.659,118.83],[-235.238,50.129],[-138.858,16.664],[-91.169,5.488],[-12.612,-36.255]],"c":true}],"h":1}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.694117665291,0.435294121504,0.345098048449,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":7.087,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":295,"st":-40,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":3,"nm":"All Overview Scroll","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":246,"s":[434]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":263,"s":[638.8]},{"t":348,"s":[946]}],"ix":3},"y":{"a":0,"k":-36,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"Initial Overview In","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":182,"s":[-326]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[209]},{"t":217,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":20,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":3,"nm":"Loop App to Center","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-512,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":407.666,"s":[-38.4]},{"t":441,"s":[-96]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":456,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":14,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-256,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":454,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":122,"s":[-768]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[-768]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":406,"s":[-984]},{"t":431,"s":[-1308]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":14,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[-768,0],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-772.838,0],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-788.422,0],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-818.479,0],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-872.229,0],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-984,0],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1111.278,0],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1167.309,0],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1199.786,0],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1221.853,0],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1238.119,0],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1250.7,0],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1260.737,0],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1268.916,0],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1275.679,0],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1281.331,0],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1286.087,0],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1290.107,0],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1293.513,0],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1296.398,0],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1298.838,0],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1300.893,0],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1302.61,0],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1304.033,0],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1305.193,0],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1306.12,0],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-1307.368,0],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":454,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":264,"s":[50]},{"i":{"x":[0.833],"y":[0.648]},"o":{"x":[0.167],"y":[0]},"t":348,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":422,"s":[95]},{"t":447,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":406,"s":[644]},{"t":431,"s":[1280]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":406,"s":[452]},{"t":431,"s":[800]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":401,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":406,"s":[43.2]},{"t":431,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":15,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-114.749,-52.975],[-55.125,-112.598],[55.125,-112.598],[114.749,-52.975],[114.749,52.975],[55.125,112.598],[-55.125,112.598],[-114.749,52.975]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-130.044,-62.556],[-71.633,-120.968],[71.633,-120.968],[130.044,-62.556],[130.044,62.556],[71.633,120.968],[-71.633,120.968],[-130.044,62.556]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-159.544,-81.035],[-103.47,-137.109],[103.47,-137.109],[159.544,-81.035],[159.544,81.035],[103.47,137.109],[-103.47,137.109],[-159.544,81.035]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-212.299,-114.082],[-160.406,-165.975],[160.406,-165.975],[212.299,-114.082],[212.299,114.082],[160.406,165.975],[-160.406,165.975],[-212.299,114.082]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-322,-182.8],[-278.8,-226],[278.8,-226],[322,-182.8],[322,182.8],[278.8,226],[-278.8,226],[-322,182.8]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-446.921,-261.052],[-413.62,-294.353],[413.62,-294.353],[446.921,-261.052],[446.921,261.052],[413.62,294.353],[-413.62,294.353],[-446.921,261.052]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-501.914,-295.501],[-472.972,-324.444],[472.972,-324.444],[501.914,-295.501],[501.914,295.501],[472.972,324.444],[-472.972,324.444],[-501.914,295.501]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-533.79,-315.468],[-507.373,-341.885],[507.373,-341.885],[533.79,-315.468],[533.79,315.468],[507.373,341.885],[-507.373,341.885],[-533.79,315.468]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-555.448,-329.035],[-530.748,-353.736],[530.748,-353.736],[555.448,-329.035],[555.448,329.035],[530.748,353.736],[-530.748,353.736],[-555.448,329.035]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-571.413,-339.036],[-547.978,-362.471],[547.978,-362.471],[571.413,-339.036],[571.413,339.036],[547.978,362.471],[-547.978,362.471],[-571.413,339.036]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-583.761,-346.771],[-561.305,-369.228],[561.305,-369.228],[583.761,-346.771],[583.761,346.771],[561.305,369.228],[-561.305,369.228],[-583.761,346.771]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-593.612,-352.942],[-571.936,-374.618],[571.936,-374.618],[593.612,-352.942],[593.612,352.942],[571.936,374.618],[-571.936,374.618],[-593.612,352.942]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-601.64,-357.97],[-580.6,-379.01],[580.6,-379.01],[601.64,-357.97],[601.64,357.97],[580.6,379.01],[-580.6,379.01],[-601.64,357.97]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-608.278,-362.129],[-587.764,-382.643],[587.764,-382.643],[608.278,-362.129],[608.278,362.129],[587.764,382.643],[-587.764,382.643],[-608.278,362.129]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-613.825,-365.603],[-593.75,-385.678],[593.75,-385.678],[613.825,-365.603],[613.825,365.603],[593.75,385.678],[-593.75,385.678],[-613.825,365.603]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-618.492,-368.527],[-598.788,-388.232],[598.788,-388.232],[618.492,-368.527],[618.492,368.527],[598.788,388.232],[-598.788,388.232],[-618.492,368.527]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-622.438,-370.999],[-603.047,-390.391],[603.047,-390.391],[622.438,-370.999],[622.438,370.999],[603.047,390.391],[-603.047,390.391],[-622.438,370.999]],"c":true}],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-625.781,-373.093],[-606.654,-392.22],[606.654,-392.22],[625.781,-373.093],[625.781,373.093],[606.654,392.22],[-606.654,392.22],[-625.781,373.093]],"c":true}],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-628.613,-374.867],[-609.711,-393.769],[609.711,-393.769],[628.613,-374.867],[628.613,374.867],[609.711,393.769],[-609.711,393.769],[-628.613,374.867]],"c":true}],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-631.008,-376.367],[-612.295,-395.08],[612.295,-395.08],[631.008,-376.367],[631.008,376.367],[612.295,395.08],[-612.295,395.08],[-631.008,376.367]],"c":true}],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-633.024,-377.63],[-614.471,-396.183],[614.471,-396.183],[633.024,-377.63],[633.024,377.63],[614.471,396.183],[-614.471,396.183],[-633.024,377.63]],"c":true}],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-634.71,-378.686],[-616.291,-397.106],[616.291,-397.106],[634.71,-378.686],[634.71,378.686],[616.291,397.106],[-616.291,397.106],[-634.71,378.686]],"c":true}],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.104,0],[0,0],[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104],[0,0],[-10.104,0],[0,0]],"v":[[-636.106,-379.561],[-617.797,-397.869],[617.797,-397.869],[636.106,-379.561],[636.106,379.561],[617.797,397.869],[-617.797,397.869],[-636.106,379.561]],"c":true}],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-637.245,-380.274],[-619.026,-398.492],[619.026,-398.492],[637.245,-380.274],[637.245,380.274],[619.026,398.492],[-619.026,398.492],[-637.245,380.274]],"c":true}],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-638.154,-380.844],[-620.008,-398.99],[620.008,-398.99],[638.154,-380.844],[638.154,380.844],[620.008,398.99],[-620.008,398.99],[-638.154,380.844]],"c":true}],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-638.859,-381.285],[-620.769,-399.376],[620.769,-399.376],[638.859,-381.285],[638.859,381.285],[620.769,399.376],[-620.769,399.376],[-638.859,381.285]],"c":true}],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-639.379,-381.611],[-621.33,-399.66],[621.33,-399.66],[639.379,-381.611],[639.379,381.611],[621.33,399.66],[-621.33,399.66],[-639.379,381.611]],"c":true}],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-639.733,-381.833],[-621.712,-399.854],[621.712,-399.854],[639.733,-381.833],[639.733,381.833],[621.712,399.854],[-621.712,399.854],[-639.733,381.833]],"c":true}],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-639.935,-381.959],[-621.93,-399.965],[621.93,-399.965],[639.935,-381.959],[639.935,381.959],[621.93,399.965],[-621.93,399.965],[-639.935,381.959]],"c":true}],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":454,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":110,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":10,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":64,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":76,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":88,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":118,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":140,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[100]},{"t":264,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":122,"s":[206,794,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.37,"y":0.37},"t":170,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.8,"y":0.15},"o":{"x":0.3,"y":0},"t":401,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":406,"s":[418,421,0],"to":[0,0,0],"ti":[0,0,0]},{"t":431,"s":[736,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[1282]},{"t":170,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[582]},{"t":170,"s":[382],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[382]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[216]},{"t":217,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":132,"s":[90]},{"t":170,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":182,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":202,"s":[64]},{"t":217,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":201,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":202,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":203,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":204,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":205,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":206,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":207,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":208,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":209,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":210,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":211,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":212,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":213,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":214,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":215,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":216,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":16,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[206,793.586],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,792.258],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,789.864],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,786.218],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,781.092],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,774.214],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,765.261],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,753.89],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,739.78],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,722.769],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,703.036],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,681.264],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,658.554],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,636.094],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,614.786],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,595.117],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,577.233],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,561.095],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,546.578],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,533.516],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,521.747],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,511.131],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,501.533],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,492.838],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,484.956],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,477.801],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,471.3],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,465.393],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,460.026],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,455.152],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,450.729],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,446.721],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,443.098],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,439.832],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,436.895],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,434.265],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,431.924],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,429.854],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,428.038],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,426.459],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,425.105],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,423.964],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,423.023],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,422.273],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421.704],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421.308],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[206,421],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[210.749,421],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[226.045,421],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[255.545,421],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[308.302,421],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418,421],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[542.923,421],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[597.913,421],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[629.788,421],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[651.447,421],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[667.413,421],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[679.761,421],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[689.612,421],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[697.64,421],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[704.277,421],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[709.824,421],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[714.491,421],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[718.438,421],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[721.78,421],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[724.612,421],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[727.008,421],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[729.024,421],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[730.711,421],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[732.106,421],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[733.245,421],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[734.154,421],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[734.859,421],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[735.379,421],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-641,90],[-551,0],[551,0],[641,90],[641,492],[551,582],[-551,582],[-641,492]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-640.166,89.982],[-550.184,0],[550.184,0],[640.166,89.982],[640.166,491.659],[550.184,581.641],[-550.184,581.641],[-640.166,491.659]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-637.437,89.923],[-547.513,0],[547.513,0],[637.437,89.923],[637.437,490.544],[547.513,580.467],[-547.513,580.467],[-637.437,490.544]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-632.398,89.815],[-542.583,0],[542.583,0],[632.398,89.815],[632.398,488.485],[542.583,578.3],[-542.583,578.3],[-632.398,488.485]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-624.515,89.645],[-534.87,0],[534.87,0],[624.515,89.645],[624.515,485.264],[534.87,574.91],[-534.87,574.91],[-624.515,485.264]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-613.109,89.4],[-523.709,0],[523.709,0],[613.109,89.4],[613.109,480.604],[523.709,570.004],[-523.709,570.004],[-613.109,480.604]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-597.362,89.062],[-508.301,0],[508.301,0],[597.362,89.062],[597.362,474.17],[508.301,563.231],[-508.301,563.231],[-597.362,474.17]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-576.424,88.611],[-487.812,0],[487.813,0],[576.424,88.611],[576.424,465.614],[487.813,554.225],[-487.812,554.225],[-576.424,465.614]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-549.762,88.038],[-461.724,0],[461.724,0],[549.762,88.038],[549.762,454.72],[461.724,542.758],[-461.724,542.758],[-549.762,454.72]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-517.833,87.351],[-430.482,0],[430.482,0],[517.833,87.351],[517.833,441.674],[430.482,529.025],[-430.482,529.025],[-517.833,441.674]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-482.616,86.594],[-396.022,0],[396.022,0],[482.616,86.594],[482.616,427.284],[396.022,513.878],[-396.022,513.878],[-482.616,427.284]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-447.043,85.829],[-361.214,0],[361.214,0],[447.043,85.829],[447.043,412.749],[361.214,498.578],[-361.214,498.578],[-447.043,412.749]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-413.564,85.109],[-328.455,0],[328.456,0],[413.564,85.109],[413.564,399.069],[328.456,484.178],[-328.455,484.178],[-413.564,399.069]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-383.396,84.46],[-298.936,0],[298.936,0],[383.396,84.46],[383.396,386.742],[298.936,471.203],[-298.936,471.203],[-383.396,386.742]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-356.773,83.888],[-272.885,0],[272.885,0],[356.773,83.888],[356.773,375.864],[272.885,459.752],[-272.885,459.752],[-356.773,375.864]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-333.455,83.386],[-250.069,0],[250.069,0],[333.455,83.386],[333.455,366.336],[250.069,449.723],[-250.069,449.723],[-333.455,366.336]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-313.049,82.947],[-230.102,0],[230.102,0],[313.049,82.947],[313.049,357.999],[230.102,440.946],[-230.102,440.946],[-313.049,357.999]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-295.158,82.563],[-212.595,0],[212.595,0],[295.158,82.563],[295.158,350.688],[212.595,433.251],[-212.595,433.251],[-295.158,350.688]],"c":true}],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-279.427,82.224],[-197.203,0],[197.203,0],[279.427,82.224],[279.427,344.26],[197.203,426.485],[-197.203,426.485],[-279.427,344.26]],"c":true}],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-265.557,81.926],[-183.631,0],[183.631,0],[265.557,81.926],[265.557,338.593],[183.631,420.519],[-183.631,420.519],[-265.557,338.593]],"c":true}],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-253.299,81.662],[-171.637,0],[171.637,0],[253.299,81.662],[253.299,333.585],[171.637,415.247],[-171.637,415.247],[-253.299,333.585]],"c":true}],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-242.449,81.429],[-161.02,0],[161.02,0],[242.449,81.429],[242.449,329.151],[161.02,410.58],[-161.02,410.58],[-242.449,329.151]],"c":true}],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-232.835,81.222],[-151.613,0],[151.613,0],[232.835,81.222],[232.835,325.223],[151.613,406.445],[-151.613,406.445],[-232.835,325.223]],"c":true}],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-224.316,81.039],[-143.277,0],[143.277,0],[224.316,81.039],[224.316,321.742],[143.277,402.781],[-143.277,402.781],[-224.316,321.742]],"c":true}],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-216.774,80.877],[-135.897,0],[135.897,0],[216.774,80.877],[216.774,318.66],[135.897,399.537],[-135.897,399.537],[-216.774,318.66]],"c":true}],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-210.107,80.733],[-129.374,0],[129.374,0],[210.107,80.733],[210.107,315.936],[129.374,396.67],[-129.374,396.67],[-210.107,315.936]],"c":true}],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-204.23,80.607],[-123.623,0],[123.623,0],[204.23,80.607],[204.23,313.535],[123.623,394.142],[-123.623,394.142],[-204.23,313.535]],"c":true}],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-199.07,80.496],[-118.574,0],[118.574,0],[199.07,80.496],[199.07,311.426],[118.574,391.923],[-118.574,391.923],[-199.07,311.426]],"c":true}],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-194.563,80.399],[-114.164,0],[114.164,0],[194.563,80.399],[194.563,309.585],[114.164,389.984],[-114.164,389.984],[-194.563,309.585]],"c":true}],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-190.654,80.315],[-110.338,0],[110.338,0],[190.654,80.315],[190.654,307.987],[110.338,388.303],[-110.338,388.303],[-190.654,307.987]],"c":true}],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-187.294,80.243],[-107.051,0],[107.051,0],[187.294,80.243],[187.294,306.615],[107.051,386.858],[-107.051,386.858],[-187.294,306.615]],"c":true}],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-184.442,80.182],[-104.261,0],[104.261,0],[184.442,80.182],[184.442,305.45],[104.261,385.631],[-104.261,385.631],[-184.442,305.45]],"c":true}],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-182.061,80.13],[-101.93,0],[101.93,0],[182.061,80.13],[182.061,304.476],[101.93,384.607],[-101.93,384.607],[-182.061,304.476]],"c":true}],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-180.115,80.089],[-100.027,0],[100.027,0],[180.115,80.089],[180.115,303.682],[100.027,383.77],[-100.027,383.77],[-180.115,303.682]],"c":true}],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-178.577,80.055],[-98.522,0],[98.522,0],[178.577,80.055],[178.577,303.053],[98.522,383.108],[-98.522,383.108],[-178.577,303.053]],"c":true}],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-177.419,80.031],[-97.389,0],[97.389,0],[177.419,80.031],[177.419,302.58],[97.389,382.611],[-97.389,382.611],[-177.419,302.58]],"c":true}],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.618,80.013],[-96.605,0],[96.605,0],[176.618,80.013],[176.618,302.253],[96.605,382.266],[-96.605,382.266],[-176.618,302.253]],"c":true}],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.151,80.003],[-96.148,0],[96.148,0],[176.151,80.003],[176.151,302.062],[96.148,382.065],[-96.148,382.065],[-176.151,302.062]],"c":true}],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,302],[96,382],[-96,382],[-176,302]],"c":true}],"t":170,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,302],[96,382],[-96,382],[-176,302]],"c":true}],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,301.573],[95.852,381.527],[-95.852,381.527],[-175.806,301.573]],"c":true}],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,300.128],[95.351,379.928],[-95.351,379.928],[-175.151,300.128]],"c":true}],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,297.331],[94.381,376.832],[-94.381,376.832],[-173.883,297.331]],"c":true}],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,292.657],[92.761,371.661],[-92.761,371.661],[-171.765,292.657]],"c":true}],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,285.244],[90.191,363.457],[-90.191,363.457],[-168.404,285.244]],"c":true}],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,273.637],[86.168,350.612],[-86.168,350.612],[-163.142,273.637]],"c":true}],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,255.848],[80.001,330.925],[-80.001,330.925],[-155.078,255.848]],"c":true}],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,232.388],[71.868,304.963],[-71.868,304.963],[-144.442,232.388]],"c":true}],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,210.234],[64.188,280.446],[-64.188,280.446],[-134.399,210.234]],"c":true}],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,193.681],[58.449,262.127],[-58.449,262.127],[-126.895,193.681]],"c":true}],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,181.827],[54.34,249.008],[-54.34,249.008],[-121.522,181.827]],"c":true}],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,173.196],[51.348,239.457],[-51.348,239.457],[-117.609,173.196]],"c":true}],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,166.8],[49.131,232.379],[-49.131,232.379],[-114.709,166.8]],"c":true}],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,162.024],[47.475,227.094],[-47.475,227.094],[-112.544,162.024]],"c":true}],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,158.473],[46.244,223.163],[-46.244,223.163],[-110.934,158.473]],"c":true}],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.878],[45.344,220.292],[-45.344,220.292],[-109.758,155.878]],"c":true}],"t":198,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.054],[44.712,218.273],[-44.712,218.273],[-108.931,154.054]],"c":true}],"t":199,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.863],[44.299,216.955],[-44.299,216.955],[-108.391,152.863]],"c":true}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.205],[44.071,216.227],[-44.071,216.227],[-108.093,152.205]],"c":true}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":454,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":59,"op":456,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":246,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":264,"s":[100]},{"t":281,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.8,"y":0.15},"o":{"x":0.3,"y":0},"t":401,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":406,"s":[-44,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":431,"s":[274,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":454,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":456,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[1280,800],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.325,0.271,0.165,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.325,0.271,0.165,1],"t":454,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":456,"st":0,"ct":1,"bm":0}]},{"id":"comp_1","nm":"Tablet_PointerFinger_UpdatedDesign","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"OVERSHOOT INDEX","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.6],"y":[0.52]},"o":{"x":[0.26],"y":[0]},"t":130,"s":[0]},{"t":168,"s":[-5]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.6],"y":[0.2]},"o":{"x":[0.26],"y":[0]},"t":130,"s":[1107.018]},{"t":168,"s":[1225]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.66],"y":[0.893]},"o":{"x":[0.69],"y":[0]},"t":118,"s":[1122.018]},{"t":165,"s":[1256.018]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":184,"st":-290,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"INDEX HAND NULL","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":24,"s":[15]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":94,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":113,"s":[1]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":118,"s":[1]},{"t":158,"s":[4]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.56],"y":[0]},"t":4,"s":[515.81]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":94,"s":[-132]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":118,"s":[-132]},{"t":158,"s":[-31]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":24,"s":[-367.627]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":90,"s":[-219.627]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":113,"s":[-209.627]},{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":118,"s":[-209.627]},{"t":158,"s":[48]}],"ix":4}},"a":{"a":1,"k":[{"i":{"x":0.34,"y":1},"o":{"x":0.66,"y":0},"t":70,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.12,"y":1},"o":{"x":0.44,"y":0},"t":90,"s":[0,20,0],"to":[0,0,0],"ti":[0,0,0]},{"t":113,"s":[0,0,0]}],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.58,0.58,0.58],"y":[1,1,1]},"o":{"x":[0.42,0.42,0.42],"y":[0,0,0]},"t":92,"s":[104,104,100]},{"i":{"x":[0.59,0.59,0.59],"y":[1,1,1]},"o":{"x":[0.11,0.11,0.11],"y":[0,0,0]},"t":111,"s":[100,100,100]},{"i":{"x":[0.59,0.59,0.59],"y":[1,1,1]},"o":{"x":[0.11,0.11,0.11],"y":[0.44,0.44,0]},"t":115,"s":[100,100,100]},{"t":140,"s":[104,104,100]}],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":21,"mn":"Pseudo/474342","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/474342-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/474342-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/474342-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/474342-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Roundness","mn":"Pseudo/474342-0005","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":6,"nm":"About","mn":"Pseudo/474342-0006","ix":6,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/474342-0007","ix":7,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0008","ix":8,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/474342-0009","ix":9,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0010","ix":10,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/474342-0011","ix":11,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0012","ix":12,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/474342-0013","ix":13,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0014","ix":14,"v":0},{"ty":6,"nm":"Void - 1.0.4","mn":"Pseudo/474342-0015","ix":15,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0016","ix":16,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/474342-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/474342-0019","ix":19,"v":0}]}],"ip":0,"op":300,"st":-290,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Index Nail","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-180.223,-270.591,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.84,"y":1},"o":{"x":0.83,"y":0},"t":65,"s":[{"i":[[-2.414,9.958],[-9.532,8.492],[-8.791,-2.892],[-2.171,-6.452],[5.371,-14.184],[13.429,-5.311],[1.086,0.181],[6.579,7.605]],"o":[[1.6,-6.669],[5.524,-4.921],[7.702,2.534],[2.002,5.33],[-6.579,17.412],[-8.148,3.229],[-1.479,-0.241],[-9.627,-11.075]],"v":[[-32.333,-4.972],[-16.302,-38.994],[12.239,-40.207],[33.667,-22.415],[31.011,3.961],[5.963,40.173],[-10.966,42.105],[-29.104,32.539]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":98,"s":[{"i":[[-0.698,10.223],[-9.532,11.629],[-21.476,-7.681],[-2.528,-9.138],[6.879,-13.735],[11.047,-4.308],[1.189,0.194],[7.375,8.159]],"o":[[0.525,-7.692],[6.683,-8.153],[16.081,5.751],[2.272,8.212],[-8.799,17.568],[-8.931,3.483],[-1.618,-0.264],[-8.455,-9.354]],"v":[[-41.951,-0.782],[-27.133,-34.111],[13.998,-44.435],[42.171,-12.972],[35.693,12.318],[7.278,43.341],[-11.239,45.454],[-31.076,34.991]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.66,"y":0},"t":113,"s":[{"i":[[-1.146,6.239],[-7.955,8.894],[-6.883,-2.265],[-1.7,-5.052],[6.14,-15.114],[8.464,-3.354],[0.685,0.112],[4.159,4.785]],"o":[[1.862,-10.142],[5.437,-6.078],[6.031,1.984],[1.568,4.174],[-4.539,11.172],[-5.137,2.036],[-0.932,-0.152],[-6.069,-6.982]],"v":[[-27.679,-2.349],[-13.046,-32.207],[10.368,-34.984],[27.147,-21.053],[23.939,6.893],[1.942,28.66],[-8.731,29.878],[-20.165,23.847]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.66,"y":0},"t":115,"s":[{"i":[[-1.146,6.239],[-7.955,8.894],[-6.883,-2.265],[-1.7,-5.052],[6.14,-15.114],[8.464,-3.354],[0.685,0.112],[4.159,4.785]],"o":[[1.862,-10.142],[5.437,-6.078],[6.031,1.984],[1.568,4.174],[-4.539,11.172],[-5.137,2.036],[-0.932,-0.152],[-6.069,-6.982]],"v":[[-27.679,-2.349],[-13.046,-32.207],[10.368,-34.984],[27.147,-21.053],[23.939,6.893],[1.942,28.66],[-8.731,29.878],[-20.165,23.847]],"c":true}]},{"t":140,"s":[{"i":[[-2.414,9.958],[-9.532,8.492],[-8.791,-2.892],[-2.171,-6.452],[5.371,-14.184],[13.429,-5.311],[1.086,0.181],[6.579,7.605]],"o":[[1.6,-6.669],[5.524,-4.921],[7.702,2.534],[2.002,5.33],[-6.579,17.412],[-8.148,3.229],[-1.479,-0.241],[-9.627,-11.075]],"v":[[-32.333,-4.972],[-16.302,-38.994],[12.239,-40.207],[33.667,-22.415],[31.011,3.961],[5.963,40.173],[-10.966,42.105],[-29.104,32.539]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-53.598,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Index Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Thumb Nail","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":98,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[6.94]},{"i":{"x":[0.59],"y":[1]},"o":{"x":[0.11],"y":[0.44]},"t":115,"s":[6.94]},{"t":140,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":98,"s":[-200.402,36.571,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":0.2},"o":{"x":0.4,"y":0.4},"t":113,"s":[-192.388,33.434,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.59,"y":1},"o":{"x":0.11,"y":0.44},"t":115,"s":[-192.388,33.434,0],"to":[0,0,0],"ti":[0,0,0]},{"t":140,"s":[-200.402,36.571,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.454,-3.078],[9.687,0.211],[0,0],[-2.754,8.058],[-9.627,2.595],[0,0],[-4.165,-1.992],[-0.392,-2.354],[0.905,-1.69]],"o":[[-10.653,4.376],[0,0],[2.401,-7.767],[4.126,-12.071],[2.475,-0.664],[4.044,0.362],[3.169,1.509],[2.082,12.524],[-5.704,10.623]],"v":[[9.153,24.314],[-28.629,28.116],[-28.629,28.086],[-20.331,5.151],[4.113,-27.742],[10.783,-28.195],[25.026,-23.578],[28.044,-19.413],[25.147,5.302]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb Nail","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Hand Lines KO","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"k":[{"s":[-5.995],"t":6,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.989],"t":7,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.98],"t":8,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.969],"t":9,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.954],"t":10,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.937],"t":11,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.916],"t":12,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.892],"t":13,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.864],"t":14,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.832],"t":15,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.796],"t":16,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.756],"t":17,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.711],"t":18,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.662],"t":19,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.607],"t":20,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.546],"t":21,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.479],"t":22,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.406],"t":23,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.326],"t":24,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.238],"t":25,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.141],"t":26,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-5.035],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.919],"t":28,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.792],"t":29,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.653],"t":30,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.501],"t":31,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.334],"t":32,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-4.15],"t":33,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.949],"t":34,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.728],"t":35,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.487],"t":36,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.225],"t":37,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.942],"t":38,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.642],"t":39,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.33],"t":40,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-2.015],"t":41,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1.708],"t":42,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1.42],"t":43,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1.158],"t":44,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.927],"t":45,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.728],"t":46,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.56],"t":47,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.421],"t":48,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.306],"t":49,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.214],"t":50,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.142],"t":51,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.087],"t":52,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.047],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.02],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.005],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.002],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.009],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.02],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.037],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.06],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.091],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.13],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.178],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.238],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.312],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.402],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.513],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.648],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.813],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.012],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.245],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.755],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.988],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.187],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.352],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.487],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.598],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.688],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.762],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.822],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.87],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.909],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.94],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.963],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.98],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.991],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.998],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.979],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.907],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.765],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.526],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.164],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.686],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.171],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.708],"t":100,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.328],"t":101,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.025],"t":102,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.216],"t":103,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.408],"t":104,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.561],"t":105,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.683],"t":106,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.779],"t":107,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.854],"t":108,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.911],"t":109,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.952],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.98],"t":111,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.995],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-1],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.373],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.094],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.488],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.835],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.149],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.436],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.701],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1.947],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.177],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.39],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.589],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.775],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[2.947],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.107],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.254],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.388],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.51],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.62],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.716],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.8],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.869],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.925],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.966],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.991],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[4],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[133,148,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.632,42.969],[-21.739,54.462],[-6.188,16.331],[-17.668,-6.383],[2.898,-20.708],[10.649,-42.063],[12.372,-41.711]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.265,-54.261],[10.737,-26.9],[20.949,-34.02],[15.865,5.732],[-1.303,9.342],[-14.021,55.386],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.701,-249.695],[46.909,-330.8],[99.523,-350.994],[119.596,-304.538],[99.441,-218.66],[54.795,-53.073]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.629,42.97],[-21.742,54.469],[-6.19,16.336],[-17.674,-6.385],[2.899,-20.715],[10.653,-42.068],[12.379,-41.752]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.269,-54.283],[10.739,-26.904],[20.956,-34.032],[15.871,5.734],[-1.303,9.345],[-14.027,55.392],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.682,-249.676],[46.895,-330.803],[99.528,-351.004],[119.609,-304.532],[99.438,-218.637],[54.795,-53.073]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.625,42.972],[-21.746,54.48],[-6.193,16.345],[-17.683,-6.389],[2.9,-20.725],[10.659,-42.076],[12.389,-41.812]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.275,-54.314],[10.741,-26.909],[20.967,-34.049],[15.879,5.737],[-1.304,9.35],[-14.035,55.401],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.656,-249.648],[46.876,-330.807],[99.535,-351.018],[119.626,-304.523],[99.435,-218.604],[54.795,-53.073]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.62,42.974],[-21.751,54.493],[-6.198,16.355],[-17.695,-6.393],[2.902,-20.739],[10.668,-42.086],[12.402,-41.891]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.283,-54.355],[10.743,-26.916],[20.981,-34.072],[15.89,5.741],[-1.305,9.356],[-14.046,55.413],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.621,-249.611],[46.851,-330.812],[99.545,-351.038],[119.65,-304.511],[99.43,-218.56],[54.795,-53.073]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.613,42.977],[-21.758,54.51],[-6.203,16.369],[-17.71,-6.398],[2.905,-20.757],[10.678,-42.098],[12.419,-41.99]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.293,-54.406],[10.747,-26.924],[20.999,-34.1],[15.903,5.746],[-1.306,9.364],[-14.059,55.427],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.577,-249.565],[46.819,-330.819],[99.558,-351.061],[119.679,-304.496],[99.424,-218.505],[54.795,-53.073]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.605,42.98],[-21.766,54.531],[-6.209,16.386],[-17.728,-6.405],[2.907,-20.778],[10.691,-42.113],[12.439,-42.11]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.305,-54.469],[10.751,-26.934],[21.02,-34.135],[15.919,5.751],[-1.307,9.374],[-14.076,55.445],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.523,-249.509],[46.781,-330.828],[99.573,-351.091],[119.715,-304.477],[99.417,-218.439],[54.795,-53.073]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.596,42.984],[-21.776,54.555],[-6.217,16.406],[-17.749,-6.413],[2.911,-20.803],[10.706,-42.13],[12.463,-42.253]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.319,-54.543],[10.756,-26.946],[21.046,-34.176],[15.938,5.758],[-1.309,9.385],[-14.095,55.467],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.46,-249.442],[46.735,-330.838],[99.591,-351.125],[119.757,-304.456],[99.408,-218.359],[54.795,-53.073]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.585,42.988],[-21.787,54.584],[-6.225,16.429],[-17.774,-6.422],[2.915,-20.832],[10.724,-42.151],[12.491,-42.421]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.336,-54.63],[10.761,-26.96],[21.075,-34.225],[15.961,5.767],[-1.311,9.398],[-14.118,55.492],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.386,-249.364],[46.681,-330.85],[99.613,-351.166],[119.807,-304.43],[99.398,-218.267],[54.795,-53.073]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.572,42.993],[-21.8,54.617],[-6.236,16.456],[-17.803,-6.432],[2.919,-20.866],[10.744,-42.175],[12.524,-42.614]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.355,-54.731],[10.768,-26.977],[21.11,-34.28],[15.987,5.776],[-1.313,9.414],[-14.144,55.521],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.3,-249.273],[46.62,-330.863],[99.637,-351.212],[119.865,-304.401],[99.386,-218.16],[54.795,-53.073]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.557,42.999],[-21.816,54.654],[-6.247,16.486],[-17.836,-6.444],[2.925,-20.905],[10.767,-42.202],[12.561,-42.835]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.378,-54.845],[10.775,-26.995],[21.149,-34.344],[16.017,5.787],[-1.315,9.431],[-14.174,55.554],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.202,-249.17],[46.549,-330.879],[99.665,-351.266],[119.93,-304.367],[99.372,-218.038],[54.795,-53.073]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.54,43.005],[-21.833,54.697],[-6.26,16.521],[-17.874,-6.458],[2.931,-20.949],[10.794,-42.233],[12.603,-43.085]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.403,-54.975],[10.784,-27.016],[21.193,-34.416],[16.05,5.799],[-1.318,9.451],[-14.207,55.591],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.09,-249.053],[46.469,-330.897],[99.697,-351.327],[120.005,-304.329],[99.357,-217.899],[54.795,-53.073]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.522,43.013],[-21.852,54.746],[-6.275,16.56],[-17.916,-6.473],[2.938,-20.999],[10.824,-42.268],[12.651,-43.368]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.431,-55.122],[10.793,-27.04],[21.244,-34.498],[16.088,5.813],[-1.321,9.474],[-14.246,55.633],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.965,-248.921],[46.379,-330.917],[99.733,-351.395],[120.088,-304.286],[99.34,-217.743],[54.795,-53.073]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.501,43.021],[-21.874,54.8],[-6.292,16.604],[-17.964,-6.49],[2.945,-21.055],[10.857,-42.307],[12.704,-43.684]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.463,-55.287],[10.804,-27.067],[21.3,-34.589],[16.131,5.828],[-1.325,9.499],[-14.288,55.681],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.824,-248.773],[46.277,-330.939],[99.773,-351.471],[120.183,-304.237],[99.321,-217.568],[54.795,-53.073]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.477,43.03],[-21.898,54.86],[-6.31,16.653],[-18.017,-6.509],[2.954,-21.117],[10.894,-42.35],[12.764,-44.038]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.499,-55.471],[10.816,-27.097],[21.363,-34.692],[16.179,5.845],[-1.329,9.527],[-14.336,55.734],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.667,-248.608],[46.164,-330.964],[99.818,-351.557],[120.288,-304.184],[99.299,-217.372],[54.795,-53.073]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.451,43.041],[-21.925,54.928],[-6.331,16.708],[-18.076,-6.531],[2.963,-21.186],[10.936,-42.399],[12.83,-44.433]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.539,-55.676],[10.829,-27.13],[21.433,-34.806],[16.232,5.864],[-1.333,9.558],[-14.39,55.793],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.492,-248.424],[46.038,-330.992],[99.868,-351.653],[120.405,-304.123],[99.275,-217.153],[54.795,-53.073]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.422,43.052],[-21.955,55.003],[-6.354,16.769],[-18.142,-6.555],[2.974,-21.263],[10.982,-42.453],[12.904,-44.872]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.583,-55.904],[10.844,-27.167],[21.511,-34.932],[16.291,5.886],[-1.338,9.593],[-14.449,55.858],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.297,-248.219],[45.897,-331.023],[99.923,-351.759],[120.536,-304.057],[99.249,-216.911],[54.795,-53.073]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.389,43.065],[-21.988,55.086],[-6.38,16.836],[-18.215,-6.581],[2.985,-21.349],[11.034,-42.513],[12.987,-45.36]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.632,-56.158],[10.86,-27.209],[21.598,-35.073],[16.357,5.91],[-1.343,9.632],[-14.515,55.931],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.08,-247.991],[45.741,-331.057],[99.985,-351.877],[120.68,-303.982],[99.219,-216.641],[54.795,-53.073]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.353,43.079],[-22.025,55.179],[-6.408,16.911],[-18.296,-6.61],[2.998,-21.444],[11.091,-42.58],[13.078,-45.901]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.686,-56.439],[10.879,-27.254],[21.694,-35.23],[16.43,5.936],[-1.349,9.674],[-14.588,56.012],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[13.84,-247.738],[45.568,-331.095],[100.054,-352.008],[120.841,-303.9],[99.186,-216.341],[54.795,-53.073]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.313,43.095],[-22.066,55.282],[-6.44,16.995],[-18.386,-6.643],[3.013,-21.55],[11.154,-42.654],[13.179,-46.502]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.747,-56.752],[10.899,-27.305],[21.801,-35.403],[16.511,5.965],[-1.356,9.722],[-14.67,56.102],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[13.573,-247.457],[45.376,-331.138],[100.13,-352.153],[121.02,-303.808],[99.149,-216.009],[54.795,-53.073]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.269,43.113],[-22.111,55.396],[-6.475,17.087],[-18.486,-6.679],[3.029,-21.667],[11.225,-42.736],[13.292,-47.17]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.814,-57.098],[10.921,-27.361],[21.92,-35.596],[16.6,5.998],[-1.363,9.775],[-14.76,56.202],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[13.276,-247.146],[45.163,-331.185],[100.214,-352.315],[121.218,-303.706],[99.109,-215.639],[54.795,-53.073]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.22,43.132],[-22.162,55.523],[-6.514,17.19],[-18.597,-6.719],[3.046,-21.798],[11.303,-42.828],[13.416,-47.911]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.889,-57.484],[10.946,-27.424],[22.052,-35.81],[16.7,6.034],[-1.372,9.834],[-14.86,56.312],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[12.947,-246.799],[44.925,-331.237],[100.308,-352.494],[121.438,-303.594],[99.064,-215.229],[54.795,-53.073]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.165,43.154],[-22.218,55.664],[-6.557,17.304],[-18.721,-6.764],[3.066,-21.943],[11.39,-42.93],[13.555,-48.735]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.972,-57.912],[10.974,-27.494],[22.198,-36.048],[16.811,6.074],[-1.381,9.899],[-14.972,56.436],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[12.581,-246.414],[44.662,-331.295],[100.413,-352.694],[121.683,-303.468],[99.013,-214.773],[54.795,-53.073]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.104,43.178],[-22.281,55.82],[-6.605,17.431],[-18.859,-6.814],[3.088,-22.104],[11.487,-43.043],[13.71,-49.653]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.064,-58.389],[11.005,-27.571],[22.361,-36.313],[16.935,6.118],[-1.391,9.972],[-15.096,56.573],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[12.173,-245.986],[44.368,-331.36],[100.529,-352.916],[121.956,-303.328],[98.958,-214.266],[54.795,-53.073]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.036,43.204],[-22.351,55.995],[-6.659,17.573],[-19.012,-6.869],[3.113,-22.284],[11.594,-43.169],[13.882,-50.674]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.167,-58.92],[11.04,-27.657],[22.543,-36.608],[17.072,6.168],[-1.402,10.053],[-15.234,56.725],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[11.72,-245.509],[44.042,-331.432],[100.658,-353.163],[122.259,-303.173],[98.896,-213.701],[54.795,-53.073]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.961,43.234],[-22.428,56.189],[-6.718,17.73],[-19.182,-6.93],[3.14,-22.483],[11.714,-43.308],[14.073,-51.808]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.281,-59.509],[11.078,-27.753],[22.744,-36.935],[17.225,6.223],[-1.415,10.143],[-15.388,56.895],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[11.216,-244.979],[43.679,-331.512],[100.802,-353.437],[122.596,-303],[98.827,-213.073],[54.795,-53.073]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.878,43.267],[-22.514,56.403],[-6.784,17.904],[-19.37,-6.998],[3.17,-22.703],[11.846,-43.463],[14.284,-53.06]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.407,-60.16],[11.12,-27.859],[22.967,-37.297],[17.394,6.284],[-1.428,10.242],[-15.557,57.082],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[10.66,-244.394],[43.279,-331.6],[100.961,-353.74],[122.968,-302.809],[98.75,-212.381],[54.795,-53.073]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.825],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.788,43.303],[-22.606,56.635],[-6.855,18.092],[-19.573,-7.072],[3.202,-22.942],[11.989,-43.63],[14.513,-54.417]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.544,-60.865],[11.166,-27.974],[23.208,-37.688],[17.576,6.35],[-1.444,10.35],[-15.74,57.285],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[10.058,-243.761],[42.845,-331.696],[101.133,-354.068],[123.371,-302.602],[98.668,-211.63],[54.795,-53.073]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.694,43.34],[-22.703,56.877],[-6.93,18.288],[-19.785,-7.148],[3.236,-23.191],[12.139,-43.804],[14.751,-55.831]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.686,-61.6],[11.214,-28.093],[23.46,-38.097],[17.767,6.419],[-1.459,10.462],[-15.932,57.496],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[9.429,-243.1],[42.392,-331.796],[101.312,-354.41],[123.791,-302.387],[98.582,-210.848],[54.795,-53.073]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.604,43.375],[-22.795,57.109],[-7.001,18.476],[-19.989,-7.222],[3.269,-23.429],[12.282,-43.972],[14.979,-57.188]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.823,-62.306],[11.259,-28.208],[23.701,-38.489],[17.949,6.485],[-1.474,10.569],[-16.115,57.699],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.827,-242.466],[41.958,-331.891],[101.484,-354.739],[124.195,-302.18],[98.499,-210.097],[54.795,-53.073]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.53,43.405],[-22.871,57.3],[-7.06,18.63],[-20.156,-7.282],[3.296,-23.625],[12.399,-44.109],[15.167,-58.303]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[23.935,-62.885],[11.297,-28.302],[23.899,-38.81],[18.1,6.539],[-1.486,10.658],[-16.266,57.866],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.332,-241.946],[41.602,-331.97],[101.625,-355.008],[124.526,-302.01],[98.431,-209.48],[54.795,-53.073]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.483,43.423],[-22.919,57.419],[-7.096,18.727],[-20.261,-7.32],[3.312,-23.748],[12.473,-44.195],[15.285,-59.001]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[24.005,-63.248],[11.32,-28.361],[24.023,-39.012],[18.194,6.573],[-1.494,10.713],[-16.361,57.97],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.022,-241.619],[41.378,-332.019],[101.714,-355.177],[124.733,-301.904],[98.389,-209.094],[54.795,-53.073]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.468,43.429],[-22.934,57.457],[-7.108,18.758],[-20.294,-7.332],[3.318,-23.787],[12.497,-44.223],[15.323,-59.225]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[24.028,-63.364],[11.328,-28.38],[24.063,-39.077],[18.224,6.584],[-1.497,10.731],[-16.391,58.003],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[7.922,-241.515],[41.307,-332.035],[101.742,-355.231],[124.8,-301.87],[98.375,-208.97],[54.795,-53.073]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.202,94.793],[-14.745,12.801],[-6.916,-15.158],[0.26,-12.13],[2.071,-12.308],[-4.165,-36.183],[-7.967,-22.12],[-16.458,43.348],[-22.845,57.21],[-7.084,18.696],[-20.227,-7.308],[3.307,-23.708],[12.461,-44.152],[15.305,-59.305]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.411,-14.451],[14.383,-12.469],[4.809,12.017],[-0.359,17.259],[-0.853,5.038],[1.63,14.184],[20.846,-49.856],[24.257,-63.814],[11.331,-28.369],[23.983,-38.947],[18.163,6.562],[-1.492,10.695],[-16.352,57.947],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.301,-55.919],[-162.806,-147.528],[-120.554,-133.098],[-114.753,-99.686],[-117.8,-61.551],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.019,-241.502],[41.451,-332.003],[101.686,-355.155],[124.666,-301.938],[98.296,-209.023],[54.795,-53.073]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.752,94.698],[-14.814,12.709],[-6.825,-15.192],[0.331,-12.123],[2.143,-12.29],[-4.165,-36.183],[-7.967,-22.12],[-16.418,43.052],[-22.515,56.299],[-6.997,18.465],[-19.977,-7.218],[3.266,-23.416],[12.327,-43.89],[15.239,-59.604]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.494,-14.437],[14.449,-12.38],[4.737,12.04],[-0.459,17.25],[-0.882,5.031],[1.63,14.184],[20.846,-49.856],[25.102,-65.473],[11.342,-28.33],[23.687,-38.466],[17.939,6.481],[-1.473,10.563],[-16.21,57.737],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.334,-56.066],[-162.321,-147.412],[-120.172,-132.743],[-114.568,-99.311],[-117.836,-61.209],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[8.374,-241.455],[41.982,-331.885],[101.478,-354.871],[124.171,-302.191],[98.002,-209.218],[54.795,-53.073]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-10.927,94.497],[-14.96,12.513],[-6.63,-15.264],[0.481,-12.109],[2.295,-12.253],[-4.165,-36.183],[-7.967,-22.12],[-16.335,42.417],[-21.81,54.351],[-6.81,17.972],[-19.444,-7.025],[3.179,-22.79],[12.042,-43.331],[15.097,-60.243]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.673,-14.406],[14.591,-12.19],[4.583,12.089],[-0.674,17.23],[-0.944,5.015],[1.63,14.184],[20.846,-49.856],[26.909,-69.021],[11.367,-28.245],[23.055,-37.439],[17.46,6.308],[-1.434,10.281],[-15.905,57.289],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.403,-56.38],[-161.286,-147.164],[-119.354,-131.982],[-114.171,-98.508],[-117.911,-60.479],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[9.135,-241.355],[43.119,-331.633],[101.035,-354.265],[123.113,-302.732],[97.373,-209.636],[54.795,-53.073]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-12.943,94.151],[-15.212,12.177],[-6.296,-15.388],[0.738,-12.085],[2.556,-12.189],[-4.165,-36.183],[-7.967,-22.12],[-16.191,41.328],[-20.6,51.008],[-6.49,17.126],[-18.529,-6.694],[3.029,-21.718],[11.553,-42.371],[14.854,-61.339]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.979,-14.354],[14.835,-11.863],[4.319,12.173],[-1.042,17.195],[-1.05,4.989],[1.63,14.184],[20.846,-49.856],[30.008,-75.107],[11.408,-28.101],[21.97,-35.677],[16.638,6.011],[-1.366,9.797],[-15.383,56.521],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.523,-56.919],[-159.51,-146.738],[-117.952,-130.677],[-113.491,-97.132],[-118.04,-59.227],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[10.44,-241.182],[45.069,-331.201],[100.274,-353.225],[121.298,-303.66],[96.295,-210.352],[54.795,-53.073]],"c":true}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-15.45,93.722],[-15.524,11.759],[-5.88,-15.543],[1.058,-12.055],[2.881,-12.11],[-4.165,-36.183],[-7.967,-22.12],[-16.012,39.975],[-19.095,46.852],[-6.091,16.074],[-17.391,-6.283],[2.843,-20.384],[10.945,-41.177],[14.553,-62.702]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.36,-14.288],[15.138,-11.457],[3.991,12.277],[-1.499,17.152],[-1.182,4.957],[1.63,14.184],[20.846,-49.856],[33.862,-82.675],[11.46,-27.921],[20.621,-33.486],[15.617,5.642],[-1.283,9.196],[-14.733,55.566],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.672,-57.588],[-157.302,-146.209],[-116.209,-129.055],[-112.646,-95.42],[-118.201,-57.67],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[12.062,-240.967],[47.494,-330.664],[99.328,-351.932],[119.042,-304.815],[94.955,-211.242],[54.795,-53.073]],"c":true}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-17.637,93.347],[-15.797,11.394],[-5.518,-15.677],[1.337,-12.028],[3.164,-12.041],[-4.165,-36.183],[-7.967,-22.12],[-15.856,38.794],[-17.783,43.226],[-5.743,15.157],[-16.398,-5.924],[2.681,-19.221],[10.414,-40.136],[14.289,-63.89]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.692,-14.231],[15.402,-11.103],[3.705,12.368],[-1.898,17.115],[-1.297,4.929],[1.63,14.184],[20.846,-49.856],[37.225,-89.278],[11.505,-27.764],[19.443,-31.575],[14.725,5.32],[-1.209,8.671],[-14.166,54.732],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.801,-58.172],[-155.376,-145.747],[-114.688,-127.639],[-111.908,-93.926],[-118.341,-56.311],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[13.477,-240.78],[49.609,-330.196],[98.503,-350.804],[117.073,-305.821],[93.785,-212.018],[54.795,-53.073]],"c":true}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-19.265,93.068],[-16,11.122],[-5.248,-15.777],[1.545,-12.009],[3.375,-11.989],[-4.165,-36.183],[-7.967,-22.12],[-15.739,37.914],[-16.806,40.527],[-5.485,14.474],[-15.659,-5.658],[2.56,-18.354],[10.02,-39.36],[14.093,-64.775]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.939,-14.189],[15.599,-10.84],[3.491,12.436],[-2.195,17.087],[-1.383,4.908],[1.63,14.184],[20.846,-49.856],[39.727,-94.192],[11.538,-27.648],[18.567,-30.152],[14.062,5.08],[-1.155,8.28],[-13.744,54.112],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.898,-58.607],[-153.942,-145.404],[-113.555,-126.585],[-111.359,-92.815],[-118.445,-55.3],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[14.531,-240.641],[51.184,-329.847],[97.889,-349.965],[115.607,-306.571],[92.915,-212.596],[54.795,-53.073]],"c":true}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-20.447,92.865],[-16.147,10.925],[-5.052,-15.85],[1.696,-11.995],[3.528,-11.951],[-4.165,-36.183],[-7.967,-22.12],[-15.655,37.276],[-16.097,38.568],[-5.297,13.978],[-15.123,-5.464],[2.472,-17.726],[9.733,-38.798],[13.951,-65.418]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.119,-14.158],[15.742,-10.649],[3.337,12.485],[-2.411,17.067],[-1.445,4.893],[1.63,14.184],[20.846,-49.856],[41.544,-97.759],[11.563,-27.563],[17.931,-29.119],[13.58,4.906],[-1.115,7.996],[-13.438,53.661],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.968,-58.923],[-152.901,-145.154],[-112.734,-125.821],[-110.96,-92.008],[-118.521,-54.566],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.296,-240.54],[52.327,-329.593],[97.443,-349.355],[114.544,-307.115],[92.283,-213.016],[54.795,-53.073]],"c":true}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-21.308,92.717],[-16.254,10.782],[-4.909,-15.903],[1.806,-11.984],[3.639,-11.924],[-4.165,-36.183],[-7.967,-22.12],[-15.594,36.811],[-15.58,37.141],[-5.16,13.617],[-14.732,-5.323],[2.408,-17.268],[9.524,-38.388],[13.848,-65.885]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.25,-14.135],[15.846,-10.509],[3.224,12.521],[-2.568,17.052],[-1.49,4.881],[1.63,14.184],[20.846,-49.856],[42.867,-100.358],[11.58,-27.501],[17.468,-28.367],[13.229,4.78],[-1.086,7.79],[-13.215,53.333],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.019,-59.153],[-152.142,-144.973],[-112.135,-125.263],[-110.67,-91.42],[-118.576,-54.031],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.853,-240.466],[53.159,-329.409],[97.118,-348.911],[113.769,-307.511],[91.822,-213.322],[54.795,-53.073]],"c":true}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-21.935,92.61],[-16.332,10.677],[-4.805,-15.942],[1.886,-11.977],[3.72,-11.904],[-4.165,-36.183],[-7.967,-22.12],[-15.549,36.473],[-15.204,36.102],[-5.06,13.354],[-14.447,-5.22],[2.362,-16.934],[9.372,-38.089],[13.772,-66.226]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.345,-14.119],[15.922,-10.408],[3.142,12.547],[-2.682,17.041],[-1.523,4.873],[1.63,14.184],[20.846,-49.856],[43.831,-102.251],[11.593,-27.456],[17.131,-27.819],[12.974,4.687],[-1.065,7.639],[-13.052,53.094],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.056,-59.32],[-151.59,-144.84],[-111.699,-124.858],[-110.458,-90.992],[-118.616,-53.642],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.259,-240.412],[53.766,-329.275],[96.882,-348.588],[113.205,-307.8],[91.487,-213.544],[54.795,-53.073]],"c":true}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.385,92.533],[-16.388,10.602],[-4.73,-15.969],[1.943,-11.971],[3.779,-11.89],[-4.165,-36.183],[-7.967,-22.12],[-15.517,36.23],[-14.934,35.356],[-4.989,13.165],[-14.243,-5.146],[2.328,-16.695],[9.263,-37.875],[13.718,-66.471]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.413,-14.107],[15.976,-10.335],[3.083,12.566],[-2.764,17.034],[-1.547,4.867],[1.63,14.184],[20.846,-49.856],[44.523,-103.609],[11.603,-27.424],[16.888,-27.425],[12.79,4.621],[-1.05,7.531],[-12.936,52.923],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.083,-59.441],[-151.194,-144.745],[-111.386,-124.566],[-110.306,-90.685],[-118.645,-53.362],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.55,-240.374],[54.201,-329.178],[96.712,-348.356],[112.799,-308.007],[91.247,-213.704],[54.795,-53.073]],"c":true}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.697,92.479],[-16.427,10.55],[-4.679,-15.989],[1.983,-11.967],[3.819,-11.88],[-4.165,-36.183],[-7.967,-22.12],[-15.494,36.061],[-14.746,34.838],[-4.939,13.034],[-14.101,-5.095],[2.305,-16.529],[9.187,-37.726],[13.68,-66.641]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.461,-14.099],[16.014,-10.284],[3.042,12.579],[-2.821,17.028],[-1.564,4.863],[1.63,14.184],[20.846,-49.856],[45.003,-104.552],[11.609,-27.402],[16.72,-27.153],[12.663,4.575],[-1.04,7.456],[-12.855,52.804],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.101,-59.524],[-150.919,-144.68],[-111.169,-124.364],[-110.201,-90.471],[-118.665,-53.168],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.752,-240.347],[54.503,-329.111],[96.594,-348.195],[112.518,-308.151],[91.08,-213.815],[54.795,-53.073]],"c":true}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.899,92.445],[-16.452,10.517],[-4.645,-16.001],[2.009,-11.965],[3.845,-11.874],[-4.165,-36.183],[-7.967,-22.12],[-15.48,35.953],[-14.625,34.504],[-4.907,12.95],[-14.01,-5.062],[2.29,-16.422],[9.138,-37.631],[13.656,-66.75]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.491,-14.094],[16.039,-10.252],[3.016,12.587],[-2.858,17.025],[-1.574,4.861],[1.63,14.184],[20.846,-49.856],[45.313,-105.16],[11.613,-27.387],[16.612,-26.977],[12.581,4.545],[-1.033,7.408],[-12.803,52.727],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.113,-59.578],[-150.741,-144.637],[-111.029,-124.234],[-110.133,-90.334],[-118.678,-53.043],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.882,-240.33],[54.698,-329.068],[96.518,-348.091],[112.337,-308.243],[90.972,-213.886],[54.795,-53.073]],"c":true}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.009,92.426],[-16.466,10.498],[-4.627,-16.008],[2.023,-11.964],[3.86,-11.87],[-4.165,-36.183],[-7.967,-22.12],[-15.472,35.893],[-14.559,34.321],[-4.889,12.903],[-13.96,-5.044],[2.282,-16.363],[9.112,-37.578],[13.643,-66.81]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.508,-14.091],[16.052,-10.234],[3.001,12.592],[-2.878,17.023],[-1.58,4.859],[1.63,14.184],[20.846,-49.856],[45.483,-105.493],[11.615,-27.379],[16.553,-26.88],[12.536,4.529],[-1.03,7.382],[-12.774,52.685],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.119,-59.607],[-150.644,-144.614],[-110.952,-124.163],[-110.096,-90.258],[-118.685,-52.975],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.954,-240.32],[54.804,-329.044],[96.476,-348.034],[112.238,-308.294],[90.913,-213.926],[54.795,-53.073]],"c":true}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.043,92.42],[-16.47,10.492],[-4.621,-16.01],[2.027,-11.963],[3.864,-11.869],[-4.165,-36.183],[-7.967,-22.12],[-15.47,35.875],[-14.539,34.264],[-4.884,12.889],[-13.944,-5.038],[2.28,-16.345],[9.103,-37.562],[13.639,-66.829]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.513,-14.09],[16.056,-10.228],[2.997,12.593],[-2.884,17.022],[-1.582,4.859],[1.63,14.184],[20.846,-49.856],[45.535,-105.596],[11.616,-27.377],[16.534,-26.85],[12.522,4.524],[-1.028,7.373],[-12.765,52.672],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.122,-59.616],[-150.614,-144.607],[-110.928,-124.14],[-110.084,-90.235],[-118.687,-52.953],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.976,-240.317],[54.837,-329.037],[96.463,-348.016],[112.207,-308.31],[90.895,-213.938],[54.795,-53.073]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.043,92.42],[-16.47,10.492],[-4.621,-16.01],[2.027,-11.963],[3.864,-11.869],[-4.165,-36.183],[-7.967,-22.12],[-15.47,35.875],[-14.539,34.264],[-4.884,12.889],[-13.944,-5.038],[2.28,-16.345],[9.103,-37.562],[13.639,-66.829]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.513,-14.09],[16.056,-10.228],[2.997,12.593],[-2.884,17.022],[-1.582,4.859],[1.63,14.184],[20.846,-49.856],[45.535,-105.596],[11.616,-27.377],[16.534,-26.85],[12.522,4.524],[-1.028,7.373],[-12.765,52.672],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.122,-59.616],[-150.614,-144.607],[-110.928,-124.14],[-110.084,-90.235],[-118.687,-52.953],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.976,-240.317],[54.837,-329.037],[96.463,-348.016],[112.207,-308.31],[90.895,-213.938],[54.795,-53.073]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.026,92.423],[-16.468,10.495],[-4.624,-16.009],[2.025,-11.964],[3.862,-11.87],[-4.165,-36.183],[-7.967,-22.12],[-15.472,35.883],[-14.548,34.29],[-4.886,12.893],[-13.949,-5.04],[2.28,-16.35],[9.105,-37.567],[13.637,-66.797]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.51,-14.091],[16.054,-10.231],[2.999,12.593],[-2.881,17.023],[-1.581,4.859],[1.63,14.184],[20.846,-49.856],[45.506,-105.532],[11.615,-27.376],[16.54,-26.859],[12.526,4.526],[-1.029,7.376],[-12.767,52.675],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.12,-59.612],[-150.629,-144.61],[-110.94,-124.152],[-110.09,-90.247],[-118.686,-52.964],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.974,-240.329],[54.828,-329.039],[96.467,-348.02],[112.216,-308.305],[90.905,-213.944],[54.795,-53.073]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.972,92.432],[-16.462,10.504],[-4.633,-16.006],[2.018,-11.964],[3.855,-11.871],[-4.165,-36.183],[-7.967,-22.12],[-15.481,35.91],[-14.575,34.367],[-4.891,12.906],[-13.963,-5.045],[2.283,-16.367],[9.111,-37.585],[13.632,-66.701]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.502,-14.092],[16.047,-10.24],[3.006,12.59],[-2.871,17.023],[-1.578,4.86],[1.63,14.184],[20.846,-49.856],[45.417,-105.336],[11.612,-27.374],[16.557,-26.887],[12.539,4.53],[-1.03,7.383],[-12.772,52.686],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.117,-59.598],[-150.676,-144.622],[-110.977,-124.186],[-110.108,-90.283],[-118.682,-52.997],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.969,-240.365],[54.797,-329.046],[96.479,-348.031],[112.244,-308.291],[90.938,-213.962],[54.795,-53.073]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.881,92.448],[-16.45,10.52],[-4.648,-16],[2.006,-11.965],[3.843,-11.874],[-4.165,-36.183],[-7.967,-22.12],[-15.495,35.957],[-14.622,34.499],[-4.899,12.929],[-13.988,-5.054],[2.287,-16.395],[9.121,-37.614],[13.624,-66.537]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.489,-14.094],[16.036,-10.255],[3.018,12.587],[-2.855,17.025],[-1.573,4.861],[1.63,14.184],[20.846,-49.856],[45.265,-105.001],[11.606,-27.371],[16.585,-26.933],[12.561,4.538],[-1.032,7.396],[-12.78,52.703],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.112,-59.573],[-150.757,-144.641],[-111.041,-124.245],[-110.139,-90.346],[-118.677,-53.054],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.961,-240.426],[54.746,-329.058],[96.499,-348.051],[112.292,-308.266],[90.994,-213.993],[54.795,-53.073]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.75,92.47],[-16.434,10.541],[-4.67,-15.992],[1.99,-11.967],[3.826,-11.879],[-4.165,-36.183],[-7.967,-22.12],[-15.515,36.023],[-14.69,34.688],[-4.911,12.961],[-14.022,-5.066],[2.293,-16.436],[9.136,-37.656],[13.612,-66.301]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.469,-14.098],[16.021,-10.276],[3.035,12.581],[-2.831,17.027],[-1.566,4.863],[1.63,14.184],[20.846,-49.856],[45.047,-104.519],[11.598,-27.367],[16.627,-27],[12.592,4.549],[-1.034,7.415],[-12.792,52.729],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.104,-59.538],[-150.873,-144.669],[-111.132,-124.33],[-110.183,-90.435],[-118.668,-53.136],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.949,-240.514],[54.671,-329.074],[96.527,-348.078],[112.362,-308.231],[91.074,-214.037],[54.795,-53.073]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.576,92.5],[-16.412,10.57],[-4.699,-15.981],[1.967,-11.969],[3.804,-11.884],[-4.165,-36.183],[-7.967,-22.12],[-15.542,36.111],[-14.779,34.938],[-4.927,13.004],[-14.068,-5.083],[2.3,-16.49],[9.155,-37.712],[13.596,-65.989]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.442,-14.102],[16,-10.304],[3.058,12.574],[-2.799,17.03],[-1.557,4.865],[1.63,14.184],[20.846,-49.856],[44.758,-103.883],[11.587,-27.361],[16.681,-27.089],[12.633,4.564],[-1.038,7.439],[-12.807,52.762],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.094,-59.492],[-151.025,-144.705],[-111.253,-124.443],[-110.242,-90.554],[-118.657,-53.243],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.934,-240.631],[54.573,-329.096],[96.565,-348.115],[112.453,-308.184],[91.18,-214.096],[54.795,-53.073]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.358,92.537],[-16.385,10.607],[-4.735,-15.968],[1.94,-11.972],[3.775,-11.891],[-4.165,-36.183],[-7.967,-22.12],[-15.576,36.222],[-14.891,35.253],[-4.948,13.057],[-14.126,-5.104],[2.31,-16.558],[9.179,-37.782],[13.576,-65.598]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.409,-14.108],[15.973,-10.339],[3.087,12.565],[-2.759,17.034],[-1.546,4.868],[1.63,14.184],[20.846,-49.856],[44.396,-103.083],[11.573,-27.353],[16.75,-27.201],[12.685,4.583],[-1.042,7.47],[-12.827,52.805],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.081,-59.434],[-151.217,-144.751],[-111.404,-124.584],[-110.315,-90.703],[-118.643,-53.379],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.914,-240.777],[54.45,-329.123],[96.613,-348.162],[112.568,-308.126],[91.313,-214.17],[54.795,-53.073]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-22.093,92.583],[-16.352,10.651],[-4.779,-15.951],[1.906,-11.975],[3.741,-11.899],[-4.165,-36.183],[-7.967,-22.12],[-15.617,36.356],[-15.027,35.635],[-4.972,13.122],[-14.197,-5.129],[2.322,-16.64],[9.208,-37.867],[13.552,-65.121]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.369,-14.115],[15.941,-10.382],[3.121,12.554],[-2.711,17.038],[-1.532,4.871],[1.63,14.184],[20.846,-49.856],[43.955,-102.11],[11.556,-27.344],[16.833,-27.336],[12.749,4.606],[-1.047,7.507],[-12.85,52.856],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.065,-59.363],[-151.451,-144.807],[-111.589,-124.755],[-110.405,-90.884],[-118.626,-53.543],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.89,-240.955],[54.3,-329.157],[96.671,-348.218],[112.708,-308.054],[91.475,-214.259],[54.795,-53.073]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-21.779,92.637],[-16.313,10.703],[-4.831,-15.932],[1.866,-11.979],[3.7,-11.909],[-4.165,-36.183],[-7.967,-22.12],[-15.665,36.516],[-15.189,36.09],[-5.002,13.2],[-14.281,-5.159],[2.335,-16.739],[9.243,-37.968],[13.524,-64.555]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.321,-14.123],[15.903,-10.433],[3.162,12.541],[-2.653,17.044],[-1.515,4.875],[1.63,14.184],[20.846,-49.856],[43.431,-100.954],[11.537,-27.333],[16.933,-27.497],[12.824,4.633],[-1.053,7.551],[-12.878,52.917],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.047,-59.279],[-151.728,-144.873],[-111.807,-124.959],[-110.511,-91.099],[-118.606,-53.739],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.862,-241.166],[54.122,-329.196],[96.74,-348.285],[112.874,-307.969],[91.667,-214.366],[54.795,-53.073]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-21.411,92.7],[-16.267,10.765],[-4.892,-15.909],[1.819,-11.983],[3.653,-11.921],[-4.165,-36.183],[-7.967,-22.12],[-15.722,36.702],[-15.379,36.621],[-5.036,13.29],[-14.378,-5.195],[2.352,-16.853],[9.283,-38.087],[13.49,-63.894]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.265,-14.133],[15.859,-10.493],[3.211,12.525],[-2.586,17.05],[-1.496,4.88],[1.63,14.184],[20.846,-49.856],[42.819,-99.605],[11.514,-27.321],[17.049,-27.686],[12.912,4.665],[-1.06,7.603],[-12.911,52.988],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.025,-59.18],[-152.052,-144.951],[-112.063,-125.197],[-110.635,-91.35],[-118.582,-53.967],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.829,-241.413],[53.914,-329.242],[96.82,-348.363],[113.068,-307.87],[91.892,-214.491],[54.795,-53.073]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-20.987,92.772],[-16.214,10.835],[-4.962,-15.883],[1.765,-11.988],[3.598,-11.934],[-4.165,-36.183],[-7.967,-22.12],[-15.788,36.917],[-15.597,37.232],[-5.075,13.394],[-14.491,-5.235],[2.37,-16.985],[9.33,-38.223],[13.452,-63.132]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.201,-14.144],[15.807,-10.561],[3.266,12.508],[-2.509,17.057],[-1.474,4.886],[1.63,14.184],[20.846,-49.856],[42.114,-98.049],[11.487,-27.306],[17.182,-27.903],[13.013,4.701],[-1.069,7.662],[-12.949,53.07],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202,-59.067],[-152.425,-145.041],[-112.358,-125.471],[-110.778,-91.639],[-118.555,-54.231],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.791,-241.698],[53.674,-329.296],[96.912,-348.453],[113.292,-307.756],[92.151,-214.634],[54.795,-53.073]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-20.504,92.855],[-16.154,10.916],[-5.042,-15.854],[1.703,-11.994],[3.535,-11.95],[-4.165,-36.183],[-7.967,-22.12],[-15.863,37.162],[-15.845,37.93],[-5.12,13.513],[-14.619,-5.282],[2.392,-17.136],[9.383,-38.378],[13.408,-62.263]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.127,-14.156],[15.749,-10.639],[3.329,12.488],[-2.421,17.066],[-1.448,4.892],[1.63,14.184],[20.846,-49.856],[41.31,-96.275],[11.456,-27.29],[17.335,-28.15],[13.128,4.743],[-1.078,7.73],[-12.992,53.164],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.971,-58.938],[-152.851,-145.143],[-112.694,-125.784],[-110.941,-91.969],[-118.524,-54.531],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.747,-242.022],[53.4,-329.357],[97.018,-348.555],[113.546,-307.626],[92.446,-214.798],[54.795,-53.073]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-19.958,92.949],[-16.086,11.007],[-5.133,-15.82],[1.633,-12],[3.464,-11.967],[-4.165,-36.183],[-7.967,-22.12],[-15.947,37.439],[-16.126,38.718],[-5.171,13.647],[-14.765,-5.334],[2.416,-17.306],[9.443,-38.554],[13.358,-61.281]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.044,-14.171],[15.683,-10.728],[3.401,12.465],[-2.321,17.075],[-1.419,4.899],[1.63,14.184],[20.846,-49.856],[40.402,-94.27],[11.422,-27.271],[17.507,-28.43],[13.258,4.79],[-1.089,7.807],[-13.041,53.269],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.939,-58.792],[-153.332,-145.258],[-113.074,-126.137],[-111.125,-92.342],[-118.489,-54.87],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.698,-242.389],[53.091,-329.425],[97.137,-348.671],[113.835,-307.479],[92.78,-214.983],[54.795,-53.073]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-19.345,93.054],[-16.009,11.109],[-5.235,-15.782],[1.555,-12.008],[3.385,-11.986],[-4.165,-36.183],[-7.967,-22.12],[-16.042,37.75],[-16.442,39.603],[-5.228,13.798],[-14.927,-5.393],[2.443,-17.497],[9.511,-38.751],[13.302,-60.18]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.951,-14.187],[15.609,-10.827],[3.481,12.439],[-2.209,17.086],[-1.387,4.907],[1.63,14.184],[20.846,-49.856],[39.382,-92.02],[11.384,-27.25],[17.7,-28.743],[13.405,4.843],[-1.101,7.893],[-13.096,53.388],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.902,-58.629],[-153.872,-145.387],[-113.5,-126.534],[-111.332,-92.761],[-118.45,-55.251],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.643,-242.801],[52.744,-329.502],[97.271,-348.801],[114.158,-307.314],[93.154,-215.191],[54.795,-53.073]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-18.662,93.171],[-15.924,11.223],[-5.348,-15.74],[1.468,-12.016],[3.297,-12.008],[-4.165,-36.183],[-7.967,-22.12],[-16.147,38.096],[-16.793,40.588],[-5.292,13.965],[-15.109,-5.459],[2.473,-17.709],[9.586,-38.97],[13.24,-58.952]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.848,-14.205],[15.526,-10.938],[3.57,12.411],[-2.085,17.097],[-1.351,4.916],[1.63,14.184],[20.846,-49.856],[38.246,-89.514],[11.341,-27.227],[17.915,-29.093],[13.568,4.902],[-1.114,7.989],[-13.157,53.52],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.862,-58.446],[-154.473,-145.531],[-113.975,-126.976],[-111.562,-93.227],[-118.406,-55.675],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.581,-243.259],[52.357,-329.588],[97.42,-348.946],[114.518,-307.13],[93.572,-215.422],[54.795,-53.073]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-17.906,93.301],[-15.83,11.349],[-5.473,-15.694],[1.371,-12.025],[3.199,-12.032],[-4.165,-36.183],[-7.967,-22.12],[-16.264,38.48],[-17.182,41.68],[-5.362,14.151],[-15.31,-5.531],[2.506,-17.945],[9.67,-39.213],[13.171,-57.593]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.733,-14.224],[15.435,-11.06],[3.669,12.379],[-1.947,17.11],[-1.311,4.925],[1.63,14.184],[20.846,-49.856],[36.988,-86.738],[11.293,-27.201],[18.153,-29.48],[13.748,4.967],[-1.129,8.095],[-13.225,53.667],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.817,-58.244],[-155.139,-145.691],[-114.501,-127.465],[-111.817,-93.743],[-118.358,-56.145],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.513,-243.767],[51.93,-329.684],[97.585,-349.107],[114.917,-306.927],[94.034,-215.678],[54.795,-53.073]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-17.074,93.443],[-15.726,11.488],[-5.611,-15.643],[1.265,-12.035],[3.091,-12.058],[-4.165,-36.183],[-7.967,-22.12],[-16.393,38.901],[-17.61,42.88],[-5.44,14.355],[-15.531,-5.611],[2.543,-18.204],[9.761,-39.481],[13.096,-56.098]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.606,-14.246],[15.334,-11.195],[3.778,12.345],[-1.795,17.124],[-1.267,4.936],[1.63,14.184],[20.846,-49.856],[35.605,-83.686],[11.241,-27.172],[18.415,-29.905],[13.947,5.039],[-1.145,8.212],[-13.299,53.828],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.768,-58.022],[-155.872,-145.866],[-115.079,-128.004],[-112.098,-94.311],[-118.305,-56.661],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.438,-244.325],[51.459,-329.788],[97.767,-349.283],[115.356,-306.703],[94.542,-215.96],[54.795,-53.073]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-16.167,93.599],[-15.613,11.639],[-5.761,-15.587],[1.149,-12.046],[2.973,-12.087],[-4.165,-36.183],[-7.967,-22.12],[-16.533,39.361],[-18.077,44.189],[-5.524,14.578],[-15.772,-5.698],[2.583,-18.486],[9.861,-39.772],[13.013,-54.467]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.469,-14.27],[15.225,-11.341],[3.897,12.307],[-1.63,17.14],[-1.22,4.948],[1.63,14.184],[20.846,-49.856],[34.096,-80.356],[11.184,-27.141],[18.701,-30.37],[14.163,5.117],[-1.163,8.34],[-13.381,54.003],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.714,-57.78],[-156.671,-146.058],[-115.71,-128.591],[-112.404,-94.931],[-118.246,-57.225],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.356,-244.934],[50.945,-329.902],[97.965,-349.476],[115.834,-306.458],[95.096,-216.267],[54.795,-53.073]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-15.186,93.767],[-15.491,11.803],[-5.924,-15.526],[1.024,-12.058],[2.846,-12.118],[-4.165,-36.183],[-7.967,-22.12],[-16.685,39.859],[-18.581,45.604],[-5.615,14.819],[-16.033,-5.793],[2.626,-18.792],[9.969,-40.088],[12.924,-52.704]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.32,-14.295],[15.106,-11.5],[4.025,12.266],[-1.451,17.157],[-1.168,4.96],[1.63,14.184],[20.846,-49.856],[32.465,-76.757],[11.122,-27.108],[19.01,-30.871],[14.397,5.202],[-1.182,8.478],[-13.468,54.193],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.656,-57.518],[-157.534,-146.265],[-116.392,-129.225],[-112.734,-95.6],[-118.184,-57.834],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.268,-245.592],[50.39,-330.026],[98.179,-349.684],[116.351,-306.195],[95.695,-216.599],[54.795,-53.073]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-14.141,93.946],[-15.361,11.977],[-6.097,-15.462],[0.891,-12.07],[2.711,-12.151],[-4.165,-36.183],[-7.967,-22.12],[-16.847,40.389],[-19.119,47.113],[-5.713,15.076],[-16.311,-5.893],[2.672,-19.117],[10.085,-40.424],[12.829,-50.826]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[2.161,-14.322],[14.98,-11.669],[4.162,12.223],[-1.26,17.175],[-1.113,4.974],[1.63,14.184],[20.846,-49.856],[30.726,-72.921],[11.056,-27.072],[19.34,-31.406],[14.647,5.292],[-1.203,8.625],[-13.562,54.396],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.594,-57.239],[-158.455,-146.485],[-117.119,-129.902],[-113.087,-96.314],[-118.117,-58.483],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.174,-246.294],[49.799,-330.157],[98.407,-349.906],[116.903,-305.913],[96.334,-216.954],[54.795,-53.073]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-13.049,94.133],[-15.225,12.159],[-6.278,-15.395],[0.751,-12.083],[2.57,-12.186],[-4.165,-36.183],[-7.967,-22.12],[-17.016,40.942],[-19.681,48.689],[-5.814,15.344],[-16.601,-5.998],[2.721,-19.457],[10.205,-40.775],[12.73,-48.863]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.995,-14.351],[14.848,-11.846],[4.305,12.177],[-1.061,17.193],[-1.055,4.988],[1.63,14.184],[20.846,-49.856],[28.909,-68.913],[10.988,-27.035],[19.684,-31.965],[14.907,5.386],[-1.224,8.778],[-13.66,54.607],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.529,-56.947],[-159.417,-146.716],[-117.878,-130.608],[-113.455,-97.059],[-118.047,-59.161],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.075,-247.027],[49.181,-330.295],[98.646,-350.138],[117.479,-305.619],[97.001,-217.323],[54.795,-53.073]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-11.945,94.323],[-15.087,12.343],[-6.461,-15.327],[0.61,-12.097],[2.427,-12.221],[-4.165,-36.183],[-7.967,-22.12],[-17.187,41.502],[-20.249,50.284],[-5.917,15.616],[-16.894,-6.104],[2.769,-19.801],[10.327,-41.13],[12.629,-46.876]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.827,-14.38],[14.714,-12.025],[4.45,12.131],[-0.859,17.212],[-0.997,5.002],[1.63,14.184],[20.846,-49.856],[27.071,-64.857],[10.918,-26.997],[20.032,-32.53],[15.171,5.481],[-1.246,8.933],[-13.758,54.821],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.464,-56.652],[-160.39,-146.949],[-118.647,-131.323],[-113.828,-97.814],[-117.976,-59.847],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.976,-247.769],[48.555,-330.434],[98.887,-350.372],[118.061,-305.322],[97.676,-217.698],[54.795,-53.073]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-10.885,94.504],[-14.955,12.52],[-6.637,-15.262],[0.475,-12.109],[2.289,-12.254],[-4.165,-36.183],[-7.967,-22.12],[-17.35,42.04],[-20.794,51.813],[-6.016,15.876],[-17.176,-6.206],[2.816,-20.131],[10.443,-41.47],[12.533,-44.972]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.666,-14.407],[14.586,-12.196],[4.589,12.087],[-0.666,17.23],[-0.941,5.016],[1.63,14.184],[20.846,-49.856],[25.309,-60.968],[10.852,-26.96],[20.366,-33.073],[15.424,5.573],[-1.267,9.082],[-13.853,55.026],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.401,-56.369],[-161.323,-147.173],[-119.384,-132.009],[-114.185,-98.537],[-117.908,-60.506],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.88,-248.48],[47.956,-330.567],[99.118,-350.597],[118.62,-305.036],[98.324,-218.057],[54.795,-53.073]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.962,94.662],[-14.84,12.674],[-6.79,-15.205],[0.357,-12.121],[2.17,-12.284],[-4.165,-36.183],[-7.967,-22.12],[-17.493,42.508],[-21.269,53.145],[-6.102,16.103],[-17.421,-6.294],[2.857,-20.419],[10.545,-41.767],[12.449,-43.312]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.526,-14.431],[14.474,-12.346],[4.709,12.049],[-0.498,17.246],[-0.893,5.028],[1.63,14.184],[20.846,-49.856],[23.773,-57.58],[10.793,-26.929],[20.657,-33.545],[15.644,5.652],[-1.285,9.212],[-13.936,55.205],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.346,-56.122],[-162.136,-147.367],[-120.026,-132.606],[-114.497,-99.167],[-117.849,-61.079],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.797,-249.1],[47.433,-330.683],[99.32,-350.793],[119.107,-304.788],[98.888,-218.369],[54.795,-53.073]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.303,94.775],[-14.758,12.784],[-6.899,-15.165],[0.273,-12.128],[2.084,-12.305],[-4.165,-36.183],[-7.967,-22.12],[-17.595,42.842],[-21.608,54.096],[-6.163,16.265],[-17.596,-6.357],[2.886,-20.624],[10.618,-41.979],[12.389,-42.128]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.426,-14.449],[14.395,-12.453],[4.796,12.021],[-0.378,17.257],[-0.858,5.036],[1.63,14.184],[20.846,-49.856],[22.677,-55.161],[10.752,-26.906],[20.865,-33.882],[15.801,5.709],[-1.298,9.305],[-13.995,55.333],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.307,-55.946],[-162.717,-147.506],[-120.484,-133.033],[-114.719,-99.617],[-117.807,-61.488],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.738,-249.543],[47.06,-330.766],[99.464,-350.933],[119.455,-304.61],[99.29,-218.593],[54.795,-53.073]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.634,42.969],[-21.737,54.457],[-6.186,16.326],[-17.663,-6.381],[2.897,-20.702],[10.645,-42.059],[12.366,-41.679]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.261,-54.244],[10.736,-26.898],[20.943,-34.01],[15.861,5.73],[-1.303,9.34],[-14.017,55.381],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.715,-249.71],[46.919,-330.797],[99.518,-350.986],[119.587,-304.543],[99.443,-218.677],[54.795,-53.073]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Hand","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Hand Lines","parent":7,"tt":1,"tp":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[72.723,19.821,0],"ix":2,"l":2},"a":{"a":0,"k":[490.552,442.212,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-7.665,31.475]],"o":[[0,0],[0,0]],"v":[[-15.889,21.592],[15.889,-21.592]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[382.696,550.212],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Thumb Line","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[-9.068,38.768],[0,0]],"v":[[10.258,-29.133],[-10.258,29.133]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.8,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[428.001,369.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Line 1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[9.242,-16.485]],"o":[[-4.672,26.39],[0,0]],"v":[[10.819,-35.549],[-10.819,35.549]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.8,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[515.779,357.675],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Line 2","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,25.56],[0,0]],"v":[[8.374,-35.429],[-8.374,35.429]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.8,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[583.068,337.766],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Line 3","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Hand","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.6],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":4,"s":[-6]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":56,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[3]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":92,"s":[3]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":113,"s":[-1]},{"i":{"x":[0.59],"y":[1]},"o":{"x":[0.11],"y":[0.44]},"t":115,"s":[-1]},{"t":140,"s":[4],"h":1}],"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[133,148,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.84,"y":1},"o":{"x":0.83,"y":0},"t":65,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.634,42.969],[-21.737,54.457],[-6.186,16.326],[-17.663,-6.381],[2.897,-20.702],[10.645,-42.059],[12.366,-41.679]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.261,-54.244],[10.736,-26.898],[20.943,-34.01],[15.861,5.73],[-1.303,9.34],[-14.017,55.381],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.715,-249.71],[46.919,-330.797],[99.518,-350.986],[119.587,-304.543],[99.443,-218.677],[54.795,-53.073]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":98,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-16.468,43.429],[-22.934,57.457],[-7.108,18.758],[-20.294,-7.332],[3.318,-23.787],[12.497,-44.223],[15.323,-59.225]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[24.028,-63.364],[11.328,-28.38],[24.063,-39.077],[18.224,6.584],[-1.497,10.731],[-16.391,58.003],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[7.922,-241.515],[41.307,-332.035],[101.742,-355.231],[124.8,-301.87],[98.375,-208.97],[54.795,-53.073]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.66,"y":0},"t":113,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.043,92.42],[-16.47,10.492],[-4.621,-16.01],[2.027,-11.963],[3.864,-11.869],[-4.165,-36.183],[-7.967,-22.12],[-15.47,35.875],[-14.539,34.264],[-4.884,12.889],[-13.944,-5.038],[2.28,-16.345],[9.103,-37.562],[13.639,-66.829]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.513,-14.09],[16.056,-10.228],[2.997,12.593],[-2.884,17.022],[-1.582,4.859],[1.63,14.184],[20.846,-49.856],[45.535,-105.596],[11.616,-27.377],[16.534,-26.85],[12.522,4.524],[-1.028,7.373],[-12.765,52.672],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.122,-59.616],[-150.614,-144.607],[-110.928,-124.14],[-110.084,-90.235],[-118.687,-52.953],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.976,-240.317],[54.837,-329.037],[96.463,-348.016],[112.207,-308.31],[90.895,-213.938],[54.795,-53.073]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.66,"y":0},"t":115,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-23.043,92.42],[-16.47,10.492],[-4.621,-16.01],[2.027,-11.963],[3.864,-11.869],[-4.165,-36.183],[-7.967,-22.12],[-15.47,35.875],[-14.539,34.264],[-4.884,12.889],[-13.944,-5.038],[2.28,-16.345],[9.103,-37.562],[13.639,-66.829]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[3.513,-14.09],[16.056,-10.228],[2.997,12.593],[-2.884,17.022],[-1.582,4.859],[1.63,14.184],[20.846,-49.856],[45.535,-105.596],[11.616,-27.377],[16.534,-26.85],[12.522,4.524],[-1.028,7.373],[-12.765,52.672],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-202.122,-59.616],[-150.614,-144.607],[-110.928,-124.14],[-110.084,-90.235],[-118.687,-52.953],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[16.976,-240.317],[54.837,-329.037],[96.463,-348.016],[112.207,-308.31],[90.895,-213.938],[54.795,-53.073]],"c":true}]},{"t":140,"s":[{"i":[[-14.274,-42.007],[-17.413,-41.917],[0,0],[2.927,-58.816],[44.814,-60.355],[77.889,155.264],[-9.053,94.818],[-14.727,12.826],[-6.941,-15.149],[0.241,-12.131],[2.052,-12.312],[-4.165,-36.183],[-7.967,-22.12],[-17.634,42.969],[-21.737,54.457],[-6.186,16.326],[-17.663,-6.381],[2.897,-20.702],[10.645,-42.059],[12.366,-41.679]],"o":[[4.783,0.1],[0,0],[20.762,5.492],[-3.983,58.877],[-77.285,104.022],[-56.221,-112.08],[1.388,-14.455],[14.365,-12.493],[4.828,12.011],[-0.332,17.262],[-0.845,5.04],[1.63,14.184],[20.846,-49.856],[22.261,-54.244],[10.736,-26.898],[20.943,-34.01],[15.861,5.73],[-1.303,9.34],[-14.017,55.381],[12.222,1.147]],"v":[[122.936,-2.827],[180.123,41.836],[180.123,41.866],[227.2,122.772],[169.108,282.714],[-199.844,234.128],[-201.292,-55.879],[-162.937,-147.559],[-120.658,-133.195],[-114.803,-99.788],[-117.791,-61.643],[-117.067,-13.661],[-103.969,41.926],[-50.496,-86.743],[15.715,-249.71],[46.919,-330.797],[99.518,-350.986],[119.587,-304.543],[99.443,-218.677],[54.795,-53.073]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-48.45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Hand","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0}]},{"id":"comp_2","nm":"Part02_Charade_Tablet_Overview_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"REPO","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":640,"ix":3},"y":{"a":0,"k":1337,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":60,"op":312,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Secondary Y Movement","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":38,"s":[-621.291]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":40.334,"s":[-614.091]},{"t":52,"s":[-621.291]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"MASTER Y POSITION","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.426],"y":[0.38]},"o":{"x":[0.48],"y":[0.051]},"t":0,"s":[-97.709]},{"i":{"x":[0.633],"y":[1]},"o":{"x":[0.654],"y":[-0.375]},"t":23,"s":[-103.709]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":38,"s":[-92.709]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":44.666,"s":[-50.709]},{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":78,"s":[12.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":109,"s":[-7.709]},{"i":{"x":[0.8],"y":[0.764]},"o":{"x":[0.3],"y":[0]},"t":118,"s":[-7.709]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":128,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.78],"y":[0]},"t":143,"s":[46.291]},{"i":{"x":[0.8],"y":[0.528]},"o":{"x":[0.3],"y":[0]},"t":145,"s":[46.291]},{"i":{"x":[0.22],"y":[1]},"o":{"x":[0.18],"y":[1]},"t":155,"s":[64.291]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":184,"s":[-7.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":195,"s":[-7.709]},{"i":{"x":[0.428],"y":[1]},"o":{"x":[0.681],"y":[0]},"t":235,"s":[-261.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":290,"s":[-239.709]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.52],"y":[0]},"t":294,"s":[-239.709]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":334,"s":[-261.709]},{"i":{"x":[0.473],"y":[1.533]},"o":{"x":[0.63],"y":[0]},"t":343,"s":[-261.709]},{"i":{"x":[0.105],"y":[1]},"o":{"x":[0.497],"y":[-0.207]},"t":406,"s":[-157.709]},{"t":466,"s":[62.291]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":60,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":72,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":84,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":96,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":108,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":162,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":174,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":186,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":198,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":210,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":264,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":276,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":288,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":300,"s":[100]},{"t":312,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":6,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":0,"k":1282,"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":0,"k":581,"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":0,"k":90,"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"a":0,"k":90,"ix":8}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"a":0,"k":135,"ix":9}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"a":0,"k":135,"ix":10}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.506,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.506,0],[0,0]],"v":[[-641,-491],[-551,-581],[551,-581],[641,-491],[641,-135],[506,0],[-506,0],[-641,-135]],"c":true}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[74.506,0],[0,0],[0,74.506]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,74.506],[0,0],[-74.506,0],[0,0]],"v":[[-641,-491],[-551,-581],[551,-581],[641,-491],[641,-135],[506,0],[-506,0],[-641,-135]],"c":true}],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":311,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"k":[{"s":[0,0],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 11986","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":60,"op":312,"st":-205,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-144,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-134,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.108},"t":426,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":465,"s":[0,-10.9,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":5,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-0.27],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-0.737],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-1.391],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-2.194],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-3.049],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-3.867],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-4.609],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-5.269],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-5.856],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-6.38],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-6.85],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.272],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.654],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-7.999],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.312],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.595],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-8.851],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.083],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.295],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.488],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.662],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.82],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-9.963],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.093],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.211],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.317],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.412],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.498],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.575],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.642],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.701],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.752],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.794],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.83],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.857],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.878],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,-10.892],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}]},{"i":{"x":0.12,"y":1},"o":{"x":0.167,"y":0.167},"t":426,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}]},{"t":465,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.44],"y":[0]},"t":406,"s":[54]},{"t":426,"s":[58]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":18,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.625,-40.25]],"c":false}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[55.461,-40.238]],"c":false}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.979,-40.201]],"c":false}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[54.191,-40.142]],"c":false}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[53.112,-40.06]],"c":false}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[51.754,-39.958]],"c":false}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[50.13,-39.835]],"c":false}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[48.251,-39.693]],"c":false}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[46.13,-39.533]],"c":false}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[43.779,-39.356]],"c":false}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[41.212,-39.162]],"c":false}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[38.443,-38.953]],"c":false}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[35.488,-38.73]],"c":false}],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[32.365,-38.494]],"c":false}],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[29.095,-38.248]],"c":false}],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[25.705,-37.992]],"c":false}],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[22.232,-37.73]],"c":false}],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[18.728,-37.465]],"c":false}],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[15.275,-37.205]],"c":false}],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[12.014,-36.959]],"c":false}],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.75]],"c":false}],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-36.245]],"c":false}],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-35.487]],"c":false}],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-34.479]],"c":false}],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-33.307]],"c":false}],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-32.102]],"c":false}],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-30.966]],"c":false}],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.94]],"c":false}],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-29.029]],"c":false}],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-28.223]],"c":false}],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-27.508]],"c":false}],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.872]],"c":false}],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-26.304]],"c":false}],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.794]],"c":false}],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-25.335]],"c":false}],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.92]],"c":false}],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.545]],"c":false}],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-24.205]],"c":false}],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.896]],"c":false}],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.615]],"c":false}],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.36]],"c":false}],"t":446,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-23.129]],"c":false}],"t":447,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.918]],"c":false}],"t":448,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.728]],"c":false}],"t":449,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.555]],"c":false}],"t":450,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.4]],"c":false}],"t":451,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.26]],"c":false}],"t":452,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.135]],"c":false}],"t":453,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-22.023]],"c":false}],"t":454,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.924]],"c":false}],"t":455,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.837]],"c":false}],"t":456,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.762]],"c":false}],"t":457,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.697]],"c":false}],"t":458,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.642]],"c":false}],"t":459,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.597]],"c":false}],"t":460,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.561]],"c":false}],"t":461,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.534]],"c":false}],"t":462,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[9.25,-21.5],[9.25,-21.515]],"c":false}],"t":463,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"k":[{"s":[54.014],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.056],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.123],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.216],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.333],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.474],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.636],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[54.819],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.022],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.244],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.483],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[55.738],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.008],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.291],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.584],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.883],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.185],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.482],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[57.763],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":1,"k":[{"t":-145,"s":[0],"h":1},{"t":18,"s":[100],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.44,"y":0},"t":406,"s":[{"i":[[6.167,-3.179],[-15.352,0],[5.008,2.581]],"o":[[-5.59,2.881],[13.869,0],[-6.167,-3.179]],"v":[[-9.526,-79.571],[0.604,-100.669],[9.867,-79.571]],"c":true}]},{"t":426,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,-79.571],[0.709,-100.669],[11.321,-79.571]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.765,"y":0.675},"o":{"x":0.399,"y":0},"t":406,"s":[0,139],"to":[0,0],"ti":[0,0]},{"i":{"x":0.24,"y":1},"o":{"x":0.4,"y":0.441},"t":424,"s":[0,101],"to":[0,0],"ti":[0,0]},{"t":427,"s":[0,93]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":406,"op":467,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-6,"s":[100]},{"t":5,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0.467,-21.75],[3.272,-35.766]],"c":false}],"t":200,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[2.584,-21.75],[18.031,-34.708]],"c":false}],"t":201,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[4.048,-21.75],[28.237,-33.976]],"c":false}],"t":202,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.064,-21.75],[35.32,-33.468]],"c":false}],"t":203,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[5.767,-21.75],[40.22,-33.116]],"c":false}],"t":204,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.241,-21.75],[43.523,-32.88]],"c":false}],"t":205,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.54,-21.75],[45.607,-32.73]],"c":false}],"t":206,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.701,-21.75],[46.73,-32.65]],"c":false}],"t":207,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}],"t":208,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[49.587,-33.707]],"c":false}],"t":209,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[54.144,-35.668]],"c":false}],"t":210,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[57.197,-36.982]],"c":false}],"t":211,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[59.162,-37.828]],"c":false}],"t":212,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[60.549,-38.425]],"c":false}],"t":213,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[61.581,-38.869]],"c":false}],"t":214,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.369,-39.208]],"c":false}],"t":215,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[62.978,-39.47]],"c":false}],"t":216,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.45,-39.673]],"c":false}],"t":217,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[63.811,-39.829]],"c":false}],"t":218,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.082,-39.945]],"c":false}],"t":219,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.276,-40.028]],"c":false}],"t":220,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.405,-40.084]],"c":false}],"t":221,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":221,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":195,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.01,"y":1},"o":{"x":0.167,"y":0.167},"t":208,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[47.072,-32.625]],"c":false}]},{"t":223,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[6.75,-21.75],[64.5,-40.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":221,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":200,"op":221,"st":-6,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":-145,"s":[100]},{"t":-134,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.725,-44.786]],"c":false}],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.906,-43.051]],"c":false}],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.119,-41.012]],"c":false}],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.349,-38.801]],"c":false}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.591,-36.476]],"c":false}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.841,-34.073]],"c":false}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.097,-31.615]],"c":false}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.357,-29.121]],"c":false}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.618,-26.612]],"c":false}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.878,-24.121]],"c":false}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.021,-24.795]],"c":false}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.846,-29.943]],"c":false}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.74,-33.077]],"c":false}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.672,-35.065]],"c":false}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.625,-36.457]],"c":false}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.59,-37.483]],"c":false}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.564,-38.258]],"c":false}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.543,-38.847]],"c":false}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.528,-39.292]],"c":false}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.517,-39.621]],"c":false}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.509,-39.856]],"c":false}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.504,-40.011]],"c":false}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.501,-40.098]],"c":false}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.048]],"c":false}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.825]],"c":false}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-39.469]],"c":false}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.991]],"c":false}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-38.401]],"c":false}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-37.708]],"c":false}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.919]],"c":false}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-36.042]],"c":false}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-35.084]],"c":false}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-34.051]],"c":false}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-32.951]],"c":false}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-31.79]],"c":false}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-30.576]],"c":false}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-29.316]],"c":false}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-28.021]],"c":false}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-26.701]],"c":false}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-25.375]],"c":false}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-24.067]],"c":false}],"t":102,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-22.825]],"c":false}],"t":103,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}],"t":104,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.38,-24.323]],"c":false}],"t":105,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.199,-28.188]],"c":false}],"t":106,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.031,-31.777]],"c":false}],"t":107,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.898,-34.618]],"c":false}],"t":108,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.795,-36.811]],"c":false}],"t":109,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.716,-38.509]],"c":false}],"t":110,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.654,-39.829]],"c":false}],"t":111,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.606,-40.851]],"c":false}],"t":112,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-55.625,-45.75]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-58.125,-21.75]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-40.125]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-57.5,-21.75]],"c":false}]},{"t":118,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-8.25,-21.75],[-56.5,-43.125]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":54,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.17,"y":0},"t":59,"s":[{"i":[[7.064,-3.179],[-17.586,0],[5.736,2.581]],"o":[[-6.403,2.881],[15.887,0],[-7.064,-3.179]],"v":[[-10.895,10.429],[0.709,-10.669],[11.321,10.429]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":70,"s":[{"i":[[4.884,-3.179],[-12.16,0],[3.966,2.581]],"o":[[-4.427,2.881],[10.985,0],[-4.884,-3.179]],"v":[[-7.577,14.554],[0.447,-6.544],[7.784,14.554]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":84,"s":[{"i":[[5.367,-3.179],[-13.36,0],[4.358,2.581]],"o":[[-4.864,2.881],[12.069,0],[-5.367,-3.179]],"v":[[-8.36,13.429],[0.455,-7.669],[8.517,13.429]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":104,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]},{"t":112,"s":[{"i":[[6.067,-3.179],[-15.103,0],[4.926,2.581]],"o":[[-5.499,2.881],[13.644,0],[-6.067,-3.179]],"v":[[-9.38,13.554],[0.585,-7.544],[9.699,13.554]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":112,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-90],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,-100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Round Bottom","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":59,"op":112,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":549,"s":[100]},{"t":555,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,-21.75,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":1,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0],"t":27,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":12,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":16,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-37]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Right","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":0,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,-21.75],[0,-21.75]],"c":false}]},{"i":{"x":0.22,"y":1},"o":{"x":0.18,"y":1},"t":23,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11.643,-21.893],[-35.357,-21.893]],"c":false}]},{"t":38,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.75,-21.75],[-47.75,-7.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.52],"y":[0.96]},"o":{"x":[0.48],"y":[0.04]},"t":0,"s":[48]},{"t":18,"s":[64]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Left","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":28,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"t":52,"s":[100],"h":1},{"t":62,"s":[0],"h":1},{"t":112,"s":[100],"h":1},{"t":200,"s":[0],"h":1},{"t":221,"s":[100],"h":1},{"t":408,"s":[0],"h":1}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-259.147,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.001,"y":0},"t":27,"s":[{"i":[[4.22,-5.198],[6.889,-2.445],[6.141,2.195],[4.414,5.745],[2.09,6.003],[1.842,5.673],[0,0],[-4.629,7.032],[-3.668,2.338],[-9.176,-4.129],[0,0],[-2.537,1.423],[0,0],[-5.764,-2.348],[-3.35,-5.761],[3.559,-9.527],[0,0],[2.211,-5.388]],"o":[[-4.607,5.675],[-6.146,2.181],[-6.823,-2.438],[-3.873,-5.041],[-1.961,-5.633],[-0.673,-2.074],[-3.418,-8.054],[2.391,-3.632],[7.091,-4.519],[0,0],[2.053,0.611],[0,0],[6.766,-3.045],[6.042,2.461],[4.226,7.269],[0,0],[0,0],[-2.542,6.194]],"v":[[26.625,263.759],[9.088,276.927],[-10.477,276.927],[-27.766,263.755],[-34.35,245.857],[-39.92,228.853],[-41.895,222.617],[-38.621,196.593],[-29.625,187.329],[-2.764,182.988],[-0.678,184.077],[3.537,183.327],[5.123,182.613],[23.746,183.97],[38.891,196.367],[42.816,222.402],[40.88,229.024],[34.705,245.369]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":38,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":40,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":49,"s":[{"i":[[0,0],[5.924,-2.615],[6.267,2.766],[3.263,7.561],[2.981,6.909],[0,0],[0,0],[-4.825,8.784],[-3.668,2.709],[-9.176,-4.785],[0,0],[-7.064,3.683],[0,0],[-5.942,-2.295],[-3.35,-6.676],[4.5,-10.429],[0,0],[2.725,-6.315]],"o":[[-3.262,7.56],[-6.266,2.766],[-5.925,-2.615],[0,0],[-2.981,-6.909],[0,0],[-3.988,-9.246],[2.335,-4.251],[7.091,-5.237],[0,0],[7.064,3.683],[0,0],[6.766,-3.528],[6.387,2.466],[4.226,8.423],[0,0],[0,0],[-3.063,7.1]],"v":[[23.515,261.285],[9.088,276.548],[-10.477,276.549],[-24.906,261.285],[-33.85,240.557],[-42.795,219.829],[-48.707,206.127],[-47.871,176.22],[-38.875,165.486],[-13.389,163.498],[-11.803,164.325],[10.412,164.325],[11.998,163.498],[31.496,162.173],[46.641,176.538],[47.316,206.126],[40.88,221.041],[32.705,239.986]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.61,"y":0},"t":57,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[0,0],[5.829,-2.275],[6.166,2.405],[3.21,6.575],[2.933,6.009],[0,0],[0,0],[-4.747,7.639],[-3.609,2.356],[-9.028,-5.782],[0,0],[-6.95,4.451],[0,0],[-5.847,-1.996],[-3.296,-5.806],[4.428,-9.07],[0,0],[2.681,-5.492]],"o":[[-3.21,6.575],[-6.165,2.406],[-5.83,-2.274],[0,0],[-2.933,-6.009],[0,0],[-3.924,-8.041],[2.297,-3.697],[6.977,-4.554],[0,0],[6.95,4.451],[0,0],[6.657,-4.263],[6.284,2.145],[4.158,7.326],[0,0],[0,0],[-3.014,6.174]],"v":[[23.147,263.139],[8.953,276.413],[-10.297,276.414],[-24.493,263.14],[-31.981,245.113],[-39.468,227.086],[-43.871,215.169],[-44.463,189.161],[-35.612,179.825],[-10.537,178.375],[-8.977,179.374],[7.631,179.374],[9.191,178.375],[28.374,176.944],[43.275,189.437],[42.525,215.169],[37.607,228.14],[30.877,244.617]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":67,"s":[{"i":[[0,0],[5.782,-2.283],[6.116,2.414],[3.184,6.6],[2.91,6.031],[0,0],[0,0],[-4.709,7.668],[-3.58,2.365],[-8.956,-2.881],[0,0],[-6.894,2.218],[0,0],[-5.8,-2.003],[-3.269,-5.828],[4.392,-9.104],[0,0],[2.66,-5.513]],"o":[[-3.184,6.599],[-6.116,2.415],[-5.783,-2.283],[0,0],[-2.91,-6.031],[0,0],[-3.893,-8.071],[2.279,-3.711],[6.921,-4.571],[0,0],[6.894,2.218],[0,0],[6.604,-2.124],[6.234,2.153],[4.125,7.353],[0,0],[0,0],[-2.99,6.198]],"v":[[22.966,262.838],[8.886,276.162],[-10.209,276.162],[-24.29,262.838],[-31.064,244.743],[-37.837,226.649],[-41.5,214.688],[-42.792,188.581],[-34.012,179.21],[-9.139,174.179],[-7.591,174.677],[6.267,174.677],[7.814,174.179],[26.844,176.318],[41.625,188.859],[40.176,214.688],[36.003,227.707],[29.98,244.245]],"c":true}]},{"i":{"x":0.48,"y":1},"o":{"x":0.26,"y":1},"t":111,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,1.445],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,1.445],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[22.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-30.85,245.866],[-37.795,227.978],[-42.707,216.152],[-41.871,190.343],[-32.875,181.079],[-7.389,179.363],[-5.803,180.077],[5.412,180.077],[6.998,179.363],[26.496,178.22],[41.641,190.617],[42.316,216.152],[38.88,229.024],[31.705,245.374]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0.167},"t":118,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.902,"y":0},"o":{"x":0.3,"y":0},"t":119,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":129,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.78,"y":0},"t":144,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.4,"y":0},"t":146,"s":[{"i":[[0,0],[5.924,-2.439],[6.267,2.579],[3.263,7.051],[2.981,6.443],[0,0],[0,0],[-4.825,8.191],[-3.668,2.526],[-9.176,-4.462],[0,0],[-7.064,3.435],[0,0],[-5.942,-2.14],[-3.35,-6.225],[4.5,-9.725],[0,0],[2.725,-5.889]],"o":[[-3.262,7.05],[-6.266,2.58],[-5.925,-2.439],[0,0],[-2.981,-6.443],[0,0],[-3.988,-8.622],[2.335,-3.964],[7.091,-4.884],[0,0],[7.064,3.435],[0,0],[6.766,-3.29],[6.387,2.3],[4.226,7.855],[0,0],[0,0],[-3.063,6.621]],"v":[[23.515,262.501],[9.088,276.734],[-10.477,276.735],[-24.906,262.501],[-33.85,243.171],[-42.795,223.841],[-48.707,211.063],[-47.871,183.174],[-38.875,173.164],[-13.389,171.31],[-11.803,172.081],[10.412,172.081],[11.998,171.31],[31.496,170.074],[46.641,183.471],[47.316,211.063],[40.88,224.972],[32.705,242.639]],"c":true}]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.884},"t":156,"s":[{"i":[[0,0],[6.002,-2.085],[6.349,2.205],[3.305,6.027],[3.02,5.508],[0,0],[0,0],[-4.888,7.002],[-3.716,2.159],[-9.296,-3.814],[0,0],[-7.157,2.936],[0,0],[-6.02,-1.829],[-3.393,-5.322],[4.559,-8.314],[0,0],[2.761,-5.034]],"o":[[-3.305,6.027],[-6.349,2.205],[-6.003,-2.085],[0,0],[-3.02,-5.508],[0,0],[-4.041,-7.37],[2.366,-3.389],[7.184,-4.175],[0,0],[7.157,2.936],[0,0],[6.855,-2.813],[6.471,1.966],[4.282,6.715],[0,0],[0,0],[-3.104,5.66]],"v":[[23.828,264.941],[9.213,277.109],[-10.609,277.11],[-25.226,264.942],[-34.288,248.418],[-43.349,231.894],[-49.339,220.97],[-48.492,197.13],[-39.379,188.572],[-13.559,186.988],[-11.952,187.647],[10.554,187.647],[12.161,186.988],[31.914,185.931],[47.257,197.383],[47.941,220.97],[41.421,232.86],[33.139,247.963]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":175,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"i":{"x":0.6,"y":1},"o":{"x":0.8,"y":0},"t":195,"s":[{"i":[[0,0],[5.924,-2.257],[6.267,2.387],[3.263,6.525],[2.981,5.963],[0,0],[0,0],[-4.825,7.58],[-3.668,2.338],[-9.176,-4.129],[0,0],[-7.064,3.179],[0,0],[-5.942,-1.98],[-3.35,-5.761],[4.5,-9],[0,0],[2.725,-5.45]],"o":[[-3.262,6.524],[-6.266,2.387],[-5.925,-2.257],[0,0],[-2.981,-5.963],[0,0],[-3.988,-7.979],[2.335,-3.669],[7.091,-4.519],[0,0],[7.064,3.179],[0,0],[6.766,-3.045],[6.387,2.129],[4.226,7.269],[0,0],[0,0],[-3.063,6.127]],"v":[[23.515,263.755],[9.088,276.927],[-10.477,276.927],[-24.906,263.755],[-33.85,245.866],[-42.795,227.978],[-48.707,216.152],[-47.871,190.343],[-38.875,181.079],[-13.389,179.363],[-11.803,180.077],[10.412,180.077],[11.998,179.363],[31.496,178.22],[46.641,190.617],[47.316,216.152],[40.88,229.024],[32.705,245.374]],"c":true}]},{"t":200,"s":[{"i":[[0,0],[4.982,-1.843],[5.269,1.949],[2.743,5.327],[2.507,4.868],[0,0],[0,0],[-4.057,6.188],[-3.084,1.909],[-7.716,-3.371],[0,0],[-5.94,2.595],[0,0],[-4.997,-1.617],[-2.817,-4.703],[3.784,-7.348],[0,0],[2.291,-4.449]],"o":[[-2.743,5.326],[-5.269,1.949],[-4.982,-1.842],[0,0],[-2.507,-4.868],[0,0],[-3.354,-6.514],[1.963,-2.995],[5.963,-3.69],[0,0],[5.94,2.595],[0,0],[5.69,-2.486],[5.371,1.738],[3.554,5.935],[0,0],[0,0],[-2.576,5.002]],"v":[[21.328,266.623],[7.572,277.365],[-8.88,277.366],[-21.013,266.612],[-30.158,252.046],[-38.929,237.463],[-42.276,232.155],[-38.901,208.3],[-31.337,200.737],[-7.657,199.329],[-6.324,199.912],[6.078,199.877],[7.412,199.294],[26.437,198.157],[39.172,208.278],[42.466,230.78],[38.179,240.068],[31.18,251.666]],"c":true}],"h":1},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":221,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":225,"s":[{"i":[[0,0],[-6.469,2.54],[-6.843,-2.686],[-3.562,-7.344],[-2.238,-6.985],[0,0],[0,0],[6.26,-8],[4.298,-2.248],[9.409,5.544],[0,0],[2.81,-1.732],[0,0],[6.751,1.517],[4.533,6.044],[-3.466,10.58],[0,0],[-1.94,6.445]],"o":[[3.562,-7.343],[6.843,-2.687],[6.47,2.54],[0,0],[2.25,7.021],[0,0],[3.257,9.331],[-3.029,3.872],[-8.309,4.346],[0,0],[-2.38,-1.461],[0,0],[-6.856,4.193],[-7.256,-1.631],[-5.72,-7.626],[0,0],[0,0],[2.154,-7.155]],"v":[[-25.972,255.773],[-10.844,240.983],[10.52,240.983],[26.276,255.808],[31.363,274.998],[37.793,295.9],[41.622,309.746],[42.615,338.568],[31.6,348.034],[3.818,347.339],[2.192,346.381],[-2.497,346.652],[-4.104,347.635],[-23.931,350.481],[-42.288,338.404],[-42.272,310.024],[-38.575,296.317],[-32.279,277.471]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":230,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.21,"y":0},"t":235,"s":[{"i":[[0,0],[-6.469,2.527],[-6.843,-2.672],[-3.562,-7.305],[-2.238,-6.948],[0,0],[0,0],[6.26,-7.958],[4.298,-2.236],[9.409,5.515],[0,0],[2.81,-1.723],[0,0],[6.751,1.509],[4.533,6.012],[-3.466,10.525],[0,0],[-1.94,6.411]],"o":[[3.562,-7.305],[6.843,-2.673],[6.47,2.527],[0,0],[2.25,6.984],[0,0],[3.257,9.283],[-3.029,3.851],[-8.309,4.323],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.171],[-7.256,-1.622],[-5.72,-7.586],[0,0],[0,0],[2.154,-7.118]],"v":[[-25.972,256.282],[-10.844,241.57],[10.52,241.569],[26.276,256.317],[31.363,275.406],[37.793,296.199],[41.622,309.972],[42.615,338.644],[31.6,348.06],[3.818,347.368],[2.192,346.415],[-2.497,346.685],[-4.104,347.662],[-23.931,350.493],[-42.288,338.48],[-42.272,310.249],[-38.575,296.613],[-32.279,277.866]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":240,"s":[{"i":[[0,0],[-6.469,2.537],[-6.843,-2.683],[-3.562,-7.334],[-3.256,-6.702],[0,0],[0,0],[5.268,-8.52],[4.005,-2.628],[10.02,4.641],[0,0],[7.713,-3.573],[0,0],[6.489,2.226],[3.658,6.475],[-4.914,10.116],[0,0],[-2.976,6.126]],"o":[[3.562,-7.333],[6.843,-2.683],[6.47,2.537],[0,0],[3.256,6.702],[0,0],[4.355,8.968],[-2.55,4.123],[-7.743,5.08],[0,0],[-7.714,-3.573],[0,0],[-7.388,3.422],[-6.974,-2.392],[-4.615,-8.17],[0,0],[0,0],[3.345,-6.886]],"v":[[-26.597,256.303],[-10.844,241.499],[10.52,241.498],[26.276,256.303],[36.042,276.409],[45.809,296.515],[52.265,309.806],[51.352,338.814],[41.529,349.227],[13.7,351.155],[11.968,350.353],[-12.29,350.353],[-14.021,351.155],[-35.312,352.44],[-51.849,338.506],[-52.586,309.806],[-45.559,295.339],[-36.632,276.963]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.17,"y":0},"t":250,"s":[{"i":[[0,0],[-6.469,2.528],[-6.843,-2.674],[-3.562,-7.309],[-2.238,-6.951],[0,0],[0,0],[6.26,-7.962],[4.298,-2.237],[9.409,5.517],[0,0],[2.81,-1.724],[0,0],[6.751,1.51],[4.533,6.015],[-3.466,10.53],[0,0],[-1.94,6.414]],"o":[[3.562,-7.308],[6.843,-2.674],[6.47,2.528],[0,0],[2.25,6.988],[0,0],[3.257,9.287],[-3.029,3.853],[-8.309,4.325],[0,0],[-2.38,-1.454],[0,0],[-6.856,4.173],[-7.256,-1.623],[-5.72,-7.59],[0,0],[0,0],[2.154,-7.121]],"v":[[-25.972,256.238],[-10.844,241.519],[10.52,241.518],[26.276,256.273],[31.363,275.37],[37.793,296.172],[41.622,309.952],[42.615,338.637],[31.6,348.057],[3.818,347.366],[2.192,346.412],[-2.497,346.682],[-4.104,347.66],[-23.931,350.492],[-42.288,338.473],[-42.272,310.229],[-38.575,296.587],[-32.279,277.831]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":296,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":313,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":318,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":323,"s":[{"i":[[0,0],[-6.37,2.351],[-6.738,-2.486],[-3.508,-6.797],[-3.206,-6.211],[0,0],[0,0],[5.188,-7.896],[3.944,-2.435],[9.867,4.301],[0,0],[7.596,-3.311],[0,0],[6.39,2.063],[3.602,6.001],[-4.839,9.375],[0,0],[-2.93,5.677]],"o":[[3.508,-6.796],[6.738,-2.487],[6.371,2.351],[0,0],[3.206,6.211],[0,0],[4.289,8.311],[-2.511,3.821],[-7.625,4.707],[0,0],[-7.596,-3.311],[0,0],[-7.276,3.172],[-6.868,-2.217],[-4.545,-7.572],[0,0],[0,0],[3.294,-6.382]],"v":[[-26.198,255.941],[-10.685,242.221],[10.353,242.22],[25.868,255.941],[35.486,274.574],[45.103,294.249],[51.461,306.566],[50.562,333.45],[40.889,343.1],[13.484,344.887],[11.779,344.143],[-12.109,344.143],[-13.814,344.887],[-34.78,346.078],[-51.065,333.164],[-51.791,306.566],[-44.871,293.159],[-36.08,275.087]],"c":true}]},{"i":{"x":0.58,"y":1},"o":{"x":0.42,"y":0},"t":328,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[30.971,274.574],[38.915,294.249],[43.827,306.566],[42.991,333.45],[33.996,343.1],[8.509,344.887],[6.924,344.143],[-7.292,344.143],[-8.878,344.887],[-28.376,346.078],[-43.521,333.164],[-44.196,306.566],[-38.76,293.159],[-31.585,275.087]],"c":true}]},{"i":{"x":0.52,"y":0.96},"o":{"x":0.48,"y":0.04},"t":343,"s":[{"i":[[0,0],[-5.924,2.351],[-6.267,-2.486],[-3.263,-6.797],[-2.981,-6.211],[0,0],[0,0],[4.825,-7.896],[3.668,-2.435],[9.176,4.301],[0,0],[7.064,-3.311],[0,0],[5.942,2.063],[3.35,6.001],[-4.5,9.375],[0,0],[-2.725,5.677]],"o":[[3.262,-6.796],[6.266,-2.487],[5.925,2.351],[0,0],[2.981,6.211],[0,0],[3.988,8.311],[-2.335,3.821],[-7.091,4.707],[0,0],[-7.064,-3.311],[0,0],[-6.766,3.172],[-6.387,-2.217],[-4.226,-7.572],[0,0],[0,0],[3.063,-6.382]],"v":[[-24.394,255.941],[-9.968,242.221],[9.597,242.22],[24.026,255.941],[32.971,274.574],[41.915,294.249],[47.827,306.566],[46.991,333.45],[37.996,343.1],[12.509,344.887],[10.924,344.143],[-11.292,344.143],[-12.878,344.887],[-32.376,346.078],[-47.521,333.164],[-48.196,306.566],[-41.76,293.159],[-33.585,275.087]],"c":true}]},{"i":{"x":0.83,"y":1},"o":{"x":0.5,"y":0},"t":370,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"i":{"x":0.59,"y":1},"o":{"x":0.5,"y":0},"t":389,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[32.971,273.182],[41.915,291.071],[47.827,302.896],[46.991,328.705],[37.996,337.969],[12.509,339.685],[10.924,338.971],[-11.292,338.971],[-12.878,339.685],[-32.376,340.828],[-47.521,328.431],[-48.196,302.896],[-41.76,290.025],[-33.585,273.675]],"c":true}]},{"t":406,"s":[{"i":[[0,0],[-5.924,2.257],[-6.267,-2.387],[-3.263,-6.525],[-2.981,-5.963],[0,0],[0,0],[4.825,-7.58],[3.668,-2.338],[9.176,4.129],[0,0],[7.064,-3.179],[0,0],[5.942,1.98],[3.35,5.761],[-4.5,9],[0,0],[-2.725,5.45]],"o":[[3.262,-6.524],[6.266,-2.387],[5.925,2.257],[0,0],[2.981,5.963],[0,0],[3.988,7.979],[-2.335,3.669],[-7.091,4.519],[0,0],[-7.064,-3.179],[0,0],[-6.766,3.045],[-6.387,-2.129],[-4.226,-7.269],[0,0],[0,0],[3.063,-6.127]],"v":[[-24.394,255.294],[-9.968,242.121],[9.597,242.121],[24.026,255.294],[30.971,273.182],[38.915,291.071],[43.202,302.895],[42.366,328.704],[33.371,337.968],[7.884,339.684],[6.299,338.97],[-6.167,338.97],[-7.753,339.684],[-27.251,340.827],[-42.396,328.43],[-43.071,302.895],[-38.76,290.025],[-31.585,273.675]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":27,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"animated arrow","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":27,"op":408,"st":-145,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[1280,800],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.325,0.271,0.165,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.325,0.271,0.165,1],"t":465,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":467,"st":-145,"ct":1,"bm":0}]},{"id":"comp_3","nm":"Part03_Demonstration_Tablet_Overview_V02","fr":60,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"SCENE REPO","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1074,364,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Size","np":3,"mn":"ADBE Point Control","ix":1,"en":1,"ef":[{"ty":3,"nm":"Point","mn":"ADBE Point Control-0001","ix":1,"v":{"a":0,"k":[100,100],"ix":1}}]}],"ip":0,"op":446,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Reset to Center","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":292,"s":[-318.401]},{"t":362,"s":[-584.401]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":292,"s":[358]},{"t":372,"s":[249]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"OVERSHOOT CHARACTER","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":227,"s":[-32.599]},{"t":339,"s":[107.401]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":0,"op":426,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".secondaryOverview","cl":"secondaryOverview","parent":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-609,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-599,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":405,"s":[100]},{"t":411,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-338]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-338]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-185.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[54],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[53.591],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[52.277],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[49.909],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[46.303],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[41.234],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[34.431],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[25.579],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.331],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.377],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-16.447],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.962],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.496],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-79.956],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-102.169],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-123.245],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-142.703],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-160.389],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-176.346],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-190.704],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.623],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.26],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-225.762],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-235.255],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-243.852],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-251.647],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-258.724],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-265.153],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.995],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-276.303],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.125],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.499],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.462],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.046],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.277],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.181],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.781],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.096],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.143],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.941],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.502],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.841],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.97],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.9],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.641],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.203],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.595],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.237],"t":198,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.058],"t":199,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47],"t":200,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.958],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.904],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.827],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.727],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.602],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.452],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.276],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.072],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.84],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.578],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.285],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.96],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.601],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.207],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.777],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.308],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.799],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.248],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.652],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.01],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.318],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.575],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.777],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.921],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.003],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.021],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.969],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-33.843],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.639],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.35],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.972],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.497],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.919],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-25.229],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-23.42],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-21.483],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-19.407],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.183],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-14.8],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-12.248],"t":436,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-9.519],"t":437,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-6.604],"t":438,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-3.5],"t":439,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-0.211],"t":440,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[3.252],"t":441,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[6.866],"t":442,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[10.59],"t":443,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.372],"t":444,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.144],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[640,775.591],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,774.277],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,771.909],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,768.303],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,763.234],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,756.431],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,747.579],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,736.331],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,722.377],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,705.553],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,686.038],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,664.504],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,642.044],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,619.831],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,598.755],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,579.297],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,561.611],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,545.654],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,531.296],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,518.377],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,506.74],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,496.238],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,486.745],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,478.148],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,470.353],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,463.276],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,456.847],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,451.005],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,445.697],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,440.875],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,436.501],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,432.538],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,428.954],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,425.723],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,422.819],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,420.219],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,417.904],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,415.857],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,414.059],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,412.498],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,411.159],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,410.03],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,409.1],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,408.359],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,407.797],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,407.405],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[639.565,407.1],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[639.015,407.1],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[638.237,407.1],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[637.228,407.1],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[635.984,407.1],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[634.501,407.1],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[632.776,407.1],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630.806,407.1],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[628.589,407.1],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.122,407.158],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[623.405,407.337],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[620.435,407.644],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[617.214,408.089],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[613.741,408.679],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[610.018,409.425],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[606.048,410.339],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[601.834,411.433],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[597.381,412.721],"t":149,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[592.695,414.219],"t":150,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[587.783,415.944],"t":151,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[582.654,417.917],"t":152,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[577.317,420.159],"t":153,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[571.785,422.697],"t":154,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[566.07,425.559],"t":155,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[560.187,428.78],"t":156,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[554.151,432.398],"t":157,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[547.98,436.457],"t":158,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[541.693,441.008],"t":159,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[535.308,446.11],"t":160,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[528.847,451.829],"t":161,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[522.33,458.241],"t":162,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[515.781,465.427],"t":163,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[509.219,473.472],"t":164,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[502.67,482.457],"t":165,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[496.153,492.437],"t":166,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[489.692,503.423],"t":167,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[483.307,515.339],"t":168,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[477.02,527.989],"t":169,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[470.849,541.05],"t":170,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[464.813,554.111],"t":171,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[458.93,566.761],"t":172,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[453.215,578.677],"t":173,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[447.683,589.663],"t":174,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[442.346,599.643],"t":175,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[437.217,608.628],"t":176,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[432.305,616.673],"t":177,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[427.619,623.859],"t":178,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[423.166,630.271],"t":179,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[418.952,635.99],"t":180,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[414.982,641.092],"t":181,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[411.259,645.643],"t":182,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[407.786,649.702],"t":183,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[404.565,653.32],"t":184,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[401.595,656.541],"t":185,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[398.878,659.403],"t":186,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[396.411,661.941],"t":187,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[394.194,664.183],"t":188,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[392.224,666.156],"t":189,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[390.499,667.881],"t":190,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[389.016,669.379],"t":191,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[387.772,670.667],"t":192,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[386.763,671.761],"t":193,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.985,672.675],"t":194,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.435,673.421],"t":195,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.108,674.011],"t":196,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385,674.456],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385,675],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[385.765,675],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[388.09,675],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[392.085,675],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[397.945,675],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[405.96,675],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[416.557,675],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[430.38,675],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[448.467,675],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[472.664,675],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[506.923,675],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[560.017,675],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[606.525,675],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[636.85,675],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[657.995,675],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[673.974,675],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[686.767,675],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[697.438,675],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[706.614,675],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[714.692,675],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[721.939,675],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[728.542,675],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[734.639,675],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[740.332,675],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[745.699,675],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[750.803,675],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[755.691,675],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[760.402,675],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[764.968,675],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[769.413,675],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[773.757,675],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[778.015,675],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[782.199,675],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[786.316,675],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[790.373,675],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[794.373,675],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[798.316,675],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[802.203,675],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[806.031,675],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[809.798,675],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[813.5,675],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[817.133,675],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[820.694,675],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[824.177,675],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[827.579,675],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[830.896,675],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[834.125,675],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[837.263,675],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[840.308,675],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[843.258,675],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[846.112,675],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[848.869,675],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[851.529,675],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[854.093,675],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[856.561,675],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[858.933,675],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[861.212,675],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[863.398,675],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[865.494,675],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[867.5,675],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[869.419,675],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[871.253,675],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[873.004,675],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[874.674,675],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[876.265,675],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[877.789,675],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[879.155,674.987],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[880.257,674.946],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[881.093,674.877],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[881.958,674.648],"t":297,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[881.206,674.054],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[880.401,673.782],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[879.317,673.469],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[877.952,673.113],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[876.307,672.713],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[874.382,672.264],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[872.176,671.764],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[869.692,671.211],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[866.931,670.599],"t":308,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[863.896,669.926],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[860.59,669.186],"t":310,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[857.019,668.376],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[853.186,667.489],"t":312,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[849.099,666.521],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[844.766,665.464],"t":314,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[840.194,664.312],"t":315,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[835.396,663.056],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[830.38,661.687],"t":317,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[825.161,660.196],"t":318,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[819.752,658.571],"t":319,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[814.167,656.801],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[808.424,654.873],"t":321,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[802.539,652.772],"t":322,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[796.531,650.484],"t":323,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[790.419,647.995],"t":324,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[784.223,645.291],"t":325,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[777.963,642.361],"t":326,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[771.659,639.199],"t":327,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[765.333,635.809],"t":328,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[759.007,632.205],"t":329,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[752.699,628.418],"t":330,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[746.431,624.495],"t":331,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[740.223,620.5],"t":332,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[734.093,616.505],"t":333,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[728.06,612.582],"t":334,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[722.14,608.795],"t":335,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[716.35,605.191],"t":336,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[710.704,601.801],"t":337,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[705.216,598.639],"t":338,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[699.898,595.709],"t":339,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[694.769,593.005],"t":340,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[689.847,590.516],"t":341,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[685.141,588.228],"t":342,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[680.656,586.127],"t":343,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[676.399,584.199],"t":344,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[672.374,582.429],"t":345,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[668.584,580.804],"t":346,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[665.033,579.313],"t":347,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[661.722,577.944],"t":348,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[658.651,576.688],"t":349,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[655.821,575.536],"t":350,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[653.231,574.479],"t":351,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[650.881,573.511],"t":352,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[648.768,572.624],"t":353,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[646.89,571.814],"t":354,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[645.246,571.074],"t":355,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[643.832,570.401],"t":356,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[642.646,569.789],"t":357,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[641.683,569.236],"t":358,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640.941,568.736],"t":359,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640.416,568.287],"t":360,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640.103,567.887],"t":361,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,567.531],"t":362,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,567.218],"t":363,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,566.712],"t":365,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,566.222],"t":368,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,566.724],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,567.16],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,567.715],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,568.04],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,568.399],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,568.793],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,569.223],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,569.692],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,570.201],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,570.752],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,571.348],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,571.99],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,572.682],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,573.425],"t":418,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,574.223],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,575.079],"t":420,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,575.997],"t":421,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,576.979],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,578.031],"t":423,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,579.157],"t":424,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,580.361],"t":425,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,581.65],"t":426,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,583.028],"t":427,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,584.503],"t":428,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,586.081],"t":429,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,587.771],"t":430,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,589.58],"t":431,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,591.517],"t":432,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,593.593],"t":433,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,595.817],"t":434,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,598.2],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,600.752],"t":436,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,603.481],"t":437,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,606.396],"t":438,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,609.5],"t":439,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,612.789],"t":440,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,616.252],"t":441,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,619.866],"t":442,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,623.59],"t":443,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,627.372],"t":444,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,631.144],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.75]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.75]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.25]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.25]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.145,0.102,0.016,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.145,0.102,0.016,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":446,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"App 3 Matte","parent":13,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":435,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[296.8]},{"t":418,"s":[412]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[488.8]},{"t":418,"s":[892]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-110.86,-53.387],[-51.236,-113.011],[51.236,-113.011],[110.86,-53.387],[110.86,53.387],[51.236,113.011],[-51.236,113.011],[-110.86,53.387]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-113.631,-64.296],[-55.219,-122.707],[55.219,-122.707],[113.631,-64.296],[113.631,64.296],[55.219,122.707],[-55.219,122.707],[-113.631,64.296]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-118.974,-85.335],[-62.9,-141.409],[62.9,-141.409],[118.974,-85.335],[118.974,85.335],[62.9,141.409],[-62.9,141.409],[-118.974,85.335]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-128.53,-122.961],[-76.636,-174.854],[76.636,-174.854],[128.53,-122.961],[128.53,122.961],[76.636,174.854],[-76.636,174.854],[-128.53,122.961]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-148.4,-201.2],[-105.2,-244.4],[105.2,-244.4],[148.4,-201.2],[148.4,201.2],[105.2,244.4],[-105.2,244.4],[-148.4,201.2]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-171.027,-290.294],[-137.727,-323.595],[137.727,-323.595],[171.027,-290.294],[171.027,290.294],[137.727,323.595],[-137.727,323.595],[-171.027,290.294]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-180.988,-329.516],[-152.046,-358.459],[152.046,-358.459],[180.988,-329.516],[180.988,329.516],[152.046,358.459],[-152.046,358.459],[-180.988,329.516]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-186.762,-352.25],[-160.345,-378.667],[160.345,-378.667],[186.762,-352.25],[186.762,352.25],[160.345,378.667],[-160.345,378.667],[-186.762,352.25]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-190.685,-367.697],[-165.985,-392.397],[165.985,-392.397],[190.685,-367.697],[190.685,367.697],[165.985,392.397],[-165.985,392.397],[-190.685,367.697]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-193.577,-379.084],[-170.142,-402.519],[170.142,-402.519],[193.577,-379.084],[193.577,379.084],[170.142,402.519],[-170.142,402.519],[-193.577,379.084]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-195.813,-387.89],[-173.357,-410.347],[173.357,-410.347],[195.813,-387.89],[195.813,387.89],[173.357,410.347],[-173.357,410.347],[-195.813,387.89]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-197.598,-394.916],[-175.922,-416.592],[175.922,-416.592],[197.598,-394.916],[197.598,394.916],[175.922,416.592],[-175.922,416.592],[-197.598,394.916]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-199.052,-400.641],[-178.012,-421.681],[178.012,-421.681],[199.052,-400.641],[199.052,400.641],[178.012,421.681],[-178.012,421.681],[-199.052,400.641]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-200.254,-405.375],[-179.74,-425.889],[179.74,-425.889],[200.254,-405.375],[200.254,405.375],[179.74,425.889],[-179.74,425.889],[-200.254,405.375]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-201.259,-409.332],[-181.185,-429.406],[181.185,-429.406],[201.259,-409.332],[201.259,409.332],[181.185,429.406],[-181.185,429.406],[-201.259,409.332]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-202.104,-412.661],[-182.4,-432.365],[182.4,-432.365],[202.104,-412.661],[202.104,412.661],[182.4,432.365],[-182.4,432.365],[-202.104,412.661]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-202.819,-415.475],[-183.427,-434.867],[183.427,-434.867],[202.819,-415.475],[202.819,415.475],[183.427,434.867],[-183.427,434.867],[-202.819,415.475]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-203.424,-417.859],[-184.298,-436.986],[184.298,-436.986],[203.424,-417.859],[203.424,417.859],[184.298,436.986],[-184.298,436.986],[-203.424,417.859]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-203.937,-419.879],[-185.035,-438.781],[185.035,-438.781],[203.937,-419.879],[203.937,419.879],[185.035,438.781],[-185.035,438.781],[-203.937,419.879]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-204.371,-421.587],[-185.659,-440.299],[185.659,-440.299],[204.371,-421.587],[204.371,421.587],[185.659,440.299],[-185.659,440.299],[-204.371,421.587]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-204.736,-423.025],[-186.184,-441.578],[186.184,-441.578],[204.736,-423.025],[204.736,423.025],[186.184,441.578],[-186.184,441.578],[-204.736,423.025]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-205.042,-424.227],[-186.623,-442.647],[186.623,-442.647],[205.042,-424.227],[205.042,424.227],[186.623,442.647],[-186.623,442.647],[-205.042,424.227]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.105,0],[0,0],[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.105,0],[0,0],[0,10.104],[0,0],[-10.105,0],[0,0]],"v":[[-205.295,-425.223],[-186.986,-443.531],[186.986,-443.531],[205.295,-425.223],[205.295,425.223],[186.986,443.531],[-186.986,443.531],[-205.295,425.223]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-205.501,-426.035],[-187.283,-444.253],[187.283,-444.253],[205.501,-426.035],[205.501,426.035],[187.283,444.253],[-187.283,444.253],[-205.501,426.035]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-205.666,-426.684],[-187.519,-444.83],[187.519,-444.83],[205.666,-426.684],[205.666,426.684],[187.519,444.83],[-187.519,444.83],[-205.666,426.684]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-205.793,-427.186],[-187.703,-445.277],[187.703,-445.277],[205.793,-427.186],[205.793,427.186],[187.703,445.277],[-187.703,445.277],[-205.793,427.186]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-205.888,-427.557],[-187.838,-445.607],[187.838,-445.607],[205.888,-427.557],[205.888,427.557],[187.838,445.607],[-187.838,445.607],[-205.888,427.557]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-205.952,-427.809],[-187.93,-445.831],[187.93,-445.831],[205.952,-427.809],[205.952,427.809],[187.93,445.831],[-187.93,445.831],[-205.952,427.809]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-205.988,-427.954],[-187.983,-445.959],[187.983,-445.959],[205.988,-427.954],[205.988,427.954],[187.983,445.959],[-187.983,445.959],[-205.988,427.954]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":245,"op":435,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Pill to Arc | Elevation 2","parent":4,"tt":1,"tp":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":405,"s":[15]},{"t":411,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-238]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-238]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":237.666,"s":[-125.6]},{"t":291,"s":[43]}],"ix":3},"y":{"k":[{"s":[-46.958],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.904],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.827],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.727],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.602],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.452],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.276],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-46.072],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.84],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.578],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-45.285],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.96],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.601],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-44.207],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.777],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-43.308],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.799],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-42.248],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.652],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-41.01],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-40.318],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-39.575],"t":418,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-38.777],"t":419,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.921],"t":420,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-37.003],"t":421,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-36.021],"t":422,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-34.969],"t":423,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-33.843],"t":424,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-32.639],"t":425,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-31.35],"t":426,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-29.972],"t":427,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-28.497],"t":428,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-26.919],"t":429,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-25.229],"t":430,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-23.42],"t":431,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-21.483],"t":432,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-19.407],"t":433,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-17.183],"t":434,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-14.8],"t":435,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":245,"op":435,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"App 1 Matte","parent":11,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,792,0],"to":[0,0,0],"ti":[0,0,0]},{"t":101,"s":[206,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":197,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[412]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[442],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[442]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-205.946,89.982],[-115.964,0],[115.964,0],[205.946,89.982],[205.946,491.767],[115.964,581.749],[-115.964,581.749],[-205.946,491.767]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-205.77,89.923],[-115.847,0],[115.847,0],[205.77,89.923],[205.77,491.004],[115.847,580.927],[-115.847,580.927],[-205.77,491.004]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-205.445,89.815],[-115.63,0],[115.63,0],[205.445,89.815],[205.445,489.595],[115.63,579.41],[-115.63,579.41],[-205.445,489.595]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-204.936,89.645],[-115.291,0],[115.291,0],[204.936,89.645],[204.936,487.391],[115.291,577.037],[-115.291,577.037],[-204.936,487.391]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-204.201,89.4],[-114.8,0],[114.8,0],[204.201,89.4],[204.201,484.203],[114.8,573.603],[-114.8,573.603],[-204.201,484.203]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-203.185,89.062],[-114.123,0],[114.123,0],[203.185,89.062],[203.185,479.8],[114.123,568.862],[-114.123,568.862],[-203.185,479.8]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-201.834,88.611],[-113.223,0],[113.223,0],[201.834,88.611],[201.834,473.946],[113.223,562.558],[-113.223,562.558],[-201.834,473.946]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-200.114,88.038],[-112.076,0],[112.076,0],[200.114,88.038],[200.114,466.493],[112.076,554.531],[-112.076,554.531],[-200.114,466.493]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-198.054,87.351],[-110.703,0],[110.703,0],[198.054,87.351],[198.054,457.566],[110.703,544.918],[-110.703,544.918],[-198.054,457.566]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-195.782,86.594],[-109.188,0],[109.188,0],[195.782,86.594],[195.782,447.721],[109.188,534.315],[-109.188,534.315],[-195.782,447.721]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-193.487,85.829],[-107.658,0],[107.658,0],[193.487,85.829],[193.487,437.775],[107.658,523.604],[-107.658,523.604],[-193.487,437.775]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-191.327,85.109],[-106.218,0],[106.218,0],[191.327,85.109],[191.327,428.416],[106.218,513.525],[-106.218,513.525],[-191.327,428.416]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-189.38,84.46],[-104.92,0],[104.92,0],[189.38,84.46],[189.38,419.982],[104.92,504.442],[-104.92,504.442],[-189.38,419.982]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-187.663,83.888],[-103.775,0],[103.775,0],[187.663,83.888],[187.663,412.539],[103.775,496.426],[-103.775,496.426],[-187.663,412.539]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-186.158,83.386],[-102.772,0],[102.772,0],[186.158,83.386],[186.158,406.02],[102.772,489.406],[-102.772,489.406],[-186.158,406.02]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-184.842,82.947],[-101.895,0],[101.895,0],[184.842,82.947],[184.842,400.315],[101.895,483.262],[-101.895,483.262],[-184.842,400.315]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-183.688,82.563],[-101.125,0],[101.125,0],[183.688,82.563],[183.688,395.313],[101.125,477.875],[-101.125,477.875],[-183.688,395.313]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-182.673,82.224],[-100.448,0],[100.448,0],[182.673,82.224],[182.673,390.915],[100.448,473.139],[-100.448,473.139],[-182.673,390.915]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-181.778,81.926],[-99.852,0],[99.852,0],[181.778,81.926],[181.778,387.037],[99.852,468.963],[-99.852,468.963],[-181.778,387.037]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-180.987,81.662],[-99.325,0],[99.325,0],[180.987,81.662],[180.987,383.61],[99.325,465.273],[-99.325,465.273],[-180.987,383.61]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-180.287,81.429],[-98.858,0],[98.858,0],[180.287,81.429],[180.287,380.577],[98.858,462.006],[-98.858,462.006],[-180.287,380.577]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-179.667,81.222],[-98.445,0],[98.445,0],[179.667,81.222],[179.667,377.889],[98.445,459.112],[-98.445,459.112],[-179.667,377.889]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-179.117,81.039],[-98.078,0],[98.078,0],[179.117,81.039],[179.117,375.508],[98.078,456.547],[-98.078,456.547],[-179.117,375.508]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-178.631,80.877],[-97.754,0],[97.754,0],[178.631,80.877],[178.631,373.399],[97.754,454.276],[-97.754,454.276],[-178.631,373.399]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-178.2,80.733],[-97.467,0],[97.467,0],[178.2,80.733],[178.2,371.535],[97.467,452.269],[-97.467,452.269],[-178.2,371.535]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-177.821,80.607],[-97.214,0],[97.214,0],[177.821,80.607],[177.821,369.892],[97.214,450.499],[-97.214,450.499],[-177.821,369.892]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-177.488,80.496],[-96.992,0],[96.992,0],[177.488,80.496],[177.488,368.45],[96.992,448.946],[-96.992,448.946],[-177.488,368.45]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-177.198,80.399],[-96.798,0],[96.798,0],[177.198,80.399],[177.198,367.19],[96.798,447.589],[-96.798,447.589],[-177.198,367.19]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-176.945,80.315],[-96.63,0],[96.63,0],[176.945,80.315],[176.945,366.097],[96.63,446.412],[-96.63,446.412],[-176.945,366.097]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-176.729,80.243],[-96.486,0],[96.486,0],[176.729,80.243],[176.729,365.158],[96.486,445.4],[-96.486,445.4],[-176.729,365.158]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-176.545,80.182],[-96.363,0],[96.363,0],[176.545,80.182],[176.545,364.36],[96.363,444.542],[-96.363,444.542],[-176.545,364.36]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-176.391,80.13],[-96.261,0],[96.261,0],[176.391,80.13],[176.391,363.694],[96.261,443.825],[-96.261,443.825],[-176.391,363.694]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-176.266,80.089],[-96.177,0],[96.177,0],[176.266,80.089],[176.266,363.151],[96.177,443.239],[-96.177,443.239],[-176.266,363.151]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-176.166,80.055],[-96.111,0],[96.111,0],[176.166,80.055],[176.166,362.721],[96.111,442.776],[-96.111,442.776],[-176.166,362.721]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-176.092,80.031],[-96.061,0],[96.061,0],[176.092,80.031],[176.092,362.397],[96.061,442.427],[-96.061,442.427],[-176.092,362.397]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.01,80.003],[-96.007,0],[96.007,0],[176.01,80.003],[176.01,362.042],[96.007,442.046],[-96.007,442.046],[-176.01,362.042]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,362],[96,442],[-96,442],[-176,362]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,361.402],[95.852,441.356],[-95.852,441.356],[-175.806,361.402]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,359.379],[95.351,439.179],[-95.351,439.179],[-175.151,359.379]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,355.463],[94.381,434.965],[-94.381,434.965],[-173.883,355.463]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,348.92],[92.761,427.924],[-92.761,427.924],[-171.765,348.92]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,338.542],[90.191,416.754],[-90.191,416.754],[-168.404,338.542]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,322.292],[86.168,399.267],[-86.168,399.267],[-163.142,322.292]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,297.387],[80.001,372.464],[-80.001,372.464],[-155.078,297.387]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,264.543],[71.868,337.118],[-71.868,337.118],[-144.442,264.543]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,233.528],[64.188,303.739],[-64.188,303.739],[-134.399,233.528]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,210.354],[58.449,278.8],[-58.449,278.8],[-126.895,210.354]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,193.758],[54.34,260.939],[-54.34,260.939],[-121.522,193.758]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,181.674],[51.348,247.935],[-51.348,247.935],[-117.609,181.674]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,172.72],[49.131,238.299],[-49.131,238.299],[-114.709,172.72]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,166.034],[47.475,231.104],[-47.475,231.104],[-112.544,166.034]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,161.062],[46.244,225.752],[-46.244,225.752],[-110.934,161.062]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,157.429],[45.344,221.843],[-45.344,221.843],[-109.758,157.429]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.875],[44.712,219.094],[-44.712,219.094],[-108.931,154.875]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,153.209],[44.299,217.301],[-44.299,217.301],[-108.391,153.209]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.287],[44.071,216.309],[-44.071,216.309],[-108.093,152.287]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.494117647059,0.266666666667,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":198,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Pill to Arc | Elevation 1","parent":4,"tt":1,"tp":8,"sr":1,"ks":{"o":{"a":0,"k":15,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.58],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[-83]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":197,"s":[-338]},{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-338]},{"t":237.666015625,"s":[-185.6]}],"ix":3},"y":{"k":[{"s":[54],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[53.591],"t":54,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[52.277],"t":55,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[49.909],"t":56,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[46.303],"t":57,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[41.234],"t":58,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[34.431],"t":59,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[25.579],"t":60,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[14.331],"t":61,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.377],"t":62,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-16.447],"t":63,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-35.962],"t":64,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.496],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-79.956],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-102.169],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-123.245],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-142.703],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-160.389],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-176.346],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-190.704],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-203.623],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-215.26],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-225.762],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-235.255],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-243.852],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-251.647],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-258.724],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-265.153],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.995],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-276.303],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-281.125],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.499],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.462],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.046],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.277],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.181],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.781],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.096],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.143],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.941],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.502],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.841],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.97],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.9],"t":96,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.641],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.203],"t":98,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.595],"t":99,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-314.356],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.911],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-313.321],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-312.575],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-311.661],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-310.567],"t":148,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-309.279],"t":149,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-307.781],"t":150,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-306.056],"t":151,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-304.083],"t":152,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-301.841],"t":153,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-299.303],"t":154,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-296.441],"t":155,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-293.22],"t":156,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-289.602],"t":157,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-285.543],"t":158,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-280.992],"t":159,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-275.89],"t":160,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-270.171],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-263.759],"t":162,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-256.573],"t":163,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-248.528],"t":164,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-239.543],"t":165,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-229.563],"t":166,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-218.577],"t":167,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-206.661],"t":168,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-194.011],"t":169,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-167.889],"t":171,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-155.239],"t":172,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-143.323],"t":173,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-132.337],"t":174,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-122.357],"t":175,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-113.372],"t":176,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-105.327],"t":177,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-98.141],"t":178,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-91.729],"t":179,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-86.01],"t":180,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-80.908],"t":181,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-76.357],"t":182,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-72.298],"t":183,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-68.68],"t":184,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-65.459],"t":185,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-62.597],"t":186,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-60.059],"t":187,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-57.817],"t":188,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-55.844],"t":189,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-54.119],"t":190,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-52.621],"t":191,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-51.333],"t":192,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-50.239],"t":193,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-49.325],"t":194,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-48.579],"t":195,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.989],"t":196,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[-47.544],"t":197,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},"a":{"a":0,"k":[0,-2,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Continue Y Position","np":3,"mn":"ADBE Slider Control","ix":1,"en":1,"ef":[{"ty":0,"nm":"Slider","mn":"ADBE Slider Control-0001","ix":1,"v":{"a":0,"k":0,"ix":1}}]},{"ty":29,"nm":"Gaussian Blur","np":5,"mn":"ADBE Gaussian Blur 2","ix":2,"en":1,"ef":[{"ty":0,"nm":"Blurriness","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":8,"ix":1}},{"ty":7,"nm":"Blur Dimensions","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Repeat Edge Pixels","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":1,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.32,"y":1},"o":{"x":0.82,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.75,-21.641],[21.75,-21.75],[21.75,-21.75]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":24,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,23.5],[21.75,-21.75],[21.75,-66.5]],"c":false}]},{"i":{"x":0.65,"y":1},"o":{"x":0.167,"y":0},"t":44,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.39,"y":1},"o":{"x":0.35,"y":0},"t":53,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,13.5],[21.75,-21.75],[21.75,-56.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.35,"y":0},"t":70,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":140,"s":[{"i":[[0,0],[0,11.75],[0,0]],"o":[[0,0],[0,-11.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":197,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.4,"y":0},"t":227,"s":[{"i":[[0,0],[-11.75,0],[0,0]],"o":[[0,0],[11.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":244,"s":[{"i":[[0,0],[-20.373,0],[-4.174,-10]],"o":[[4.292,-10],[20.228,0],[0,0]],"v":[[-11.25,18.5],[22,-21.5],[54.75,18.5]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.42,"y":0},"t":291,"s":[{"i":[[0,0],[-17.75,0],[-10.841,0]],"o":[[11.833,0],[17.583,0],[0,0]],"v":[[-31.25,-21.5],[22,-21.5],[74.75,-21.5]],"c":false}]},{"i":{"x":0.56,"y":1},"o":{"x":0.88,"y":0},"t":432,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,31.5],[21.75,-21.75],[21.75,-74.5]],"c":false}]},{"t":482,"s":[{"i":[[0,0],[0,17.75],[0,10.841]],"o":[[0,-11.833],[0,-17.583],[0,0]],"v":[[21.75,44.5],[21.75,-21.75],[21.75,-88.5]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-59,"s":[54]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":-4,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":0,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":20,"s":[27]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":111,"s":[27]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":130,"s":[58]},{"i":{"x":[0.17],"y":[1]},"o":{"x":[0.47],"y":[0]},"t":197,"s":[58]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":218,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":247,"s":[40]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[54]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.44],"y":[0]},"t":368,"s":[54]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":388,"s":[40]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":390,"s":[40]},{"t":405,"s":[52]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[49.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[49.5]},{"t":222,"s":[30],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[30]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[49.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[49.5]},{"t":482,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[100]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":127,"s":[50.5]},{"i":{"x":[0.32],"y":[1]},"o":{"x":[0.82],"y":[0]},"t":197,"s":[50.5]},{"t":222,"s":[70],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":247,"s":[70]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":291,"s":[50.5]},{"i":{"x":[0.56],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":432,"s":[50.5]},{"t":482,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-21.75],"ix":2},"a":{"a":0,"k":[0,-21.75],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.42],"y":[0]},"t":-465,"s":[0]},{"t":-447,"s":[90]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bend","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":222,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-10.45,-10.166],[10.648,-0.036],[-10.45,9.228]],"c":true}]},{"i":{"x":0.999,"y":1},"o":{"x":0.42,"y":0},"t":237,"s":[{"i":[[3.179,8.221],[0,-20.465],[-2.581,6.675]],"o":[[-2.881,-7.451],[0,18.488],[3.179,-8.221]],"v":[[-25.45,-13.344],[-4.352,0.16],[-25.45,12.509]],"c":true}]},{"t":263,"s":[{"i":[[3.179,6.167],[0,-15.352],[-2.581,5.008]],"o":[[-2.881,-5.59],[0,13.869],[3.179,-6.167]],"v":[[-11.7,-10.166],[9.398,-0.036],[-11.7,9.228]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"t":212,"s":[0],"h":1},{"t":222,"s":[100],"h":1},{"t":247,"s":[0],"h":1}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":198,"st":-610,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"All Overview Scroll","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":227,"s":[-640]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":244,"s":[-435.2]},{"t":329,"s":[-128]}],"ix":3},"y":{"a":0,"k":-400,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":3,"nm":"Initial Overview In","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":113,"s":[-326]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[209]},{"t":148,"s":[206]}],"ix":3},"y":{"a":0,"k":532,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":22,"mn":"Pseudo/494931","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/494931-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/494931-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/494931-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/494931-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/494931-0005","ix":5,"v":0},{"ty":6,"nm":"Nulls are useless.","mn":"Pseudo/494931-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0007","ix":7,"v":0},{"ty":6,"nm":"They live in the Solids folder,","mn":"Pseudo/494931-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0009","ix":9,"v":0},{"ty":6,"nm":"must travel with projects, and","mn":"Pseudo/494931-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0011","ix":11,"v":0},{"ty":6,"nm":"may be deleted like footage.","mn":"Pseudo/494931-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0013","ix":13,"v":0},{"ty":6,"nm":"Don't use them anymore.","mn":"Pseudo/494931-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0015","ix":15,"v":0},{"ty":6,"nm":"Void - 0.7.1","mn":"Pseudo/494931-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0017","ix":17,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/494931-0018","ix":18,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0019","ix":19,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/494931-0020","ix":20,"v":0}]}],"ip":2,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":3,"nm":"Loop App to Center","parent":12,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-512,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":394.666,"s":[-38.4]},{"t":428,"s":[-96]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Void","np":20,"mn":"Pseudo/289611","ix":1,"en":1,"ef":[{"ty":0,"nm":"Width","mn":"Pseudo/289611-0001","ix":1,"v":{"a":0,"k":100,"ix":1}},{"ty":0,"nm":"Height","mn":"Pseudo/289611-0002","ix":2,"v":{"a":0,"k":100,"ix":2}},{"ty":0,"nm":"Offset X","mn":"Pseudo/289611-0003","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":0,"nm":"Offset Y","mn":"Pseudo/289611-0004","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":6,"nm":"About","mn":"Pseudo/289611-0005","ix":5,"v":0},{"ty":6,"nm":"Plague of null layers.","mn":"Pseudo/289611-0006","ix":6,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0007","ix":7,"v":0},{"ty":6,"nm":"Following projects","mn":"Pseudo/289611-0008","ix":8,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0009","ix":9,"v":0},{"ty":6,"nm":"through time.","mn":"Pseudo/289611-0010","ix":10,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0011","ix":11,"v":0},{"ty":6,"nm":"Be free of the past.","mn":"Pseudo/289611-0012","ix":12,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0013","ix":13,"v":0},{"ty":6,"nm":"Void - 1.0.0","mn":"Pseudo/289611-0014","ix":14,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0015","ix":15,"v":0},{"ty":6,"nm":"© 2022 Battle Axe Inc","mn":"Pseudo/289611-0016","ix":16,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0017","ix":17,"v":0},{"ty":6,"nm":"Void","mn":"Pseudo/289611-0018","ix":18,"v":0}]}],"ip":2,"op":446,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":15,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-256,0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":446,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":0,"k":50,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[-768]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[-984]},{"t":418,"s":[-1308]}],"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[8.421,-4.724],[0,0],[4.631,-0.057],[0,0],[4.931,-8.301],[0,0],[3.982,-2.365],[0,0],[0.12,-9.654],[0,0],[2.266,-4.039],[0,0],[-4.724,-8.421],[0,0],[-0.057,-4.631],[0,0],[-8.301,-4.931],[0,0],[-2.365,-3.982],[0,0],[-9.654,-0.119],[0,0],[-4.039,-2.266],[0,0],[-8.421,4.724],[0,0],[-4.631,0.057],[0,0],[-4.931,8.301],[0,0],[-3.982,2.365],[0,0],[-0.119,9.654],[0,0],[-2.266,4.039],[0,0],[4.724,8.421],[0,0],[0.057,4.631],[0,0],[8.301,4.931],[0,0],[2.365,3.982],[0,0],[9.654,0.12],[0,0],[4.039,2.266]],"o":[[-8.421,-4.724],[0,0],[-4.039,2.266],[0,0],[-9.654,0.12],[0,0],[-2.365,3.982],[0,0],[-8.301,4.931],[0,0],[-0.057,4.631],[0,0],[-4.724,8.421],[0,0],[2.266,4.039],[0,0],[0.12,9.655],[0,0],[3.982,2.365],[0,0],[4.931,8.301],[0,0],[4.631,0.057],[0,0],[8.421,4.724],[0,0],[4.039,-2.266],[0,0],[9.654,-0.119],[0,0],[2.365,-3.982],[0,0],[8.301,-4.931],[0,0],[0.057,-4.631],[0,0],[4.724,-8.421],[0,0],[-2.266,-4.039],[0,0],[-0.119,-9.654],[0,0],[-3.982,-2.365],[0,0],[-4.931,-8.301],[0,0],[-4.631,-0.057],[0,0]],"v":[[13.557,-175.395],[-13.557,-175.395],[-36.472,-162.541],[-49.685,-159.001],[-75.957,-158.675],[-99.438,-145.118],[-112.856,-122.529],[-122.529,-112.856],[-145.118,-99.438],[-158.675,-75.957],[-159.001,-49.685],[-162.541,-36.472],[-175.395,-13.557],[-175.395,13.557],[-162.541,36.472],[-159.001,49.685],[-158.675,75.957],[-145.118,99.438],[-122.529,112.856],[-112.856,122.529],[-99.438,145.119],[-75.957,158.675],[-49.685,159.001],[-36.472,162.541],[-13.557,175.395],[13.557,175.395],[36.472,162.541],[49.685,159.001],[75.957,158.675],[99.438,145.119],[112.856,122.529],[122.529,112.856],[145.119,99.438],[158.675,75.957],[159.001,49.685],[162.541,36.472],[175.395,13.557],[175.395,-13.557],[162.541,-36.472],[159.001,-49.685],[158.675,-75.957],[145.119,-99.438],[122.529,-112.856],[112.856,-122.529],[99.438,-145.118],[75.957,-158.675],[49.685,-159.001],[36.472,-162.541]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[70,70],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":13,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":245,"s":[50]},{"i":{"x":[0.833],"y":[0.619]},"o":{"x":[0.167],"y":[0]},"t":329,"s":[100]},{"i":{"x":[0.82],"y":[0]},"o":{"x":[0.78],"y":[0]},"t":409,"s":[95]},{"t":434,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":53,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":9,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[644]},{"t":418,"s":[1280]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[220]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[452]},{"t":418,"s":[800]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":388,"s":[60]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":393,"s":[43.2]},{"t":418,"s":[18]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[60],"t":388,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[59.624],"t":389,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[58.412],"t":390,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[56.074],"t":391,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[51.893],"t":392,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[43.2],"t":393,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[33.301],"t":394,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[28.943],"t":395,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[26.417],"t":396,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[24.7],"t":397,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[23.435],"t":398,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[22.457],"t":399,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.676],"t":400,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[21.04],"t":401,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.514],"t":402,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[20.074],"t":403,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.704],"t":404,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.392],"t":405,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[19.127],"t":406,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.902],"t":407,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.713],"t":408,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.553],"t":409,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.419],"t":410,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.309],"t":411,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.218],"t":412,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.146],"t":413,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.09],"t":414,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.049],"t":415,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.021],"t":416,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[18.005],"t":417,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[-404,496],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-400.913,496],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-390.163,496],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-368.705,496],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-332.338,496],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-277.426,496],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-207.497,496],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-136.5,496],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-75.727,496],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[-27.215,496],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[10.925,496],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[40.948,496],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[64.643,496],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[83.326,496],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[97.961,496],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[109.262,496],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[117.768,496],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[123.898,496],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[127.979,496],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.276,496],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[131,496],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.962,496],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.854,496],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.688,496],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.474,496],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[130.222,496],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.944,496],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.65,496],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.35,496],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.056,496],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.778,496],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.526,496],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.312,496],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.146,496],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.038,496],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128,496],"t":227,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[128.392,496],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[129.572,496],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[131.559,496],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[134.392,496],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[138.126,496],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[142.834,496],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[148.609,496],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[155.569,496],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[163.865,496],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[173.691,496],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[185.306,496],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[199.058,496],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[215.441,496],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[235.191,496],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[259.487,496],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[290.461,496],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[332.8,496],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[379.683,496],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[416.51,496],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[444.279,496],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[465.71,496],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[482.832,496],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[496.935,496],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[508.837,496],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[519.075,496],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[528.016,496],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[535.922,496],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[542.983,496],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[549.341,496],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[555.107,496],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[560.368,496],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[565.192,496],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[569.635,496],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[573.743,496],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[577.554,496],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[581.1,496],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[584.409,496],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[587.503,496],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[590.403,496],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[593.127,496],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[595.688,496],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[598.101,496],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[600.377,496],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[602.527,496],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[604.56,496],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[606.484,496],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[608.307,496],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[610.036,496],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[611.676,496],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[613.234,496],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[614.714,496],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[616.12,496],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[617.458,496],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[618.731,496],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[619.943,496],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[621.096,496],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[622.194,496],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[623.24,496],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[624.236,496],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[625.185,496],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.088,496],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[626.949,496],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[627.769,496],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[628.549,496],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[629.293,496],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630,496],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[630.673,496],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.313,496],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[631.922,496],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[632.5,496],"t":297,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[633.049,496],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[633.571,496],"t":299,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[634.065,496],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[634.533,496],"t":301,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[634.977,496],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[635.396,496],"t":303,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[635.792,496],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[636.166,496],"t":305,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[636.518,496],"t":306,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[636.85,496],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[637.453,496],"t":309,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[637.98,496],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[638.437,496],"t":313,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[638.999,496],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[639.538,496],"t":320,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,495.519],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,494.021],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,491.313],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,487.024],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,480.422],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,469.753],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,450.003],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,434.966],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,426.942],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,421.806],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,418.126],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,415.314],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,413.073],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,411.237],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,409.703],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,408.402],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,407.285],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,406.319],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,405.478],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,404.741],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,404.094],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,403.523],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,403.02],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,402.575],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,402.183],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,401.836],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,401.531],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,401.263],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,401.029],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,400.65],"t":419,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,400.266],"t":422,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,-50],[-50,-110],[50,-110],[110,-50],[110,50],[50,110],[-50,110],[-110,50]],"c":true}],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.906,0],[0,0],[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906]],"o":[[0,-32.906],[0,0],[32.906,0],[0,0],[0,32.906],[0,0],[-32.906,0],[0,0]],"v":[[-114.749,-52.975],[-55.125,-112.598],[55.125,-112.598],[114.749,-52.975],[114.749,52.975],[55.125,112.598],[-55.125,112.598],[-114.749,52.975]],"c":true}],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-32.237,0],[0,0],[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237]],"o":[[0,-32.237],[0,0],[32.237,0],[0,0],[0,32.237],[0,0],[-32.237,0],[0,0]],"v":[[-130.044,-62.556],[-71.633,-120.968],[71.633,-120.968],[130.044,-62.556],[130.044,62.556],[71.633,120.968],[-71.633,120.968],[-130.044,62.556]],"c":true}],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-30.947,0],[0,0],[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947]],"o":[[0,-30.947],[0,0],[30.947,0],[0,0],[0,30.947],[0,0],[-30.947,0],[0,0]],"v":[[-159.544,-81.035],[-103.47,-137.109],[103.47,-137.109],[159.544,-81.035],[159.544,81.035],[103.47,137.109],[-103.47,137.109],[-159.544,81.035]],"c":true}],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-28.64,0],[0,0],[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64]],"o":[[0,-28.64],[0,0],[28.64,0],[0,0],[0,28.64],[0,0],[-28.64,0],[0,0]],"v":[[-212.299,-114.082],[-160.406,-165.975],[160.406,-165.975],[212.299,-114.082],[212.299,114.082],[160.406,165.975],[-160.406,165.975],[-212.299,114.082]],"c":true}],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-23.842,0],[0,0],[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842]],"o":[[0,-23.842],[0,0],[23.842,0],[0,0],[0,23.842],[0,0],[-23.842,0],[0,0]],"v":[[-322,-182.8],[-278.8,-226],[278.8,-226],[322,-182.8],[322,182.8],[278.8,226],[-278.8,226],[-322,182.8]],"c":true}],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-18.379,0],[0,0],[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379]],"o":[[0,-18.379],[0,0],[18.379,0],[0,0],[0,18.379],[0,0],[-18.379,0],[0,0]],"v":[[-446.921,-261.052],[-413.62,-294.353],[413.62,-294.353],[446.921,-261.052],[446.921,261.052],[413.62,294.353],[-413.62,294.353],[-446.921,261.052]],"c":true}],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-15.973,0],[0,0],[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973]],"o":[[0,-15.973],[0,0],[15.973,0],[0,0],[0,15.973],[0,0],[-15.973,0],[0,0]],"v":[[-501.914,-295.501],[-472.972,-324.444],[472.972,-324.444],[501.914,-295.501],[501.914,295.501],[472.972,324.444],[-472.972,324.444],[-501.914,295.501]],"c":true}],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-14.579,0],[0,0],[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579]],"o":[[0,-14.579],[0,0],[14.579,0],[0,0],[0,14.579],[0,0],[-14.579,0],[0,0]],"v":[[-533.79,-315.468],[-507.373,-341.885],[507.373,-341.885],[533.79,-315.468],[533.79,315.468],[507.373,341.885],[-507.373,341.885],[-533.79,315.468]],"c":true}],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-13.632,0],[0,0],[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632]],"o":[[0,-13.632],[0,0],[13.632,0],[0,0],[0,13.632],[0,0],[-13.632,0],[0,0]],"v":[[-555.448,-329.035],[-530.748,-353.736],[530.748,-353.736],[555.448,-329.035],[555.448,329.035],[530.748,353.736],[-530.748,353.736],[-555.448,329.035]],"c":true}],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.934,0],[0,0],[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934]],"o":[[0,-12.934],[0,0],[12.934,0],[0,0],[0,12.934],[0,0],[-12.934,0],[0,0]],"v":[[-571.413,-339.036],[-547.978,-362.471],[547.978,-362.471],[571.413,-339.036],[571.413,339.036],[547.978,362.471],[-547.978,362.471],[-571.413,339.036]],"c":true}],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-12.394,0],[0,0],[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394]],"o":[[0,-12.394],[0,0],[12.394,0],[0,0],[0,12.394],[0,0],[-12.394,0],[0,0]],"v":[[-583.761,-346.771],[-561.305,-369.228],[561.305,-369.228],[583.761,-346.771],[583.761,346.771],[561.305,369.228],[-561.305,369.228],[-583.761,346.771]],"c":true}],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.963,0],[0,0],[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963]],"o":[[0,-11.963],[0,0],[11.963,0],[0,0],[0,11.963],[0,0],[-11.963,0],[0,0]],"v":[[-593.612,-352.942],[-571.936,-374.618],[571.936,-374.618],[593.612,-352.942],[593.612,352.942],[571.936,374.618],[-571.936,374.618],[-593.612,352.942]],"c":true}],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.612,0],[0,0],[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612]],"o":[[0,-11.612],[0,0],[11.612,0],[0,0],[0,11.612],[0,0],[-11.612,0],[0,0]],"v":[[-601.64,-357.97],[-580.6,-379.01],[580.6,-379.01],[601.64,-357.97],[601.64,357.97],[580.6,379.01],[-580.6,379.01],[-601.64,357.97]],"c":true}],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.322,0],[0,0],[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322]],"o":[[0,-11.322],[0,0],[11.322,0],[0,0],[0,11.322],[0,0],[-11.322,0],[0,0]],"v":[[-608.278,-362.129],[-587.764,-382.643],[587.764,-382.643],[608.278,-362.129],[608.278,362.129],[587.764,382.643],[-587.764,382.643],[-608.278,362.129]],"c":true}],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-11.079,0],[0,0],[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079]],"o":[[0,-11.079],[0,0],[11.079,0],[0,0],[0,11.079],[0,0],[-11.079,0],[0,0]],"v":[[-613.825,-365.603],[-593.75,-385.678],[593.75,-385.678],[613.825,-365.603],[613.825,365.603],[593.75,385.678],[-593.75,385.678],[-613.825,365.603]],"c":true}],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.875,0],[0,0],[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875]],"o":[[0,-10.875],[0,0],[10.875,0],[0,0],[0,10.875],[0,0],[-10.875,0],[0,0]],"v":[[-618.492,-368.527],[-598.788,-388.232],[598.788,-388.232],[618.492,-368.527],[618.492,368.527],[598.788,388.232],[-598.788,388.232],[-618.492,368.527]],"c":true}],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.702,0],[0,0],[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702]],"o":[[0,-10.702],[0,0],[10.702,0],[0,0],[0,10.702],[0,0],[-10.702,0],[0,0]],"v":[[-622.438,-370.999],[-603.047,-390.391],[603.047,-390.391],[622.438,-370.999],[622.438,370.999],[603.047,390.391],[-603.047,390.391],[-622.438,370.999]],"c":true}],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.556,0],[0,0],[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556]],"o":[[0,-10.556],[0,0],[10.556,0],[0,0],[0,10.556],[0,0],[-10.556,0],[0,0]],"v":[[-625.781,-373.093],[-606.654,-392.22],[606.654,-392.22],[625.781,-373.093],[625.781,373.093],[606.654,392.22],[-606.654,392.22],[-625.781,373.093]],"c":true}],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.432,0],[0,0],[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432]],"o":[[0,-10.432],[0,0],[10.432,0],[0,0],[0,10.432],[0,0],[-10.432,0],[0,0]],"v":[[-628.613,-374.867],[-609.711,-393.769],[609.711,-393.769],[628.613,-374.867],[628.613,374.867],[609.711,393.769],[-609.711,393.769],[-628.613,374.867]],"c":true}],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.327,0],[0,0],[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328]],"o":[[0,-10.327],[0,0],[10.328,0],[0,0],[0,10.328],[0,0],[-10.327,0],[0,0]],"v":[[-631.008,-376.367],[-612.295,-395.08],[612.295,-395.08],[631.008,-376.367],[631.008,376.367],[612.295,395.08],[-612.295,395.08],[-631.008,376.367]],"c":true}],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.239,0],[0,0],[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239]],"o":[[0,-10.239],[0,0],[10.239,0],[0,0],[0,10.239],[0,0],[-10.239,0],[0,0]],"v":[[-633.024,-377.63],[-614.471,-396.183],[614.471,-396.183],[633.024,-377.63],[633.024,377.63],[614.471,396.183],[-614.471,396.183],[-633.024,377.63]],"c":true}],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.166,0],[0,0],[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166]],"o":[[0,-10.166],[0,0],[10.166,0],[0,0],[0,10.166],[0,0],[-10.166,0],[0,0]],"v":[[-634.71,-378.686],[-616.291,-397.106],[616.291,-397.106],[634.71,-378.686],[634.71,378.686],[616.291,397.106],[-616.291,397.106],[-634.71,378.686]],"c":true}],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.104,0],[0,0],[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104]],"o":[[0,-10.104],[0,0],[10.104,0],[0,0],[0,10.104],[0,0],[-10.104,0],[0,0]],"v":[[-636.106,-379.561],[-617.797,-397.869],[617.797,-397.869],[636.106,-379.561],[636.106,379.561],[617.797,397.869],[-617.797,397.869],[-636.106,379.561]],"c":true}],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.055,0],[0,0],[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055]],"o":[[0,-10.055],[0,0],[10.055,0],[0,0],[0,10.055],[0,0],[-10.055,0],[0,0]],"v":[[-637.245,-380.274],[-619.026,-398.492],[619.026,-398.492],[637.245,-380.274],[637.245,380.274],[619.026,398.492],[-619.026,398.492],[-637.245,380.274]],"c":true}],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-10.015,0],[0,0],[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015]],"o":[[0,-10.015],[0,0],[10.015,0],[0,0],[0,10.015],[0,0],[-10.015,0],[0,0]],"v":[[-638.154,-380.844],[-620.008,-398.99],[620.008,-398.99],[638.154,-380.844],[638.154,380.844],[620.008,398.99],[-620.008,398.99],[-638.154,380.844]],"c":true}],"t":413,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.984,0],[0,0],[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984]],"o":[[0,-9.984],[0,0],[9.984,0],[0,0],[0,9.984],[0,0],[-9.984,0],[0,0]],"v":[[-638.859,-381.285],[-620.769,-399.376],[620.769,-399.376],[638.859,-381.285],[638.859,381.285],[620.769,399.376],[-620.769,399.376],[-638.859,381.285]],"c":true}],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.961,0],[0,0],[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961]],"o":[[0,-9.961],[0,0],[9.961,0],[0,0],[0,9.961],[0,0],[-9.961,0],[0,0]],"v":[[-639.379,-381.611],[-621.33,-399.66],[621.33,-399.66],[639.379,-381.611],[639.379,381.611],[621.33,399.66],[-621.33,399.66],[-639.379,381.611]],"c":true}],"t":415,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.946,0],[0,0],[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946]],"o":[[0,-9.946],[0,0],[9.946,0],[0,0],[0,9.946],[0,0],[-9.946,0],[0,0]],"v":[[-639.733,-381.833],[-621.712,-399.854],[621.712,-399.854],[639.733,-381.833],[639.733,381.833],[621.712,399.854],[-621.712,399.854],[-639.733,381.833]],"c":true}],"t":416,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-9.937,0],[0,0],[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937]],"o":[[0,-9.937],[0,0],[9.937,0],[0,0],[0,9.937],[0,0],[-9.937,0],[0,0]],"v":[[-639.935,-381.959],[-621.93,-399.965],[621.93,-399.965],[639.935,-381.959],[639.935,381.959],[621.93,399.965],[-621.93,399.965],[-639.935,381.959]],"c":true}],"t":417,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":53,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":53,"op":446,"st":-37,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":12,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.83],"y":[0.83]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[50]},{"i":{"x":[0.48],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":245,"s":[100]},{"t":262,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.8,"y":0.15},"o":{"x":0.3,"y":0},"t":388,"s":[-256,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":393,"s":[-44,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":418,"s":[274,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[18.976,-48.115],[0,0],[14.69,-5.794],[0,0],[-48.115,-18.977],[0,0],[-5.794,-14.69],[0,0],[-18.977,48.115],[0,0],[-14.69,5.794],[0,0],[48.115,18.976],[0,0],[5.794,14.69]],"o":[[-18.977,-48.115],[0,0],[-5.794,14.69],[0,0],[-48.115,18.976],[0,0],[14.69,5.794],[0,0],[18.976,48.115],[0,0],[5.794,-14.69],[0,0],[48.115,-18.977],[0,0],[-14.69,-5.794],[0,0]],"v":[[53.024,-96.229],[-53.024,-96.229],[-56.162,-88.274],[-88.274,-56.162],[-96.229,-53.024],[-96.229,53.024],[-88.274,56.161],[-56.162,88.273],[-53.024,96.228],[53.024,96.228],[56.161,88.273],[88.273,56.161],[96.228,53.024],[96.228,-53.024],[88.273,-56.162],[56.161,-88.274]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":110,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Star 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":110,"op":446,"st":20,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".onSurfaceOverview","cl":"onSurfaceOverview","parent":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.001],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":19,"s":[100]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":31,"s":[0]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":49,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":71,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.52],"y":[0]},"t":227,"s":[100]},{"t":245,"s":[50]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.15,"y":1},"o":{"x":0.37,"y":0},"t":53,"s":[206,792,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.15,"y":0.15},"o":{"x":0.37,"y":0.37},"t":101,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.8,"y":0.15},"o":{"x":0.3,"y":0},"t":388,"s":[206,421,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.05,"y":0.7},"t":393,"s":[418,421,0],"to":[0,0,0],"ti":[0,0,0]},{"t":418,"s":[736,421,0]}],"ix":2,"l":2},"a":{"k":[{"s":[0,0,0],"t":0,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[0,0,0],"t":445,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}],"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ef":[{"ty":5,"nm":"Rectangle Independent Corners","np":19,"mn":"Pseudo/0.16410552199068107","ix":1,"en":1,"ef":[{"ty":7,"nm":"Align","mn":"Pseudo/0.16410552199068107-0001","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":6,"nm":"Size","mn":"Pseudo/0.16410552199068107-0002","ix":2,"v":0},{"ty":0,"nm":"w","mn":"Pseudo/0.16410552199068107-0003","ix":3,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[1282]},{"t":101,"s":[352],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[352]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":3}},{"ty":0,"nm":"h","mn":"Pseudo/0.16410552199068107-0004","ix":4,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[582]},{"t":101,"s":[382],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[382]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[216]},{"t":148,"s":[220]}],"ix":4}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0005","ix":5,"v":0},{"ty":6,"nm":"Rounding","mn":"Pseudo/0.16410552199068107-0006","ix":6,"v":0},{"ty":0,"nm":"tl","mn":"Pseudo/0.16410552199068107-0007","ix":7,"v":{"a":1,"k":[{"i":{"x":[0.15],"y":[1]},"o":{"x":[0.37],"y":[0]},"t":63,"s":[90]},{"t":101,"s":[80],"h":1},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.563],"y":[0]},"t":113,"s":[80]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":133,"s":[64]},{"t":148,"s":[60]}],"ix":7}},{"ty":0,"nm":"tr","mn":"Pseudo/0.16410552199068107-0008","ix":8,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"br","mn":"Pseudo/0.16410552199068107-0009","ix":9,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":0,"nm":"bl","mn":"Pseudo/0.16410552199068107-0010","ix":10,"v":{"k":[{"s":[89.923],"t":65,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.815],"t":66,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.645],"t":67,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.4],"t":68,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[89.062],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.611],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[88.038],"t":71,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[87.351],"t":72,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[86.594],"t":73,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.829],"t":74,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[85.109],"t":75,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[84.46],"t":76,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.888],"t":77,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[83.386],"t":78,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.947],"t":79,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.563],"t":80,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[82.224],"t":81,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.926],"t":82,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.662],"t":83,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.429],"t":84,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.222],"t":85,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[81.039],"t":86,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.877],"t":87,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.733],"t":88,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.607],"t":89,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.496],"t":90,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.399],"t":91,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.315],"t":92,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.243],"t":93,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.182],"t":94,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.13],"t":95,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80.055],"t":97,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[80],"t":113,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.954],"t":114,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.8],"t":115,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.502],"t":116,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[79.003],"t":117,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[78.213],"t":118,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[76.975],"t":119,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[75.077],"t":120,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[72.575],"t":121,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[70.212],"t":122,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[68.446],"t":123,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[67.182],"t":124,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[66.261],"t":125,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.579],"t":126,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[65.069],"t":127,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.69],"t":128,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.414],"t":129,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.219],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.092],"t":131,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64.022],"t":132,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[64],"t":133,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.949],"t":134,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.806],"t":135,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.584],"t":136,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[63.298],"t":137,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.963],"t":138,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.592],"t":139,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[62.2],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.8],"t":141,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.408],"t":142,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[61.037],"t":143,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.702],"t":144,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.416],"t":145,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.194],"t":146,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[60.051],"t":147,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0011","ix":11,"v":0},{"ty":6,"nm":"Alignment","mn":"Pseudo/0.16410552199068107-0012","ix":12,"v":0},{"ty":0,"nm":"X Anchor %","mn":"Pseudo/0.16410552199068107-0013","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Y Anchor %","mn":"Pseudo/0.16410552199068107-0014","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":0,"nm":"X Position","mn":"Pseudo/0.16410552199068107-0015","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":0,"nm":"Y Position","mn":"Pseudo/0.16410552199068107-0016","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"Rectangle Independent Corners","mn":"Pseudo/0.16410552199068107-0017","ix":17,"v":0}]},{"ty":5,"nm":"Global Position","np":4,"mn":"Pseudo/88900","ix":2,"en":1,"ef":[{"ty":10,"nm":"Master Parent","mn":"Pseudo/88900-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":3,"nm":"Global Position","mn":"Pseudo/88900-0002","ix":2,"v":{"k":[{"s":[640,755.589],"t":54,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,754.267],"t":55,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,751.886],"t":56,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,748.26],"t":57,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,743.161],"t":58,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,736.32],"t":59,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,727.415],"t":60,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,716.105],"t":61,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,702.071],"t":62,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,685.151],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,665.524],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,643.868],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,621.28],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,598.94],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,577.747],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,558.183],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,540.395],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,524.343],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,509.904],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,496.913],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,485.207],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,474.647],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,465.101],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,456.453],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,448.613],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,441.496],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,435.03],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,429.155],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,423.816],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,418.969],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,414.57],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,410.583],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,406.979],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,403.731],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,400.809],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,398.194],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,395.866],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,393.807],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,392],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,390.43],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,389.083],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,387.948],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,387.012],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,386.266],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,385.7],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640,385.306],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[640.392,385],"t":228,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[641.572,385],"t":229,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[643.559,385],"t":230,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[646.392,385],"t":231,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[650.126,385],"t":232,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[654.834,385],"t":233,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[660.609,385],"t":234,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[667.569,385],"t":235,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[675.865,385],"t":236,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[685.691,385],"t":237,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[697.306,385],"t":238,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[711.058,385],"t":239,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[727.441,385],"t":240,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[747.191,385],"t":241,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[771.487,385],"t":242,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[802.461,385],"t":243,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[844.8,385],"t":244,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[891.683,385],"t":245,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[928.51,385],"t":246,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[956.279,385],"t":247,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[977.71,385],"t":248,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[994.832,385],"t":249,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1008.935,385],"t":250,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1020.837,385],"t":251,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1031.075,385],"t":252,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1040.016,385],"t":253,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1047.922,385],"t":254,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1054.983,385],"t":255,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1061.341,385],"t":256,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1067.107,385],"t":257,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1072.368,385],"t":258,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1077.192,385],"t":259,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1081.635,385],"t":260,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1085.743,385],"t":261,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1089.554,385],"t":262,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1093.1,385],"t":263,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1096.409,385],"t":264,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1099.503,385],"t":265,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1102.403,385],"t":266,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1105.127,385],"t":267,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1107.688,385],"t":268,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1110.101,385],"t":269,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1112.377,385],"t":270,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1114.527,385],"t":271,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1116.56,385],"t":272,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1118.484,385],"t":273,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1120.307,385],"t":274,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1122.036,385],"t":275,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1123.676,385],"t":276,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1125.234,385],"t":277,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1126.714,385],"t":278,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1128.12,385],"t":279,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1129.458,385],"t":280,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1130.731,385],"t":281,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1131.943,385],"t":282,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1133.096,385],"t":283,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1134.194,385],"t":284,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1135.24,385],"t":285,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1136.236,385],"t":286,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1137.185,385],"t":287,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1138.088,385],"t":288,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1138.949,385],"t":289,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1139.769,385],"t":290,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1140.549,385],"t":291,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1141.293,385],"t":292,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1142,385],"t":293,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1142.673,385],"t":294,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1143.313,385],"t":295,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1143.922,385],"t":296,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1145.049,385],"t":298,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1146.065,385],"t":300,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1146.977,385],"t":302,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1147.792,385],"t":304,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1148.85,385],"t":307,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1149.98,385],"t":311,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1150.999,385],"t":316,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1152,385],"t":388,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1156.749,385],"t":389,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1172.045,385],"t":390,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1201.545,385],"t":391,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1254.302,385],"t":392,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1364,385],"t":393,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1488.923,385],"t":394,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1543.913,385],"t":395,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1575.788,385],"t":396,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1597.447,385],"t":397,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1613.413,385],"t":398,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1625.761,385],"t":399,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1635.612,385],"t":400,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1643.64,385],"t":401,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1650.277,385],"t":402,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1655.824,385],"t":403,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1660.491,385],"t":404,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1664.438,385],"t":405,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1667.78,385],"t":406,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1670.612,385],"t":407,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1673.008,385],"t":408,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1675.024,385],"t":409,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1676.711,385],"t":410,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1678.106,385],"t":411,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1679.245,385],"t":412,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[1680.859,385],"t":414,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]}}]}],"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"k":[{"s":[{"i":[[0,0],[-49.671,0],[0,0],[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671]],"o":[[0,-49.671],[0,0],[49.671,0],[0,0],[0,49.671],[0,0],[-49.671,0],[0,0]],"v":[[-641,90],[-551,0],[551,0],[641,90],[641,492],[551,582],[-551,582],[-641,492]],"c":true}],"t":63,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.661,0],[0,0],[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661]],"o":[[0,-49.661],[0,0],[49.661,0],[0,0],[0,49.661],[0,0],[-49.661,0],[0,0]],"v":[[-640.166,89.982],[-550.184,0],[550.184,0],[640.166,89.982],[640.166,491.659],[550.184,581.641],[-550.184,581.641],[-640.166,491.659]],"c":true}],"t":64,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.629,0],[0,0],[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629]],"o":[[0,-49.629],[0,0],[49.629,0],[0,0],[0,49.629],[0,0],[-49.629,0],[0,0]],"v":[[-637.437,89.923],[-547.513,0],[547.513,0],[637.437,89.923],[637.437,490.544],[547.513,580.467],[-547.513,580.467],[-637.437,490.544]],"c":true}],"t":65,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.569,0],[0,0],[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569]],"o":[[0,-49.569],[0,0],[49.569,0],[0,0],[0,49.569],[0,0],[-49.569,0],[0,0]],"v":[[-632.398,89.815],[-542.583,0],[542.583,0],[632.398,89.815],[632.398,488.485],[542.583,578.3],[-542.583,578.3],[-632.398,488.485]],"c":true}],"t":66,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.475,0],[0,0],[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475]],"o":[[0,-49.475],[0,0],[49.475,0],[0,0],[0,49.475],[0,0],[-49.475,0],[0,0]],"v":[[-624.515,89.645],[-534.87,0],[534.87,0],[624.515,89.645],[624.515,485.264],[534.87,574.91],[-534.87,574.91],[-624.515,485.264]],"c":true}],"t":67,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.34,0],[0,0],[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34]],"o":[[0,-49.34],[0,0],[49.34,0],[0,0],[0,49.34],[0,0],[-49.34,0],[0,0]],"v":[[-613.109,89.4],[-523.709,0],[523.709,0],[613.109,89.4],[613.109,480.604],[523.709,570.004],[-523.709,570.004],[-613.109,480.604]],"c":true}],"t":68,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-49.153,0],[0,0],[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153]],"o":[[0,-49.153],[0,0],[49.153,0],[0,0],[0,49.153],[0,0],[-49.153,0],[0,0]],"v":[[-597.362,89.062],[-508.301,0],[508.301,0],[597.362,89.062],[597.362,474.17],[508.301,563.231],[-508.301,563.231],[-597.362,474.17]],"c":true}],"t":69,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.905,0],[0,0],[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905]],"o":[[0,-48.905],[0,0],[48.905,0],[0,0],[0,48.905],[0,0],[-48.905,0],[0,0]],"v":[[-576.424,88.611],[-487.812,0],[487.813,0],[576.424,88.611],[576.424,465.614],[487.813,554.225],[-487.812,554.225],[-576.424,465.614]],"c":true}],"t":70,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.588,0],[0,0],[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588]],"o":[[0,-48.588],[0,0],[48.588,0],[0,0],[0,48.588],[0,0],[-48.588,0],[0,0]],"v":[[-549.762,88.038],[-461.724,0],[461.724,0],[549.762,88.038],[549.762,454.72],[461.724,542.758],[-461.724,542.758],[-549.762,454.72]],"c":true}],"t":71,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-48.209,0],[0,0],[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209]],"o":[[0,-48.209],[0,0],[48.209,0],[0,0],[0,48.209],[0,0],[-48.209,0],[0,0]],"v":[[-517.833,87.351],[-430.482,0],[430.482,0],[517.833,87.351],[517.833,441.674],[430.482,529.025],[-430.482,529.025],[-517.833,441.674]],"c":true}],"t":72,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.791,0],[0,0],[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791]],"o":[[0,-47.791],[0,0],[47.791,0],[0,0],[0,47.791],[0,0],[-47.791,0],[0,0]],"v":[[-482.616,86.594],[-396.022,0],[396.022,0],[482.616,86.594],[482.616,427.284],[396.022,513.878],[-396.022,513.878],[-482.616,427.284]],"c":true}],"t":73,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-47.369,0],[0,0],[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369]],"o":[[0,-47.369],[0,0],[47.369,0],[0,0],[0,47.369],[0,0],[-47.369,0],[0,0]],"v":[[-447.043,85.829],[-361.214,0],[361.214,0],[447.043,85.829],[447.043,412.749],[361.214,498.578],[-361.214,498.578],[-447.043,412.749]],"c":true}],"t":74,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.972,0],[0,0],[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972]],"o":[[0,-46.972],[0,0],[46.972,0],[0,0],[0,46.972],[0,0],[-46.972,0],[0,0]],"v":[[-413.564,85.109],[-328.455,0],[328.456,0],[413.564,85.109],[413.564,399.069],[328.456,484.178],[-328.455,484.178],[-413.564,399.069]],"c":true}],"t":75,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.614,0],[0,0],[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614]],"o":[[0,-46.614],[0,0],[46.614,0],[0,0],[0,46.614],[0,0],[-46.614,0],[0,0]],"v":[[-383.396,84.46],[-298.936,0],[298.936,0],[383.396,84.46],[383.396,386.742],[298.936,471.203],[-298.936,471.203],[-383.396,386.742]],"c":true}],"t":76,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.298,0],[0,0],[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298]],"o":[[0,-46.298],[0,0],[46.298,0],[0,0],[0,46.298],[0,0],[-46.298,0],[0,0]],"v":[[-356.773,83.888],[-272.885,0],[272.885,0],[356.773,83.888],[356.773,375.864],[272.885,459.752],[-272.885,459.752],[-356.773,375.864]],"c":true}],"t":77,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-46.021,0],[0,0],[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021]],"o":[[0,-46.021],[0,0],[46.021,0],[0,0],[0,46.021],[0,0],[-46.021,0],[0,0]],"v":[[-333.455,83.386],[-250.069,0],[250.069,0],[333.455,83.386],[333.455,366.336],[250.069,449.723],[-250.069,449.723],[-333.455,366.336]],"c":true}],"t":78,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.779,0],[0,0],[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779]],"o":[[0,-45.779],[0,0],[45.779,0],[0,0],[0,45.779],[0,0],[-45.779,0],[0,0]],"v":[[-313.049,82.947],[-230.102,0],[230.102,0],[313.049,82.947],[313.049,357.999],[230.102,440.946],[-230.102,440.946],[-313.049,357.999]],"c":true}],"t":79,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.566,0],[0,0],[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566]],"o":[[0,-45.566],[0,0],[45.566,0],[0,0],[0,45.566],[0,0],[-45.566,0],[0,0]],"v":[[-295.158,82.563],[-212.595,0],[212.595,0],[295.158,82.563],[295.158,350.688],[212.595,433.251],[-212.595,433.251],[-295.158,350.688]],"c":true}],"t":80,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.38,0],[0,0],[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38]],"o":[[0,-45.38],[0,0],[45.38,0],[0,0],[0,45.38],[0,0],[-45.38,0],[0,0]],"v":[[-279.427,82.224],[-197.203,0],[197.203,0],[279.427,82.224],[279.427,344.26],[197.203,426.485],[-197.203,426.485],[-279.427,344.26]],"c":true}],"t":81,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.215,0],[0,0],[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215]],"o":[[0,-45.215],[0,0],[45.215,0],[0,0],[0,45.215],[0,0],[-45.215,0],[0,0]],"v":[[-265.557,81.926],[-183.631,0],[183.631,0],[265.557,81.926],[265.557,338.593],[183.631,420.519],[-183.631,420.519],[-265.557,338.593]],"c":true}],"t":82,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-45.069,0],[0,0],[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069]],"o":[[0,-45.069],[0,0],[45.069,0],[0,0],[0,45.069],[0,0],[-45.069,0],[0,0]],"v":[[-253.299,81.662],[-171.637,0],[171.637,0],[253.299,81.662],[253.299,333.585],[171.637,415.247],[-171.637,415.247],[-253.299,333.585]],"c":true}],"t":83,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.941,0],[0,0],[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941]],"o":[[0,-44.941],[0,0],[44.941,0],[0,0],[0,44.941],[0,0],[-44.941,0],[0,0]],"v":[[-242.449,81.429],[-161.02,0],[161.02,0],[242.449,81.429],[242.449,329.151],[161.02,410.58],[-161.02,410.58],[-242.449,329.151]],"c":true}],"t":84,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.827,0],[0,0],[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827]],"o":[[0,-44.827],[0,0],[44.827,0],[0,0],[0,44.827],[0,0],[-44.827,0],[0,0]],"v":[[-232.835,81.222],[-151.613,0],[151.613,0],[232.835,81.222],[232.835,325.223],[151.613,406.445],[-151.613,406.445],[-232.835,325.223]],"c":true}],"t":85,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.725,0],[0,0],[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725]],"o":[[0,-44.725],[0,0],[44.725,0],[0,0],[0,44.725],[0,0],[-44.725,0],[0,0]],"v":[[-224.316,81.039],[-143.277,0],[143.277,0],[224.316,81.039],[224.316,321.742],[143.277,402.781],[-143.277,402.781],[-224.316,321.742]],"c":true}],"t":86,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.636,0],[0,0],[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636]],"o":[[0,-44.636],[0,0],[44.636,0],[0,0],[0,44.636],[0,0],[-44.636,0],[0,0]],"v":[[-216.774,80.877],[-135.897,0],[135.897,0],[216.774,80.877],[216.774,318.66],[135.897,399.537],[-135.897,399.537],[-216.774,318.66]],"c":true}],"t":87,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.557,0],[0,0],[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557]],"o":[[0,-44.557],[0,0],[44.557,0],[0,0],[0,44.557],[0,0],[-44.557,0],[0,0]],"v":[[-210.107,80.733],[-129.374,0],[129.374,0],[210.107,80.733],[210.107,315.936],[129.374,396.67],[-129.374,396.67],[-210.107,315.936]],"c":true}],"t":88,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.487,0],[0,0],[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487]],"o":[[0,-44.487],[0,0],[44.487,0],[0,0],[0,44.487],[0,0],[-44.487,0],[0,0]],"v":[[-204.23,80.607],[-123.623,0],[123.623,0],[204.23,80.607],[204.23,313.535],[123.623,394.142],[-123.623,394.142],[-204.23,313.535]],"c":true}],"t":89,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.426,0],[0,0],[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426]],"o":[[0,-44.426],[0,0],[44.426,0],[0,0],[0,44.426],[0,0],[-44.426,0],[0,0]],"v":[[-199.07,80.496],[-118.574,0],[118.574,0],[199.07,80.496],[199.07,311.426],[118.574,391.923],[-118.574,391.923],[-199.07,311.426]],"c":true}],"t":90,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.372,0],[0,0],[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372]],"o":[[0,-44.372],[0,0],[44.372,0],[0,0],[0,44.372],[0,0],[-44.372,0],[0,0]],"v":[[-194.563,80.399],[-114.164,0],[114.164,0],[194.563,80.399],[194.563,309.585],[114.164,389.984],[-114.164,389.984],[-194.563,309.585]],"c":true}],"t":91,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.326,0],[0,0],[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326]],"o":[[0,-44.326],[0,0],[44.326,0],[0,0],[0,44.326],[0,0],[-44.326,0],[0,0]],"v":[[-190.654,80.315],[-110.338,0],[110.338,0],[190.654,80.315],[190.654,307.987],[110.338,388.303],[-110.338,388.303],[-190.654,307.987]],"c":true}],"t":92,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.286,0],[0,0],[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286]],"o":[[0,-44.286],[0,0],[44.286,0],[0,0],[0,44.286],[0,0],[-44.286,0],[0,0]],"v":[[-187.294,80.243],[-107.051,0],[107.051,0],[187.294,80.243],[187.294,306.615],[107.051,386.858],[-107.051,386.858],[-187.294,306.615]],"c":true}],"t":93,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.252,0],[0,0],[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252]],"o":[[0,-44.252],[0,0],[44.252,0],[0,0],[0,44.252],[0,0],[-44.252,0],[0,0]],"v":[[-184.442,80.182],[-104.261,0],[104.261,0],[184.442,80.182],[184.442,305.45],[104.261,385.631],[-104.261,385.631],[-184.442,305.45]],"c":true}],"t":94,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.224,0],[0,0],[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224]],"o":[[0,-44.224],[0,0],[44.224,0],[0,0],[0,44.224],[0,0],[-44.224,0],[0,0]],"v":[[-182.061,80.13],[-101.93,0],[101.93,0],[182.061,80.13],[182.061,304.476],[101.93,384.607],[-101.93,384.607],[-182.061,304.476]],"c":true}],"t":95,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.201,0],[0,0],[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201]],"o":[[0,-44.201],[0,0],[44.201,0],[0,0],[0,44.201],[0,0],[-44.201,0],[0,0]],"v":[[-180.115,80.089],[-100.027,0],[100.027,0],[180.115,80.089],[180.115,303.682],[100.027,383.77],[-100.027,383.77],[-180.115,303.682]],"c":true}],"t":96,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.183,0],[0,0],[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183]],"o":[[0,-44.183],[0,0],[44.183,0],[0,0],[0,44.183],[0,0],[-44.183,0],[0,0]],"v":[[-178.577,80.055],[-98.522,0],[98.522,0],[178.577,80.055],[178.577,303.053],[98.522,383.108],[-98.522,383.108],[-178.577,303.053]],"c":true}],"t":97,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.169,0],[0,0],[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169]],"o":[[0,-44.169],[0,0],[44.169,0],[0,0],[0,44.169],[0,0],[-44.169,0],[0,0]],"v":[[-177.419,80.031],[-97.389,0],[97.389,0],[177.419,80.031],[177.419,302.58],[97.389,382.611],[-97.389,382.611],[-177.419,302.58]],"c":true}],"t":98,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.159,0],[0,0],[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159]],"o":[[0,-44.159],[0,0],[44.159,0],[0,0],[0,44.159],[0,0],[-44.159,0],[0,0]],"v":[[-176.618,80.013],[-96.605,0],[96.605,0],[176.618,80.013],[176.618,302.253],[96.605,382.266],[-96.605,382.266],[-176.618,302.253]],"c":true}],"t":99,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.154,0],[0,0],[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154]],"o":[[0,-44.154],[0,0],[44.154,0],[0,0],[0,44.154],[0,0],[-44.154,0],[0,0]],"v":[[-176.151,80.003],[-96.148,0],[96.148,0],[176.151,80.003],[176.151,302.062],[96.148,382.065],[-96.148,382.065],[-176.151,302.062]],"c":true}],"t":100,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,302],[96,382],[-96,382],[-176,302]],"c":true}],"t":101,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.152,0],[0,0],[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152]],"o":[[0,-44.152],[0,0],[44.152,0],[0,0],[0,44.152],[0,0],[-44.152,0],[0,0]],"v":[[-176,80],[-96,0],[96,0],[176,80],[176,302],[96,382],[-96,382],[-176,302]],"c":true}],"t":113,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.127,0],[0,0],[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127]],"o":[[0,-44.127],[0,0],[44.127,0],[0,0],[0,44.127],[0,0],[-44.127,0],[0,0]],"v":[[-175.806,79.954],[-95.852,0],[95.852,0],[175.806,79.954],[175.806,301.573],[95.852,381.527],[-95.852,381.527],[-175.806,301.573]],"c":true}],"t":114,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-44.042,0],[0,0],[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042]],"o":[[0,-44.042],[0,0],[44.042,0],[0,0],[0,44.042],[0,0],[-44.042,0],[0,0]],"v":[[-175.151,79.8],[-95.351,0],[95.351,0],[175.151,79.8],[175.151,300.128],[95.351,379.928],[-95.351,379.928],[-175.151,300.128]],"c":true}],"t":115,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.877,0],[0,0],[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877]],"o":[[0,-43.877],[0,0],[43.877,0],[0,0],[0,43.877],[0,0],[-43.877,0],[0,0]],"v":[[-173.883,79.502],[-94.381,0],[94.381,0],[173.883,79.502],[173.883,297.331],[94.381,376.832],[-94.381,376.832],[-173.883,297.331]],"c":true}],"t":116,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.602,0],[0,0],[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602]],"o":[[0,-43.602],[0,0],[43.602,0],[0,0],[0,43.602],[0,0],[-43.602,0],[0,0]],"v":[[-171.765,79.003],[-92.761,0],[92.761,0],[171.765,79.003],[171.765,292.657],[92.761,371.661],[-92.761,371.661],[-171.765,292.657]],"c":true}],"t":117,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-43.166,0],[0,0],[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166]],"o":[[0,-43.166],[0,0],[43.166,0],[0,0],[0,43.166],[0,0],[-43.166,0],[0,0]],"v":[[-168.404,78.213],[-90.191,0],[90.191,0],[168.404,78.213],[168.404,285.244],[90.191,363.457],[-90.191,363.457],[-168.404,285.244]],"c":true}],"t":118,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-42.482,0],[0,0],[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482]],"o":[[0,-42.482],[0,0],[42.482,0],[0,0],[0,42.482],[0,0],[-42.482,0],[0,0]],"v":[[-163.142,76.975],[-86.168,0],[86.168,0],[163.142,76.975],[163.142,273.637],[86.168,350.612],[-86.168,350.612],[-163.142,273.637]],"c":true}],"t":119,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-41.435,0],[0,0],[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435]],"o":[[0,-41.435],[0,0],[41.435,0],[0,0],[0,41.435],[0,0],[-41.435,0],[0,0]],"v":[[-155.078,75.077],[-80.001,0],[80.001,0],[155.078,75.077],[155.078,255.848],[80.001,330.925],[-80.001,330.925],[-155.078,255.848]],"c":true}],"t":120,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-40.054,0],[0,0],[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054]],"o":[[0,-40.054],[0,0],[40.054,0],[0,0],[0,40.054],[0,0],[-40.054,0],[0,0]],"v":[[-144.442,72.575],[-71.868,0],[71.868,0],[144.442,72.575],[144.442,232.388],[71.868,304.963],[-71.868,304.963],[-144.442,232.388]],"c":true}],"t":121,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-38.75,0],[0,0],[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75]],"o":[[0,-38.75],[0,0],[38.75,0],[0,0],[0,38.75],[0,0],[-38.75,0],[0,0]],"v":[[-134.399,70.212],[-64.188,0],[64.188,0],[134.399,70.212],[134.399,210.234],[64.188,280.446],[-64.188,280.446],[-134.399,210.234]],"c":true}],"t":122,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.775,0],[0,0],[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775]],"o":[[0,-37.775],[0,0],[37.775,0],[0,0],[0,37.775],[0,0],[-37.775,0],[0,0]],"v":[[-126.895,68.446],[-58.449,0],[58.449,0],[126.895,68.446],[126.895,193.681],[58.449,262.127],[-58.449,262.127],[-126.895,193.681]],"c":true}],"t":123,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-37.077,0],[0,0],[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077]],"o":[[0,-37.077],[0,0],[37.077,0],[0,0],[0,37.077],[0,0],[-37.077,0],[0,0]],"v":[[-121.522,67.182],[-54.34,0],[54.34,0],[121.522,67.182],[121.522,181.827],[54.34,249.008],[-54.34,249.008],[-121.522,181.827]],"c":true}],"t":124,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.569,0],[0,0],[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569]],"o":[[0,-36.569],[0,0],[36.569,0],[0,0],[0,36.569],[0,0],[-36.569,0],[0,0]],"v":[[-117.609,66.261],[-51.348,0],[51.348,0],[117.609,66.261],[117.609,173.196],[51.348,239.457],[-51.348,239.457],[-117.609,173.196]],"c":true}],"t":125,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-36.193,0],[0,0],[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193]],"o":[[0,-36.193],[0,0],[36.193,0],[0,0],[0,36.193],[0,0],[-36.193,0],[0,0]],"v":[[-114.709,65.579],[-49.131,0],[49.131,0],[114.709,65.579],[114.709,166.8],[49.131,232.379],[-49.131,232.379],[-114.709,166.8]],"c":true}],"t":126,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.912,0],[0,0],[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912]],"o":[[0,-35.912],[0,0],[35.912,0],[0,0],[0,35.912],[0,0],[-35.912,0],[0,0]],"v":[[-112.544,65.069],[-47.475,0],[47.475,0],[112.544,65.069],[112.544,162.024],[47.475,227.094],[-47.475,227.094],[-112.544,162.024]],"c":true}],"t":127,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.703,0],[0,0],[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703]],"o":[[0,-35.703],[0,0],[35.703,0],[0,0],[0,35.703],[0,0],[-35.703,0],[0,0]],"v":[[-110.934,64.69],[-46.244,0],[46.244,0],[110.934,64.69],[110.934,158.473],[46.244,223.163],[-46.244,223.163],[-110.934,158.473]],"c":true}],"t":128,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.55,0],[0,0],[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55]],"o":[[0,-35.55],[0,0],[35.55,0],[0,0],[0,35.55],[0,0],[-35.55,0],[0,0]],"v":[[-109.758,64.414],[-45.344,0],[45.344,0],[109.758,64.414],[109.758,155.878],[45.344,220.292],[-45.344,220.292],[-109.758,155.878]],"c":true}],"t":129,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.443,0],[0,0],[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443]],"o":[[0,-35.443],[0,0],[35.443,0],[0,0],[0,35.443],[0,0],[-35.443,0],[0,0]],"v":[[-108.931,64.219],[-44.712,0],[44.712,0],[108.931,64.219],[108.931,154.054],[44.712,218.273],[-44.712,218.273],[-108.931,154.054]],"c":true}],"t":130,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.372,0],[0,0],[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372]],"o":[[0,-35.372],[0,0],[35.372,0],[0,0],[0,35.372],[0,0],[-35.372,0],[0,0]],"v":[[-108.391,64.092],[-44.299,0],[44.299,0],[108.391,64.092],[108.391,152.863],[44.299,216.955],[-44.299,216.955],[-108.391,152.863]],"c":true}],"t":131,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.334,0],[0,0],[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334]],"o":[[0,-35.334],[0,0],[35.334,0],[0,0],[0,35.334],[0,0],[-35.334,0],[0,0]],"v":[[-108.093,64.022],[-44.071,0],[44.071,0],[108.093,64.022],[108.093,152.205],[44.071,216.227],[-44.071,216.227],[-108.093,152.205]],"c":true}],"t":132,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.322,0],[0,0],[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322]],"o":[[0,-35.322],[0,0],[35.322,0],[0,0],[0,35.322],[0,0],[-35.322,0],[0,0]],"v":[[-108,64],[-44,0],[44,0],[108,64],[108,152],[44,216],[-44,216],[-108,152]],"c":true}],"t":133,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.293,0],[0,0],[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293]],"o":[[0,-35.293],[0,0],[35.293,0],[0,0],[0,35.293],[0,0],[-35.293,0],[0,0]],"v":[[-108.025,63.949],[-44.076,0],[44.076,0],[108.025,63.949],[108.025,152.102],[44.076,216.051],[-44.076,216.051],[-108.025,152.102]],"c":true}],"t":134,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.214,0],[0,0],[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214]],"o":[[0,-35.214],[0,0],[35.214,0],[0,0],[0,35.214],[0,0],[-35.214,0],[0,0]],"v":[[-108.097,63.806],[-44.292,0],[44.292,0],[108.097,63.806],[108.097,152.389],[44.292,216.194],[-44.292,216.194],[-108.097,152.389]],"c":true}],"t":135,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-35.092,0],[0,0],[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092]],"o":[[0,-35.092],[0,0],[35.092,0],[0,0],[0,35.092],[0,0],[-35.092,0],[0,0]],"v":[[-108.208,63.584],[-44.624,0],[44.624,0],[108.208,63.584],[108.208,152.832],[44.624,216.416],[-44.624,216.416],[-108.208,152.832]],"c":true}],"t":136,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.934,0],[0,0],[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934]],"o":[[0,-34.934],[0,0],[34.934,0],[0,0],[0,34.934],[0,0],[-34.934,0],[0,0]],"v":[[-108.351,63.298],[-45.052,0],[45.052,0],[108.351,63.298],[108.351,153.403],[45.052,216.702],[-45.052,216.702],[-108.351,153.403]],"c":true}],"t":137,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.749,0],[0,0],[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749]],"o":[[0,-34.749],[0,0],[34.749,0],[0,0],[0,34.749],[0,0],[-34.749,0],[0,0]],"v":[[-108.519,62.963],[-45.556,0],[45.556,0],[108.519,62.963],[108.519,154.074],[45.556,217.037],[-45.556,217.037],[-108.519,154.074]],"c":true}],"t":138,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.545,0],[0,0],[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545]],"o":[[0,-34.545],[0,0],[34.545,0],[0,0],[0,34.545],[0,0],[-34.545,0],[0,0]],"v":[[-108.704,62.592],[-46.112,0],[46.112,0],[108.704,62.592],[108.704,154.816],[46.112,217.408],[-46.112,217.408],[-108.704,154.816]],"c":true}],"t":139,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.328,0],[0,0],[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328]],"o":[[0,-34.328],[0,0],[34.328,0],[0,0],[0,34.328],[0,0],[-34.328,0],[0,0]],"v":[[-108.9,62.2],[-46.7,0],[46.7,0],[108.9,62.2],[108.9,155.601],[46.7,217.8],[-46.7,217.8],[-108.9,155.601]],"c":true}],"t":140,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-34.108,0],[0,0],[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108]],"o":[[0,-34.108],[0,0],[34.108,0],[0,0],[0,34.108],[0,0],[-34.108,0],[0,0]],"v":[[-109.1,61.8],[-47.3,0],[47.3,0],[109.1,61.8],[109.1,156.399],[47.3,218.2],[-47.3,218.2],[-109.1,156.399]],"c":true}],"t":141,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.891,0],[0,0],[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891]],"o":[[0,-33.891],[0,0],[33.891,0],[0,0],[0,33.891],[0,0],[-33.891,0],[0,0]],"v":[[-109.296,61.408],[-47.888,0],[47.888,0],[109.296,61.408],[109.296,157.184],[47.888,218.592],[-47.888,218.592],[-109.296,157.184]],"c":true}],"t":142,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.686,0],[0,0],[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686]],"o":[[0,-33.686],[0,0],[33.686,0],[0,0],[0,33.686],[0,0],[-33.686,0],[0,0]],"v":[[-109.481,61.037],[-48.444,0],[48.444,0],[109.481,61.037],[109.481,157.926],[48.444,218.963],[-48.444,218.963],[-109.481,157.926]],"c":true}],"t":143,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.501,0],[0,0],[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501]],"o":[[0,-33.501],[0,0],[33.501,0],[0,0],[0,33.501],[0,0],[-33.501,0],[0,0]],"v":[[-109.649,60.702],[-48.948,0],[48.948,0],[109.649,60.702],[109.649,158.597],[48.948,219.298],[-48.948,219.298],[-109.649,158.597]],"c":true}],"t":144,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.344,0],[0,0],[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344]],"o":[[0,-33.344],[0,0],[33.344,0],[0,0],[0,33.344],[0,0],[-33.344,0],[0,0]],"v":[[-109.792,60.416],[-49.376,0],[49.376,0],[109.792,60.416],[109.792,159.168],[49.376,219.584],[-49.376,219.584],[-109.792,159.168]],"c":true}],"t":145,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.221,0],[0,0],[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221]],"o":[[0,-33.221],[0,0],[33.221,0],[0,0],[0,33.221],[0,0],[-33.221,0],[0,0]],"v":[[-109.903,60.194],[-49.708,0],[49.708,0],[109.903,60.194],[109.903,159.611],[49.708,219.806],[-49.708,219.806],[-109.903,159.611]],"c":true}],"t":146,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.142,0],[0,0],[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142]],"o":[[0,-33.142],[0,0],[33.142,0],[0,0],[0,33.142],[0,0],[-33.142,0],[0,0]],"v":[[-109.975,60.051],[-49.924,0],[49.924,0],[109.975,60.051],[109.975,159.898],[49.924,219.949],[-49.924,219.949],[-109.975,159.898]],"c":true}],"t":147,"i":{"x":1,"y":1},"o":{"x":0,"y":0}},{"s":[{"i":[[0,0],[-33.114,0],[0,0],[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114]],"o":[[0,-33.114],[0,0],[33.114,0],[0,0],[0,33.114],[0,0],[-33.114,0],[0,0]],"v":[[-110,60],[-50,0],[50,0],[110,60],[110,160],[50,220],[-50,220],[-110,160]],"c":true}],"t":148,"i":{"x":1,"y":1},"o":{"x":0,"y":0}}]},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[1,0.871,0.647,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[1,0.871,0.647,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":446,"st":-57,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".surfaceOverview","cl":"surfaceOverview","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[1280,800],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.325,0.271,0.165,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.325,0.271,0.165,1],"t":445,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":446,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Part01_Thumb_Tablet_Overview_V03","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[640,400,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1280,"h":800,"ip":0,"op":455,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Part02_Charade_Tablet_Overview_V02","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[640,400,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1280,"h":800,"ip":455,"op":921,"st":455,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Part03_Demonstration_Tablet_Overview_V02","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[640,400,0],"ix":2,"l":2},"a":{"a":0,"k":[640,400,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1280,"h":800,"ip":921,"op":1367,"st":921,"bm":0}],"markers":[],"props":{}}
\ No newline at end of file
diff --git a/quickstep/res/raw/taskbar_edu_pinning.json b/quickstep/res/raw/taskbar_edu_pinning.json
new file mode 100644
index 0000000..56bce84
--- /dev/null
+++ b/quickstep/res/raw/taskbar_edu_pinning.json
@@ -0,0 +1 @@
+{"v":"5.12.1","fr":60,"ip":0,"op":301,"w":348,"h":219,"nm":"Taskbar_Transient_EDU2_T2P","ddd":0,"assets":[{"id":"comp_0","nm":"Taskbar_NoContainer","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.353,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.2,14.2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"green suggested","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".green100","cl":"green100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.353,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.808,0.918,0.839,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.808,0.918,0.839,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer suggested green","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[179.395,16.316,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.2,14.199],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"blue suggested","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[179.396,16.318,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer suggested blue","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[148.77,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.988,0.788,0.204,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.988,0.788,0.204,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[117.979,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"green","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".red400","cl":"red400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[87.187,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.933,0.404,0.361,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.933,0.404,0.361,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"red","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56.396,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"blue","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"universal grey divider","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[36,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,0],[5,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Divider","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"universal grey action","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[21.033,17.175,0],"ix":2,"l":2},"a":{"a":0,"k":[7.033,6.779,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 12","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[2.613,9.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 2","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 11","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[2.613,2.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 5","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[9.613,2.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 2","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.185,0.148],[0,0],[0,0],[0,0],[-0.086,0.24],[0,0.271],[0.468,0.462],[0.671,0],[0.468,-0.468],[0,-0.671],[-0.462,-0.468],[-0.671,0],[-0.24,0.086]],"o":[[0,0],[0,0],[0,0],[0.148,-0.185],[0.086,-0.24],[0,-0.671],[-0.462,-0.468],[-0.671,0],[-0.462,0.462],[0,0.671],[0.468,0.462],[0.271,0],[0.24,-0.086]],"v":[[0.48,0.998],[2.809,3.326],[3.326,2.809],[0.998,0.48],[1.349,-0.157],[1.478,-0.924],[0.776,-2.624],[-0.924,-3.326],[-2.633,-2.624],[-3.326,-0.924],[-2.633,0.785],[-0.924,1.478],[-0.157,1.349]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.326,-0.326],[0.462,0],[0.326,0.32],[0,0.462],[-0.32,0.32],[-0.462,0],[-0.32,-0.326],[0,-0.462]],"o":[[-0.32,0.32],[-0.462,0],[-0.32,-0.326],[0,-0.462],[0.326,-0.326],[0.462,0],[0.326,0.32],[0,0.462]],"v":[[0.249,0.259],[-0.924,0.739],[-2.106,0.259],[-2.587,-0.924],[-2.106,-2.097],[-0.924,-2.587],[0.249,-2.097],[0.739,-0.924]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"icon","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[10.627,10.318],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"icon","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"cog 02","sr":1,"ks":{"o":{"a":1,"k":[{"t":0,"s":[0],"h":1},{"t":80,"s":[100],"h":1}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":71,"s":[240]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":79.334,"s":[312]},{"i":{"x":[0.849],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":121,"s":[420]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":255,"s":[420]},{"t":277,"s":[360]}],"ix":10},"p":{"a":0,"k":[120.053,89.949,0],"ix":2,"l":2},"a":{"a":0,"k":[10.029,10.228,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.942,0],[0,1.942],[1.942,0],[0,-1.942]],"o":[[1.942,0],[0,-1.942],[-1.942,0],[0,1.942]],"v":[[0,3.517],[3.517,0],[0,-3.517],[-3.517,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.941176474094,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"XMLID 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[10.067,10.197],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"center","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.762,0],[0,0],[0,0.586],[0,0],[-0.234,0.176],[0,0],[-0.352,0.645],[0,0],[0.586,0.469],[0,0],[0,0.176],[0,0.176],[0,0],[0.352,0.645],[0,0],[0.703,-0.234],[0,0],[0.293,0.117],[0,0],[0.762,0],[0,0],[0.059,-0.703],[0,0],[0.234,-0.176],[0,0],[0.352,-0.645],[0,0],[-0.586,-0.469],[0,0],[0,-0.176],[0,-0.176],[0,0],[-0.352,-0.645],[0,0],[-0.703,0.234],[0,0],[-0.293,-0.117],[0,0]],"o":[[0,0],[0.762,0],[0,0],[0.234,-0.176],[0,0],[0.703,0.234],[0,0],[0.352,-0.645],[0,0],[0,-0.176],[0,-0.176],[0,0],[0.528,-0.41],[0,0],[-0.352,-0.645],[0,0],[-0.293,-0.176],[0,0],[-0.117,-0.762],[0,0],[-0.762,0],[0,0],[-0.234,0.176],[0,0],[-0.645,-0.234],[0,0],[-0.41,0.645],[0,0],[0,0.176],[0,0.176],[0,0],[-0.528,0.41],[0,0],[0.352,0.645],[0,0],[0.234,0.176],[0,0],[0.117,0.762]],"v":[[-1.833,10.228],[1.859,10.228],[3.266,9.114],[3.559,7.18],[4.321,6.711],[6.138,7.415],[7.955,6.77],[9.831,3.546],[9.479,1.67],[7.955,0.498],[7.955,0.029],[7.955,-0.44],[9.479,-1.612],[9.831,-3.488],[8.014,-6.653],[6.197,-7.297],[4.38,-6.594],[3.559,-7.063],[3.266,-8.939],[1.801,-10.228],[-1.892,-10.228],[-3.357,-8.997],[-3.65,-7.063],[-4.412,-6.594],[-6.229,-7.356],[-7.988,-6.711],[-9.805,-3.546],[-9.453,-1.67],[-7.929,-0.498],[-7.929,-0.029],[-7.929,0.44],[-9.453,1.612],[-9.805,3.488],[-7.988,6.653],[-6.171,7.297],[-4.354,6.594],[-3.592,7.063],[-3.299,8.939]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.059,0]],"o":[[0,0]],"v":[[-1.306,8.704]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0.41,0.352],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0.234],[0,0.234],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,0.176],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.41,-0.293],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-0.293],[0.059,-0.234],[0,0],[0,0],[0,0],[0,0],[0,0],[0.469,-0.176],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.469,-0.176],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.059,-0.234],[0,-0.234],[0,0],[0,0],[0,0],[0,0],[0,0],[0.469,-0.293],[0,0],[0,0],[0,0],[0,0],[0,0],[0.469,0.176],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0.234],[0,0.234],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,0.293],[0,0],[0,0]],"v":[[1.39,8.235],[-1.365,8.235],[-1.716,5.715],[-2.185,5.48],[-3.533,4.718],[-4.002,4.367],[-6.405,5.305],[-7.812,2.901],[-5.761,1.319],[-5.819,0.733],[-5.878,-0.029],[-5.819,-0.791],[-5.761,-1.377],[-7.812,-2.96],[-6.405,-5.363],[-4.002,-4.425],[-3.533,-4.777],[-2.185,-5.539],[-1.658,-5.773],[-1.306,-8.294],[1.449,-8.294],[1.801,-5.773],[2.328,-5.539],[3.676,-4.777],[4.145,-4.425],[6.548,-5.363],[7.955,-2.96],[5.904,-1.377],[5.962,-0.791],[6.021,-0.029],[5.962,0.733],[5.904,1.319],[7.955,2.901],[6.548,5.305],[4.145,4.367],[3.676,4.718],[2.328,5.48],[1.801,5.715]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0.059]],"o":[[0,0]],"v":[[-6.171,-5.773]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[0,0.059]],"o":[[0,0]],"v":[[-1.247,-8.763]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.941176474094,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":7,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[10.029,10.228],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660.233790992859,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"cog 01","sr":1,"ks":{"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":80,"s":[0],"h":1}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":71,"s":[0]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.7]},"t":79.334,"s":[72]},{"t":121,"s":[180]}],"ix":10},"p":{"a":0,"k":[120.053,89.949,0],"ix":2,"l":2},"a":{"a":0,"k":[10.029,10.228,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.942,0],[0,1.942],[1.942,0],[0,-1.942]],"o":[[1.942,0],[0,-1.942],[-1.942,0],[0,1.942]],"v":[[0,3.517],[3.517,0],[0,-3.517],[-3.517,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.941176474094,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"XMLID 3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[10.067,10.197],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"center","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.762,0],[0,0],[0,0.586],[0,0],[-0.234,0.176],[0,0],[-0.352,0.645],[0,0],[0.586,0.469],[0,0],[0,0.176],[0,0.176],[0,0],[0.352,0.645],[0,0],[0.703,-0.234],[0,0],[0.293,0.117],[0,0],[0.762,0],[0,0],[0.059,-0.703],[0,0],[0.234,-0.176],[0,0],[0.352,-0.645],[0,0],[-0.586,-0.469],[0,0],[0,-0.176],[0,-0.176],[0,0],[-0.352,-0.645],[0,0],[-0.703,0.234],[0,0],[-0.293,-0.117],[0,0]],"o":[[0,0],[0.762,0],[0,0],[0.234,-0.176],[0,0],[0.703,0.234],[0,0],[0.352,-0.645],[0,0],[0,-0.176],[0,-0.176],[0,0],[0.528,-0.41],[0,0],[-0.352,-0.645],[0,0],[-0.293,-0.176],[0,0],[-0.117,-0.762],[0,0],[-0.762,0],[0,0],[-0.234,0.176],[0,0],[-0.645,-0.234],[0,0],[-0.41,0.645],[0,0],[0,0.176],[0,0.176],[0,0],[-0.528,0.41],[0,0],[0.352,0.645],[0,0],[0.234,0.176],[0,0],[0.117,0.762]],"v":[[-1.833,10.228],[1.859,10.228],[3.266,9.114],[3.559,7.18],[4.321,6.711],[6.138,7.415],[7.955,6.77],[9.831,3.546],[9.479,1.67],[7.955,0.498],[7.955,0.029],[7.955,-0.44],[9.479,-1.612],[9.831,-3.488],[8.014,-6.653],[6.197,-7.297],[4.38,-6.594],[3.559,-7.063],[3.266,-8.939],[1.801,-10.228],[-1.892,-10.228],[-3.357,-8.997],[-3.65,-7.063],[-4.412,-6.594],[-6.229,-7.356],[-7.988,-6.711],[-9.805,-3.546],[-9.453,-1.67],[-7.929,-0.498],[-7.929,-0.029],[-7.929,0.44],[-9.453,1.612],[-9.805,3.488],[-7.988,6.653],[-6.171,7.297],[-4.354,6.594],[-3.592,7.063],[-3.299,8.939]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.059,0]],"o":[[0,0]],"v":[[-1.306,8.704]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0.41,0.352],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0.234],[0,0.234],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,0.176],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.41,-0.293],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-0.293],[0.059,-0.234],[0,0],[0,0],[0,0],[0,0],[0,0],[0.469,-0.176],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.469,-0.176],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.059,-0.234],[0,-0.234],[0,0],[0,0],[0,0],[0,0],[0,0],[0.469,-0.293],[0,0],[0,0],[0,0],[0,0],[0,0],[0.469,0.176],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0.234],[0,0.234],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.469,0.293],[0,0],[0,0]],"v":[[1.39,8.235],[-1.365,8.235],[-1.716,5.715],[-2.185,5.48],[-3.533,4.718],[-4.002,4.367],[-6.405,5.305],[-7.812,2.901],[-5.761,1.319],[-5.819,0.733],[-5.878,-0.029],[-5.819,-0.791],[-5.761,-1.377],[-7.812,-2.96],[-6.405,-5.363],[-4.002,-4.425],[-3.533,-4.777],[-2.185,-5.539],[-1.658,-5.773],[-1.306,-8.294],[1.449,-8.294],[1.801,-5.773],[2.328,-5.539],[3.676,-4.777],[4.145,-4.425],[6.548,-5.363],[7.955,-2.96],[5.904,-1.377],[5.962,-0.791],[6.021,-0.029],[5.962,0.733],[5.904,1.319],[7.955,2.901],[6.548,5.305],[4.145,4.367],[3.676,4.718],[2.328,5.48],[1.801,5.715]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0.059]],"o":[[0,0]],"v":[[-6.171,-5.773]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[0,0.059]],"o":[[0,0]],"v":[[-1.247,-8.763]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.941176474094,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":7,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[10.029,10.228],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660.233790992859,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue100","cl":"blue100","parent":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.008,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":66.008,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":242.008,"s":[100]},{"t":246.005859375,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.2,"y":0},"t":60,"s":[-7.079,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.8,"y":0.8},"o":{"x":0.215,"y":0.215},"t":80,"s":[7.079,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[7.079,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260.068359375,"s":[-7.079,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.308,0],[0,3.308],[3.308,0],[0,-3.308]],"o":[[3.308,0],[0,-3.308],[-3.308,0],[0,3.308]],"v":[[0,5.99],[5.99,0],[0,-5.99],[-5.99,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Button","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660.233790992859,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".grey600","cl":"grey600","parent":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.2,"y":0},"t":60,"s":[-7.079,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.8,"y":0.8},"o":{"x":0.215,"y":0.215},"t":80,"s":[7.079,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[7.079,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260.068359375,"s":[-7.079,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.308,0],[0,3.308],[3.308,0],[0,-3.308]],"o":[[3.308,0],[0,-3.308],[-3.308,0],[0,3.308]],"v":[[0,5.99],[5.99,0],[0,-5.99],[-5.99,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.502,0.525,0.545,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.502,0.525,0.545,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Button","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660.233790992859,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.008,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":66.008,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":242.008,"s":[100]},{"t":246.005859375,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[221.082,88.938,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[30.494,16.336],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0,0,0,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0,0,0,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Toggle Channel","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660.233790992859,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[221.082,88.938,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[30.494,16.336],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.235,0.251,0.263,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.235,0.251,0.263,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Toggle Channel","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660.233790992859,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.985,90.027,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[156.827,38.118],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":15,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Settings","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660.233790992859,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Taskbar - no fade","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":174.374,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":80,"s":[191.396]},{"t":105,"s":[202],"h":1},{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":260,"s":[202]},{"t":285,"s":[191.396]}],"ix":4}},"a":{"a":0,"k":[113.5,16.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":227,"h":33,"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".grey800","cl":"grey800","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[113.5,16.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":80,"s":[227,33]},{"t":105,"s":[227,30],"h":1},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":260,"s":[227,30]},{"t":285,"s":[227,33]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":174,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.235,0.251,0.263,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.235,0.251,0.263,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Taskbar","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,93.525,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":80,"s":[{"i":[[9.624,0],[0,0],[0,-8.185],[0,0],[-9.624,0],[0,0],[0,8.185],[0,0]],"o":[[0,0],[-9.624,0],[0,0],[0,8.185],[0,0],[9.624,0],[0,0],[0,-8.185]],"v":[[156.575,-93.525],[-156.575,-93.525],[-174,-78.705],[-173.9,110.706],[-156.475,125.525],[156.675,125.525],[174.1,110.706],[174,-78.705]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.2,"y":0},"t":100,"s":[{"i":[[9.624,0],[0,0],[0,-8.185],[0,0],[-9.624,0],[0,0],[0,8.185],[0,0]],"o":[[0,0],[-9.624,0],[0,0],[0,8.185],[0,0],[9.624,0],[0,0],[0,-8.185]],"v":[[156.575,-93.525],[-156.575,-93.525],[-174,-78.705],[-174,78.705],[-156.575,93.525],[156.575,93.525],[174,78.705],[174,-78.705]],"c":true}]},{"i":{"x":0.833,"y":1},"o":{"x":0.2,"y":0},"t":260,"s":[{"i":[[9.624,0],[0,0],[0,-8.185],[0,0],[-9.624,0],[0,0],[0,8.185],[0,0]],"o":[[0,0],[-9.624,0],[0,0],[0,8.185],[0,0],[9.624,0],[0,0],[0,-8.185]],"v":[[156.575,-93.525],[-156.575,-93.525],[-174,-78.705],[-174,78.705],[-156.575,93.525],[156.575,93.525],[174,78.705],[174,-78.705]],"c":true}]},{"t":280,"s":[{"i":[[9.624,0],[0,0],[0,-8.185],[0,0],[-9.624,0],[0,0],[0,8.185],[0,0]],"o":[[0,0],[-9.624,0],[0,0],[0,8.185],[0,0],[9.624,0],[0,0],[0,-8.185]],"v":[[156.575,-93.525],[-156.575,-93.525],[-174,-78.705],[-173.9,110.706],[-156.475,125.525],[156.675,125.525],[174.1,110.706],[174,-78.705]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660.233790992859,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"BG Matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,218,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[348,219],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".grey800","cl":"grey800","tt":1,"tp":11,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":78,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":81,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":279,"s":[100]},{"t":282,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,109.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[348,219],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.235,0.251,0.263,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.235,0.251,0.263,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0}],"markers":[{"tm":60,"cm":"","dr":0},{"tm":80,"cm":"","dr":0},{"tm":240,"cm":"","dr":0},{"tm":260,"cm":"","dr":0}],"props":{}}
\ No newline at end of file
diff --git a/quickstep/res/raw/taskbar_edu_settings.json b/quickstep/res/raw/taskbar_edu_settings.json
deleted file mode 100644
index a724824..0000000
--- a/quickstep/res/raw/taskbar_edu_settings.json
+++ /dev/null
@@ -1 +0,0 @@
-{"v":"5.7.8","fr":60,"ip":0,"op":301,"w":320,"h":202,"nm":"Taskbar_Persistent_EDU_2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":66,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":242,"s":[100]},{"t":246,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.2,"y":0},"t":60,"s":[209,86,0],"to":[2.833,0,0],"ti":[-2.833,0,0]},{"i":{"x":0.1,"y":0.1},"o":{"x":0.167,"y":0.167},"t":80,"s":[226,86,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[226,86,0],"to":[-2.833,0,0],"ti":[2.833,0,0]},{"t":260,"s":[209,86,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[125,125,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[11,11],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":15,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".grey600","cl":"grey600","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.1,"y":1},"o":{"x":0.2,"y":0},"t":60,"s":[209,86,0],"to":[2.833,0,0],"ti":[-2.833,0,0]},{"i":{"x":0.1,"y":0.1},"o":{"x":0.167,"y":0.167},"t":80,"s":[226,86,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.1,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[226,86,0],"to":[-2.833,0,0],"ti":[2.833,0,0]},{"t":260,"s":[209,86,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[125,125,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[11,11],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":15,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":66,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":242,"s":[100]},{"t":246,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[217.5,86,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[125,125,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[28,15],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":15,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[217.5,86,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[125,125,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[28,15],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":15,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[101.25,86,0],"ix":2,"l":2},"a":{"a":0,"k":[-43.792,-15.776,0],"ix":1,"l":2},"s":{"a":0,"k":[125,125,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.784,0],[0,1.783],[1.783,0],[0,-1.783]],"o":[[1.783,0],[0,-1.783],[-1.784,0],[0,1.783]],"v":[[-43.755,-12.577],[-40.526,-15.806],[-43.755,-19.035],[-46.984,-15.806]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0.053]],"o":[[0,0.053],[0,0]],"v":[[-44.937,-23.822],[-44.937,-23.822]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0.054]],"o":[[0,0.054],[0,0]],"v":[[-49.458,-21.078],[-49.458,-21.078]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-0.431,0.269],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0.215],[0,0.215],[0,0],[0,0],[0,0],[0,0],[0,0],[0.431,0.161],[0,0],[0,0],[0,0],[0,0],[0,0],[0.431,-0.269],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-0.216],[-0.054,-0.215],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.431,-0.162],[0,0]],"o":[[0,0],[0,0],[0,0],[0.431,-0.162],[0,0],[0,0],[0,0],[0,0],[0,0],[0.054,-0.215],[0,-0.269],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.377,-0.269],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.431,0.161],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0.215],[0,0.215],[0,0],[0,0],[0,0],[0,0],[0,0],[0.377,0.323],[0,0],[0,0]],"v":[[-45.045,-8.215],[-42.515,-8.215],[-42.138,-10.529],[-41.654,-10.744],[-40.416,-11.444],[-39.986,-11.767],[-37.779,-10.906],[-36.487,-13.112],[-38.371,-14.565],[-38.317,-15.104],[-38.263,-15.803],[-38.317,-16.503],[-38.371,-17.041],[-36.487,-18.494],[-37.779,-20.701],[-39.986,-19.84],[-40.416,-20.163],[-41.654,-20.862],[-42.138,-21.078],[-42.461,-23.392],[-44.991,-23.392],[-45.314,-21.078],[-45.798,-20.862],[-47.036,-20.163],[-47.467,-19.84],[-49.673,-20.701],[-50.965,-18.494],[-49.081,-17.041],[-49.135,-16.503],[-49.189,-15.803],[-49.135,-15.104],[-49.081,-14.565],[-50.965,-13.112],[-49.673,-10.906],[-47.467,-11.767],[-47.036,-11.444],[-45.798,-10.744],[-45.368,-10.529]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0.054,0]],"o":[[0.054,0],[0,0]],"v":[[-44.991,-7.784],[-44.991,-7.784]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[0.7,0],[0,0],[0.108,0.7],[0,0],[0.215,0.162],[0,0],[0.323,0.592],[0,0],[-0.484,0.376],[0,0],[0,0.161],[0,0.162],[0,0],[-0.376,0.593],[0,0],[-0.592,-0.215],[0,0],[-0.215,0.162],[0,0],[-0.7,0],[0,0],[-0.107,-0.7],[0,0],[-0.269,-0.162],[0,0],[-0.323,-0.592],[0,0],[0.484,-0.377],[0,0],[0,-0.162],[0,-0.161],[0,0],[0.323,-0.592],[0,0],[0.646,0.215],[0,0],[0.216,-0.162],[0,0]],"o":[[0,0],[-0.7,0],[0,0],[-0.269,-0.108],[0,0],[-0.646,0.215],[0,0],[-0.323,-0.592],[0,0],[0,-0.161],[0,-0.162],[0,0],[-0.538,-0.431],[0,0],[0.323,-0.592],[0,0],[0.215,-0.162],[0,0],[0.053,-0.646],[0,0],[0.699,0],[0,0],[0.269,0.108],[0,0],[0.646,-0.215],[0,0],[0.323,0.592],[0,0],[0,0.161],[0,0.161],[0,0],[0.538,0.431],[0,0],[-0.323,0.592],[0,0],[-0.215,0.161],[0,0],[0,0.538]],"v":[[-42.085,-6.385],[-45.475,-6.385],[-46.821,-7.569],[-47.09,-9.291],[-47.789,-9.722],[-49.458,-9.076],[-51.126,-9.668],[-52.795,-12.574],[-52.472,-14.296],[-51.072,-15.373],[-51.072,-15.803],[-51.072,-16.234],[-52.472,-17.31],[-52.795,-19.033],[-51.126,-21.939],[-49.512,-22.531],[-47.843,-21.831],[-47.144,-22.262],[-46.874,-24.038],[-45.529,-25.168],[-42.138,-25.168],[-40.793,-23.984],[-40.524,-22.262],[-39.77,-21.831],[-38.102,-22.477],[-36.433,-21.885],[-34.765,-18.979],[-35.088,-17.256],[-36.487,-16.18],[-36.487,-15.749],[-36.487,-15.319],[-35.088,-14.243],[-34.765,-12.52],[-36.487,-9.56],[-38.156,-8.968],[-39.824,-9.614],[-40.524,-9.183],[-40.793,-7.407]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":6,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[-43.792,-15.776],"ix":2},"a":{"a":0,"k":[-43.792,-15.776],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,86,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[125,125,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,35],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":15,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":84,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":265,"s":[0]},{"t":270,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[225,187,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[35,35,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.719,-0.273],[0,0],[0,0],[0.812,-0.492],[0,0],[0,0],[0,0.688],[0,0],[0,0]],"o":[[0.688,0.196],[0,0],[0,0],[-0.812,0.492],[0,0],[0,0],[0,-0.812],[0,0],[0,0]],"v":[[5.906,-10.352],[6.5,-9.219],[6.5,8.812],[5.938,10.071],[4.26,9.965],[-10.993,1.159],[-11.75,0],[-10.892,-1.217],[4.852,-10.307]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854902020623,0.862745157878,0.878431432387,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":84,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":265,"s":[0]},{"t":270,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[251,187,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[6.5,6.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854902020623,0.862745157878,0.878431432387,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":84,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":265,"s":[0]},{"t":270,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[277,187,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[6,6],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":1,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".yellow400","cl":"yellow400","parent":22,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":-65,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey300","cl":"grey300","parent":22,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-83,0,0],"ix":2,"l":2},"a":{"a":0,"k":[121.456,227.454,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 18","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 17","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 16","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 15","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 14","np":1,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 13","np":1,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 12","np":1,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 11","np":1,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 10","np":1,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"green circle matte","parent":22,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[82.955,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843137255,0.917647058824,0.839215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".green400","cl":"green400","parent":22,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":83,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":88,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":262,"s":[100]},{"t":267,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[83.068,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".green100","cl":"green100","parent":22,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":83,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":88,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":262,"s":[100]},{"t":267,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[82.955,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843137255,0.917647058824,0.839215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"blue circle matte 2","parent":22,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.541175991881,0.705881993911,0.972549019608,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".blue400","cl":"blue400","parent":22,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".blue100","cl":"blue100","parent":22,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".yellow400","cl":"yellow400","parent":22,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[29,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294118,0.788235294118,0.203921568627,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".green400","cl":"green400","parent":22,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":".red400","cl":"red400","parent":22,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-29,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333337307,0.403921574354,0.360784322023,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":".blue400","cl":"blue400","parent":22,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-58,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":80,"s":[122,186.5,0],"to":[31.333,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"t":105,"s":[160,179,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":260,"s":[160,179,0],"to":[0,0,0],"ti":[30.299,0.107,0]},{"t":280,"s":[122,186.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":80,"s":[202,30]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":105,"s":[202,30]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":260,"s":[202,30]},{"t":280,"s":[202,30]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":30,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":80,"s":[160,98.001,0],"to":[0,2.667,0],"ti":[0,-2.667,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":100,"s":[160,114.001,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":260,"s":[160,114.001,0],"to":[0,-2.667,0],"ti":[0,2.667,0]},{"t":285,"s":[160,98.001,0]}],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":80,"s":[320,170]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":100,"s":[320,202]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":260,"s":[320,202]},{"t":285,"s":[320,170]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,109.499],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,100.5,0],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,202],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/quickstep/res/raw/taskbar_edu_splitscreen_persistent.json b/quickstep/res/raw/taskbar_edu_splitscreen_persistent.json
index b0a7286..c8e3179 100644
--- a/quickstep/res/raw/taskbar_edu_splitscreen_persistent.json
+++ b/quickstep/res/raw/taskbar_edu_splitscreen_persistent.json
@@ -1 +1 @@
-{"v":"5.7.8","fr":60,"ip":0,"op":301,"w":320,"h":202,"nm":"Taskbar_Persistent_EDU_1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[225,187,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[35,35,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.719,-0.273],[0,0],[0,0],[0.812,-0.492],[0,0],[0,0],[0,0.688],[0,0],[0,0]],"o":[[0.688,0.196],[0,0],[0,0],[-0.812,0.492],[0,0],[0,0],[0,-0.812],[0,0],[0,0]],"v":[[5.906,-10.352],[6.5,-9.219],[6.5,8.812],[5.938,10.071],[4.26,9.965],[-10.993,1.159],[-11.75,0],[-10.892,-1.217],[4.852,-10.307]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854902020623,0.862745157878,0.878431432387,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[251,187,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[6.5,6.5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854902020623,0.862745157878,0.878431432387,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[277,187,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[6,6],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":1,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"gesture","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[100]},{"t":140,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0.167},"t":30,"s":[127.45,169.4,0],"to":[3.425,5.892,0],"ti":[-15.2,-2.85,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":50,"s":[151,186.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.5,"y":0},"t":70,"s":[151,186.5,0],"to":[0,0,0],"ti":[-8.458,24.508,0]},{"t":120,"s":[214,130.7,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":50,"s":[60,60,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":60,"s":[48,48,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":130,"s":[48,48,100]},{"t":140,"s":[60,60,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[56,56],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":67,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":50,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":30,"op":141,"st":5,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[100]},{"t":138,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[214,130.7,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.5],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.5],"y":[0,0,0]},"t":130,"s":[120,120,100]},{"t":140,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":130,"op":11335,"st":-65,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".yellow400","cl":"yellow400","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":70,"op":130,"st":-65,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[151,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":60,"s":[100,100,100]},{"t":70,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":70,"st":-65,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[39,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[121.456,227.454,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 18","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 17","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 16","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 15","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 14","np":1,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 13","np":1,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 12","np":1,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 11","np":1,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 10","np":1,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"blue circle matte 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[178,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.541175991881,0.705881993911,0.972549019608,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[178,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[178,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":140,"s":[0]},{"t":160,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[151,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294118,0.788235294118,0.203921568627,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".grey400","cl":"grey400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[151,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176470588,0.756862745098,0.776470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[122,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".red400","cl":"red400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[93,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333337307,0.403921574354,0.360784322023,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[64,186.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":".yellow100","cl":"yellow100","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":99,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":240,"s":[100]},{"t":245,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[233.5,99.001,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":111,"s":[237,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[237,100.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":160,"s":[241,99.001,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[241,99,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260,"s":[233.5,99,0]}],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[173,172]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[145,152]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[145,152]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":160,"s":[158,172]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[158,172]},{"t":260,"s":[173,172]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431373,0.937254901961,0.764705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,109.499],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[233.5,99.001,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":111,"s":[237,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[237,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[241,99.001,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[241,99.001,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260,"s":[233.5,99.001,0]}],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[173,172]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[145,152]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[145,152]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":160,"s":[158,172]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[158,172]},{"t":260,"s":[173,172]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,109.499],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[86.5,99.001,0],"to":[-0.583,0.167,0],"ti":[0.583,-0.167,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":111,"s":[83,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[83,100,0],"to":[-0.667,-0.167,0],"ti":[0.667,0.167,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[79,99.001,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[79,99.001,0],"to":[1.25,0,0],"ti":[-1.25,0,0]},{"t":260,"s":[86.5,99.001,0]}],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[173,172]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[145,152]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[145,152]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":160,"s":[158,172]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[158,172]},{"t":260,"s":[173,172]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,109.499],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,100.5,0],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,202],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.12.1","fr":60,"ip":0,"op":301,"w":348,"h":219,"nm":"Taskbar_Persistent_EDU1_Split","ddd":0,"assets":[{"id":"comp_0","nm":"PersistentTaskbar_edu1","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.353,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.2,14.2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"green suggested","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".green100","cl":"green100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.353,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.808,0.918,0.839,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.808,0.918,0.839,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer suggested green","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[179.395,16.316,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.2,14.199],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"blue suggested","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[179.396,16.318,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer suggested blue","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[117.979,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"green","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".red400","cl":"red400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[87.187,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.933,0.404,0.361,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.933,0.404,0.361,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"red","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56.396,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"blue","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"universal grey divider","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[36,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,0],[5,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Divider","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"universal grey action","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[21.033,17.175,0],"ix":2,"l":2},"a":{"a":0,"k":[7.033,6.779,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 12","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[2.613,9.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 2","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 11","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[2.613,2.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 5","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[9.613,2.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 2","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.185,0.148],[0,0],[0,0],[0,0],[-0.086,0.24],[0,0.271],[0.468,0.462],[0.671,0],[0.468,-0.468],[0,-0.671],[-0.462,-0.468],[-0.671,0],[-0.24,0.086]],"o":[[0,0],[0,0],[0,0],[0.148,-0.185],[0.086,-0.24],[0,-0.671],[-0.462,-0.468],[-0.671,0],[-0.462,0.462],[0,0.671],[0.468,0.462],[0.271,0],[0.24,-0.086]],"v":[[0.48,0.998],[2.809,3.326],[3.326,2.809],[0.998,0.48],[1.349,-0.157],[1.478,-0.924],[0.776,-2.624],[-0.924,-3.326],[-2.633,-2.624],[-3.326,-0.924],[-2.633,0.785],[-0.924,1.478],[-0.157,1.349]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.326,-0.326],[0.462,0],[0.326,0.32],[0,0.462],[-0.32,0.32],[-0.462,0],[-0.32,-0.326],[0,-0.462]],"o":[[-0.32,0.32],[-0.462,0],[-0.32,-0.326],[0,-0.462],[0.326,-0.326],[0.462,0],[0.326,0.32],[0,0.462]],"v":[[0.249,0.259],[-0.924,0.739],[-2.106,0.259],[-2.587,-0.924],[-2.106,-2.097],[-0.924,-2.587],[0.249,-2.097],[0.739,-0.924]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"icon","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[10.627,10.318],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"icon","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"gesture","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[100]},{"t":140,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0.167},"t":30,"s":[186.05,184.8,0],"to":[3.425,5.892,0],"ti":[-15.2,-2.85,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":50,"s":[209.6,201.9,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.5,"y":0},"t":70,"s":[209.6,201.9,0],"to":[0,0,0],"ti":[-8.458,24.508,0]},{"t":120,"s":[249.85,158.35,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":50,"s":[60,60,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":60,"s":[48,48,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":130,"s":[48,48,100]},{"t":140,"s":[60,60,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[56,56],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":67,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":50,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":30,"op":141,"st":5,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[100]},{"t":138,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249.894,158.346,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.5],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.5],"y":[0,0,0]},"t":130,"s":[120,120,100]},{"t":140,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":130,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".yellow400","cl":"yellow400","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.092,-0.009,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":70,"op":130,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":140,"s":[0]},{"t":160,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[209.644,201.896,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":140,"op":305,"st":140,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[209.644,201.896,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":60,"s":[100,100,100]},{"t":70,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":70,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".yellow100","cl":"yellow100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[209.644,201.896,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":60,"s":[90,90,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.158,0.158,0.158],"y":[0,0,0]},"t":70,"s":[100,100,100]},{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":140,"s":[100,100,100]},{"t":160,"s":[90,90,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431606,0.937254905701,0.764705896378,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"PersistentTaskbar_edu1","parent":13,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":113.5,"ix":3},"y":{"a":0,"k":16.5,"ix":4}},"a":{"a":0,"k":[113.5,16.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":227,"h":33,"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".yellow100","cl":"yellow100","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":99,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":240,"s":[100]},{"t":245,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[348,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"t":111,"s":[355.5,-1.45,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[355.5,-1.45,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[357,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[357,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260,"s":[348,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[95,-94,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":3,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[190,188]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[165,175]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[165,175]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":160,"s":[172,188]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[172,188]},{"t":260,"s":[190,188]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431606,0.937254905701,0.764705896378,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[348,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"t":111,"s":[355.5,-1.45,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[355.5,-1.45,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[357,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[357,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260,"s":[348,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[95,-94,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":3,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[190,188]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[165,175]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[165,175]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":160,"s":[172,188]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[172,188]},{"t":260,"s":[190,188]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[0,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":111,"s":[-7.5,-1.45,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[-7.5,-1.45,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[-9,0,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[-9,0,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-95,-94,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[190,188]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[165,175]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[165,175]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":160,"s":[172,188]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[172,188]},{"t":260,"s":[190,188]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,109.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[348,219],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.235,0.251,0.263,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.235,0.251,0.263,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":0,"nm":"PersistentTaskbar_edu1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":174.374,"ix":3},"y":{"a":0,"k":202,"ix":4}},"a":{"a":0,"k":[113.5,16.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":227,"h":33,"ip":0,"op":301,"st":0,"ct":1,"bm":0}],"markers":[{"tm":240,"cm":"","dr":0}],"props":{}}
\ No newline at end of file
diff --git a/quickstep/res/raw/taskbar_edu_splitscreen_transient.json b/quickstep/res/raw/taskbar_edu_splitscreen_transient.json
index 6dbc074..da0b6d7 100644
--- a/quickstep/res/raw/taskbar_edu_splitscreen_transient.json
+++ b/quickstep/res/raw/taskbar_edu_splitscreen_transient.json
@@ -1 +1 @@
-{"v":"5.7.8","fr":60,"ip":0,"op":301,"w":320,"h":202,"nm":"Taskbar_Transient_EDU_2","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[18,15,0],"ix":2,"l":2},"a":{"a":0,"k":[121.456,227.454,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 18","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 17","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 16","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 15","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 14","np":1,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 13","np":1,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 12","np":1,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 11","np":1,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 10","np":1,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"green circle matte","parent":4,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843137255,0.917647058824,0.839215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".green400","cl":"green400","parent":4,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.113,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".green100","cl":"green100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[183.955,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843137255,0.917647058824,0.839215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"blue circle matte 2","parent":7,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.541175991881,0.705881993911,0.972549019608,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","parent":7,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[157,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":140,"s":[0]},{"t":160,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294118,0.788235294118,0.203921568627,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".grey400","cl":"grey400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176470588,0.756862745098,0.776470588235,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[101,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".red400","cl":"red400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[72,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333337307,0.403921574354,0.360784322023,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[43,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[101,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[202,30],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":30,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"gesture","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[100]},{"t":140,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0.167},"t":30,"s":[165.45,161.9,0],"to":[3.425,5.892,0],"ti":[-15.2,-2.85,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":50,"s":[189,179,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.5,"y":0},"t":70,"s":[189,179,0],"to":[0,0,0],"ti":[-8.458,24.508,0]},{"t":120,"s":[229.25,135.45,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":50,"s":[60,60,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":60,"s":[48,48,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":130,"s":[48,48,100]},{"t":140,"s":[60,60,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[56,56],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":67,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":50,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":30,"op":141,"st":5,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[100]},{"t":138,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[229.25,135.45,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.5],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.5],"y":[0,0,0]},"t":130,"s":[120,120,100]},{"t":140,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":130,"op":11335,"st":-65,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".yellow400","cl":"yellow400","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":70,"op":130,"st":-65,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[189,179,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":60,"s":[100,100,100]},{"t":70,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":70,"st":-65,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Taskbar_2","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,179,0],"ix":2,"l":2},"a":{"a":0,"k":[101,15,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":202,"h":30,"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".yellow100","cl":"yellow100","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":99,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":240,"s":[100]},{"t":245,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[233.5,100.5,0],"to":[0.583,0,0],"ti":[-0.583,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":111,"s":[237,100.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[237,100.5,0],"to":[0.667,0,0],"ti":[-0.667,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[241,100.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[241,100.5,0],"to":[-1.25,0,0],"ti":[1.25,0,0]},{"t":260,"s":[233.5,100.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[173,202]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[145,181.8]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[145,181.8]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":160,"s":[158,202]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[158,202]},{"t":260,"s":[173,202]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431373,0.937254901961,0.764705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[233.5,100.5,0],"to":[0.583,0,0],"ti":[-0.583,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":111,"s":[237,100.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[237,100.5,0],"to":[0.667,0,0],"ti":[-0.667,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[241,100.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[241,100.5,0],"to":[-1.25,0,0],"ti":[1.25,0,0]},{"t":260,"s":[233.5,100.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[173,202]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[145,181.8]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[145,181.8]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":160,"s":[158,202]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[158,202]},{"t":260,"s":[173,202]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[86.5,100.5,0],"to":[-0.583,0,0],"ti":[0.583,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":111,"s":[83,100.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[83,100.5,0],"to":[-0.667,0,0],"ti":[0.667,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[79,100.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[79,100.5,0],"to":[1.25,0,0],"ti":[-1.25,0,0]},{"t":260,"s":[86.5,100.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[173,202]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[145,181.8]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[145,181.8]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":160,"s":[158,202]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[158,202]},{"t":260,"s":[173,202]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,100.5,0],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,202],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.12.1","fr":60,"ip":0,"op":301,"w":348,"h":219,"nm":"Taskbar_Transient_EDU1_Split","ddd":0,"assets":[{"id":"comp_0","nm":"TransientTaskbar_edu1","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.353,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.2,14.2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"green suggested","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".green100","cl":"green100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.353,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.808,0.918,0.839,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.808,0.918,0.839,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer suggested green","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[179.395,16.316,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.2,14.199],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"blue suggested","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[179.396,16.318,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer suggested blue","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[117.979,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"green","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".red400","cl":"red400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[87.187,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.933,0.404,0.361,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.933,0.404,0.361,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"red","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56.396,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"blue","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"universale grey divider","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[36,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,0],[5,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Divider","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"universal grey action","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[21.033,17.175,0],"ix":2,"l":2},"a":{"a":0,"k":[7.033,6.779,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 12","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[2.613,9.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 2","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 11","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[2.613,2.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 5","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[9.613,2.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 2","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.185,0.148],[0,0],[0,0],[0,0],[-0.086,0.24],[0,0.271],[0.468,0.462],[0.671,0],[0.468,-0.468],[0,-0.671],[-0.462,-0.468],[-0.671,0],[-0.24,0.086]],"o":[[0,0],[0,0],[0,0],[0.148,-0.185],[0.086,-0.24],[0,-0.671],[-0.462,-0.468],[-0.671,0],[-0.462,0.462],[0,0.671],[0.468,0.462],[0.271,0],[0.24,-0.086]],"v":[[0.48,0.998],[2.809,3.326],[3.326,2.809],[0.998,0.48],[1.349,-0.157],[1.478,-0.924],[0.776,-2.624],[-0.924,-3.326],[-2.633,-2.624],[-3.326,-0.924],[-2.633,0.785],[-0.924,1.478],[-0.157,1.349]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.326,-0.326],[0.462,0],[0.326,0.32],[0,0.462],[-0.32,0.32],[-0.462,0],[-0.32,-0.326],[0,-0.462]],"o":[[-0.32,0.32],[-0.462,0],[-0.32,-0.326],[0,-0.462],[0.326,-0.326],[0.462,0],[0.326,0.32],[0,0.462]],"v":[[0.249,0.259],[-0.924,0.739],[-2.106,0.259],[-2.587,-0.924],[-2.106,-2.097],[-0.924,-2.587],[0.249,-2.097],[0.739,-0.924]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"icon","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[10.627,10.318],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"icon","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[113.5,16.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[227,33],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":174,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.235,0.251,0.263,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.235,0.251,0.263,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Taskbar","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"gesture","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[100]},{"t":140,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0.167},"t":30,"s":[185.75,174.4,0],"to":[3.425,5.892,0],"ti":[-15.2,-2.85,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":50,"s":[209.3,191.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.5,"y":0},"t":70,"s":[209.3,191.5,0],"to":[0,0,0],"ti":[-8.458,24.508,0]},{"t":120,"s":[249.55,147.95,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":50,"s":[60,60,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":60,"s":[48,48,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":130,"s":[48,48,100]},{"t":140,"s":[60,60,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[56,56],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":67,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":50,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":30,"op":141,"st":5,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":130,"s":[100]},{"t":138,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[249.52,147.95,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.5],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.5],"y":[0,0,0]},"t":130,"s":[120,120,100]},{"t":140,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.988,0.788,0.204,1],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.988,0.788,0.204,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":130,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".yellow400","cl":"yellow400","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.063,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":60,"s":[208.333,208.333,100]},{"t":70,"s":[250,250,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.988,0.788,0.204,1],"t":70,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.988,0.788,0.204,1],"t":130,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":70,"op":130,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[209.27,191.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":60,"s":[100,100,100]},{"t":70,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.988,0.788,0.204,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.988,0.788,0.204,1],"t":69,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":70,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":140,"s":[0]},{"t":160,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[209.27,191.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.988,0.788,0.204,1],"t":140,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.988,0.788,0.204,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":140,"op":301,"st":140,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".yellow100","cl":"yellow100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[209.27,191.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":60,"s":[90,90,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.158,0.158,0.158],"y":[0,0,0]},"t":70,"s":[100,100,100]},{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":140,"s":[100,100,100]},{"t":160,"s":[90,90,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.937,0.765,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.937,0.765,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"TransientTaskbar 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,191.5,0],"ix":2,"l":2},"a":{"a":0,"k":[113.5,16.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":227,"h":33,"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".yellow100","cl":"yellow100","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":99,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":240,"s":[100]},{"t":245,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[339,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":111,"s":[343,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[343,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[348,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[348,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260,"s":[339,109.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[86,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[190,219]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[158,195]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[158,195]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":160,"s":[172,219]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[172,219]},{"t":260,"s":[190,219]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.996,0.937,0.765,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.996,0.937,0.765,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[339,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":111,"s":[343,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[343,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[348,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[348,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260,"s":[339,109.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[86,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[190,219]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[158,195]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[158,195]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":160,"s":[172,219]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[172,219]},{"t":260,"s":[190,219]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":91,"s":[9,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":111,"s":[5,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":140,"s":[5,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.2,"y":0.2},"t":160,"s":[0,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":240,"s":[0,109.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":260,"s":[9,109.5,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-86,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":91,"s":[190,219]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":111,"s":[158,195]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":140,"s":[158,195]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":160,"s":[172,219]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":240,"s":[172,219]},{"t":260,"s":[190,219]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":89,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":92,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":247,"s":[100]},{"t":250,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,109.5,0],"ix":2,"l":2},"a":{"a":0,"k":[192,123,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[348,219],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.235,0.251,0.263,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.235,0.251,0.263,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0}],"markers":[{"tm":240,"cm":"","dr":0}],"props":{}}
\ No newline at end of file
diff --git a/quickstep/res/raw/taskbar_edu_stashing.json b/quickstep/res/raw/taskbar_edu_stashing.json
index c8a3644..0dd997c 100644
--- a/quickstep/res/raw/taskbar_edu_stashing.json
+++ b/quickstep/res/raw/taskbar_edu_stashing.json
@@ -1 +1 @@
-{"v":"5.7.8","fr":60,"ip":0,"op":301,"w":320,"h":202,"nm":"Taskbar_Transient_EDU_1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[18,15,0],"ix":2,"l":2},"a":{"a":0,"k":[121.456,227.454,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 18","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 17","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 16","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 15","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 14","np":1,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 13","np":1,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 12","np":1,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 11","np":1,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 10","np":1,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"green circle matte","parent":4,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843137255,0.917647058824,0.839215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".green400","cl":"green400","parent":4,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.113,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".green100","cl":"green100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[183.955,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843137255,0.917647058824,0.839215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"blue circle matte 2","parent":7,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.541175991881,0.705881993911,0.972549019608,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","parent":7,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[157,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0.78823530674,0.203921571374,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[101,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".red400","cl":"red400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[72,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333337307,0.403921574354,0.360784322023,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[43,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[101,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[202,30],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":30,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"swipe up","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[100]},{"t":90,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0.167},"t":30,"s":[136.45,176.9,0],"to":[3.425,5.892,0],"ti":[-15.2,-2.85,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":50,"s":[160,194,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.5,"y":0},"t":60,"s":[160,194,0],"to":[0,0,0],"ti":[0,0,0]},{"t":90,"s":[160,155.45,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":50,"s":[60,60,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":60,"s":[48,48,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":80,"s":[48,48,100]},{"t":90,"s":[60,60,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[56,56],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":67,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":50,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":30,"op":91,"st":5,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.2,"y":0},"t":210,"s":[160,179,0],"to":[0,2.5,0],"ti":[0,-2.5,0]},{"t":240,"s":[160,194,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[88,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":5,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":218,"op":360,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Taskbar_1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.5,"y":0},"t":60,"s":[160,194,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":90,"s":[160,175,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.167,"y":0.167},"t":107,"s":[160,179,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.2,"y":0},"t":210,"s":[160,179,0],"to":[0,0,0],"ti":[0,0,0]},{"t":240,"s":[160,194,0]}],"ix":2,"l":2},"a":{"a":0,"k":[101,15,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":72,"s":[43,43,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":90,"s":[100,100,100]},{"i":{"x":[0.8,0.8,0.2],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.4],"y":[0,0,0]},"t":210,"s":[100,100,100]},{"t":218,"s":[43,43,100]}],"ix":6,"l":2}},"ao":0,"w":202,"h":30,"ip":72,"op":218,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.5,"y":0},"t":60,"s":[160,194,0],"to":[0,-4.5,0],"ti":[0,4.5,0]},{"t":90,"s":[160,167,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[88,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":5,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":72,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,100.5,0],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,202],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.12.1","fr":60,"ip":0,"op":301,"w":348,"h":219,"nm":"Taskbar_Transient_EDU0_Unstash","ddd":0,"assets":[{"id":"comp_0","nm":"TransientTaskbar_edu0","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.353,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.2,14.2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"green suggested","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".green100","cl":"green100","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.353,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.808,0.918,0.839,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.808,0.918,0.839,1],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer suggested green","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[179.395,16.316,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.2,14.199],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"blue suggested","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[179.396,16.318,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"outer suggested blue","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[148.77,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.988,0.788,0.204,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.988,0.788,0.204,1],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"yellow","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[117.979,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"green","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".red400","cl":"red400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[87.187,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.933,0.404,0.361,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.933,0.404,0.361,1],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"red","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[56.396,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20.791,20.791],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"blue","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"universal grey divder","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[36,16.396,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-5,0],[5,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":90,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Divider","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"universal grey action","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":155,"s":[100]},{"t":162,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[21.033,17.175,0],"ix":2,"l":2},"a":{"a":0,"k":[7.033,6.779,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 12","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[2.613,9.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 2","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 11","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[2.613,2.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.381,0],[0,1.381],[1.381,0],[0,-1.381]],"o":[[1.381,0],[0,-1.381],[-1.381,0],[0,1.381]],"v":[[0,2.5],[2.5,0],[0,-2.5],[-2.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 5","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[9.613,2.414],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"circle 2","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.185,0.148],[0,0],[0,0],[0,0],[-0.086,0.24],[0,0.271],[0.468,0.462],[0.671,0],[0.468,-0.468],[0,-0.671],[-0.462,-0.468],[-0.671,0],[-0.24,0.086]],"o":[[0,0],[0,0],[0,0],[0.148,-0.185],[0.086,-0.24],[0,-0.671],[-0.462,-0.468],[-0.671,0],[-0.462,0.462],[0,0.671],[0.468,0.462],[0.271,0],[0.24,-0.086]],"v":[[0.48,0.998],[2.809,3.326],[3.326,2.809],[0.998,0.48],[1.349,-0.157],[1.478,-0.924],[0.776,-2.624],[-0.924,-3.326],[-2.633,-2.624],[-3.326,-0.924],[-2.633,0.785],[-0.924,1.478],[-0.157,1.349]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0.326,-0.326],[0.462,0],[0.326,0.32],[0,0.462],[-0.32,0.32],[-0.462,0],[-0.32,-0.326],[0,-0.462]],"o":[[-0.32,0.32],[-0.462,0],[-0.32,-0.326],[0,-0.462],[0.326,-0.326],[0.462,0],[0.326,0.32],[0,0.462]],"v":[[0.249,0.259],[-0.924,0.739],[-2.106,0.259],[-2.587,-0.924],[-2.106,-2.097],[-0.924,-2.587],[0.249,-2.097],[0.739,-0.924]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603921592236,0.627451002598,0.65098041296,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"icon","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[10.627,10.318],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"icon","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[113.5,16.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[227,33],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":174,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.235,0.251,0.263,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.235,0.251,0.263,1],"t":161,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Taskbar","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":660,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"swipe up","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[100]},{"t":90,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.167,"y":0.167},"t":30,"s":[150.45,189.9,0],"to":[3.425,5.892,0],"ti":[-15.2,-2.85,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":50,"s":[174,207,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.5,"y":0},"t":60,"s":[174,207,0],"to":[0,0,0],"ti":[0,0,0]},{"t":90,"s":[174,168.45,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":50,"s":[60,60,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":60,"s":[48,48,100]},{"i":{"x":[0.5,0.5,0.667],"y":[1,1,1]},"o":{"x":[0.5,0.5,0.333],"y":[0,0,0]},"t":80,"s":[48,48,100]},{"t":90,"s":[60,60,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[56,56],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":67,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":50,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":30,"op":91,"st":5,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"TransientTaskbar","refId":"comp_0","sr":1,"ks":{"o":{"a":1,"k":[{"t":60,"s":[0],"h":1},{"t":72,"s":[100],"h":1},{"t":210,"s":[100],"h":1},{"t":221,"s":[0],"h":1}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":174,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.5],"y":[0]},"t":65,"s":[207.918]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.33],"y":[0]},"t":90,"s":[186.5]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":107,"s":[191.5]},{"i":{"x":[0.283],"y":[0.809]},"o":{"x":[0.2],"y":[0]},"t":210,"s":[191.5]},{"t":222,"s":[210.843]}],"ix":4}},"a":{"a":0,"k":[113.5,16.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":72,"s":[43,43,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.2,0.2,0.2],"y":[0,0,0]},"t":90,"s":[100,100,100]},{"i":{"x":[0.999,0.999,0.999],"y":[1,1,1]},"o":{"x":[0.4,0.4,0.4],"y":[0,0,0]},"t":210,"s":[100,100,100]},{"t":222,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"w":227,"h":33,"ip":60,"op":222,"st":60,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":1,"k":[{"t":0,"s":[100],"h":1},{"t":72,"s":[0],"h":1},{"t":221,"s":[100],"h":1}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":174,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.5],"y":[0]},"t":60,"s":[208]},{"t":90,"s":[181],"h":1},{"i":{"x":[0.283],"y":[0.817]},"o":{"x":[0.314],"y":[0]},"t":210,"s":[191]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.718]},"t":221,"s":[211.989]},{"t":261,"s":[208]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"t":90,"s":[98,5.5],"h":1},{"i":{"x":[0.1,0.1],"y":[1,1]},"o":{"x":[0.05,0.05],"y":[0.718,0.718]},"t":221,"s":[106,11.5]},{"t":261,"s":[98,5.5]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":33,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.235,0.251,0.263,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.235,0.251,0.263,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 16568","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":366,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,109.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[348,219],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":366,"st":0,"ct":1,"bm":0}],"markers":[{"tm":210,"cm":"","dr":0},{"tm":218,"cm":"","dr":0}],"props":{}}
\ No newline at end of file
diff --git a/quickstep/res/raw/taskbar_edu_suggestions_persistent.json b/quickstep/res/raw/taskbar_edu_suggestions_persistent.json
index 07cea32..4f1231d 100644
--- a/quickstep/res/raw/taskbar_edu_suggestions_persistent.json
+++ b/quickstep/res/raw/taskbar_edu_suggestions_persistent.json
@@ -1 +1 @@
-{"v":"5.7.8","fr":60,"ip":0,"op":301,"w":320,"h":202,"nm":"Taskbar_Persistent_EDU_3","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":6,"ty":4,"nm":"bluematte 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[157,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":63,"s":[157,36.436,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.3,"y":0},"t":93,"s":[157,14.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":106,"s":[157,15,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"bluematte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[157,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":60,"s":[157,15,0],"to":[0,-3.573,0],"ti":[0,3.573,0]},{"t":90,"s":[157,-6.436,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[157,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294118,0.788235294118,0.203921568627,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[101,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".red400","cl":"red400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[72,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333337307,0.403921574354,0.360784322023,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[43,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[18,15,0],"ix":2,"l":2},"a":{"a":0,"k":[121.456,227.454,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 18","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 17","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 16","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 15","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 14","np":1,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 13","np":1,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 12","np":1,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 11","np":1,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 10","np":1,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Taskbar_4","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.5,148.5,0],"ix":2,"l":2},"a":{"a":0,"k":[101,15,0],"ix":1,"l":2},"s":{"a":0,"k":[375,375,100],"ix":6,"l":2}},"ao":0,"w":202,"h":30,"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,119.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,55],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,147,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,110],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,74.5,0],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,150],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.12.1","fr":60,"ip":0,"op":301,"w":348,"h":219,"nm":"Taskbar_Persistent_EDU3_Suggested","ddd":0,"assets":[{"id":"comp_0","nm":"Taskbar_edu3_CU","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"greenMatteTwo","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[230,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320669","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".green400","cl":"green400","tt":1,"tp":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":69,"s":[230,149,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.3,"y":0},"t":99,"s":[230,57,0],"to":[0,0,0],"ti":[0,0,0]},{"t":114,"s":[230,59,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[54,54],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 7508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"greenMatteOne","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[230,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320669","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".green400","cl":"green400","tt":1,"tp":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":66,"s":[230,59,0],"to":[0,0,0],"ti":[0,0,0]},{"t":96,"s":[230,-31,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[54,54],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 7508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".green100","cl":"green100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[230,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.808,0.918,0.839,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.808,0.918,0.839,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320669","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"blueMatteTwo","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[115,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320670","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"tp":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":63,"s":[115,149,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.3,"y":0},"t":93,"s":[115,57,0],"to":[0,0,0],"ti":[0,0,0]},{"t":108,"s":[115,59,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[54,54],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 7508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"blueMatteOne","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[115,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320670","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"tp":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":60,"s":[115,59,0],"to":[0,0,0],"ti":[0,0,0]},{"t":90,"s":[115,-31,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[54,54],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 7508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[115,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320670","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.988,0.788,0.204,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.988,0.788,0.204,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320670","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[289,59,0],"ix":2,"l":2},"a":{"a":0,"k":[180,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[360,118],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":436,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320683","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Taskbar_edu3_CU","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144.5,219,0],"ix":2,"l":2},"a":{"a":0,"k":[144.5,118,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":289,"h":118,"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,160,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[348,118],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.235,0.251,0.263,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.235,0.251,0.263,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320684","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,109.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[348,219],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0}],"markers":[],"props":{}}
\ No newline at end of file
diff --git a/quickstep/res/raw/taskbar_edu_suggestions_transient.json b/quickstep/res/raw/taskbar_edu_suggestions_transient.json
index 6153647..1c0c36c 100644
--- a/quickstep/res/raw/taskbar_edu_suggestions_transient.json
+++ b/quickstep/res/raw/taskbar_edu_suggestions_transient.json
@@ -1 +1 @@
-{"v":"5.7.8","fr":60,"ip":0,"op":301,"w":320,"h":202,"nm":"Taskbar_Transient_EDU_3","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"greenmatte 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[184.068,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843137255,0.917647058824,0.839215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".green400","cl":"green400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":69,"s":[184.068,36.436,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.3,"y":0},"t":99,"s":[184.068,14.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":112,"s":[184.068,15,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"greenmatte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[184.068,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843137255,0.917647058824,0.839215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".green400","cl":"green400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":66,"s":[184.068,15,0],"to":[0,0,0],"ti":[0,0,0]},{"t":96,"s":[184.068,-6.436,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".green100","cl":"green100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[184.068,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843137255,0.917647058824,0.839215686275,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"bluematte 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[157,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":63,"s":[157,36.436,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.3,"y":0},"t":93,"s":[157,14.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":106,"s":[157,15,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"bluematte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[157,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":60,"s":[157,15,0],"to":[0,-3.573,0],"ti":[0,3.573,0]},{"t":90,"s":[157,-6.436,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[80,80,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-4.443],[4.443,0],[0,4.443]],"o":[[4.443,0],[0,4.443],[-4.443,0],[0,-4.443]],"v":[[0,-8.045],[8.045,0],[0,8.045],[-8.045,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[157,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294118,0.788235294118,0.203921568627,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".green400","cl":"green400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[101,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.35686275363,0.72549021244,0.454901963472,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".red400","cl":"red400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[72,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933333337307,0.403921574354,0.360784322023,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[43,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.272,0],[0,-5.272],[5.272,0],[0,5.272]],"o":[[5.272,0],[0,5.272],[-5.272,0],[0,-5.272]],"v":[[0,-9.545],[9.545,0],[0,9.545],[-9.545,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".grey300","cl":"grey300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[18,15,0],"ix":2,"l":2},"a":{"a":0,"k":[121.456,227.454,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 18","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 17","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[125.547,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 16","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 15","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 14","np":1,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[121.453,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 13","np":1,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,231.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 12","np":1,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,227.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 11","np":1,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.753,0],[0,-0.753],[0.753,0],[0,0.753]],"o":[[0.753,0],[0,0.753],[-0.753,0],[0,-0.753]],"v":[[0,-1.364],[1.364,0],[0,1.364],[-1.364,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.854901960784,0.862745098039,0.878431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[117.364,223.364],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 10","np":1,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[101,15,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[202,30],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":30,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294117647,0.250980392157,0.262745098039,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":11400,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Taskbar_3","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-101,101,0],"ix":2,"l":2},"a":{"a":0,"k":[101,15,0],"ix":1,"l":2},"s":{"a":0,"k":[375,375,100],"ix":6,"l":2}},"ao":0,"w":202,"h":30,"ip":0,"op":11400,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,100.5,0],"ix":2,"l":2},"a":{"a":0,"k":[192,122.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,202],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529411765,0.890196078431,0.988235294118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[192,123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.12.1","fr":60,"ip":0,"op":301,"w":348,"h":219,"nm":"Taskbar_Transient_EDU3_Suggested","ddd":0,"assets":[{"id":"comp_0","nm":"Taskbar_edu3_CU","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"greenMatteTwo","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[230,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320669","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".green400","cl":"green400","tt":1,"tp":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":69,"s":[230,149,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.3,"y":0},"t":99,"s":[230,57,0],"to":[0,0,0],"ti":[0,0,0]},{"t":114,"s":[230,59,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[54,54],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 7508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"greenMatteOne","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[230,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320669","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".green400","cl":"green400","tt":1,"tp":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":66,"s":[230,59,0],"to":[0,0,0],"ti":[0,0,0]},{"t":96,"s":[230,-31,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[54,54],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.357,0.725,0.455,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.357,0.725,0.455,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 7508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".green100","cl":"green100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[230,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.808,0.918,0.839,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.808,0.918,0.839,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320669","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"blueMatteTwo","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[115,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320670","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"tp":6,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":63,"s":[115,149,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0.3,"y":0},"t":93,"s":[115,57,0],"to":[0,0,0],"ti":[0,0,0]},{"t":108,"s":[115,59,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[54,54],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 7508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"blueMatteOne","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[115,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.988235294819,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320670","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"tp":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":60,"s":[115,59,0],"to":[0,0,0],"ti":[0,0,0]},{"t":90,"s":[115,-31,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[54,54],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"k":[{"s":[0.4,0.616,0.965,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.4,0.616,0.965,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 7508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[115,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.824,0.89,0.988,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.824,0.89,0.988,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320670","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".yellow400","cl":"yellow400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,59,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[78,78],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"k":[{"s":[0.988,0.788,0.204,1],"t":0,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}},{"s":[0.988,0.788,0.204,1],"t":300,"i":{"x":[1],"y":[1]},"o":{"x":[0],"y":[0]}}]},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320670","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".grey800","cl":"grey800","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[289,59,0],"ix":2,"l":2},"a":{"a":0,"k":[180,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[360,118],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":436,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Frame 1321320683","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1250,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Taskbar_edu3_CU","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144.5,109,0],"ix":2,"l":2},"a":{"a":0,"k":[144.5,59,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":289,"h":118,"ip":0,"op":301,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".blue100","cl":"blue100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174,109.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[348,219],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":301,"st":0,"ct":1,"bm":0}],"markers":[],"props":{}}
\ No newline at end of file
diff --git a/quickstep/res/values-af/strings.xml b/quickstep/res/values-af/strings.xml
index b589e32..a6da872 100644
--- a/quickstep/res/values-af/strings.xml
+++ b/quickstep/res/values-af/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Skermkiekie"</string>
     <string name="action_split" msgid="2098009717623550676">"Verdeel"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Tik op ’n ander app om verdeelde skerm te gebruik"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Kanselleer"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Verlaat verdeeldeskermkeuse"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Kies nog ’n app as jy verdeelde skerm wil gebruik"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Jou organisasie laat nie hierdie program toe nie"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Legstukke word nie tans ondersteun nie; kies asseblief ’n ander program"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Slaan navigasietutoriaal oor?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Jy kan dit later in die <xliff:g id="NAME">%1$s</xliff:g>-program kry"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Kanselleer"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Sleep ’n app na die kant toe om 2 apps tegelyk te gebruik"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Stadigswiep op om die Taakbalk te wys"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Kry appvoorstelle op grond van jou roetine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Skakel gebaarnavigasie in Instellings aan om die Taakbalk outomaties te versteek"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Langdruk op die verdeler om die Taakbalk vas te speld"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Doen meer met die Taakbalk"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Maak toe"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Klaar"</string>
diff --git a/quickstep/res/values-am/strings.xml b/quickstep/res/values-am/strings.xml
index a678b3f..a825e3e 100644
--- a/quickstep/res/values-am/strings.xml
+++ b/quickstep/res/values-am/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"ቅጽበታዊ ገፅ ዕይታ"</string>
     <string name="action_split" msgid="2098009717623550676">"ክፈል"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"የተከፈለ ማያ ገጽን ለመጠቀም ሌላ መተግበሪያ መታ ያድርጉ"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"ይቅር"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"ከተከፈለ ማያ ገፅ ምርጫ ይውጡ"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"የተከፈለ ማያ ገጽን ለመቀበል ሌላ መተግበሪያ ይምረጡ"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ይህ ድርጊት በመተግበሪያው ወይም በእርስዎ ድርጅት አይፈቀድም"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"መግብሮች በአሁኑ ጊዜ አይደገፉም፣ እባክዎ ሌላ መተግበሪያ ይምረጡ"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"የአሰሳ አጋዥ ሥልጠናን ይዝለሉ?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"ይህን በኋላ በ<xliff:g id="NAME">%1$s</xliff:g> መተግበሪያው ውስጥ ማግኘት ይችላሉ"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"ይቅር"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"በአንድ ጊዜ 2 መተግበሪያዎችን ለመጠቀም አንድ መተግበሪያን ወደ ጎን ይጎትቱ"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"የተግባር አሞሌውን ለማሳየት ቀስ ብለው ወደ ላይ ያንሸራትቱ"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"በዕለት ተዕለት ተግባርዎ መሠረት የመተግበሪያ አስተያየቶችን ያግኙ"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"የተግባር አሞሌን በራስ ሰር ለመደበቅ የእጅ ምልክት ዳሰሳን በቅንብሮች ውስጥ ያብሩት"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"የተግባር አሞሌውን ፒን ለማድረግ በአከፋፋዩ ላይ በረጅሙ ይጫኑ"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"በተግባር አሞሌው ተጨማሪ ነገር ያድርጉ"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"ዝጋ"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"ተጠናቅቋል"</string>
diff --git a/quickstep/res/values-ar/strings.xml b/quickstep/res/values-ar/strings.xml
index 6d7effc..09f146c 100644
--- a/quickstep/res/values-ar/strings.xml
+++ b/quickstep/res/values-ar/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"لقطة شاشة"</string>
     <string name="action_split" msgid="2098009717623550676">"تقسيم"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"انقر على تطبيق آخر لاستخدام وضع تقسيم الشاشة."</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"إلغاء"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"الخروج من وضع تقسيم الشاشة"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"اختَر تطبيقًا آخر لاستخدام وضع تقسيم الشاشة."</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"لا يسمح التطبيق أو لا تسمح مؤسستك بهذا الإجراء."</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"التطبيقات المصغّرة غير متوفّرة حاليًا، يرجى اختيار تطبيق آخر."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"هل تريد تخطي الدليل التوجيهي للتنقّل؟"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"يمكنك العثور على هذا الدليل التوجيهي لاحقًا في التطبيق \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"إلغاء"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"اسحب تطبيقًا إلى جانب الشاشة لاستخدام تطبيقََين في آنٍ واحد."</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"مرِّر ببطء للأعلى لإظهار شريط التطبيقات"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"احصل على اقتراحات التطبيقات بناءً على سلسلة إجراءاتك."</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"فعِّل خيار \"التنقُّل بالإيماءات\" في \"الإعدادات\" لإخفاء شريط التطبيقات تلقائيًا."</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"اضغط مع الاستمرار على المقسِّم لتثبيت \"شريط التطبيقات\""</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"إنجاز المزيد باستخدام شريط التطبيقات"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"إغلاق"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"تم"</string>
diff --git a/quickstep/res/values-as/strings.xml b/quickstep/res/values-as/strings.xml
index a68aee5..ea95d2c 100644
--- a/quickstep/res/values-as/strings.xml
+++ b/quickstep/res/values-as/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"স্ক্ৰীনশ্বট"</string>
     <string name="action_split" msgid="2098009717623550676">"বিভাজন কৰক"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"বিভাজিত স্ক্ৰীন ব্যৱহাৰ কৰিবলৈ অন্য এটা এপত টিপক"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"বাতিল কৰক"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"বিভাজিত স্ক্ৰীনৰ বাছনিৰ পৰা বাহিৰ হওক"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"বিভাজিত স্ক্ৰীন ব্যৱহাৰ কৰিবলৈ অন্য এটা এপ্ বাছক"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"এপ্‌টোৱে অথবা আপোনাৰ প্ৰতিষ্ঠানে এই কাৰ্যটোৰ অনুমতি নিদিয়ে"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"বৰ্তমান ৱিজেট সমৰ্থিত নহয়, অনুগ্ৰহ কৰি আন এটা এপ্‌ বাছনি কৰক"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"নেভিগেশ্বনৰ টিউট’ৰিয়েল এৰিব বিচাৰে নেকি?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"আপুনি এয়া পাছত <xliff:g id="NAME">%1$s</xliff:g> এপ্‌টোত বিচাৰিব পাৰিব"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"বাতিল কৰক"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"এবাৰতে ২ টা এপ্‌ ব্যৱহাৰ কৰিবলৈ কোনো এপ্‌ কাষলৈ টানি আনি এৰক"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"টাস্কবাৰ দেখুৱাবলৈ লাহেকৈ ওপৰলৈ ছোৱাইপ কৰক"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"আপোনাৰ ৰুটিনৰ ওপৰত আধাৰিত এপৰ পৰামৰ্শ পাওক"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"টাস্কবাৰ স্বয়ংক্ৰিয়ভাৱে লুকুৱাবলৈ ছেটিঙত আঙুলিৰ স্পৰ্শৰ নিৰ্দেশেৰে কৰা নেভিগেশ্বন অন কৰক"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"টাস্কবাৰ পিন কৰিবলৈ বিভাজকত দীঘলীয়া সময় টিপি থাকক"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"টাস্কবাৰৰ জৰিয়তে অধিক কাৰ্য সম্পাদন কৰক"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"বন্ধ কৰক"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"হ’ল"</string>
diff --git a/quickstep/res/values-az/strings.xml b/quickstep/res/values-az/strings.xml
index 9fff2d8..510749c 100644
--- a/quickstep/res/values-az/strings.xml
+++ b/quickstep/res/values-az/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Skrinşot"</string>
     <string name="action_split" msgid="2098009717623550676">"Ayırın"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Bölünmüş ekran üçün başqa tətbiqə toxunun"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Ləğv edin"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Bölünmüş ekran seçimindən çıxın"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Bölünmüş ekrandan istifadə üçün başqa tətbiq seçin"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Bu əməliyyata tətbiq və ya təşkilatınız tərəfindən icazə verilmir"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Vidcetlər dəstəklənmir, başqa tətbiq seçin"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Naviqasiya dərsliyi ötürülsün?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Bunu sonra <xliff:g id="NAME">%1$s</xliff:g> tətbiqində tapa bilərsiniz"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Ləğv edin"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Eyni anda 2 tətbiqi istifadə etmək üçün bir tətbiqi yan tərəfə çəkin"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Tapşırıq panelini göstərmək üçün astaca yuxarı sürüşdürün"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Rejiminizə əsasən tətbiq təklifləri alın"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Tapşırıq panelini avtomatik gizlətmək üçün Ayarlarda jest naviqasiyasını aktiv edin"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Ayırıcı üzərinə basıb saxlayaraq İşləmə panelini bərkidin"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Tapşırıq paneli ilə daha çox şey edin"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Bağlayın"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Hazırdır"</string>
diff --git a/quickstep/res/values-b+sr+Latn/strings.xml b/quickstep/res/values-b+sr+Latn/strings.xml
index 9a7aa4b..79e3616 100644
--- a/quickstep/res/values-b+sr+Latn/strings.xml
+++ b/quickstep/res/values-b+sr+Latn/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Snimak ekrana"</string>
     <string name="action_split" msgid="2098009717623550676">"Podeli"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Dodirnite drugu aplikaciju za podeljeni ekran"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Otkaži"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Izlazak iz biranja podeljenog ekrana"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Odaberite drugu aplikaciju za podeljeni ekran"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Aplikacija ili organizacija ne dozvoljavaju ovu radnju"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Vidžeti trenutno nisu podržani. Izaberite drugu aplikaciju"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Želite da preskočite vodič za kretanje?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Možete da pronađete ovo kasnije u aplikaciji <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Otkaži"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Prevucite na stranu da biste koristili 2 aplikacije odjednom"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Sporo prevucite nagore da biste prikazali traku zadataka"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Dobijajte predloge aplikacija na osnovu rutine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Uključite navigaciju pomoću pokreta u Podešavanjima radi automatskog skrivanja trake zadataka"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Dugo pritiskajte razdelnik da biste zakačili traku zadataka"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Uradite više pomoću trake zadataka"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Zatvori"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Gotovo"</string>
diff --git a/quickstep/res/values-be/strings.xml b/quickstep/res/values-be/strings.xml
index ca62108..c164f95 100644
--- a/quickstep/res/values-be/strings.xml
+++ b/quickstep/res/values-be/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Здымак экрана"</string>
     <string name="action_split" msgid="2098009717623550676">"Падзелены экран"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Каб падзяліць экран, націсніце на іншую праграму"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Скасаваць"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Выйсці з рэжыму падзеленага экрана"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Каб падзяліць экран, выберыце іншую праграму"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Гэта дзеянне не дазволена праграмай ці вашай арганізацыяй"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Віджэты зараз не падтрымліваюцца. Выберыце іншую праграму."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Прапусціць дапаможнік па навігацыі?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Знайсці дапаможнік можна ў праграме \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Скасаваць"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Каб карыстацца 2 праграмамі, перацягніце адну з іх убок"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Каб паказаць панэль задач, павольна правядзіце пальцам уверх"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Атрымлівайце прапановы праграм з улікам вашых дзеянняў"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Каб аўтаматычна схаваць панэль задач, уключыце ў Наладах навігацыю жэстамі"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Замацуйце панэль задач доўгім націсканнем на раздзяляльнік"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Выкарыстоўвайце магчымасці панэлі задач"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Закрыць"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Гатова"</string>
diff --git a/quickstep/res/values-bg/strings.xml b/quickstep/res/values-bg/strings.xml
index 72e731a..9239089 100644
--- a/quickstep/res/values-bg/strings.xml
+++ b/quickstep/res/values-bg/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Екранна снимка"</string>
     <string name="action_split" msgid="2098009717623550676">"Разделяне на екрана"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Докоснете друго прил., за да ползвате разд. екран"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Отказ"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Изход от избора на разделен екран"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"За разделен екран изберете още едно приложение"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Това действие не е разрешено от приложението или организацията ви"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Понастоящем приспособленията не се поддържат. Моля, изберете друго приложение"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Пропускане на урока за навигиране?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Урокът е налице в приложението <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Отказ"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Плъзнете приложение встрани, за да използвате едновременно 2"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Плъзнете бавно нагоре, за да видите лентата на задачите"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Получавайте предложения за приложения според навиците си"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Включете навигирането с жестове от настройките с цел авт. скриване на лентата на задачите"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Натиснете продължително разделителя, за да фиксирате лентата на задачите"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Правете повече неща с лентата на задачите"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Затваряне"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Готово"</string>
diff --git a/quickstep/res/values-bn/strings.xml b/quickstep/res/values-bn/strings.xml
index 0973a50..80d0275 100644
--- a/quickstep/res/values-bn/strings.xml
+++ b/quickstep/res/values-bn/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"স্ক্রিনশট নিন"</string>
     <string name="action_split" msgid="2098009717623550676">"স্প্লিট"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"স্প্লিট স্ক্রিন ব্যবহারের জন্য অ্যাপে ট্যাপ করুন"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"বাতিল করুন"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"স্প্লিট স্ক্রিন বেছে নেওয়ার বিকল্প থেকে বেরিয়ে আসুন"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"স্প্লিট স্ক্রিন ব্যবহার করতে অন্য অ্যাপ বেছে নিন"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"এই অ্যাপ বা আপনার প্রতিষ্ঠান এই অ্যাকশনটি পারফর্ম করার অনুমতি দেয়নি"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"উইজেট বর্তমানে ব্যবহার করা যাচ্ছে না, অন্য একটি অ্যাপ বেছে নিন"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"নেভিগেশন টিউটোরিয়াল এড়িয়ে যেতে চান?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"আপনি <xliff:g id="NAME">%1$s</xliff:g> অ্যাপে পরে এটি খুঁজে পাবেন"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"বাতিল করুন"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"একসাথে ২টি অ্যাপ ব্যবহার করতে একটি অ্যাপ পাশে টেনে আনুন"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"\'টাস্কবার\' দেখানোর জন্য উপরের দিকে আস্তে সোয়াইপ করুন"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"আপনার রুটিন অনুযায়ী অ্যাপ থেকে সাজেশন পান"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"\'টাস্কবার\' অটোমেটিক লুকানোর জন্য, সেটিংসে জেসচার নেভিগেশন চালু করুন"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"টাস্কবার পিন করতে, ড্রাইভার বেশ কিছুক্ষণ প্রেস করে রাখুন"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"\'টাস্কবার\' ফিচারের সাহায্যে আরও অনেক কিছু করুন"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"বন্ধ করুন"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"হয়ে গেছে"</string>
diff --git a/quickstep/res/values-bs/strings.xml b/quickstep/res/values-bs/strings.xml
index a2e4e33..e22e856 100644
--- a/quickstep/res/values-bs/strings.xml
+++ b/quickstep/res/values-bs/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Snimak ekrana"</string>
     <string name="action_split" msgid="2098009717623550676">"Podijeli"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Dodirnite drugu apl. da koristite podijeljeni ekran"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Otkaži"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Izlaz iz odabira podijeljenog ekrana"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Odaberite drugu apl. da koristite podijeljeni ekran"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Ovu radnju ne dozvoljava aplikacija ili vaša organizacija"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Vidžeti trenutno nisu podržani. Odaberite drugu aplikaciju"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Preskočiti vodič za navigiranje?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Možete ga pronaći kasnije u aplikaciji <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Otkaži"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Prevucite aplikaciju ustranu da odjednom koristite 2 aplikacije"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Sporo prevucite nagore da vidite traku zadataka"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Dobijajte prijedloge aplikacija zasnovane na vašoj rutini"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Uključite navigaciju pokretima u Postavkama da automatski sakrijete traku zadataka"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Pritisnite i zadržite razdjelnik da zakačite traku zadataka"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Uradite više pomoću trake zadataka"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Zatvori"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Gotovo"</string>
diff --git a/quickstep/res/values-ca/strings.xml b/quickstep/res/values-ca/strings.xml
index 0cfe820..df8cb36 100644
--- a/quickstep/res/values-ca/strings.xml
+++ b/quickstep/res/values-ca/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Captura de pantalla"</string>
     <string name="action_split" msgid="2098009717623550676">"Divideix"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Toca una altra app per utilitzar pantalla dividida"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancel·la"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Surt de la selecció de pantalla dividida"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Tria una altra app per utilitzar pantalla dividida"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"L\'aplicació o la teva organització no permeten aquesta acció"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Actualment els widgets no s\'admeten; selecciona una altra aplicació"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Vols ometre el tutorial de navegació?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Pots trobar-lo més tard a l\'aplicació <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancel·la"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Arrossega una aplicació al costat per utilitzar-ne dues alhora"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Llisca lentament cap amunt per mostrar la Barra de tasques"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Obtén suggeriments d\'aplicacions basats en la teva rutina"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"A Configuració, activa la navegació amb gestos per amagar la Barra de tasques automàticament"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Mantén premut el separador per fixar la Barra de tasques"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Treu més partit de la Barra de tasques"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Tanca"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Fet"</string>
diff --git a/quickstep/res/values-cs/strings.xml b/quickstep/res/values-cs/strings.xml
index 3582005..1cd2ed9 100644
--- a/quickstep/res/values-cs/strings.xml
+++ b/quickstep/res/values-cs/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Snímek obrazovky"</string>
     <string name="action_split" msgid="2098009717623550676">"Rozdělit"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Obrazovku rozdělíte klepnutím na jinou aplikaci"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Zrušit"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Výběr opuštění rozdělené obrazovky"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Vyberte podporovanou aplikaci"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Aplikace nebo organizace zakazuje tuto akci"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgety momentálně nejsou podporovány, vyberte jinou aplikaci"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Přeskočit výukový program k navigaci?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Program později najdete v aplikaci <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Zrušit"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Přetáhněte aplikaci na stranu a používejte tak dvě najednou"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Panel aplikací zobrazíte pomalým přejetím prstem nahoru"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Dostávejte návrhy aplikací podle toho, jaké používáte"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Pokud chcete panel aplikací automaticky skrýt, zapněte v Nastavení navigaci gesty"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Dlouhým stisknutím oddělovače připnete panel aplikací"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Více možností s panelem aplikací"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Zavřít"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Hotovo"</string>
diff --git a/quickstep/res/values-da/strings.xml b/quickstep/res/values-da/strings.xml
index 1603fac..d8f84dc 100644
--- a/quickstep/res/values-da/strings.xml
+++ b/quickstep/res/values-da/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Opdel"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Tryk på en anden app for at bruge opdelt skærm"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Annuller"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Luk valg af opdelt skærm"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Vælg en anden app for at bruge opdelt skærm"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Appen eller din organisation tillader ikke denne handling"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgets understøttes ikke i øjeblikket. Vælg en anden app."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Vil du springe vejledningen for navigation over?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Du kan finde dette senere i appen <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Annuller"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Træk en app til siden for at bruge 2 apps på én gang"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Stryg langsomt opad for at se proceslinjen"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Få appforslag baseret på din rutine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Aktivér navigation med bevægelser under Indstillinger for automatisk at skjule proceslinjen"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Fastgør proceslinjen med et langt tryk på skillelinjen"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Få mere fra hånden med proceslinjen"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Luk"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Luk"</string>
diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml
index 9ece2e2..12c72e1 100644
--- a/quickstep/res/values-de/strings.xml
+++ b/quickstep/res/values-de/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Teilen"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Für Splitscreen auf weitere App tippen"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Abbrechen"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Splitscreen-Auswahl beenden"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Für Splitscreen andere App auswählen"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Die App oder deine Organisation lässt diese Aktion nicht zu"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgets werden momentan nicht unterstützt, bitte wähle eine andere App aus"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Tutorial zur Bedienung überspringen?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Du findest es später auch in der <xliff:g id="NAME">%1$s</xliff:g> App"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Abbrechen"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"App zur Seite ziehen, um zwei Apps gleichzeitig zu nutzen"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Langsam nach oben wischen, um die Taskleiste anzuzeigen"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"App-Vorschläge auf Grundlage deiner Nutzung erhalten"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Taskleiste automatisch ausblenden: Aktiviere in „Einstellungen“ die Bedienung über Gesten."</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Bildschirmteiler lange drücken, um die Taskleiste anzupinnen"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Mehr Möglichkeiten mit der Taskleiste"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Schließen"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Fertig"</string>
diff --git a/quickstep/res/values-el/strings.xml b/quickstep/res/values-el/strings.xml
index ab9fe6d..335ebac 100644
--- a/quickstep/res/values-el/strings.xml
+++ b/quickstep/res/values-el/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Στιγμιότυπο οθόνης"</string>
     <string name="action_split" msgid="2098009717623550676">"Διαχωρισμός"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Πατήστε άλλη εφαρμογή για διαχωρισμό οθόνης"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Ακύρωση"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Έξοδος από την επιλογή διαχωρισμού οθόνης"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Επιλέξτε άλλη εφαρμογή για διαχωρισμό οθόνης"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Αυτή η ενέργεια δεν επιτρέπεται από την εφαρμογή ή τον οργανισμό σας."</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Προς το παρόν, τα γραφικά στοιχεία δεν υποστηρίζονται. Επιλέξτε άλλη εφαρμογή"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Παράβλεψη οδηγού πλοήγησης;"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Βρείτε τον αργότερα στην εφαρμογή <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Ακύρωση"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Σύρετε μια εφαρμ. στην άκρη για χρήση δύο εφαρμ. ταυτόχρονα"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Σύρετε αργά προς τα πάνω για εμφάνιση της Γραμμής εργαλείων"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Λάβετε προτεινόμενες εφαρμογές με βάση τη ρουτίνα σας"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Ενεργοπ. την πλοήγηση με κινήσεις στις Ρυθμίσεις για αυτόμ. απόκρυψη της Γραμμής εργαλείων"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Παρατετ. πάτημα στο διαχωρ. για καρφ. της Γραμμής εργαλείων"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Κάντε περισσότερα με τη Γραμμή εργαλείων"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Κλείσιμο"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Τέλος"</string>
diff --git a/quickstep/res/values-en-rAU/strings.xml b/quickstep/res/values-en-rAU/strings.xml
index 878c062..04ec03f 100644
--- a/quickstep/res/values-en-rAU/strings.xml
+++ b/quickstep/res/values-en-rAU/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Split"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Tap another app to use split screen"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancel"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Exit split screen selection"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Choose another app to use split screen"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"This action isn\'t allowed by the app or your organisation"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgets not currently supported; please select another app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Skip navigation tutorial?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"You can find this later in the <xliff:g id="NAME">%1$s</xliff:g> app"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancel"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Drag an app to the side to use two apps at once"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Slow-swipe up to show the Taskbar"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Get app suggestions based on your routine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Turn on gesture navigation in Settings to auto-hide the Taskbar"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Long press on the divider to pin the Taskbar"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Do more with the Taskbar"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Close"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Done"</string>
diff --git a/quickstep/res/values-en-rCA/strings.xml b/quickstep/res/values-en-rCA/strings.xml
index eed32b3..5c8d0f2 100644
--- a/quickstep/res/values-en-rCA/strings.xml
+++ b/quickstep/res/values-en-rCA/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Split"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Tap another app to use split screen"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancel"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Exit split screen selection"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Choose another app to use split screen"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"This action isn\'t allowed by the app or your organization"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgets not currently supported, please select another app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Skip navigation tutorial?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"You can find this later in the <xliff:g id="NAME">%1$s</xliff:g> app"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancel"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Drag an app to the side to use 2 apps at once"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Slow-swipe up to show the Taskbar"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Get app suggestions based on your routine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Turn on gesture navigation in Settings to auto-hide the Taskbar"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Long press on the divider to pin the Taskbar"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Do more with the Taskbar"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Close"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Done"</string>
diff --git a/quickstep/res/values-en-rGB/strings.xml b/quickstep/res/values-en-rGB/strings.xml
index 878c062..04ec03f 100644
--- a/quickstep/res/values-en-rGB/strings.xml
+++ b/quickstep/res/values-en-rGB/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Split"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Tap another app to use split screen"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancel"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Exit split screen selection"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Choose another app to use split screen"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"This action isn\'t allowed by the app or your organisation"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgets not currently supported; please select another app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Skip navigation tutorial?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"You can find this later in the <xliff:g id="NAME">%1$s</xliff:g> app"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancel"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Drag an app to the side to use two apps at once"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Slow-swipe up to show the Taskbar"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Get app suggestions based on your routine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Turn on gesture navigation in Settings to auto-hide the Taskbar"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Long press on the divider to pin the Taskbar"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Do more with the Taskbar"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Close"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Done"</string>
diff --git a/quickstep/res/values-en-rIN/strings.xml b/quickstep/res/values-en-rIN/strings.xml
index 878c062..04ec03f 100644
--- a/quickstep/res/values-en-rIN/strings.xml
+++ b/quickstep/res/values-en-rIN/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Split"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Tap another app to use split screen"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancel"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Exit split screen selection"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Choose another app to use split screen"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"This action isn\'t allowed by the app or your organisation"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgets not currently supported; please select another app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Skip navigation tutorial?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"You can find this later in the <xliff:g id="NAME">%1$s</xliff:g> app"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancel"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Drag an app to the side to use two apps at once"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Slow-swipe up to show the Taskbar"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Get app suggestions based on your routine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Turn on gesture navigation in Settings to auto-hide the Taskbar"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Long press on the divider to pin the Taskbar"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Do more with the Taskbar"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Close"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Done"</string>
diff --git a/quickstep/res/values-en-rXC/strings.xml b/quickstep/res/values-en-rXC/strings.xml
index ae825c1..5d705ff 100644
--- a/quickstep/res/values-en-rXC/strings.xml
+++ b/quickstep/res/values-en-rXC/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‏‎‏‎Screenshot‎‏‎‎‏‎"</string>
     <string name="action_split" msgid="2098009717623550676">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‎‎Split‎‏‎‎‏‎"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎Tap another app to use split screen‎‏‎‎‏‎"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‏‏‎"<b>"‎‏‎‎‏‏‏‎Cancel‎‏‎‎‏‏‎"</b>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‎‏‎‏‎‎‎‏‏‎‎‏‎‎Exit split screen selection‎‏‎‎‏‎"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‎‎‎‎‎‏‎‏‎‏‏‏‎‏‏‎‎‏‎‎Choose another app to use split screen‎‏‎‎‏‎"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎This action isn\'t allowed by the app or your organization‎‏‎‎‏‎"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‎Widgets not currently supported, please select another app‎‏‎‎‏‎"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‎‏‎‎Skip navigation tutorial?‎‏‎‎‏‎"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‏‎‏‏‎‏‏‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎You can find this later in the ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ app‎‏‎‎‏‎"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎Cancel‎‏‎‎‏‎"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎Drag an app to the side to use 2 apps at once‎‏‎‎‏‎"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‏‎‎Slow-swipe up to show the Taskbar‎‏‎‎‏‎"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‎‎‎‎‏‎‎‎‏‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‎‎Get app suggestions based on your routine‎‏‎‎‏‎"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‎Turn on gesture navigation in Settings to auto-hide the Taskbar‎‏‎‎‏‎"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎Long press on the divider to pin the Taskbar‎‏‎‎‏‎"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‏‎‎Do more with the Taskbar‎‏‎‎‏‎"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‎‏‎Close‎‏‎‎‏‎"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎Done‎‏‎‎‏‎"</string>
diff --git a/quickstep/res/values-es-rUS/strings.xml b/quickstep/res/values-es-rUS/strings.xml
index cf5d6e9..a25bd7c 100644
--- a/quickstep/res/values-es-rUS/strings.xml
+++ b/quickstep/res/values-es-rUS/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Captura de pantalla"</string>
     <string name="action_split" msgid="2098009717623550676">"Pantalla dividida"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Presiona otra app para usar la pantalla dividida"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancelar"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Salir de la selección de pantalla dividida"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Elige otra app para usar la pantalla dividida"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"La app o tu organización no permiten realizar esta acción"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"En este momento, los widgets no son compatibles; selecciona otra app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"¿Omitir el instructivo de navegación?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Puedes encontrarlo en la app de <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancelar"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Arrastra una app a un lado para usar 2 apps a la vez"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Desliza despacio hacia arriba para ver la Barra de tareas"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Recibe sugerencias de aplicaciones basadas en tu rutina"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Activa la navegación por gestos en la Configuración y la Barra de tareas se ocultará sola"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Mantén presionado el divisor para fijar la Barra de tareas"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Aprovecha mejor la Barra de tareas"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Cerrar"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Listo"</string>
diff --git a/quickstep/res/values-es/strings.xml b/quickstep/res/values-es/strings.xml
index 4c31d87..893b1c8 100644
--- a/quickstep/res/values-es/strings.xml
+++ b/quickstep/res/values-es/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Hacer captura"</string>
     <string name="action_split" msgid="2098009717623550676">"Dividir"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Toca otra aplicación para usar la pantalla dividida"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancelar"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Salir de la selección de pantalla dividida"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Elige otra app para usar la pantalla dividida"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"No puedes hacerlo porque la aplicación o tu organización no lo permiten"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Actualmente no se admiten widgets; selecciona otra aplicación"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"¿Saltar tutorial de navegación?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Puedes consultarlo en otro momento en la aplicación <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancelar"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Arrastra una aplicación hacia un lado para usar 2 a la vez"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Desliza hacia arriba lentamente para ver la barra de tareas"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Obtén sugerencias de aplicaciones basadas en tu rutina"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Activa la navegación por gestos en Ajustes para ocultar la barra de tareas automáticamente"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Mantén pulsado el divisor para fijar Barra de tareas"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Sácale más partido a la barra de tareas"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Cerrar"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Hecho"</string>
diff --git a/quickstep/res/values-et/strings.xml b/quickstep/res/values-et/strings.xml
index 176741a..93fbd1c 100644
--- a/quickstep/res/values-et/strings.xml
+++ b/quickstep/res/values-et/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Ekraanipilt"</string>
     <string name="action_split" msgid="2098009717623550676">"Eralda"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Jagatud ekraanikuva kasutamiseks puudutage muud rakendust"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Tühista"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Jagatud ekraanikuva valikust väljumine"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Valige jagatud ekraanikuva jaoks muu rakendus"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Rakendus või teie organisatsioon on selle toimingu keelanud"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Vidinaid praegu ei toetata, valige mõni muu rakendus"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Kas jätta navigeerimise õpetused vahele?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Leiate selle hiljem rakendusest <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Tühista"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"2 rakenduse korraga kasutamiseks lohistage rakendus kõrvale"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Tegumiriba kuvamiseks pühkige aeglaselt üles"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Hankige oma rutiini põhjal rakenduste soovitusi"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Tegumiriba automaatseks peitmiseks lülitage seadetes sisse liigutustega navigeerimine"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Tegumiriba kinnitamiseks vajutage pikalt jagajat"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Tehke tegumiriba abil enamat"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Sule"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Valmis"</string>
diff --git a/quickstep/res/values-eu/strings.xml b/quickstep/res/values-eu/strings.xml
index ef885e8..53b3390 100644
--- a/quickstep/res/values-eu/strings.xml
+++ b/quickstep/res/values-eu/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Atera pantaila-argazki bat"</string>
     <string name="action_split" msgid="2098009717623550676">"Zatitu"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Sakatu beste aplikazio bat pantaila zatitzeko"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Utzi"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Irten pantaila zatituaren hautapenetik"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Pantaila zatitzeko, aukeratu beste aplikazio bat"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Aplikazioak edo erakundeak ez du eman ekintza hori gauzatzeko baimena"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Une honetan ez dira onartzen widgetak. Hautatu beste aplikazio bat."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Nabigazio-tutoriala saltatu nahi duzu?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"<xliff:g id="NAME">%1$s</xliff:g> aplikazioan dago eskuragarri tutoriala"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Utzi"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Bi aplikazio batera erabiltzeko, arrastatu bat albo batera"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Zereginen barra ikusteko, pasatu hatza gora poliki"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Jaso aplikazioen iradokizunak erabileran oinarrituta"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Zereginen barra automatikoki ezkutatzeko, aktibatu keinu bidezko nabigazioa ezarpenetan"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Zereginen barra ainguratzeko, sakatu zatitzailea luze"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Egin gauza gehiago zereginen barrarekin"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Itxi"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Eginda"</string>
diff --git a/quickstep/res/values-fa/strings.xml b/quickstep/res/values-fa/strings.xml
index 85b4862..91e4ad5 100644
--- a/quickstep/res/values-fa/strings.xml
+++ b/quickstep/res/values-fa/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"نماگرفت"</string>
     <string name="action_split" msgid="2098009717623550676">"دونیمه"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"زدن روی برنامه‌ای دیگر برای استفاده از صفحه دونیمه"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"لغو کردن"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"خروج از انتخاب صفحهٔ دونیمه"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"انتخاب برنامه‌ای دیگر برای استفاده از صفحه دونیمه"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"برنامه یا سازمان شما اجازه نمی‌دهد این کنش انجام شود."</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"درحال‌حاضر از ابزارک‌ها پشتیبانی نمی‌شود، لطفاً برنامه دیگری را انتخاب کنید"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"آموزش گام‌به‌گام پیمایش رد شود؟"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"می‌توانید آن را بعداً در برنامه <xliff:g id="NAME">%1$s</xliff:g> پیدا کنید"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"لغو"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"برای استفاده هم‌زمان از ۲ برنامه، یک برنامه را به کناری بکشید"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"برای نمایش «نوار وظیفه»، انگشتتان را آهسته به‌بالا بکشید"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"براساس روال‌هایتان، پیشنهاد برنامه دریافت کنید"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"برای پنهان‌سازی خودکار «نوار وظیفه»، پیمایش اشاره‌ای را در «تنظیمات» روشن کنید"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"جداکننده را چند ثانیه فشار دهید تا «نوار وظیفه» سنجاق شود"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"با «نوار وظیفه» می‌توانید کارهای بیشتر انجام دهید"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"بستن"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"تمام"</string>
diff --git a/quickstep/res/values-fi/strings.xml b/quickstep/res/values-fi/strings.xml
index 60d6618..c8c3490 100644
--- a/quickstep/res/values-fi/strings.xml
+++ b/quickstep/res/values-fi/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Kuvakaappaus"</string>
     <string name="action_split" msgid="2098009717623550676">"Jaa"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Avaa jaettu näyttö napauttamalla toista sovellusta"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Peruuta"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Poistu jaetun näytön valinnasta"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Käytä jaettua näyttöä valitsemalla toinen sovellus"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Sovellus tai organisaatio ei salli tätä toimintoa"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgetejä ei tällä hetkellä tueta, valitse toinen sovellus"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Ohitetaanko navigointiohje?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Löydät tämän myöhemmin sovelluksesta: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Peru"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Vedä sovellus sivuun, ja voit käyttää kahta sovellusta"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Näytä tehtäväpalkki pyyhkäisemällä ylös hitaasti"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Sovellussuosituksia käytön perusteella"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Laita eleillä navigointi päälle Asetuksista Tehtäväpalkin piilottamiseksi automaattisesti"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Kiinnitä tehtäväpalkki painamalla jakajaa pitkään"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Vinkkejä tehtäväpalkin tehokkaampaan käyttöön"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Sulje"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Valmis"</string>
diff --git a/quickstep/res/values-fr-rCA/strings.xml b/quickstep/res/values-fr-rCA/strings.xml
index a98e9c5..8a8a9aa 100644
--- a/quickstep/res/values-fr-rCA/strings.xml
+++ b/quickstep/res/values-fr-rCA/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Capture d\'écran"</string>
     <string name="action_split" msgid="2098009717623550676">"Partager"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Toucher une autre appli pour partager l\'écran"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Annuler"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Quitter la sélection d\'écran divisé"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Choisir une autre application pour utiliser l\'écran partagé"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"L\'application ou votre organisation n\'autorise pas cette action"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Les widgets ne sont actuellement pas pris en charge. Veuillez sélectionner une autre application"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Ignorer le tutoriel sur la navigation?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Vous trouverez le tutoriel dans l\'application <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Annuler"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Pour utiliser deux applis, faites-les glisser vers le côté"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Balayez lent. vers le haut pour afficher la barre des tâches"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Obtenez des suggestions d\'applis en fonction de vos routines"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Activez la navigation par gestes dans Paramètres pour masquer auto. la barre des tâches"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Maint. doigt sur séparateur pour épingler la barre de tâches"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Faites-en plus avec la barre des tâches"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Fermer"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"OK"</string>
diff --git a/quickstep/res/values-fr/strings.xml b/quickstep/res/values-fr/strings.xml
index 2e2e0f1..789ef13 100644
--- a/quickstep/res/values-fr/strings.xml
+++ b/quickstep/res/values-fr/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Capture d\'écran"</string>
     <string name="action_split" msgid="2098009717623550676">"Partager"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Appuyez sur autre appli pour l\'écran partagé"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Annuler"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Quitter la sélection de l\'écran partagé"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Sélect. autre appli pour utiliser l\'écran partagé"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Cette action n\'est pas autorisée par l\'application ou par votre organisation"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Les widgets ne sont actuellement pas pris en charge, veuillez sélectionner une autre appli"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Ignorer le tutoriel de navigation ?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Vous le retrouverez dans l\'appli <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Annuler"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Faites glisser une appli sur le côté pour en utiliser 2 à la fois"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Balayez lentement vers haut pour afficher barre des tâches"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Obtenez des suggestions d\'applis basées sur vos habitudes"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Activez la navigation par gestes dans paramètres pour masquage auto de la barre des tâches"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Appui prolongé sur le séparateur pour épingler la barre des tâches"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Faites-en plus avec la barre des tâches"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Fermer"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"OK"</string>
diff --git a/quickstep/res/values-gl/strings.xml b/quickstep/res/values-gl/strings.xml
index 11479e1..2022573 100644
--- a/quickstep/res/values-gl/strings.xml
+++ b/quickstep/res/values-gl/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Facer captura"</string>
     <string name="action_split" msgid="2098009717623550676">"Dividir"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Para usar a pantalla dividida, toca outra app"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancelar"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Saír da selección de pantalla dividida"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Escolle outra app para usar a pantalla dividida"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"A aplicación ou a túa organización non permite realizar esta acción"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Actualmente os widgets non se admiten. Selecciona outra aplicación"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Queres omitir o titorial de navegación?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Podes atopalo máis tarde na aplicación <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancelar"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Arrastra unha aplicación cara a un lado para usar dúas á vez"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Pasa o dedo amodo cara arriba para ver a barra de tarefas"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Obtén suxestións de aplicacións en función da túa rutina"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Activa navegación con xestos en Configuración e oculta automaticamente a barra de tarefas"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Mantén premida a liña divisoria para fixar a Barra de tarefas"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Tira máis proveito da barra de tarefas"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Pechar"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Listo"</string>
diff --git a/quickstep/res/values-gu/strings.xml b/quickstep/res/values-gu/strings.xml
index ef44fb9..d1adf5c 100644
--- a/quickstep/res/values-gu/strings.xml
+++ b/quickstep/res/values-gu/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"સ્ક્રીનશૉટ"</string>
     <string name="action_split" msgid="2098009717623550676">"વિભાજિત કરો"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"વિભાજિત સ્ક્રીન વાપરવા, કોઈ અન્ય ઍપ પર ટૅપ કરો"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"રદ કરો"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"\'સ્ક્રીનને વિભાજિત કરો\' પસંદગીમાંથી બહાર નીકળો"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"સ્ક્રીન વિભાજનનો ઉપયોગ કરવા કોઈ અન્ય ઍપ પસંદ કરો"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ઍપ કે તમારી સંસ્થા દ્વારા આ ક્રિયા કરવાની મંજૂરી નથી"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"વિજેટ હાલમાં સપોર્ટેડ નથી, કૃપા કરીને કોઈ બીજી ઍપ પસંદ કરો"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"નૅવિગેશન ટ્યૂટૉરિઅલ છોડી દઈએ?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"તમે આને પછીથી <xliff:g id="NAME">%1$s</xliff:g> ઍપમાં જોઈ શકો છો"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"રદ કરો"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"એક સાથે 2 ઍપનો ઉપયોગ કરવા માટે, ઍપને ખેંચીને બાજુ પર લઈ જાઓ"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"ટાસ્કબાર બતાવવા માટે ઉપરની તરફ ધીમેથી સ્વાઇપ કરો"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"તમારા રૂટિનના આધારે ઍપના સુઝાવો મેળવો"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"ટાસ્કબારને ઑટોમૅટિક રીતે છુપાવવા માટે સેટિંગમાં સંકેતથી નૅવિગેશનની સુવિધા ચાલુ કરો"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"ટાસ્કબારને પિન કરવા માટે, વિભાજકને થોડીવાર દબાવી રાખો"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"ટાસ્કબાર વડે બીજું ઘણું કરો"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"બંધ કરો"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"થઈ ગયું"</string>
diff --git a/quickstep/res/values-hi/strings.xml b/quickstep/res/values-hi/strings.xml
index 28551ad..5ebe814 100644
--- a/quickstep/res/values-hi/strings.xml
+++ b/quickstep/res/values-hi/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"स्क्रीनशॉट लें"</string>
     <string name="action_split" msgid="2098009717623550676">"स्प्लिट स्क्रीन मोड"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"स्प्लिट स्क्रीन के लिए दूसरे ऐप्लिकेशन पर टैप करें"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"अभी नहीं"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"स्प्लिट स्क्रीन मोड से बाहर निकलें"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"स्प्लिट स्क्रीन के लिए, दूसरा ऐप्लिकेशन चुनें"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ऐप्लिकेशन या आपका संगठन इस कार्रवाई की अनुमति नहीं देता"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"फ़िलहाल, विजेट काम नहीं कर रहें हैं. कृपया कोई दूसरा ऐप्लिकेशन चुनें"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"क्या आपको अभी नेविगेशन ट्यूटोरियल नहीं देखना है?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"इसे बाद में <xliff:g id="NAME">%1$s</xliff:g> ऐप्लिकेशन पर देखा जा सकता है"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"रद्द करें"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"किसी ऐप को किनारे की ओर ड्रैग करके 2 ऐप एक साथ इस्तेमाल करें"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"टास्कबार दिखाने के लिए, ऊपर की ओर धीरे से स्वाइप करें"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"डिवाइस के इस्तेमाल के आधार पर ऐप्लिकेशन के सुझाव पाएं"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"टास्कबार अपने-आप छिपाने वाली सुविधा के लिए, सेटिंग में जाकर जेस्चर वाला नेविगेशन चालू करें"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"टास्कबार को पिन करने के लिए डिवाइडर को दबाकर रखें"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"टास्कबार की मदद से कई और काम करें"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"बंद करें"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"हो गया"</string>
diff --git a/quickstep/res/values-hr/strings.xml b/quickstep/res/values-hr/strings.xml
index abad768..ad0be8e 100644
--- a/quickstep/res/values-hr/strings.xml
+++ b/quickstep/res/values-hr/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Snimka zaslona"</string>
     <string name="action_split" msgid="2098009717623550676">"Podijeli"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Dodirnite drugu aplikaciju za podijeljeni zaslon"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Odustani"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Zatvori odabir podijeljenog zaslona"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Odaberite drugu aplikaciju za upotrebu podijeljenog zaslona"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Aplikacija ili vaša organizacija ne dopuštaju ovu radnju"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgeti trenutačno nisu podržani, odaberite drugu aplikaciju"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Želite li preskočiti vodič za kretanje?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Kasnije ga možete pronaći u aplikaciji <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Odustani"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Povucite aplikaciju u stranu radi istodobne upotrebe dviju aplikacija"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Polako prijeđite prstom prema gore za prikaz trake sa zadacima"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Primajte prijedloge aplikacija na temelju svoje rutine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Uključite navigaciju pokretima u postavkama da bi se traka sa zadacima automatski sakrila"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Dugo pritisnite razdjelnik da biste prikvačili alatnu traku"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Učinite više pomoću trake sa zadacima"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Zatvori"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Gotovo"</string>
diff --git a/quickstep/res/values-hu/strings.xml b/quickstep/res/values-hu/strings.xml
index 16cd5f5..b1298ce 100644
--- a/quickstep/res/values-hu/strings.xml
+++ b/quickstep/res/values-hu/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Képernyőkép"</string>
     <string name="action_split" msgid="2098009717623550676">"Felosztás"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Koppintson másik appra az osztott képernyőhöz"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Mégse"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Kilépés az osztott képernyő elemeinek kiválasztásából"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Válasszon másik appot a képernyő felosztásához"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Az alkalmazás vagy az Ön szervezete nem engedélyezi ezt a műveletet"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"A modulok jelenleg nem támogatottak; válasszon másik alkalmazást"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Kihagyja a navigáció bemutatóját?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Ezt később megtalálhatja a(z) <xliff:g id="NAME">%1$s</xliff:g> alkalmazásban"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Mégse"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Húzzon egy appot oldalra, ha kettőt használna egyidejűleg"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Lassan csúsztassa fel az ujját a Feladatsáv megjelenítéséhez"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Alkalmazásjavaslatokat kaphat a rutinja alapján"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"A Feladatsáv automatikus elrejtéséhez aktiválja a navigációs kézmozdulatokat a beállításokban"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"A Feladatsáv kitűzéséhez nyomja meg hosszan az elválasztót"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Jobban kihasználhatja a Feladatsávot"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Bezárás"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Kész"</string>
diff --git a/quickstep/res/values-hy/strings.xml b/quickstep/res/values-hy/strings.xml
index 48eecd6..d896b51 100644
--- a/quickstep/res/values-hy/strings.xml
+++ b/quickstep/res/values-hy/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Սքրինշոթ անել"</string>
     <string name="action_split" msgid="2098009717623550676">"Տրոհել"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Հպեք այլ հավելվածի՝ տրոհված էկրանից օգտվելու համար"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Չեղարկել"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Դուրս գալ տրոհված էկրանի ռեժիմից"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Ընտրեք այլ հավելված՝ կիսված էկրանից օգտվելու համար"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Այս գործողությունն արգելված է հավելվածի կամ ձեր կազմակերպության կողմից"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Վիջեթները ներկայումս չեն աջակցվում. ընտրեք այլ հավելված"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Բաց թողնե՞լ նավիգացիայի ուղեցույցը"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Հետագայում սա կարող եք գտնել «<xliff:g id="NAME">%1$s</xliff:g>» հավելվածում"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Չեղարկել"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Միաժամանակ օգտագործեք երկու հավելված՝ մեկը մի կողմ քաշելով"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Հավելվածների վահանակը բացելու համար մատը դանդաղ սահեցրեք վեր"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Ստացեք առաջարկներ ձեր գործողությունների հիման վրա"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Կարգավորումներում միացրեք ժեստերով նավիգացիան՝ հավելվածների վահանակը թաքցնելու համար"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Հավելվածների վահանակն ամրացնելու համար երկար սեղմեք բաժանարարի վրա"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Օգտվեք հավելվածների վահանակի բոլոր հնարավորություններից"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Փակել"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Պատրաստ է"</string>
diff --git a/quickstep/res/values-in/strings.xml b/quickstep/res/values-in/strings.xml
index 2852fc0..e6563ae 100644
--- a/quickstep/res/values-in/strings.xml
+++ b/quickstep/res/values-in/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Pisahkan"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Ketuk aplikasi lain untuk memakai layar terpisah"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Batal"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Keluar dari pemilihan layar terpisah"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Pilih aplikasi lain untuk memakai layar terpisah"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Tindakan ini tidak diizinkan oleh aplikasi atau organisasi Anda"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widget saat ini tidak didukung, pilih aplikasi lain"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Lewati tutorial gestur?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Anda dapat menemukan tutorial ini di lain waktu di aplikasi <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Batal"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Tarik aplikasi ke samping untuk menggunakan 2 aplikasi sekaligus"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Geser perlahan ke atas untuk menampilkan Taskbar"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Dapatkan saran aplikasi berdasarkan rutinitas Anda"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Aktifkan navigasi gestur di Setelan untuk menyembunyikan otomatis Taskbar"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Tekan lama pemisah untuk menyematkan Taskbar"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Lakukan lebih banyak dengan Taskbar"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Tutup"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Selesai"</string>
diff --git a/quickstep/res/values-is/strings.xml b/quickstep/res/values-is/strings.xml
index 998c23f..c297a6b 100644
--- a/quickstep/res/values-is/strings.xml
+++ b/quickstep/res/values-is/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Skjámynd"</string>
     <string name="action_split" msgid="2098009717623550676">"Skipta"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Ýttu á annað forrit til að nota skjáskiptingu"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Hætta við"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Loka skjáskiptingu"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Veldu annað forrit til að nota skjáskiptingu"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Forritið eða fyrirtækið leyfir ekki þessa aðgerð"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Græjur ekki studdar eins og er, veldu annað forrit"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Sleppa flettileiðsögn?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Þú getur fundið þetta síðar í forritinu <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Hætta við"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Dragðu forrit til hliðar til að nota 2 forrit í einu"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Strjúktu hægt upp til að birta forritastikuna"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Fáðu forritatillögur sem byggjast á rútínunni þinni"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Kveiktu á bendingastjórnun í stillingunum til að fela forritastikuna sjálfkrafa"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Haltu skiptingu forritastikunnar inni til að festa hana"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Nýttu forritastikuna betur"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Loka"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Lokið"</string>
diff --git a/quickstep/res/values-it/strings.xml b/quickstep/res/values-it/strings.xml
index 3755dbb..c028d26 100644
--- a/quickstep/res/values-it/strings.xml
+++ b/quickstep/res/values-it/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Dividi"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Tocca un\'altra app per usare lo schermo diviso"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Annulla"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Esci dalla selezione dello schermo diviso"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Scegli un\'altra app per usare lo schermo diviso"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Questa azione non è consentita dall\'app o dall\'organizzazione"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Attualmente i widget non sono supportati, seleziona un\'altra app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Saltare il tutorial di navigazione?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Puoi trovarlo in un secondo momento nell\'app <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Annulla"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Trascina un\'app di lato per usare due app contemporaneamente"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Scorri lentamente in su per mostrare la barra delle app"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Visualizza le app suggerite in base alla tua routine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Per nascondere automaticamente la barra delle app, attiva la navigazione tramite gesti"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Premi a lungo sul divisore per fissare la barra delle app"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Fai di più con la barra delle app"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Chiudi"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Fine"</string>
diff --git a/quickstep/res/values-iw/strings.xml b/quickstep/res/values-iw/strings.xml
index e07d338..505096b 100644
--- a/quickstep/res/values-iw/strings.xml
+++ b/quickstep/res/values-iw/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"צילום מסך"</string>
     <string name="action_split" msgid="2098009717623550676">"פיצול"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"צריך להקיש על אפליקציה אחרת כדי להשתמש במסך מפוצל"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"ביטול"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"יציאה מתצוגת מסך מפוצל"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"כדי להשתמש במסך מפוצל צריך לבחור אפליקציה אחרת"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"האפליקציה או הארגון שלך אינם מתירים את הפעולה הזאת"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"הווידג\'טים לא נתמכים כרגע, צריך לבחור אפליקציה אחרת"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"לדלג על המדריך לניווט?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"ניתן למצוא את המדריך מאוחר יותר באפליקציה <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"ביטול"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"כדי להשתמש בשתי אפליקציות בו-זמנית, צריך לגרור אפליקציה לצד"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"צריך להחליק לאט כדי להציג את סרגל האפליקציות"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"קבלת הצעות לאפליקציות על סמך השימוש השגרתי שלך"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"אפשר להפעיל את הניווט באמצעות תנועות ב\'הגדרות\' כדי להסתיר אוטומטית את סרגל האפליקציות"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"כדי להצמיד את סרגל האפליקציות, לוחצים לחיצה ארוכה על המחיצה"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"פעולות נוספות שאפשר לעשות עם סרגל האפליקציות"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"סגירה"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"סיום"</string>
diff --git a/quickstep/res/values-ja/strings.xml b/quickstep/res/values-ja/strings.xml
index 7517f9d..e9f1670 100644
--- a/quickstep/res/values-ja/strings.xml
+++ b/quickstep/res/values-ja/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"スクリーンショット"</string>
     <string name="action_split" msgid="2098009717623550676">"分割"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"分割画面を使用するには、他のアプリをタップします"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"キャンセル"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"分割画面の選択を終了します"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"分割画面にするには、別のアプリを選択してください"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"この操作はアプリまたは組織で許可されていません"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"ウィジェットは現在サポートされていません。他のアプリを選択してください。"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"操作チュートリアルをスキップしますか?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"チュートリアルは後から <xliff:g id="NAME">%1$s</xliff:g> アプリで確認できます"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"キャンセル"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"アプリを横にドラッグして 2 個のアプリを同時に使用できます"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"タスクバーを表示するには、上にゆっくりとスワイプします"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"毎日の使用状況に基づいてアプリの候補が表示されます"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"[設定] でジェスチャー ナビゲーションを ON にすると、タスクバーを自動的に非表示にできます"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"タスクバーを固定するには分割線を長押ししてください"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"タスクバーの各種機能"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"閉じる"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"完了"</string>
diff --git a/quickstep/res/values-ka/strings.xml b/quickstep/res/values-ka/strings.xml
index 64aa870..5bcf856 100644
--- a/quickstep/res/values-ka/strings.xml
+++ b/quickstep/res/values-ka/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"ეკრანის ანაბეჭდი"</string>
     <string name="action_split" msgid="2098009717623550676">"გაყოფა"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"შეეხეთ სხვა აპს ეკრანის გასაყოფად"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"გაუქმება"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"ეკრანის გაყოფის არჩევანიდან გასვლა"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"აირჩიეთ სხვა აპი ეკრანის გასაყოფად"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ეს მოქმედება არ არის დაშვებული აპის ან თქვენი ორგანიზაციის მიერ"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"ვიჯეტები ამჟამად არ არის მხარდაჭერილი. გთხოვთ, აირჩიოთ სხვა აპი"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"გსურთ, გამოტოვოთ ნავიგაციის სახელმძღვანელო?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"ამის მოგვიანებით პოვნა <xliff:g id="NAME">%1$s</xliff:g> აპში შეგიძლიათ"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"გაუქმება"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"2 აპის ერთდროულად გამოსაყენებლად გადაათრიეთ აპი კიდეზე"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"მოკლედ გადაფურცლეთ ზემოთ, რომ ამოცანათა ზოლი გამოაჩინოთ"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"მიიღეთ აპის შეთავაზებები თქვენი რუტინის მიხედვით"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"ჩართეთ ჟესტებით ნავიგაცია პარამეტრებში, რათა ავტომატურად დაიმალოთ სამუშაო ზოლი"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"ხანგრძლივად დააჭირეთ გამყოფს ამოცანათა ზოლის ჩასამაგრებლად"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"გააკეთეთ მეტი ამოცანათა ზოლის მეშვეობით"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"დახურვა"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"მზადაა"</string>
diff --git a/quickstep/res/values-kk/strings.xml b/quickstep/res/values-kk/strings.xml
index cde0dfd..da3670e 100644
--- a/quickstep/res/values-kk/strings.xml
+++ b/quickstep/res/values-kk/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Скриншот"</string>
     <string name="action_split" msgid="2098009717623550676">"Бөлу"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Экранды бөлу режимін пайдалану үшін басқа қолданбаны түртіңіз."</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Бас тарту"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Экранды бөлу режимінен шығу"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Экранды бөлу үшін басқа қолданбаны таңдаңыз."</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Бұл әрекетке қолданба не ұйым рұқсат етпейді."</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Виджеттерге қазір қолдау көрсетілмейді. Басқа қолданба таңдаңыз."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Қимылдар оқулығын өткізіп жіберу керек пе?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Мұны кейін <xliff:g id="NAME">%1$s</xliff:g> қолданбасынан таба аласыз."</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Бас тарту"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"2 қолданбаны бір мезгілде пайдалану үшін қолданбаны шетке сүйреңіз."</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Тапсырмалар жолағын көрсету үшін жоғары қарай ақырын сырғытыңыз."</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Іс-әрекеттеріңізге негізделген қолданба ұсыныстарын алыңыз."</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Тапсырмалар жолағын автоматты түрде жасыру үшін параметрлерден қимылмен басқаруды қосыңыз."</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Тапсырмалар жолағын бекіту үшін бөлгішті ұзақ басып тұрыңыз"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Тапсырмалар жолағында мүмкіндік көп"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Жабу"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Дайын"</string>
diff --git a/quickstep/res/values-km/strings.xml b/quickstep/res/values-km/strings.xml
index 89d8335..4c3d732 100644
--- a/quickstep/res/values-km/strings.xml
+++ b/quickstep/res/values-km/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"រូបថតអេក្រង់"</string>
     <string name="action_split" msgid="2098009717623550676">"បំបែក"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"ចុចកម្មវិធី​ផ្សេងទៀត ដើម្បីប្រើ​មុខងារបំបែកអេក្រង់"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"បោះបង់"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"ចាកចេញពីការជ្រើសរើសរបស់មុខងារ​បំបែកអេក្រង់"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"ជ្រើសរើសកម្មវិធីផ្សេងទៀត ដើម្បីប្រើមុខងារ​បំបែកអេក្រង់"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"សកម្មភាពនេះ​មិនត្រូវបានអនុញ្ញាតដោយកម្មវិធី​ ឬ​ស្ថាប័ន​របស់អ្នកទេ"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"បច្ចុប្បន្ន ធាតុ​ក្រាហ្វិកមិនអាចប្រើបានទេ សូមជ្រើសរើសកម្មវិធីផ្សេងទៀត"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"រំលង​មេរៀន​អំពី​ការរុករក​ឬ?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"អ្នកអាចស្វែងរកមេរៀននេះនៅពេលក្រោយក្នុងកម្មវិធី <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"បោះបង់"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"អូសកម្មវិធីទៅចំហៀង ដើម្បីប្រើកម្មវិធី 2 ក្នុងពេលតែមួយ"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"អូសឡើងលើយឺតៗ ដើម្បីបង្ហាញរបារកិច្ចការ"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"ទទួលការណែនាំកម្មវិធីដោយផ្អែកលើទម្លាប់របស់អ្នក"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"បើកការរុករក​ដោយប្រើចលនានៅក្នុងការកំណត់ ដើម្បីលាក់របារកិច្ចការដោយស្វ័យប្រវត្តិ"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"ចុចឱ្យយូរនៅលើបន្ទាត់ខណ្ឌចែក ដើម្បីខ្ទាស់របារកិច្ចការ"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"ធ្វើបានកាន់តែច្រើនដោយប្រើរបារកិច្ចការ"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"បិទ"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"រួចរាល់"</string>
diff --git a/quickstep/res/values-kn/strings.xml b/quickstep/res/values-kn/strings.xml
index b7cdd15..c8efb7e 100644
--- a/quickstep/res/values-kn/strings.xml
+++ b/quickstep/res/values-kn/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"ಸ್ಕ್ರೀನ್‌ಶಾಟ್"</string>
     <string name="action_split" msgid="2098009717623550676">"ವಿಭಜಿಸಿ"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್ ಬಳಸಲು ಬೇರೆ ಆ್ಯಪ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"ರದ್ದುಮಾಡಿ"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್ ಆಯ್ಕೆಯಿಂದ ನಿರ್ಗಮಿಸಿ"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"\"ಪರದೆ ಬೇರ್ಪಡಿಸಿ\" ಬಳಸಲು ಬೇರೆ ಆ್ಯಪ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ಆ್ಯಪ್ ಅಥವಾ ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ಈ ಕ್ರಿಯೆಯನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"ವಿಜೆಟ್‌ಗಳು ಪ್ರಸ್ತುತ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ, ಮತ್ತೊಂದು ಆ್ಯಪ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"ನ್ಯಾವಿಗೇಶನ್ ಟ್ಯುಟೋರಿಯಲ್ ಸ್ಕಿಪ್ ಮಾಡಬೇಕೇ?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"<xliff:g id="NAME">%1$s</xliff:g> ಆ್ಯಪ್‌ನಲ್ಲಿ ಇದನ್ನು ನಂತರ ಕಾಣಬಹುದು"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"ರದ್ದುಮಾಡಿ"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"ಒಂದೇ ಬಾರಿಗೆ 2 ಆ್ಯಪ್‌ಗಳನ್ನು ಬಳಸಲು ಆ್ಯಪ್ ಅನ್ನು ಬದಿಗೆ ಎಳೆಯಿರಿ"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"ಟಾಸ್ಕ್‌ಬಾರ್ ಅನ್ನು ತೋರಿಸಲು ನಿಧಾನವಾಗಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"ನಿಮ್ಮ ದಿನಚರಿಯ ಆಧಾರದ ಮೇಲೆ ಆ್ಯಪ್ ಸಲಹೆಗಳನ್ನು ಪಡೆಯಿರಿ"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"ಟಾಸ್ಕ್‌ಬಾರ್ ಅನ್ನು ಸ್ವಯಂ-ಮರೆಮಾಡಲು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಗೆಸ್ಚರ್ ನ್ಯಾವಿಗೇಶನ್ ಅನ್ನು ಆನ್ ಮಾಡಿ"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"ಟಾಸ್ಕ್ ಬಾರ್ ಅನ್ನು ಪಿನ್ ಮಾಡಲು ಡಿವೈಡರ್ ಮೇಲೆ ದೀರ್ಘಕಾಲ ಒತ್ತಿರಿ"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"ಟಾಸ್ಕ್‌ಬಾರ್ ಮೂಲಕ ಹೆಚ್ಚಿನದನ್ನು ಮಾಡಿ"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"ಮುಚ್ಚಿರಿ"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"ಆಯಿತು"</string>
diff --git a/quickstep/res/values-ko/strings.xml b/quickstep/res/values-ko/strings.xml
index c00eeed..5b5b728 100644
--- a/quickstep/res/values-ko/strings.xml
+++ b/quickstep/res/values-ko/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"스크린샷"</string>
     <string name="action_split" msgid="2098009717623550676">"분할"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"다른 앱을 탭하여 화면 분할 사용"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"취소"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"화면 분할 선택 종료"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"화면 분할을 사용하려면 다른 앱을 선택하세요."</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"이 작업은 앱 또는 조직에서 허용되지 않습니다."</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"위젯이 현재 지원되지 않습니다. 다른 앱을 선택하세요."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"이동 방법 튜토리얼을 건너뛰시겠습니까?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"이 튜토리얼은 <xliff:g id="NAME">%1$s</xliff:g> 앱에서 다시 볼 수 있습니다."</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"취소"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"앱을 옆으로 드래그하여 앱 2개를 동시에 사용합니다."</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"위로 천천히 스와이프하면 태스크 바가 표시됩니다."</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"사용 습관에 따라 앱 제안을 받습니다."</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"태스크 바를 자동 숨김하려면 설정에서 동작 탐색을 켜세요."</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"구분선을 길게 눌러 태스크 바 고정하기"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"태스크 바 최대한 활용하기"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"닫기"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"완료"</string>
diff --git a/quickstep/res/values-ky/strings.xml b/quickstep/res/values-ky/strings.xml
index f5d8782..ea98e71 100644
--- a/quickstep/res/values-ky/strings.xml
+++ b/quickstep/res/values-ky/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Скриншот"</string>
     <string name="action_split" msgid="2098009717623550676">"Бөлүү"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Экранды бөлүү үчүн башка колдонмону таптап коюңуз"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Жокко чыгаруу"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Тандалган экранды бөлүүдөн чыгуу"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Экранды бөлүү үчүн башка колдонмону тандаңыз"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Бул аракетти аткарууга колдонмо же ишканаңыз тыюу салган"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Виджеттер учурда колдоого алынбайт, башка колдонмону тандаңыз"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Жаңсоолор үйрөткүчүн өткөрүп жибересизби?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Аны кийин <xliff:g id="NAME">%1$s</xliff:g> колдонмосунан табасыз"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Жокко чыгаруу"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"2 колдонмону бир убакта пайдалануу үчүн капталга сүйрөңүз"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Тапшырмалар тактасын көрүү үчүн экранды жай өйдө сүрүңүз"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Программаңыздын негизинде сунушталган колдонмолорду алуу"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Тапшырмалар тактасын автоматтык түрдө жашыруу үчүн Тууралоодон жаңсап чабыттоону күйгүзүңүз"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Тапшырмалар панелин кадап коюу үчүн бөлгүчтү коё бербей басып туруңуз"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Тапшырмалар тактасы менен көбүрөөк нерселерди аткарыңыз"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Жабуу"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Бүттү"</string>
diff --git a/quickstep/res/values-land/dimens.xml b/quickstep/res/values-land/dimens.xml
index ee594c8..2b17b93 100644
--- a/quickstep/res/values-land/dimens.xml
+++ b/quickstep/res/values-land/dimens.xml
@@ -84,4 +84,5 @@
 
     <dimen name="keyboard_quick_switch_taskview_width">205dp</dimen>
     <dimen name="keyboard_quick_switch_taskview_height">119dp</dimen>
+
 </resources>
diff --git a/quickstep/res/values-lo/strings.xml b/quickstep/res/values-lo/strings.xml
index 2f67c30..635523e 100644
--- a/quickstep/res/values-lo/strings.xml
+++ b/quickstep/res/values-lo/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"ຮູບໜ້າຈໍ"</string>
     <string name="action_split" msgid="2098009717623550676">"ແບ່ງ"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"ແຕະແອັບອື່ນເພື່ອໃຊ້ໜ້າຈໍແຍກ"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"ຍົກເລີກ"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"ອອກຈາກາກນເລືອກການແບ່ງໜ້າຈໍ"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"ເລືອກແອັບອື່ນເພື່ອໃຊ້ການແບ່ງໜ້າຈໍ"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ແອັບ ຫຼື ອົງການຂອງທ່ານບໍ່ອະນຸຍາດໃຫ້ໃຊ້ຄຳສັ່ງນີ້"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"ຍັງບໍ່ຮອງຮັບວິດເຈັດໃນຕອນນີ້, ກະລຸນາເລືອກແອັບອື່ນ"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"ຂ້າມການສອນການນຳໃຊ້ການນຳທາງບໍ?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"ທ່ານສາມາດຊອກສ່ວນນີ້ພາຍຫຼັງໄດ້ໃນແອັບ <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"ຍົກເລີກ"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"ລາກແອັບໄປດ້ານຂ້າງເພື່ອໃຊ້ 2 ແອັບໃນເວລາດຽວກັນ"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"ປັດຂຶ້ນຊ້າໆເພື່ອສະແດງແຖບໜ້າວຽກ"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"ຮັບການແນະນຳແອັບໂດຍອີງໃສ່ສິ່ງທີ່ເຮັດປະຈຳຂອງທ່ານ"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"ເປີດການນຳທາງແບບທ່າທາງໃນການຕັ້ງຄ່າເພື່ອເຊື່ອງແຖບໜ້າວຽກໄວ້ໂດຍອັດຕະໂນມັດ"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"ກົດຕົວຂັ້ນຄ້າງໄວ້ເພື່ອປັກໝຸດແຖບໜ້າວຽກ"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"ເຮັດສິ່ງຕ່າງໆໄດ້ຫຼາຍຂຶ້ນດ້ວຍແຖບໜ້າວຽກ"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"ປິດ"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"ແລ້ວໆ"</string>
diff --git a/quickstep/res/values-lt/strings.xml b/quickstep/res/values-lt/strings.xml
index 8bb1252..c5839e3 100644
--- a/quickstep/res/values-lt/strings.xml
+++ b/quickstep/res/values-lt/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Ekrano kopija"</string>
     <string name="action_split" msgid="2098009717623550676">"Išskaidymo režimas"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Išskaidyto ekrano režimas palietus kitą programą"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Atšaukti"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Išeiti iš išskaidyto ekrano pasirinkimo"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Išskaidyto ekrano režimą naudokite kita programa"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Jūsų organizacijoje arba naudojant šią programą neleidžiama atlikti šio veiksmo"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Valdikliai šiuo metu nepalaikomi, pasirinkite kitą programą"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Praleisti naršymo mokymo programą?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Tai galėsite rasti vėliau programoje „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Atšaukti"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Nuvilkę programą į šoną vienu metu naudokite dvi programas"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Trumpai perbraukite, kad būtų rodoma Užduočių juosta"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Gaukite programų pasiūlymų pagal savo veiklą"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Įjungę naršymą gestais „Nustatymų“ skiltyje automatiškai paslėpkite Užduočių juostą"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Ilgai paspauskite daliklį, kad prisegtumėte užduočių juostą"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Atlikite daugiau naudodami Užduočių juostą"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Uždaryti"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Atlikta"</string>
diff --git a/quickstep/res/values-lv/strings.xml b/quickstep/res/values-lv/strings.xml
index a8bff55..063a626 100644
--- a/quickstep/res/values-lv/strings.xml
+++ b/quickstep/res/values-lv/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Veikt ekrānuzņēmumu"</string>
     <string name="action_split" msgid="2098009717623550676">"Sadalīt"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Lai sadalītu ekrānu, pieskarieties citai lietotnei"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Atcelt"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Izejiet no ekrāna sadalīšanas režīma atlases."</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Izvēlieties citu lietotni, lai sadalītu ekrānu"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Lietotne vai jūsu organizācija neatļauj veikt šo darbību."</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Logrīki pašlaik netiek atbalstīti. Lūdzu, atlasiet citu lietotni."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Vai izlaist navigācijas mācības?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Varēsiet to vēlāk atrast lietotnē <xliff:g id="NAME">%1$s</xliff:g>."</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Atcelt"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Velciet lietotni sānis, lai izmantotu 2 lietotnes vienlaikus"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Lai skatītu uzdevumu joslu, lēni velciet augšup"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Skatiet ieteiktās lietotnes, balstoties uz jūsu ieradumiem"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Lai Uzdevumu josla tiktu automātiski paslēpta, iestatījumos ieslēdziet žestu navigāciju."</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Nospiediet/turiet atdalītāju, lai piespraustu uzdevumu joslu"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Plašākas iespējas, izmantojot uzdevumu joslu"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Aizvērt"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Gatavs"</string>
diff --git a/quickstep/res/values-mk/strings.xml b/quickstep/res/values-mk/strings.xml
index 258a544..61d34dd 100644
--- a/quickstep/res/values-mk/strings.xml
+++ b/quickstep/res/values-mk/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Слика од екранот"</string>
     <string name="action_split" msgid="2098009717623550676">"Раздели"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Допрете друга аплик. за да користите поделен екран"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Откажи"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Излези од изборот на поделен екран"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Изберете друга апликација за да користите поделен екран"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Апликацијата или вашата организација не го дозволува дејствово"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Виџетите не се поддржани во моментов, изберете друга апликација"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Да се прескокне упатството за навигација?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Ова може да го најдете подоцна во апликацијата <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Откажи"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Повлечете апликација настрана за да користите 2 апликации"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Полека повлечете нагоре за да се прикаже лентата со задачи"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Добивајте предлози за апликации според вашата рутина"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Вклучете навигација со движење во „Поставки“ за автоматско сокривање на „Лентата со задачи“"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Притиснете долго на разделникот за да ја закачите „Лентата со задачи“"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Правете повеќе со една лента со задачи"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Затвори"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Готово"</string>
diff --git a/quickstep/res/values-ml/strings.xml b/quickstep/res/values-ml/strings.xml
index fffcd54..f9e7827 100644
--- a/quickstep/res/values-ml/strings.xml
+++ b/quickstep/res/values-ml/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"സ്ക്രീൻഷോട്ട്"</string>
     <string name="action_split" msgid="2098009717623550676">"വിഭജിക്കുക"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"സ്പ്ലിറ്റ് സ്ക്രീനിന് മറ്റൊരു ആപ്പിൽ ടാപ്പ് ചെയ്യൂ"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"റദ്ദാക്കുക"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"സ്‌ക്രീൻ വിഭജന തിരഞ്ഞെടുപ്പിൽ നിന്ന് പുറത്തുകടക്കുക"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"സ്ക്രീൻ വിഭജന മോഡിന് മറ്റൊരു ആപ്പ് തിരഞ്ഞെടുക്കൂ"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ഈ നടപടി എടുക്കുന്നത് ആപ്പോ നിങ്ങളുടെ സ്ഥാപനമോ അനുവദിക്കുന്നില്ല"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"വിജറ്റുകൾക്ക് നിലവിൽ പിന്തുണയില്ല, മറ്റൊരു ആപ്പ് തിരഞ്ഞെടുക്കുക"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"നാവിഗേഷൻ ട്യൂട്ടോറിയൽ ഒഴിവാക്കണോ?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"<xliff:g id="NAME">%1$s</xliff:g> ആപ്പിൽ നിങ്ങൾക്ക് ഇത് പിന്നീട് കാണാനാകും"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"റദ്ദാക്കുക"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"ഒരേ സമയം 2 ആപ്പുകൾ ഉപയോഗിക്കാൻ ഒരു ആപ്പ് വശത്തേക്ക് വലിച്ചിടൂ"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"ടാസ്‌ക്ബാർ ദൃശ്യമാക്കാൻ മുകളിലേക്ക് പതുക്കെ സ്വൈപ്പ് ചെയ്യൂ"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"നിങ്ങളുടെ ദിനചര്യ അനുസരിച്ച് ആപ്പ് നിർദ്ദേശങ്ങൾ നേടുക"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"ടാസ്‌ക്‌ബാർ സ്വയമേവ മറയ്‌ക്കാൻ ക്രമീകരണത്തിൽ ജെസ്ച്ചർ നാവിഗേഷൻ ഓണാക്കുക"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"ടാസ്‌ക്ബാർ പിൻ ചെയ്യാൻ ഡിവൈഡറിൽ ദീർഘനേരം അമർത്തുക"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"ടാസ്‌ക്‌ബാർ ഉപയോഗിച്ച് കൂടുതൽ ചെയ്യുക"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"അടയ്ക്കുക"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"പൂർത്തിയായി"</string>
diff --git a/quickstep/res/values-mn/strings.xml b/quickstep/res/values-mn/strings.xml
index 8c7ae78..1b86948 100644
--- a/quickstep/res/values-mn/strings.xml
+++ b/quickstep/res/values-mn/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Дэлгэцийн агшин дарах"</string>
     <string name="action_split" msgid="2098009717623550676">"Хуваах"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Дэлгэцийг хуваахыг ашиглахын тулд өөр аппыг товш"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Цуцлах"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Дэлгэцийг хуваах сонголтоос гарах"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Дэлгэцийг хуваах горим ашиглах өөр апп сонгоно уу"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Энэ үйлдлийг апп эсвэл танай байгууллага зөвшөөрдөггүй"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Виджетүүдийг одоогоор дэмждэггүй. Өөр апп сонгоно уу"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Навигацын практик хичээлийг алгасах уу?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Та үүнийг дараа нь <xliff:g id="NAME">%1$s</xliff:g> аппаас олох боломжтой"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Цуцлах"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"2 аппыг зэрэг ашиглахын тулд аппыг хажуу тийш чирнэ үү"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Ажлын хэсгийг харуулахын тулд аажмаар дээш шударна уу"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Таны хэвшилд тулгуурлан санал болгож буй аппуудыг аваарай"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Ажлын хэсгийг автоматаар хаахын тулд Тохиргоонд зангааны навигацыг асаана уу"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Ажлын хэсгийг бэхлэхийн тулд тусгаарлагчийг удаан дарна уу"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Ажлын хэсгийн тусламжтай илүү ихийг хийгээрэй"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Хаах"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Дууссан"</string>
diff --git a/quickstep/res/values-mr/strings.xml b/quickstep/res/values-mr/strings.xml
index 5bf47ce..722e17d 100644
--- a/quickstep/res/values-mr/strings.xml
+++ b/quickstep/res/values-mr/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"स्क्रीनशॉट"</string>
     <string name="action_split" msgid="2098009717623550676">"स्प्लिट"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"स्प्लिट स्क्रीन वापरण्यासाठी दुसऱ्या ॲपवर टॅप करा"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"रद्द करा"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"स्प्लिट स्क्रीन निवडीतून बाहेर पडा"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"स्प्लिट स्क्रीन वापरण्यासाठी दुसरे ॲप निवडा"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"अ‍ॅप किंवा तुमच्या संस्थेद्वारे ही क्रिया करण्याची अनुमती नाही"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"विजेटना सध्या सपोर्ट नाही, कृपया दुसरे अ‍ॅप निवडा"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"नेव्हिगेशन ट्यूटोरियल वगळायचे आहे का?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"तुम्हाला हे नंतर <xliff:g id="NAME">%1$s</xliff:g> ॲपमध्ये मिळेल"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"रद्द करा"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"दोन ॲप्स एकत्र वापरण्यासाठी एक अ‍ॅप बाजूला ड्रॅग करा"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"टास्कबार दाखवण्यासाठी थोडे हळू वरती स्वाइप करा"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"तुमच्या दिनक्रमावर आधारित ॲप सूचना मिळवा"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"टास्कबार ऑटो हाइड करण्यासाठी सेटिंग्ज मधून जेश्चर नेव्हिगेशन सुरू करा"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"टास्कबार पिन करण्यासाठी विभाजकावर प्रेस करून ठेवा"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"टास्कबार चा पुरेपूर वापर करा"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"बंद करा"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"पूर्ण झाले"</string>
diff --git a/quickstep/res/values-ms/strings.xml b/quickstep/res/values-ms/strings.xml
index 5e61b88..1959cd7 100644
--- a/quickstep/res/values-ms/strings.xml
+++ b/quickstep/res/values-ms/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Tangkapan skrin"</string>
     <string name="action_split" msgid="2098009717623550676">"Pisah"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Ketik apl lain untuk menggunakan skrin pisah"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Batal"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Keluar daripada pilihan skrin pisah"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Pilih apl lain untuk menggunakan skrin pisah"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Tindakan ini tidak dibenarkan oleh apl atau organisasi anda"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widget tidak disokong pada masa ini, sila pilih apl lain"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Langkau tutorial navigasi?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Anda boleh mendapatkan tutorial ini kemudian dalam apl <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Batal"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Seret apl ke tepi untuk menggunakan 2 apl serentak"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Leret perlahan ke atas untuk menunjukkan Bar Tugas"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Dapatkan cadangan apl berdasarkan rutin anda"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Hidupkan navigasi gerak isyarat dalam Tetapan untuk autosembunyi Bar Tugas"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Tekan lama pada pembahagi untuk menyematkan Bar Tugas"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Lakukan lebih banyak perkara dengan Bar Tugas"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Tutup"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Selesai"</string>
diff --git a/quickstep/res/values-my/strings.xml b/quickstep/res/values-my/strings.xml
index 6f1a276..96ef54a 100644
--- a/quickstep/res/values-my/strings.xml
+++ b/quickstep/res/values-my/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"ဖန်သားပြင်ဓာတ်ပုံ"</string>
     <string name="action_split" msgid="2098009717623550676">"ခွဲထုတ်ရန်"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"မျက်နှာပြင် ခွဲ၍ပြသရန် အက်ပ်နောက်တစ်ခုကို တို့ပါ"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"မလုပ်တော့"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"မျက်နှာပြင် ခွဲ၍ပြသခြင်း ရွေးချယ်မှုမှ ထွက်ရန်"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"မျက်နှာပြင်ခွဲ၍ပြသခြင်းသုံးရန် နောက်အက်ပ်တစ်ခုရွေးပါ"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ဤလုပ်ဆောင်ချက်ကို အက်ပ် သို့မဟုတ် သင်၏အဖွဲ့အစည်းက ခွင့်မပြုပါ"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"ဝိဂျက်များကို လောလောဆယ် ပံ့ပိုးမထားပါ။ အခြားအက်ပ်ရွေးပါ"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"လမ်းညွှန်ခြင်း ရှင်းလင်းပို့ချချက်ကို ကျော်မလား။"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"၎င်းကို နောက်မှ <xliff:g id="NAME">%1$s</xliff:g> အက်ပ်တွင် ရှာနိုင်သည်"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"မလုပ်တော့"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"အက်ပ် ၂ ခု တစ်ပြိုင်တည်းသုံးရန် အက်ပ်ကို ဘေးသို့ ဖိဆွဲပါ"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Taskbar ပြရန် အပေါ်သို့ ဖြည်းဖြည်းပွတ်ဆွဲပါ"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"ပုံမှန်အစီအစဉ်ပေါ် အခြေခံ၍ အက်ပ်အကြံပြုချက်များကို ရယူပါ"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Taskbar ကို အော်တိုဝှက်ရန် ဆက်တင်များတွင် လက်ဟန်ဖြင့်လမ်းညွှန်ခြင်း ဖွင့်နိုင်သည်"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Taskbar ပင်ထိုးရန် ခွဲခြားမျဉ်းကို ဖိနှိပ်ပါ"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Taskbar ဖြင့် ပိုမိုလုပ်ဆောင်နိုင်ခြင်း"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"ပိတ်ရန်"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"ပြီးပြီ"</string>
diff --git a/quickstep/res/values-nb/strings.xml b/quickstep/res/values-nb/strings.xml
index d4b8de9..f129361 100644
--- a/quickstep/res/values-nb/strings.xml
+++ b/quickstep/res/values-nb/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Skjermdump"</string>
     <string name="action_split" msgid="2098009717623550676">"Del opp"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Trykk på en annen app for å bruke delt skjerm"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Avbryt"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Avslutt valg av delt skjerm"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Velg en annen app for å bruke delt skjerm"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Appen eller organisasjonen din tillater ikke denne handlingen"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Moduler støttes ikke for øyeblikket – velg en annen app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Vil du hoppe over navigeringsveiledningen?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Du kan finne dette i <xliff:g id="NAME">%1$s</xliff:g>-appen senere"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Avbryt"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Dra en app til siden for å bruke 2 apper samtidig"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Sveip langsomt opp for å vise oppgavelinjen"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Få appforslag som er basert på rutinene dine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Slå på navigasjon med bevegelser i innstillingene for å skjule oppgavelinjen automatisk"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Trykk lenge på skillelinjen for å feste oppgavelinjen"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Gjør mer med oppgavelinjen"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Lukk"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Ferdig"</string>
diff --git a/quickstep/res/values-ne/strings.xml b/quickstep/res/values-ne/strings.xml
index b326cb4..7ff28f6 100644
--- a/quickstep/res/values-ne/strings.xml
+++ b/quickstep/res/values-ne/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"स्क्रिनसट"</string>
     <string name="action_split" msgid="2098009717623550676">"स्प्लिट गर्नुहोस्"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"स्प्लिटस्क्रिन प्रयोग गर्न अर्को एपमा ट्याप गर्नु…"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"रद्द गर्नुहोस्"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"स्प्लिट स्क्रिन मोडबाट बाहिरिनुहोस्"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"स्प्लिट स्क्रिन प्रयोग गर्न अर्को एप रोज्नुहोस्"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"यो एप वा तपाईंको सङ्गठनले यो कारबाही गर्ने अनुमति दिँदैन"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"हाल विजेटहरू प्रयोग गर्न मिल्दैनन् कृपया अर्को एप चयन गर्नुहोस्"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"नेभिगेसन ट्युटोरियल स्किप गर्ने हो?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"तपाईं पछि <xliff:g id="NAME">%1$s</xliff:g> नामक एपमा गई यो ट्युटोरियल भेट्टाउन सक्नुहुन्छ"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"रद्द गर्नुहोस्"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"एपलाई छेउतिर ड्र्याग गरेर एकै पटक २ वटा एप चलाउनुहोस्"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"टास्कबार देखाउन माथितिर बिस्तारै स्वाइप गर्नुहोस्"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"आफ्नो रुटिनका आधारमा एपसम्बन्धी सुझावहरू प्राप्त गर्नुहोस्"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"टास्कबार स्वतः लुकाउन सेटिङमा गई इसारामार्फत गरिने नेभिगेसन अन गर्नुहोस्"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"टास्कबार पिन गर्न डिभाइडरमा केही बेरसम्म थिच्नुहोस्"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"टास्कबार प्रयोग गरेर अझ धेरै कार्य गर्नुहोस्"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"बन्द गर्नुहोस्"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"सम्पन्न भयो"</string>
diff --git a/quickstep/res/values-nl/strings.xml b/quickstep/res/values-nl/strings.xml
index 6a7efe5..bf10bf2 100644
--- a/quickstep/res/values-nl/strings.xml
+++ b/quickstep/res/values-nl/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Splitsen"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Tik op nog een app om je scherm te splitsen"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Annuleren"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Sluit de selectie voor gesplitst scherm"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Kies andere app om gesplitst scherm te gebruiken"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Deze actie wordt niet toegestaan door de app of je organisatie"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgets worden op dit moment niet ondersteund, selecteer een andere app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Navigatietutorial overslaan?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Je vindt dit later terug in de app <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Annuleren"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Sleep een app naar de zijkant om 2 apps tegelijk te gebruiken"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Swipe langzaam omhoog om de taakbalk te tonen"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Krijg app-suggesties op basis van je routine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Zet navigatie met gebaren aan bij Instellingen om de Taakbalk automatisch te verbergen"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Houd je vinger op de scheiding om de taakbalk vast te zetten"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Doe meer met de taakbalk"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Sluiten"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Klaar"</string>
diff --git a/quickstep/res/values-or/strings.xml b/quickstep/res/values-or/strings.xml
index f0a5053..d9f49e6 100644
--- a/quickstep/res/values-or/strings.xml
+++ b/quickstep/res/values-or/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"ସ୍କ୍ରିନସଟ୍"</string>
     <string name="action_split" msgid="2098009717623550676">"ସ୍ପ୍ଲିଟ୍"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"ସ୍ପ୍ଲିଟସ୍କ୍ରିନ ବ୍ୟବହାର କରିବାକୁ ଅନ୍ୟ ଏକ ଆପରେ ଟାପ କର"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"ବାତିଲ କରନ୍ତୁ"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"ସ୍ପ୍ଲିଟ ସ୍କ୍ରିନ ଚୟନରୁ ବାହାରି ଯାଆନ୍ତୁ"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"ସ୍ପ୍ଲିଟ ସ୍କ୍ରିନ ବ୍ୟବହାର କରିବାକୁ ଅନ୍ୟ ଏକ ଆପ ବାଛନ୍ତୁ"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ଆପ୍ କିମ୍ବା ଆପଣଙ୍କ ସଂସ୍ଥା ଦ୍ୱାରା ଏହି କାର୍ଯ୍ୟକୁ ଅନୁମତି ଦିଆଯାଇ ନାହିଁ"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"ୱିଜେଟଗୁଡ଼ିକ ବର୍ତ୍ତମାନ ସମର୍ଥିତ ନୁହେଁ, ଦୟାକରି ଅନ୍ୟ ଏକ ଆପ ଚୟନ କରନ୍ତୁ"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"ନାଭିଗେସନ୍ ଟ୍ୟୁଟୋରିଆଲକୁ ବାଦ୍ ଦେବେ?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"ଆପଣ ପରେ ଏହାକୁ <xliff:g id="NAME">%1$s</xliff:g> ଆପରେ ପାଇପାରିବେ"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"ବାତିଲ କରନ୍ତୁ"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"ଥରକେ 2ଟି ଆପ୍ସ ବ୍ୟବହାର କରିବା ପାଇଁ ଏକ ଆପକୁ ପାର୍ଶ୍ୱକୁ ଡ୍ରାଗ କର"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"ଟାସ୍କବାର ଦେଖାଇବା ପାଇଁ ଉପରକୁ ଧୀରେ-ସ୍ୱାଇପ କରନ୍ତୁ"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"ଆପଣଙ୍କ ରୁଟିନ ଆଧାରରେ ଆପ ପରାମର୍ଶଗୁଡ଼ିକୁ ପାଆନ୍ତୁ"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"ଟାସ୍କବାରକୁ ସ୍ୱତଃ-ଲୁଚାଇବା ପାଇଁ ସେଟିଂସରେ ଜେଶ୍ଚର ନାଭିଗେସନକୁ ଚାଲୁ କରନ୍ତୁ"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"ଟାସ୍କବାର ପିନ କରିବା ପାଇଁ ଡିଭାଇଡରକୁ ଅଧିକ ସମୟ ଦବାନ୍ତୁ"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"ଟାସ୍କବାର ମାଧ୍ୟମରେ ଆହୁରି ଅନେକ କିଛି କରନ୍ତୁ"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"ହୋଇଗଲା"</string>
diff --git a/quickstep/res/values-pa/strings.xml b/quickstep/res/values-pa/strings.xml
index c66e26f..cdf4d29 100644
--- a/quickstep/res/values-pa/strings.xml
+++ b/quickstep/res/values-pa/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"ਸਕ੍ਰੀਨਸ਼ਾਟ"</string>
     <string name="action_split" msgid="2098009717623550676">"ਸਪਲਿਟ"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਨੂੰ ਵਰਤਣ ਲਈ ਕਿਸੇ ਹੋਰ ਐਪ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"ਰੱਦ ਕਰੋ"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਦੀ ਚੋਣ ਤੋਂ ਬਾਹਰ ਜਾਓ"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਵਰਤਣ ਲਈ ਕਿਸੇ ਹੋਰ ਐਪ ਨੂੰ ਚੁਣੋ"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ਐਪ ਜਾਂ ਤੁਹਾਡੀ ਸੰਸਥਾ ਵੱਲੋਂ ਇਸ ਕਾਰਵਾਈ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"ਫ਼ਿਲਹਾਲ ਵਿਜੇਟ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ, ਕਿਰਪਾ ਕਰਕੇ ਕੋਈ ਹੋਰ ਐਪ ਚੁਣੋ"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"ਕੀ ਨੈਵੀਗੇਸ਼ਨ ਟਿਊਟੋਰੀਅਲ ਨੂੰ ਛੱਡਣਾ ਹੈ?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"ਤੁਸੀਂ ਇਸਨੂੰ ਬਾਅਦ ਵਿੱਚ <xliff:g id="NAME">%1$s</xliff:g> ਐਪ ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"ਰੱਦ ਕਰੋ"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"ਇੱਕੋ ਸਮੇਂ \'ਤੇ 2 ਐਪਾਂ ਵਰਤਣ ਲਈ, ਐਪ ਨੂੰ ਪਾਸੇ ਵੱਲ ਘਸੀਟੋ"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"ਟਾਸਕਬਾਰ ਦਿਖਾਉਣ ਲਈ ਥੋੜ੍ਹਾ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"ਤੁਹਾਡੇ ਨਿਯਮਬੱਧ ਕੰਮ ਦੇ ਆਧਾਰ \'ਤੇ ਐਪ ਸੁਝਾਅ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"ਟਾਸਕਬਾਰ ਨੂੰ ਸਵੈ-ਲੁਕਾਉਣ ਲਈ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ਼ਾਰਾ ਨੈਵੀਗੇਸ਼ਨ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"ਟਾਸਕਬਾਰ \'ਤੇ ਪਿੰਨ ਕਰਨ ਲਈ ਵਿਭਾਜਕ \'ਤੇ ਦਬਾਈ ਰੱਖੋ"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"ਟਾਸਕਬਾਰ ਦਾ ਹੋਰ ਲਾਹਾ ਲਓ"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"ਬੰਦ ਕਰੋ"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"ਸਮਝ ਲਿਆ"</string>
diff --git a/quickstep/res/values-pl/strings.xml b/quickstep/res/values-pl/strings.xml
index 7f0600f..7cc04ec 100644
--- a/quickstep/res/values-pl/strings.xml
+++ b/quickstep/res/values-pl/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Zrzut ekranu"</string>
     <string name="action_split" msgid="2098009717623550676">"Podziel"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Aby podzielić ekran, kliknij drugą aplikację"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Anuluj"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Wyjdź z wyboru podzielonego ekranu"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Wybierz drugą aplikację, aby podzielić ekran"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Nie możesz wykonać tego działania, bo nie zezwala na to aplikacja lub Twoja organizacja"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widżety nie są obecnie obsługiwane, wybierz inną aplikację"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Pominąć samouczek nawigacji?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Znajdziesz to później w aplikacji <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Anuluj"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Przeciągnij aplikację w bok, aby używać 2 aplikacji naraz"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Aby wyświetlić pasek aplikacji, przesuń palcem krótko w górę"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Otrzymuj sugestie aplikacji na podstawie rutyny"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Włącz nawigację przy użyciu gestów w Ustawieniach, aby automatycznie ukrywać pasek aplikacji"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Przytrzymaj separator, aby przypiąć pasek aplikacji"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Wykorzystaj potencjał paska aplikacji"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Zamknij"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Gotowe"</string>
diff --git a/quickstep/res/values-pt-rPT/strings.xml b/quickstep/res/values-pt-rPT/strings.xml
index 791a127..b90863d 100644
--- a/quickstep/res/values-pt-rPT/strings.xml
+++ b/quickstep/res/values-pt-rPT/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Fazer captura de ecrã"</string>
     <string name="action_split" msgid="2098009717623550676">"Dividir"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Toque noutra app para usar o ecrã dividido"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancelar"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Saia da seleção de ecrã dividido"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Escolher outra app para usar o ecrã dividido"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Esta ação não é permitida pela app ou a sua entidade."</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Os widgets não são atualmente suportados. Selecione outra app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Ignorar o tutorial de navegação?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Pode encontrar isto mais tarde na app <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancelar"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Arraste uma app para o lado para usar 2 apps em simultâneo"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Deslize lentamente para cima para mostrar a Barra de tarefas"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Obtenha sugestões de apps baseadas na sua rotina"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Ative a navegação por gestos em Definições para ocultar automaticamente a Barra de tarefas"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Mantenha o divisor premido para fixar a Barra de tarefas"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Faça mais com a Barra de tarefas"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Fechar"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Concluir"</string>
diff --git a/quickstep/res/values-pt/strings.xml b/quickstep/res/values-pt/strings.xml
index c943da5..2e4e2f8 100644
--- a/quickstep/res/values-pt/strings.xml
+++ b/quickstep/res/values-pt/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Capturar tela"</string>
     <string name="action_split" msgid="2098009717623550676">"Dividir"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Toque em outro app para usar a tela dividida"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Cancelar"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Sair da seleção de tela dividida"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Escolha outro app para usar na tela dividida"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Essa ação não é permitida pelo app ou pela organização"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Atualmente, não há suporte para widgets. Selecione outro app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Pular o tutorial de navegação?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Veja o tutorial mais tarde no app <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Cancelar"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Arraste um app para o lado e use dois apps ao mesmo tempo"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Deslize para cima devagar para mostrar a Barra de tarefas"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Receba sugestões de apps com base na sua rotina"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Ative a navegação por gestos nas configs. para ocultar a Barra de tarefas automaticamente"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Mantenha o separador pressionado para fixar a Barra de tarefas"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Aproveite ainda mais a Barra de tarefas"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Fechar"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Concluído"</string>
diff --git a/quickstep/res/values-ro/strings.xml b/quickstep/res/values-ro/strings.xml
index 5db7859..2f40dc4 100644
--- a/quickstep/res/values-ro/strings.xml
+++ b/quickstep/res/values-ro/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Captură de ecran"</string>
     <string name="action_split" msgid="2098009717623550676">"Împărțit"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Atinge altă aplicație pentru ecranul împărțit"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Anulează"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Ieși din selecția cu ecran împărțit"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Alege altă aplicație pentru ecranul împărțit"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Această acțiune nu este permisă de aplicație sau de organizația ta"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Nu se acceptă widgeturile. Selectează altă aplicație."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Omiți tutorialul de navigare?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Îl poți găsi mai târziu în aplicația <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Anulează"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Trage în lateral o aplicație ca să folosești 2 aplicații deodată"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Glisează lent în sus pentru a afișa bara de activități"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Primește sugestii de aplicații în funcție de rutina ta"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Activează navigarea prin gesturi în Setări ca să ascunzi automat bara de activități"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Apasă lung pe separator pentru a fixa Bara de activități"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Fă mai multe din Bara de activități"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Închide"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Gata"</string>
diff --git a/quickstep/res/values-ru/strings.xml b/quickstep/res/values-ru/strings.xml
index a11175e..0b7a193 100644
--- a/quickstep/res/values-ru/strings.xml
+++ b/quickstep/res/values-ru/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Скриншот"</string>
     <string name="action_split" msgid="2098009717623550676">"Разделить"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Для разделения экрана выберите другое приложение."</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Отмена"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Выйдите из режима разделения экрана."</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Выберите другое приложение для разделения экрана."</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Это действие заблокировано приложением или организацией."</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Виджеты не поддерживаются. Выберите другое приложение."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Пропустить руководство по жестам?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Его можно найти в приложении \"<xliff:g id="NAME">%1$s</xliff:g>\"."</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Отмена"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Используйте два приложения сразу, перетащив одно в сторону."</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Чтобы открыть панель задач, медленно проведите снизу вверх."</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Получайте рекомендации, основанные на ваших действиях."</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Чтобы панель задач скрывалась автоматически, включите навигацию с помощью жестов."</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Закрепите панель задач долгим нажатием на разделитель"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Используйте все возможности панели задач"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Закрыть"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Готово"</string>
diff --git a/quickstep/res/values-si/strings.xml b/quickstep/res/values-si/strings.xml
index 3722b2f..0801a53 100644
--- a/quickstep/res/values-si/strings.xml
+++ b/quickstep/res/values-si/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"තිර රුව"</string>
     <string name="action_split" msgid="2098009717623550676">"බෙදන්න"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"බෙදුම් තිරය භාවිතා කිරීමට තවත් යෙදුමක් තට්ටු කරන්න"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"අවලංගු කරන්න"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"බෙදීම් තිර තේරීමෙන් පිටවන්න"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"බෙදීම් තිරය භාවිතා කිරීමට වෙනත් යෙදුමක් තෝරා ගන්න"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"මෙම ක්‍රියාව යෙදුම හෝ ඔබේ සංවිධානය මගින් ඉඩ නොදේ"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"විජට් දැනට සහාය නොදක්වයි, වෙනත් යෙදුමක් තෝරන්න"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"නිබන්ධනය සංචාලනය මඟ හරින්නද?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"ඔබට මෙය පසුව <xliff:g id="NAME">%1$s</xliff:g> යෙදුම තුළ සොයා ගත හැකිය"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"අවලංගු කරන්න"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"එකවර යෙදුම් 2ක් භාවිතා කිරීමට යෙදුමක් පැත්තට අදින්න"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"කාර්ය තීරුව පෙන්වීමට ඉහළට සෙමින් ස්වයිප් කරන්න"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"ඔබේ දිනචරියාව මත පදනම්ව යෙදුම් යෝජනා ලබා ගන්න"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"කාර්ය තීරුව ස්වයංක්‍රීයව සැඟවීමට සැකසීම් තුළ අභින සංචලනය සක්‍රීය කරන්න"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"කාර්ය තීරුව ඇමිණීමට බෙදනය මත දිගු වේලාවක් ඔබන්න"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"කාර්ය තීරුව සමග තවත් කරන්න"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"වසන්න"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"නිමයි"</string>
diff --git a/quickstep/res/values-sk/strings.xml b/quickstep/res/values-sk/strings.xml
index aee281c..7e16184 100644
--- a/quickstep/res/values-sk/strings.xml
+++ b/quickstep/res/values-sk/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Snímka obrazovky"</string>
     <string name="action_split" msgid="2098009717623550676">"Rozdeliť"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Obrazovku rozdelíte klepnutím na inú aplikáciu"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Zrušiť"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Ukončite výber rozdelenej obrazovky"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Na použitie rozd. obrazovky vyberte inú aplikáciu"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Aplikácia alebo vaša organizácia túto akciu nepovoľuje"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Miniaplikácie nie sú momentálne podporované, vyberte inú aplikáciu"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Chcete preskočiť návod na navigáciu?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Tento návod nájdete v aplikácii <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Zrušiť"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Ak chcete použiť dve aplikácie naraz, presuňte aplikáciu nabok"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Panel aplikácií zobrazíte pomalým potiahnutím nahor"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Získavajte návrhy aplikácií na základe svojich zvykov"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Ak chcete, aby sa panel aplikácií autom. skrýval, zapnite v Nastaveniach navigáciu gestami"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Dlhým stlačením rozdeľovača pripnete panel aplikácií"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Panel aplikácií vám ponúka ďalšie možnosti"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Zavrieť"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Hotovo"</string>
diff --git a/quickstep/res/values-sl/strings.xml b/quickstep/res/values-sl/strings.xml
index 4787f04..9df20c2 100644
--- a/quickstep/res/values-sl/strings.xml
+++ b/quickstep/res/values-sl/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Posnetek zaslona"</string>
     <string name="action_split" msgid="2098009717623550676">"Razdeli"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Za razdeljeni zaslon se dotaknite še 1 aplikacije"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Prekliči"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Zapri izbiro razdeljenega zaslona"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Izberite drugo aplikacijo za uporabo razdeljenega zaslona."</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Aplikacija ali vaša organizacija ne dovoljuje tega dejanja"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Pripomočki trenutno niso podprti, izberite drugo aplikacijo"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Želite preskočiti vadnico za krmarjenje?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"To lahko pozneje najdete v aplikaciji <xliff:g id="NAME">%1$s</xliff:g>."</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Prekliči"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Povlecite aplikacijo na stran za uporabo 2 aplikacij hkrati."</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Počasi povlecite navzgor za prikaz opravilne vrstice"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Prejemajte predloge aplikacij na podlagi svojih navad."</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"V nastavitvah vklopite krmarjenje s potezami, da se bo opravilna vrstica samodejno skrila."</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Pridržite razdelilno črto, da pripnete opravilno vrstico"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Naredite več z opravilno vrstico"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Zapri"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Končano"</string>
diff --git a/quickstep/res/values-sq/strings.xml b/quickstep/res/values-sq/strings.xml
index a9e8b94..566a42d 100644
--- a/quickstep/res/values-sq/strings.xml
+++ b/quickstep/res/values-sq/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Pamja e ekranit"</string>
     <string name="action_split" msgid="2098009717623550676">"Ndaj"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Trokit një apl. tjetër; përdor ekranin e ndarë"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Anulo"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Dil nga zgjedhja e ekranit të ndarë"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Zgjidh një aplikacion tjetër për të përdorur ekranin e ndarë"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Ky veprim nuk lejohet nga aplikacioni ose organizata jote"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Miniaplikacionet nuk mbështeten për momentin. Zgjidh një aplikacion tjetër"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Të kapërcehet udhëzuesi i navigimit?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Këtë mund ta gjesh më vonë tek aplikacioni \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Anulo"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Zvarrit një aplikacion në anë për të përdorur 2 aplikacione njëherësh"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Rrëshqit lart ngadalë për të shfaqur \"Shiritin e detyrave\""</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Merr sugjerime për aplikacion bazuar në rutinën tënde"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Aktivizo navigimin me gjeste te \"Cilësimet\" për të fshehur \"Shiritin e detyrave\""</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Kryej një shtypje të gjatë te ndarësi për të gozhduar \"Shiritin e detyrave\""</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Bëj më shumë me \"Shiritin e detyrave\""</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Mbyll"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"U krye"</string>
diff --git a/quickstep/res/values-sr/strings.xml b/quickstep/res/values-sr/strings.xml
index da057d8..78ce2ab 100644
--- a/quickstep/res/values-sr/strings.xml
+++ b/quickstep/res/values-sr/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Снимак екрана"</string>
     <string name="action_split" msgid="2098009717623550676">"Подели"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Додирните другу апликацију за подељени екран"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Откажи"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Излазак из бирања подељеног екрана"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Одаберите другу апликацију за подељени екран"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Апликација или организација не дозвољавају ову радњу"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Виџети тренутно нису подржани. Изаберите другу апликацију"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Желите да прескочите водич за кретање?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Можете да пронађете ово касније у апликацији <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Откажи"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Превуците на страну да бисте користили 2 апликације одједном"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Споро превуците нагоре да бисте приказали траку задатака"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Добијајте предлоге апликација на основу рутине"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Укључите навигацију помоћу покрета у Подешавањима ради аутоматског скривања траке задатака"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Дуго притискајте разделник да бисте закачили траку задатака"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Урадите више помоћу траке задатака"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Затвори"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Готово"</string>
diff --git a/quickstep/res/values-sv/strings.xml b/quickstep/res/values-sv/strings.xml
index 31853f9..a1e2048 100644
--- a/quickstep/res/values-sv/strings.xml
+++ b/quickstep/res/values-sv/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Skärmbild"</string>
     <string name="action_split" msgid="2098009717623550676">"Delat"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Tryck på en annan app för att använda delad skärm"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Avbryt"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Avsluta val av delad skärm"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Välj en annan app för att använda delad skärm"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Appen eller organisationen tillåter inte den här åtgärden"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widgetar stöds för närvarande inte. Välj en annan app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Vill du hoppa över självstudierna?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Du hittar det här igen i <xliff:g id="NAME">%1$s</xliff:g>-appen"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Avbryt"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Dra en app till sidan om du vill använda två appar samtidigt"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Svep långsamt uppåt för att visa aktivitetsfältet"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Få appförslag utifrån dina rutiner"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Slå på navigering med rörelser i Inställningar för att dölja aktivitetsfältet automatiskt"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Tryck länge på avskiljaren om du vill fästa aktivitetsfältet"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Gör mer med aktivitetsfältet"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Stäng"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Klar"</string>
diff --git a/quickstep/res/values-sw/strings.xml b/quickstep/res/values-sw/strings.xml
index 8c438f4..089672c 100644
--- a/quickstep/res/values-sw/strings.xml
+++ b/quickstep/res/values-sw/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Picha ya skrini"</string>
     <string name="action_split" msgid="2098009717623550676">"Iliyogawanywa"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Gusa programu nyingine ili utumie kipengele cha kugawa skrini"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Ghairi"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Ondoka kwenye hali ya skrini iliyogawanywa"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Chagua programu nyingine ili utumie hali ya kugawa skrini"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Kitendo hiki hakiruhusiwi na programu au shirika lako"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Wijeti hazitumiwi kwa sasa, tafadhali chagua programu nyingine"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Ungependa kuruka mafunzo ya usogezaji?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Utapata mafunzo haya baadaye katika programu ya <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Ghairi"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Buruta programu pembeni ili utumie programu 2 kwa wakati mmoja"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Telezesha kidole juu taratibu ili ufungue Upauzana"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Pata mapendekezo ya programu kulingana na ratiba yako"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Washa usogezaji kwa kutumia ishara kwenye Mipangilio ili ufiche Upauzana kiotomatiki"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Bonyeza kwa muda mrefu kigawaji ili ubandike Upauzana"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Kamilisha mengi kwa kutumia Upauzana huu"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Funga"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Imemaliza"</string>
diff --git a/quickstep/res/values-sw600dp-land/dimens.xml b/quickstep/res/values-sw600dp-land/dimens.xml
index 9cb3fec..5e9a177 100644
--- a/quickstep/res/values-sw600dp-land/dimens.xml
+++ b/quickstep/res/values-sw600dp-land/dimens.xml
@@ -27,4 +27,10 @@
     <dimen name="gesture_tutorial_menu_done_button_top_spacing">40dp</dimen>
     <dimen name="gesture_tutorial_menu_back_shape_bottom_margin">49dp</dimen>
 
+    <!-- Grid Only Overview -->
+    <!-- The top margin above the top row of tasks in grid only overview -->
+    <dimen name="overview_top_margin_grid_only">24dp</dimen>
+    <!-- The bottom margin above the bottom row of tasks in grid only overview -->
+    <dimen name="overview_bottom_margin_grid_only">40dp</dimen>
+
 </resources>
diff --git a/res/layout/popup_container_material_u.xml b/quickstep/res/values-sw600dp/config.xml
similarity index 60%
copy from res/layout/popup_container_material_u.xml
copy to quickstep/res/values-sw600dp/config.xml
index d34c500..b22cfc5 100644
--- a/res/layout/popup_container_material_u.xml
+++ b/quickstep/res/values-sw600dp/config.xml
@@ -5,7 +5,7 @@
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
 
-          http://www.apache.org/licenses/LICENSE-2.0
+        http://www.apache.org/licenses/LICENSE-2.0
 
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
@@ -13,11 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.launcher3.popup.PopupContainerWithArrow
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/popup_container"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:orientation="vertical"/>
\ No newline at end of file
+<resources>
+    <!-- The number of thumbnails and icons to keep in the cache. The thumbnail cache size also
+         determines how many thumbnails will be fetched in the background. -->
+    <integer name="recentsThumbnailCacheSize">8</integer>
+</resources>
diff --git a/quickstep/res/values-sw600dp/dimens.xml b/quickstep/res/values-sw600dp/dimens.xml
index daf1f63..f9528b3 100644
--- a/quickstep/res/values-sw600dp/dimens.xml
+++ b/quickstep/res/values-sw600dp/dimens.xml
@@ -33,6 +33,10 @@
     <dimen name="overview_page_spacing">36dp</dimen>
     <!--  The space to the left and to the right of the "Clear all" button  -->
     <dimen name="overview_grid_side_margin">64dp</dimen>
+    <!-- The top margin above the top row of tasks in grid only overview -->
+    <dimen name="overview_top_margin_grid_only">80dp</dimen>
+    <!-- The bottom margin above the bottom row of tasks in grid only overview -->
+    <dimen name="overview_bottom_margin_grid_only">80dp</dimen>
     <!--  Overview actions  -->
     <dimen name="overview_actions_top_margin">24dp</dimen>
 
diff --git a/quickstep/res/values-ta/strings.xml b/quickstep/res/values-ta/strings.xml
index ef5bd3f..49ddb8c 100644
--- a/quickstep/res/values-ta/strings.xml
+++ b/quickstep/res/values-ta/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"ஸ்கிரீன்ஷாட்"</string>
     <string name="action_split" msgid="2098009717623550676">"பிரி"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"திரைப் பிரிப்பைப் பயன்படுத்த வேறு ஆப்ஸைத் தட்டவும்"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"ரத்துசெய்"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"திரைப் பிரிப்பு தேர்வில் இருந்து வெளியேறும்"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"திரைப் பிரிப்பை பயன்படுத்த வேறு ஆப்ஸை தேர்வுசெய்க"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ஆப்ஸோ உங்கள் நிறுவனமோ இந்த செயலை அனுமதிப்பதில்லை"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"விட்ஜெட்கள் தற்போது ஆதரிக்கப்படவில்லை, வேறு ஆப்ஸைத் தேர்ந்தெடுக்கவும்"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"வழிகாட்டுதல் பயிற்சியைத் தவிர்க்கவா?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"<xliff:g id="NAME">%1$s</xliff:g> ஆப்ஸில் பிறகு இதைக் கண்டறியலாம்"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"ரத்துசெய்"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"ஒரே நேரத்தில் 2 ஆப்ஸைப் பயன்படுத்தப் பக்கவாட்டில் இழுக்கவும்"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"செயல் பட்டியைக் காட்ட மேல்நோக்கி மெதுவாக ஸ்வைப் செய்யவும்"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"உங்கள் வழக்கத்திற்கேற்ப ஆப்ஸ் பரிந்துரைகளைப் பெறலாம்"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"செயல் பட்டியைத் தானாக மறைக்க அமைப்புகளில் சைகை வழிசெலுத்தலை இயக்கவும்"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"பிரிப்பானை நீண்ட நேரம் அழுத்தி, செயல் பட்டியைப் பின் செய்க"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"செயல் பட்டி மூலம் மேலும் பலவற்றைச் செய்யுங்கள்"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"மூடுக"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"முடிந்தது"</string>
diff --git a/quickstep/res/values-te/strings.xml b/quickstep/res/values-te/strings.xml
index a2adfe1..d13764e 100644
--- a/quickstep/res/values-te/strings.xml
+++ b/quickstep/res/values-te/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"స్క్రీన్‌షాట్"</string>
     <string name="action_split" msgid="2098009717623550676">"స్ప్లిట్ చేయండి"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"స్ప్లిట్ స్క్రీన్ కోసం మరొక యాప్‌ను ట్యాప్ చేయండి"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"రద్దు చేయండి"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"స్ప్లిట్ స్క్రీన్ ఎంపిక నుండి ఎగ్జిట్ అవ్వండి"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"స్ప్లిట్ స్క్రీన్ ఉపయోగానికి మరొక యాప్ ఎంచుకోండి"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ఈ చర్యను యాప్ గానీ, మీ సంస్థ గానీ అనుమతించవు"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"విడ్జెట్‌లకు ప్రస్తుతం సపోర్ట్ లేదు, దయచేసి మరొక యాప్‌ను ఎంచుకోండి"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"నావిగేషన్ ట్యుటోరియల్‌ను స్కిప్ చేయాలా?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"<xliff:g id="NAME">%1$s</xliff:g> యాప్‌లో మీరు తర్వాత కనుగొనవచ్చు"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"రద్దు చేయండి"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"ఒకేసారి 2 యాప్‌లను ఉపయోగించడానికి యాప్‌ను పక్కకు లాగండి"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"టాస్క్‌బార్‌ను చూపడానికి నెమ్మదిగా పైకి స్వైప్ చేయండి"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"మీ రొటీన్ ఆధారంగా యాప్ సూచనలను పొందండి"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"టాస్క్‌బార్‌ను ఆటోమేటిక్‌గా దాచడానికి, సెట్టింగ్‌లలో సంజ్ఞ నావిగేషన్‌ను ఆన్ చేయండి"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"టాస్క్‌బార్‌ను పిన్ చేయడానికి డివైడర్‌పై ఎక్కువసేపు నొక్కి, ఉంచడం"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"టాస్క్‌బార్‌తో మరిన్ని చేయండి"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"మూసివేయండి"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"పూర్తయింది"</string>
diff --git a/quickstep/res/values-th/strings.xml b/quickstep/res/values-th/strings.xml
index 0339046..7447b6d 100644
--- a/quickstep/res/values-th/strings.xml
+++ b/quickstep/res/values-th/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"ภาพหน้าจอ"</string>
     <string name="action_split" msgid="2098009717623550676">"แยก"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"แตะแอปอื่นเพื่อใช้การแยกหน้าจอ"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"ยกเลิก"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"ออกจากการเลือกโหมดแยกหน้าจอ"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"เลือกแอปอื่นเพื่อใช้การแยกหน้าจอ"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"แอปหรือองค์กรของคุณไม่อนุญาตการดำเนินการนี้"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"ยังไม่รองรับวิดเจ็ตในขณะนี้ โปรดเลือกแอปอื่น"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"ข้ามบทแนะนำการนำทางไหม"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"คุณดูบทแนะนำนี้ได้ภายหลังในแอป \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"ยกเลิก"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"ลากแอปไปด้านข้างเพื่อใช้ 2 แอปพร้อมกัน"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"ปัดขึ้นช้าๆ เพื่อแสดงแถบงาน"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"รับคำแนะนำเกี่ยวกับแอปตามกิจวัตรของคุณ"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"เปิดการนำทางด้วยท่าทางสัมผัสในการตั้งค่าเพื่อซ่อนแถบงานโดยอัตโนมัติ"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"กดตัวแบ่งค้างไว้เพื่อปักหมุดแถบงาน"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"ทำสิ่งต่างๆ ได้มากขึ้นด้วยแถบงาน"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"ปิด"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"เสร็จ"</string>
diff --git a/quickstep/res/values-tl/strings.xml b/quickstep/res/values-tl/strings.xml
index 7bb38c2..cd432cc 100644
--- a/quickstep/res/values-tl/strings.xml
+++ b/quickstep/res/values-tl/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Screenshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Split"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Mag-tap ng ibang app para gamitin ang split screen"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Kanselahin"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Lumabas sa pagpili ng split screen"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Pumili ng ibang app para gamitin ang split screen"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Hindi pinapayagan ng app o ng iyong organisasyon ang pagkilos na ito"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Kasalukuyang hindi sinusuportahan ang mga widget, pumili ng ibang app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Laktawan ang tutorial sa pag-navigate?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Makikita mo ito sa <xliff:g id="NAME">%1$s</xliff:g> app sa ibang pagkakataon"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Kanselahin"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Mag-drag ng app sa gilid para makagamit ng 2 app nang sabay"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Mag-swipe nang mabagal pataas para ipakita ang Taskbar"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Makakuha ng mga iminumungkahing app batay sa iyong routine"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"I-on ang navigation gamit ang galaw sa Mga Setting para i-auto hide ang Taskbar"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Pumindot nang matagal sa divider para i-pin ang Taskbar"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Mas maraming magawa gamit ang Taskbar"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Isara"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Tapos na"</string>
diff --git a/quickstep/res/values-tr/strings.xml b/quickstep/res/values-tr/strings.xml
index 905183a..ed22286 100644
--- a/quickstep/res/values-tr/strings.xml
+++ b/quickstep/res/values-tr/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Ekran görüntüsü"</string>
     <string name="action_split" msgid="2098009717623550676">"Böl"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Bölünmüş ekran için başka bir uygulamaya dokunun"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"İptal"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Bölünmüş ekran seçiminden çıkın"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Bölünmüş ekran kullanmak için başka bir uygulama seçin"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Uygulamanız veya kuruluşunuz bu işleme izin vermiyor"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Widget\'lar şu anda desteklenmiyor. Lütfen başka bir uygulama seçin"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Gezinme eğitimi atlansın mı?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Bunu daha sonra <xliff:g id="NAME">%1$s</xliff:g> uygulamasında bulabilirsiniz"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"İptal"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Aynı anda iki uygulama kullanmak için birini yana sürükleyin"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Görev çubuğunu göstermek için yukarı doğru yavaşça kaydırın"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Rutininize göre uygulama önerileri alın"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Görev çubuğunu otomatik olarak gizlemek için Ayarlar\'dan hareketle gezinmeyi etkinleştirin"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Görev çubuğunu sabitlemek için ayırıcıya uzun basın"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Görev çubuğuyla daha fazla şey yapın"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Kapat"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Bitti"</string>
diff --git a/quickstep/res/values-uk/strings.xml b/quickstep/res/values-uk/strings.xml
index 6cbf71f..42fc6dd 100644
--- a/quickstep/res/values-uk/strings.xml
+++ b/quickstep/res/values-uk/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Знімок екрана"</string>
     <string name="action_split" msgid="2098009717623550676">"Розділити"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Щоб розділити екран, виберіть ще один додаток"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Скасувати"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Вийти з режиму розділення екрана"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Щоб розділити екран, виберіть ще один додаток"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Ця дія заборонена додатком або адміністратором організації"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Віджети наразі не підтримуються. Виберіть інший додаток."</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Пропустити посібник із навігації?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Ви знайдете його пізніше в додатку <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Скасувати"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Перетягніть убік, щоб використовувати 2 додатки одночасно"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Щоб відкрити панель завдань, повільно проведіть угору"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Отримуйте рекомендації додатків залежно від їх використання"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Увімкніть навігацію жестами в налаштуваннях, щоб автоматично приховувати панель завдань"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Утримуйте розділювач, щоб закріпити панель завдань"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Більше можливостей завдяки панелі завдань"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Закрити"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Готово"</string>
diff --git a/quickstep/res/values-ur/strings.xml b/quickstep/res/values-ur/strings.xml
index 2392c6c..0e5b602 100644
--- a/quickstep/res/values-ur/strings.xml
+++ b/quickstep/res/values-ur/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"اسکرین شاٹ"</string>
     <string name="action_split" msgid="2098009717623550676">"اسپلٹ"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"اسپلٹ اسکرین کا استعمال کرنے کیلئے دوسری ایپ پر تھپتھپائیں"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"منسوخ کریں"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"اسپلٹ اسکرین کے انتخاب سے باہر نکلیں"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"اسپلٹ اسکرین کے استعمال کیلئے دوسری ایپ منتخب کریں"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"ایپ یا آپ کی تنظیم کی جانب سے اس کارروائی کی اجازت نہیں ہے"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"وجیٹس فی الحال تعاون یافتہ نہیں ہیں، براہ کرم کوئی اور ایپ منتخب کریں"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"نیویگیشن کا ٹیوٹوریل نظر انداز کریں؟"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"آپ اسے بعد میں <xliff:g id="NAME">%1$s</xliff:g> ایپ میں تلاش کر سکتے ہیں"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"منسوخ کریں"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"ایک وقت میں 2 ایپس استعمال کرنے کیلئے ایپ سائیڈ پر گھسیٹیں"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"ٹاسک بار دکھانے کے لیے آہستہ سے اوپر سوائپ کریں"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"اپنی روٹین پر مبنی ایپس کی تجاویز حاصل کریں"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"ٹاسک بار کو خودکار طور پر چھپانے کیلئے \'ترتیبات\' میں اشاروں والی نیویگیشن آن کریں"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"ٹاسک بار کو پن کرنے کے لیے ڈیوائیڈر پر لانگ پریس کریں"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"ٹاسک بار سے بہت کچھ کریں"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"بند کریں"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"ہو گیا"</string>
diff --git a/quickstep/res/values-uz/strings.xml b/quickstep/res/values-uz/strings.xml
index 809fa04..7cc157b 100644
--- a/quickstep/res/values-uz/strings.xml
+++ b/quickstep/res/values-uz/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Skrinshot"</string>
     <string name="action_split" msgid="2098009717623550676">"Ajratish"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Ekranni ikkiga ajratish uchun boshqa ilovani bosing"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Bekor qilish"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Ekranni ikkiga ajratish tanlovidan chiqish"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Ekranni ikkiga ajratish uchun boshqa ilovani tanlang"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Bu amal ilova yoki tashkilotingiz tomonidan taqiqlangan"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Vidjetlar ishlamaydi. Boshqa ilovani tanlang"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Navigatsiya darsi yopilsinmi?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Bu darslar <xliff:g id="NAME">%1$s</xliff:g> ilovasida chiqadi"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Bekor qilish"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Bitta ilovani yon tomonga sudrab, bir vaqtda 2 ta ilovadan foydalaning."</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Vazifalar panelini ochish uchun tepaga asta suring"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Harakatlaringiz asosida tavsiyalar oling."</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Vazifalar paneli avtomatik yopilishi uchun ishorali navigatsiyani yoqing"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Vazifa panelini mahkamlash uchun ajratgichni bosib turing"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Vazifalar panelidan maksimal darajada foydalaning"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Yopish"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Tayyor"</string>
diff --git a/quickstep/res/values-vi/strings.xml b/quickstep/res/values-vi/strings.xml
index dae4212..bc9b348 100644
--- a/quickstep/res/values-vi/strings.xml
+++ b/quickstep/res/values-vi/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Chụp ảnh màn hình"</string>
     <string name="action_split" msgid="2098009717623550676">"Chia đôi màn hình"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Nhấn vào ứng dụng khác để chia đôi màn hình"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Huỷ"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Thoát khỏi lựa chọn chia đôi màn hình"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Chọn một ứng dụng khác để dùng chế độ chia đôi màn hình"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Ứng dụng hoặc tổ chức của bạn không cho phép thực hiện hành động này"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Các tiện ích hiện không được hỗ trợ, vui lòng chọn một ứng dụng khác"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Bỏ qua phần hướng dẫn thao tác?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Bạn có thể tìm lại phần hướng dẫn này trong ứng dụng <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Hủy"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Kéo một ứng dụng sang bên để dùng 2 ứng dụng cùng lúc"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Từ từ vuốt lên để Thanh tác vụ xuất hiện"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Nhận ứng dụng đề xuất dựa trên thói quen của bạn"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Bật tính năng thao tác bằng cử chỉ trong phần Cài đặt để tự động ẩn Thanh tác vụ"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Nhấn và giữ trên đường phân chia để ghim Taskbar"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Làm nhiều việc hơn qua Thanh tác vụ"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Đóng"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Xong"</string>
diff --git a/quickstep/res/values-zh-rCN/strings.xml b/quickstep/res/values-zh-rCN/strings.xml
index 05f6622..4d21108 100644
--- a/quickstep/res/values-zh-rCN/strings.xml
+++ b/quickstep/res/values-zh-rCN/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"屏幕截图"</string>
     <string name="action_split" msgid="2098009717623550676">"拆分"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"点按另一个应用即可使用分屏"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"取消"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"退出分屏选择模式"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"另外选择一个应用才可使用分屏模式"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"该应用或您所在的单位不允许执行此操作"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"目前不支持微件,请选择其他应用"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"要跳过导航教程吗?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"您之后可以在“<xliff:g id="NAME">%1$s</xliff:g>”应用中找到此教程"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"取消"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"将一个应用拖到一侧,即可一次使用两个应用"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"缓慢向上滑动即可显示任务栏"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"根据您的日常安排获取应用建议"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"在设置中开启手势导航后,任务栏会自动隐藏"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"长按分隔线即可固定任务栏"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"体验任务栏的更多功能"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"关闭"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"完成"</string>
diff --git a/quickstep/res/values-zh-rHK/strings.xml b/quickstep/res/values-zh-rHK/strings.xml
index 0532ae5..af7c663 100644
--- a/quickstep/res/values-zh-rHK/strings.xml
+++ b/quickstep/res/values-zh-rHK/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"螢幕截圖"</string>
     <string name="action_split" msgid="2098009717623550676">"分割"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"輕按其他應用程式以使用分割螢幕"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"取消"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"退出分割螢幕選取頁面"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"選擇其他應用程式才能使用分割螢幕"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"應用程式或你的機構不允許此操作"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"目前不支援小工具,請選取其他應用程式"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"要略過手勢操作教學課程嗎?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"你之後可以在「<xliff:g id="NAME">%1$s</xliff:g>」應用程式找到這些說明"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"取消"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"將應用程式拖曳到一邊,即可同時使用 2 個應用程式"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"慢慢向上滑動即可顯示工作列"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"根據你的日常安排提供應用程式建議"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"在「設定」中啟用手勢操作後,工作列就會自動隱藏"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"長按分隔線即可固定工作列"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"工作列助你事半功倍"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"關閉"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"完成"</string>
diff --git a/quickstep/res/values-zh-rTW/strings.xml b/quickstep/res/values-zh-rTW/strings.xml
index 214fcfd..e4ca3d9 100644
--- a/quickstep/res/values-zh-rTW/strings.xml
+++ b/quickstep/res/values-zh-rTW/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"螢幕截圖"</string>
     <string name="action_split" msgid="2098009717623550676">"分割"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"輕觸另一個應用程式即可使用分割畫面"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"取消"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"退出分割畫面選擇器"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"必須選擇另一個應用程式才能使用分割畫面"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"這個應用程式或貴機構不允許執行這個動作"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"目前不支援小工具,請選取其他應用程式"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"要略過手勢操作教學課程嗎?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"你之後可以在「<xliff:g id="NAME">%1$s</xliff:g>」應用程式找到這些說明"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"取消"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"將應用程式拖曳到一邊即可同時使用 2 個應用程式"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"緩慢向上滑動即可讓工作列顯示在畫面上"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"根據你的日常安排建議應用程式"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"在設定中啟用手勢操作後,工作列就會自動隱藏"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"長按分隔線即可固定工作列"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"充分發揮工作列的功用"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"關閉"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"完成"</string>
diff --git a/quickstep/res/values-zu/strings.xml b/quickstep/res/values-zu/strings.xml
index 9655a44..0526940 100644
--- a/quickstep/res/values-zu/strings.xml
+++ b/quickstep/res/values-zu/strings.xml
@@ -95,9 +95,11 @@
     <string name="action_screenshot" msgid="8171125848358142917">"Isithombe-skrini"</string>
     <string name="action_split" msgid="2098009717623550676">"Hlukanisa"</string>
     <string name="toast_split_select_app" msgid="8464310533320556058">"Thepha enye i-app ukuze usebenzise isikrini sokuhlukanisa"</string>
+    <string name="toast_split_select_app_cancel" msgid="1532690483356445639"><b>"Khansela"</b></string>
     <string name="toast_split_select_cont_desc" msgid="2119685056059607602">"Phuma ekukhetheni ukuhlukaniswa kwesikrini"</string>
     <string name="toast_split_app_unsupported" msgid="2360229567007828914">"Khetha enye i-app ukuze usebenzise ukuhlukanisa isikrini"</string>
     <string name="blocked_by_policy" msgid="2071401072261365546">"Lesi senzo asivunyelwanga uhlelo lokusebenza noma inhlangano yakho"</string>
+    <string name="split_widgets_not_supported" msgid="1355743038053053866">"Amawijethi awasekelwe okwamanje, sicela ukhethe enye i-app"</string>
     <string name="skip_tutorial_dialog_title" msgid="2725643161260038458">"Yeqa isifundo sokuzulazula?"</string>
     <string name="skip_tutorial_dialog_subtitle" msgid="544063326241955662">"Lokhu ungakuthola kamuva ku-app ye-<xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="gesture_tutorial_action_button_label_cancel" msgid="3809842569351264108">"Khansela"</string>
@@ -107,7 +109,7 @@
     <string name="taskbar_edu_splitscreen" msgid="5605512479258053350">"Hudula i-app ukusebenzisa ama-app ama-2 ngesikhathi esisodwa"</string>
     <string name="taskbar_edu_stashing" msgid="5645461372669217294">"Swayiphela phezulu kancane ukuze ubonise i-Taskbar"</string>
     <string name="taskbar_edu_suggestions" msgid="8215044496435527982">"Thola iziphakamiso ze-app ngokusekelwe kumjikelezo wakho"</string>
-    <string name="taskbar_edu_settings_persistent" msgid="1387372982791296151">"Vula ukufuna kokuthinta Kumasethingi ukuze ufihle ngokuzenzakalela ibha yomsebenzi"</string>
+    <string name="taskbar_edu_pinning" msgid="6708550858580071558">"Cindezela isikhathi eside kusihlukanisi ukuze uphine i-Taskbar"</string>
     <string name="taskbar_edu_features" msgid="3320337287472848162">"Yenza okwengeziwe nge-Taskbar"</string>
     <string name="taskbar_edu_close" msgid="887022990168191073">"Vala"</string>
     <string name="taskbar_edu_done" msgid="6880178093977704569">"Kwenziwe"</string>
diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml
index b024418..a985cd8 100644
--- a/quickstep/res/values/dimens.xml
+++ b/quickstep/res/values/dimens.xml
@@ -44,6 +44,51 @@
     <dimen name="overview_task_margin">16dp</dimen>
     <!--  The horizontal space between tasks  -->
     <dimen name="overview_page_spacing">16dp</dimen>
+    <!--  The min width of the thumbnail icon menu for non-split tasks  -->
+    <dimen name="task_thumbnail_icon_menu_min_width">156dp</dimen>
+    <!--  The max width of the thumbnail icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_max_width">216dp</dimen>
+    <!--  The width of the thumbnail icon menu background  -->
+    <dimen name="task_thumbnail_icon_menu_background_min_width">120dp</dimen>
+    <!--  The width of the icon menu text  -->
+    <dimen name="task_thumbnail_icon_menu_text_width">86dp</dimen>
+    <!--  The max width of the icon menu text  -->
+    <dimen name="task_thumbnail_icon_menu_text_max_width">118dp</dimen>
+    <!--  The size of the icon menu text  -->
+    <dimen name="task_thumbnail_icon_menu_text_size">14sp</dimen>
+    <!--  The max width of the thumbnail icon menu background  -->
+    <dimen name="task_thumbnail_icon_menu_background_max_width">164dp</dimen>
+    <!--  The height of the thumbnail icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_min_height">36dp</dimen>
+    <!--  The corner radius of the thumbnail icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_corner_radius">28dp</dimen>
+    <!--  The width of the thumbnail icon menu backgorund's corners when collapsed  -->
+    <dimen name="task_thumbnail_icon_menu_corner_width">36dp</dimen>
+    <!--  The max height of the thumbnail icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_max_height">52dp</dimen>
+    <!--  The size of the icon menu arrow  -->
+    <dimen name="task_thumbnail_icon_menu_arrow_size">24dp</dimen>
+    <!--  The size of the icon menu arrow drawable  -->
+    <dimen name="task_thumbnail_icon_menu_arrow_drawable_size">16dp</dimen>
+    <!--  The margin at the start of the task icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_start_margin">12dp</dimen>
+    <!--  The margin at the top of the task icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_top_margin">12dp</dimen>
+    <!--  The gap at the top of the task icon menu when expanded  -->
+    <dimen name="task_thumbnail_icon_menu_expanded_gap">6dp</dimen>
+    <!--  The margin at the start of the task icon view in the icon menu  -->
+    <dimen name="task_thumbnail_icon_view_start_margin">6dp</dimen>
+    <!--  The space around the task icon arrow within the icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_arrow_margin">8dp</dimen>
+    <!--  The max space around the task icon within the icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_touch_max_margin">8dp</dimen>
+    <!--  The icon size for the icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_drawable_size">24dp</dimen>
+    <!--  The icon size for the icon menu  -->
+    <dimen name="task_thumbnail_icon_menu_drawable_max_size">32dp</dimen>
+    <!--  The size of the icon menu's icon touch target  -->
+    <dimen name="task_thumbnail_icon_menu_drawable_touch_size">44dp</dimen>
+    <dimen name="task_thumbnail_icon_menu_elevation">4dp</dimen>
 
     <dimen name="task_icon_cache_default_icon_size">72dp</dimen>
     <item name="overview_modal_max_scale" format="float" type="dimen">1.1</item>
@@ -86,10 +131,11 @@
     <!-- Total space (start + end) between the task card and the edge of the screen
          in various configurations -->
     <dimen name="task_card_menu_option_vertical_padding">16dp</dimen>
-    <dimen name="task_menu_vertical_padding">8dp</dimen>
+    <dimen name="task_menu_edge_padding">8dp</dimen>
     <dimen name="task_card_margin">8dp</dimen>
     <dimen name="task_card_menu_shadow_height">3dp</dimen>
     <dimen name="task_menu_option_start_margin">16dp</dimen>
+    <dimen name="task_menu_option_text_start_margin">18dp</dimen>
     <!-- Copied from framework resource:
        docked_stack_divider_thickness - 2 * docked_stack_divider_insets -->
     <dimen name="multi_window_task_divider_size">10dp</dimen>
@@ -306,7 +352,7 @@
     <dimen name="taskbar_home_button_left_margin_kids">48dp</dimen>
     <dimen name="taskbar_icon_size_kids">32dp</dimen>
     <dimen name="taskbar_all_apps_button_translation_x_offset">6dp</dimen>
-
+    <dimen name="taskbar_all_apps_search_button_translation_x_offset">6dp</dimen>
 
     <!-- Transient taskbar -->
     <dimen name="transient_taskbar_padding">12dp</dimen>
@@ -315,8 +361,10 @@
     <dimen name="transient_taskbar_shadow_blur">40dp</dimen>
     <dimen name="transient_taskbar_key_shadow_distance">10dp</dimen>
     <dimen name="transient_taskbar_stashed_height">32dp</dimen>
-    <dimen name="transient_taskbar_all_apps_button_translation_x_offset">4dp</dimen>
+    <dimen name="transient_taskbar_all_apps_button_translation_x_offset">8dp</dimen>
     <dimen name="transient_taskbar_stash_spring_velocity_dp_per_s">400dp</dimen>
+    <dimen name="taskbar_tooltip_vertical_padding">8dp</dimen>
+    <dimen name="taskbar_tooltip_horizontal_padding">16dp</dimen>
 
     <!-- An additional touch slop to prevent x-axis movement during the swipe up to show taskbar -->
     <dimen name="transient_taskbar_clamped_offset_bound">16dp</dimen>
@@ -352,11 +400,13 @@
     <dimen name="taskbar_edu_features_lottie_width">170dp</dimen>
     <dimen name="taskbar_edu_features_lottie_height">106dp</dimen>
     <dimen name="taskbar_edu_features_horizontal_spacing">24dp</dimen>
-    <dimen name="taskbar_edu_features_tooltip_width_persistent">624dp</dimen>
-    <dimen name="taskbar_edu_features_tooltip_width_transient">428dp</dimen>
+    <dimen name="taskbar_edu_features_tooltip_width_with_one_feature">412dp</dimen>
+    <dimen name="taskbar_edu_features_tooltip_width_with_two_features">428dp</dimen>
+    <dimen name="taskbar_edu_features_tooltip_width_with_three_features">624dp</dimen>
 
     <!--- Taskbar Pinning -->
     <dimen name="taskbar_pinning_popup_menu_width">300dp</dimen>
+    <dimen name="taskbar_pinning_popup_menu_vertical_margin">16dp</dimen>
 
     <!-- Recents overview -->
     <dimen name="recents_filter_icon_size">30dp</dimen>
@@ -368,6 +418,7 @@
     <dimen name="bubblebar_stashed_handle_height">@dimen/taskbar_stashed_handle_height</dimen>
     <dimen name="bubblebar_pointer_size">8dp</dimen>
     <dimen name="bubblebar_elevation">1dp</dimen>
+    <dimen name="bubblebar_hotseat_adjustment_threshold">90dp</dimen>
 
     <dimen name="bubblebar_icon_size">50dp</dimen>
     <dimen name="bubblebar_badge_size">24dp</dimen>
diff --git a/quickstep/res/values/override.xml b/quickstep/res/values/override.xml
index df32626..29779a7 100644
--- a/quickstep/res/values/override.xml
+++ b/quickstep/res/values/override.xml
@@ -35,4 +35,6 @@
 
   <string name="assist_state_manager_class" translatable="false"></string>
 
+  <string name="launcher_restore_event_logger_class" translatable="false">com.android.quickstep.LauncherRestoreEventLoggerImpl</string>
+
 </resources>
diff --git a/quickstep/res/values/strings.xml b/quickstep/res/values/strings.xml
index dd9fc63..9aab0a1 100644
--- a/quickstep/res/values/strings.xml
+++ b/quickstep/res/values/strings.xml
@@ -230,11 +230,13 @@
     <string name="action_split">Split</string>
     <!-- Label for toast with instructions for split screen selection mode. [CHAR_LIMIT=50] -->
     <string name="toast_split_select_app">Tap another app to use split screen</string>
+    <string name="toast_split_select_app_cancel"><b>Cancel</b></string>
     <string name="toast_split_select_cont_desc">Exit split screen selection</string>
     <!-- Label for toast when app selected for split isn't supported. [CHAR_LIMIT=50] -->
     <string name="toast_split_app_unsupported">Choose another app to use split screen</string>
     <!-- Message shown when an action is blocked by a policy enforced by the app or the organization managing the device. [CHAR_LIMIT=NONE] -->
     <string name="blocked_by_policy">This action isn\'t allowed by the app or your organization</string>
+    <string name="split_widgets_not_supported">Widgets not currently supported, please select another app</string>
 
     <!-- ******* Skip tutorial dialog ******* -->
     <!-- Title for the dialog that allows the user to skip the gesture navigation tutorial. [CHAR_LIMIT=40] -->
@@ -258,10 +260,14 @@
     <string name="taskbar_edu_stashing">Slow-swipe up to show the Taskbar</string>
     <!-- Text in dialog that lets a user know how the Taskbar suggests apps based on their usage. [CHAR_LIMIT=60] -->
     <string name="taskbar_edu_suggestions">Get app suggestions based on your routine</string>
-    <!-- Text in dialog that lets a user know that Taskbar will auto-hide, if the user switches to gesture navigation in system settings. [CHAR_LIMIT=90] -->
-    <string name="taskbar_edu_settings_persistent">Turn on gesture navigation in Settings to auto-hide the Taskbar</string>
+    <!-- Title in dialog that shows a user how to pin the Taskbar. [CHAR_LIMIT 60] -->
+    <string name="taskbar_edu_pinning">Long press on the divider to pin the Taskbar</string>
     <!-- Title in dialog that shows a user what they can do with the Taskbar. [CHAR_LIMIT=60] -->
     <string name="taskbar_edu_features">Do more with the Taskbar</string>
+    <!-- Title in dialog that shows a user how to pin the Taskbar. [CHAR_LIMIT 60] -->
+    <string name="taskbar_edu_pinning_title">Always show the Taskbar</string>
+    <!-- Text in dialog that shows a user how to pin the Taskbar. [CHAR_LIMIT 60] -->
+    <string name="taskbar_edu_pinning_standalone">To always show the Taskbar on the bottom of your screen, touch &amp; hold the divider</string>
     <!-- Text on button to exit a tutorial [CHAR_LIMIT=16] -->
     <string name="taskbar_edu_close">Close</string>
     <!-- Text on button to finish a tutorial [CHAR_LIMIT=16] -->
diff --git a/quickstep/res/values/styles.xml b/quickstep/res/values/styles.xml
index fc03704..bdc86b2 100644
--- a/quickstep/res/values/styles.xml
+++ b/quickstep/res/values/styles.xml
@@ -303,4 +303,17 @@
         <item name="arrowTipBackground">?androidprv:attr/materialColorSurfaceContainer</item>
         <item name="arrowTipTextColor">?androidprv:attr/materialColorOnSurface</item>
     </style>
+
+    <style name="IconAppChipMenuTextStyle">
+        <item name="android:fontFamily">google-sans-text-medium</item>
+        <item name="android:textSize">@dimen/task_thumbnail_icon_menu_text_size</item>
+        <item name="android:textColor">?androidprv:attr/materialColorOnSurface</item>
+        <item name="android:letterSpacing">0.025</item>
+        <item name="android:lineHeight">20sp</item>
+    </style>
+
+    <style name="WidgetPickerActivityTheme" parent="@android:style/Theme.Translucent.NoTitleBar">
+        <item name="widgetsTheme">@style/WidgetContainerTheme</item>
+        <item name="android:windowBackground">@android:color/transparent</item>
+    </style>
 </resources>
diff --git a/quickstep/src/com/android/launcher3/HomeTransitionController.java b/quickstep/src/com/android/launcher3/HomeTransitionController.java
new file mode 100644
index 0000000..2b50283
--- /dev/null
+++ b/quickstep/src/com/android/launcher3/HomeTransitionController.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3;
+
+import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
+
+import androidx.annotation.Nullable;
+
+import com.android.launcher3.uioverrides.QuickstepLauncher;
+import com.android.quickstep.SystemUiProxy;
+import com.android.wm.shell.transition.IHomeTransitionListener;
+
+/**
+ * Controls launcher response to home activity visibility changing.
+ */
+public class HomeTransitionController {
+
+    @Nullable private QuickstepLauncher mLauncher;
+    @Nullable private IHomeTransitionListener mHomeTransitionListener;
+
+    public void registerHomeTransitionListener(QuickstepLauncher launcher) {
+        mLauncher = launcher;
+        mHomeTransitionListener = new IHomeTransitionListener.Stub() {
+            @Override
+            public void onHomeVisibilityChanged(boolean isVisible) {
+                MAIN_EXECUTOR.execute(() -> {
+                    if (mLauncher != null && mLauncher.getTaskbarUIController() != null) {
+                        mLauncher.getTaskbarUIController().onLauncherVisibilityChanged(isVisible);
+                    }
+                });
+            }
+        };
+
+        SystemUiProxy.INSTANCE.get(mLauncher).setHomeTransitionListener(mHomeTransitionListener);
+    }
+
+    public void unregisterHomeTransitionListener() {
+        SystemUiProxy.INSTANCE.get(mLauncher).setHomeTransitionListener(null);
+        mHomeTransitionListener = null;
+        mLauncher = null;
+    }
+}
diff --git a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
index 741249d..8c9dc6a 100644
--- a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
+++ b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
@@ -22,6 +22,8 @@
 import static android.provider.Settings.Secure.LAUNCHER_TASKBAR_EDUCATION_SHOWING;
 import static android.view.RemoteAnimationTarget.MODE_CLOSING;
 import static android.view.RemoteAnimationTarget.MODE_OPENING;
+import static android.view.Surface.ROTATION_0;
+import static android.view.Surface.ROTATION_180;
 import static android.view.WindowManager.TRANSIT_CLOSE;
 import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY;
 import static android.view.WindowManager.TRANSIT_OPEN;
@@ -53,15 +55,15 @@
 import static com.android.launcher3.config.FeatureFlags.KEYGUARD_ANIMATION;
 import static com.android.launcher3.config.FeatureFlags.SEPARATE_RECENTS_ACTIVITY;
 import static com.android.launcher3.model.data.ItemInfo.NO_MATCHING_ID;
+import static com.android.launcher3.testing.shared.TestProtocol.WALLPAPER_OPEN_ANIMATION_FINISHED_MESSAGE;
 import static com.android.launcher3.util.DisplayController.isTransientTaskbar;
+import static com.android.launcher3.util.Executors.ORDERED_BG_EXECUTOR;
 import static com.android.launcher3.util.MultiPropertyFactory.MULTI_PROPERTY_VALUE;
 import static com.android.launcher3.util.window.RefreshRateTracker.getSingleFrameMs;
 import static com.android.launcher3.views.FloatingIconView.SHAPE_PROGRESS_DURATION;
 import static com.android.launcher3.views.FloatingIconView.getFloatingIconView;
 import static com.android.quickstep.TaskAnimationManager.ENABLE_SHELL_TRANSITIONS;
 import static com.android.quickstep.TaskViewUtils.findTaskViewToLaunch;
-import static com.android.systemui.shared.system.InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_HOME;
-import static com.android.systemui.shared.system.InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_HOME_FALLBACK;
 import static com.android.systemui.shared.system.QuickStepContract.getWindowCornerRadius;
 import static com.android.systemui.shared.system.QuickStepContract.supportsRoundedCornersOnWindows;
 
@@ -74,8 +76,8 @@
 import android.app.WindowConfiguration;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.pm.PackageManager;
 import android.content.res.Resources;
+import android.database.ContentObserver;
 import android.graphics.Color;
 import android.graphics.Matrix;
 import android.graphics.Point;
@@ -90,6 +92,7 @@
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.provider.Settings.Global;
 import android.util.Pair;
 import android.util.Size;
 import android.view.CrossWindowBlurListeners;
@@ -112,10 +115,12 @@
 import androidx.annotation.Nullable;
 import androidx.core.graphics.ColorUtils;
 
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
 import com.android.launcher3.LauncherAnimationRunner.RemoteAnimationFactory;
 import com.android.launcher3.anim.AnimationSuccessListener;
 import com.android.launcher3.anim.AnimatorListeners;
+import com.android.launcher3.compat.AccessibilityManagerCompat;
 import com.android.launcher3.dragndrop.DragLayer;
 import com.android.launcher3.icons.FastBitmapDrawable;
 import com.android.launcher3.model.data.ItemInfo;
@@ -160,6 +165,7 @@
 import com.android.wm.shell.startingsurface.IStartingWindowListener;
 
 import java.io.PrintWriter;
+import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -181,9 +187,6 @@
      */
     public static final int STATUS_BAR_TRANSITION_PRE_DELAY = 96;
 
-    private static final String CONTROL_REMOTE_APP_TRANSITION_PERMISSION =
-            "android.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS";
-
     public static final long APP_LAUNCH_DURATION = 500;
 
     private static final long APP_LAUNCH_ALPHA_DURATION = 50;
@@ -226,7 +229,18 @@
     private final float mClosingWindowTransY;
     private final float mMaxShadowRadius;
 
-    private final StartingWindowListener mStartingWindowListener = new StartingWindowListener();
+    private final StartingWindowListener mStartingWindowListener =
+            new StartingWindowListener(this);
+    private ContentObserver mAnimationRemovalObserver = new ContentObserver(
+            ORDERED_BG_EXECUTOR.getHandler()) {
+        @Override
+        public void onChange(boolean selfChange) {
+            mAreAnimationsEnabled = Global.getFloat(mLauncher.getContentResolver(),
+                    Global.ANIMATOR_DURATION_SCALE, 1f) > 0
+                    || Global.getFloat(mLauncher.getContentResolver(),
+                    Global.TRANSITION_ANIMATION_SCALE, 1f) > 0;
+        }
+    };
 
     private DeviceProfile mDeviceProfile;
 
@@ -238,6 +252,8 @@
     private RemoteAnimationFactory mWallpaperOpenTransitionRunner;
     private RemoteTransition mLauncherOpenTransition;
 
+    private final RemoteAnimationCoordinateTransfer mCoordinateTransfer;
+
     private LauncherBackAnimationController mBackAnimationController;
     private final AnimatorListenerAdapter mForceInvisibleListener = new AnimatorListenerAdapter() {
         @Override
@@ -254,6 +270,7 @@
     // Pairs of window starting type and starting window background color for starting tasks
     // Will never be larger than MAX_NUM_TASKS
     private LinkedHashMap<Integer, Pair<Integer, Integer>> mTaskStartParams;
+    private boolean mAreAnimationsEnabled = true;
 
     private final Interpolator mOpeningXInterpolator;
     private final Interpolator mOpeningInterpolator;
@@ -264,6 +281,7 @@
         mHandler = new Handler(Looper.getMainLooper());
         mDeviceProfile = mLauncher.getDeviceProfile();
         mBackAnimationController = new LauncherBackAnimationController(mLauncher, this);
+        checkAndMonitorIfAnimationsAreEnabled();
 
         Resources res = mLauncher.getResources();
         mClosingWindowTransY = res.getDimensionPixelSize(R.dimen.closing_window_trans_y);
@@ -271,15 +289,14 @@
 
         mLauncher.addOnDeviceProfileChangeListener(this);
 
-        if (supportsSSplashScreen()) {
-            mTaskStartParams = new LinkedHashMap<Integer, Pair<Integer, Integer>>(MAX_NUM_TASKS) {
+        if (ENABLE_SHELL_STARTING_SURFACE) {
+            mTaskStartParams = new LinkedHashMap<>(MAX_NUM_TASKS) {
                 @Override
                 protected boolean removeEldestEntry(Entry<Integer, Pair<Integer, Integer>> entry) {
                     return size() > MAX_NUM_TASKS;
                 }
             };
 
-            mStartingWindowListener.setTransitionManager(this);
             SystemUiProxy.INSTANCE.get(mLauncher).setStartingWindowListener(
                     mStartingWindowListener);
         }
@@ -287,6 +304,7 @@
         mOpeningXInterpolator = AnimationUtils.loadInterpolator(context, R.interpolator.app_open_x);
         mOpeningInterpolator = AnimationUtils.loadInterpolator(context,
                 R.interpolator.emphasized_interpolator);
+        mCoordinateTransfer = new RemoteAnimationCoordinateTransfer(mLauncher);
     }
 
     @Override
@@ -311,8 +329,8 @@
         mAppLaunchRunner = new AppLaunchAnimationRunner(v, onEndCallback);
         ItemInfo tag = (ItemInfo) v.getTag();
         if (tag != null && tag.shouldUseBackgroundAnimation()) {
-            ContainerAnimationRunner containerAnimationRunner =
-                    ContainerAnimationRunner.from(v, mStartingWindowListener, onEndCallback);
+            ContainerAnimationRunner containerAnimationRunner = ContainerAnimationRunner.from(
+                    v, mLauncher, mStartingWindowListener, onEndCallback);
             if (containerAnimationRunner != null) {
                 mAppLaunchRunner = containerAnimationRunner;
             }
@@ -474,9 +492,9 @@
     /**
      * Content is everything on screen except the background and the floating view (if any).
      *
-     * @param isAppOpening True when this is called when an app is opening.
-     *                     False when this is called when an app is closing.
-     * @param startDelay   Start delay duration.
+     * @param isAppOpening     True when this is called when an app is opening.
+     *                         False when this is called when an app is closing.
+     * @param startDelay       Start delay duration.
      * @param skipAllAppsScale True if we want to avoid scaling All Apps
      */
     private Pair<AnimatorSet, Runnable> getLauncherContentAnimator(boolean isAppOpening,
@@ -660,7 +678,7 @@
         mDragLayer.getLocationOnScreen(dragLayerBounds);
 
         final boolean hasSplashScreen;
-        if (supportsSSplashScreen()) {
+        if (ENABLE_SHELL_STARTING_SURFACE) {
             int taskId = openingTargets.getFirstAppTargetTaskId();
             Pair<Integer, Integer> defaultParams = Pair.create(STARTING_WINDOW_TYPE_NONE, 0);
             Pair<Integer, Integer> taskParams =
@@ -905,7 +923,7 @@
 
         RemoteAnimationTarget openingTarget = openingTargets.getFirstAppTarget();
         int fallbackBackgroundColor = 0;
-        if (openingTarget != null && supportsSSplashScreen()) {
+        if (openingTarget != null && ENABLE_SHELL_STARTING_SURFACE) {
             fallbackBackgroundColor = mTaskStartParams.containsKey(openingTarget.taskId)
                     ? mTaskStartParams.get(openingTarget.taskId).second : 0;
             mTaskStartParams.remove(openingTarget.taskId);
@@ -1043,7 +1061,7 @@
         LaunchDepthController depthController = new LaunchDepthController(mLauncher);
         ObjectAnimator backgroundRadiusAnim = ObjectAnimator.ofFloat(depthController.stateDepth,
                         MULTI_PROPERTY_VALUE, BACKGROUND_APP.getDepth(mLauncher))
-                .setDuration(APP_LAUNCH_DURATION);
+                        .setDuration(APP_LAUNCH_DURATION);
 
         if (allowBlurringLauncher) {
             // Create a temporary effect layer, that lives on top of launcher, so we can apply
@@ -1069,7 +1087,12 @@
         }
 
         backgroundRadiusAnim.addListener(
-                AnimatorListeners.forEndCallback(depthController::dispose));
+                AnimatorListeners.forEndCallback(() -> {
+                    // reset the depth to match the main depth controller's depth
+                    depthController.stateDepth
+                            .setValue(mLauncher.getDepthController().stateDepth.getValue());
+                    depthController.dispose();
+                }));
 
         return backgroundRadiusAnim;
     }
@@ -1081,11 +1104,9 @@
         if (SEPARATE_RECENTS_ACTIVITY.get()) {
             return;
         }
-        if (hasControlRemoteAppTransitionPermission()) {
-            RemoteAnimationDefinition definition = new RemoteAnimationDefinition();
-            addRemoteAnimations(definition);
-            mLauncher.registerRemoteAnimations(definition);
-        }
+        RemoteAnimationDefinition definition = new RemoteAnimationDefinition();
+        addRemoteAnimations(definition);
+        mLauncher.registerRemoteAnimations(definition);
     }
 
     /**
@@ -1123,29 +1144,29 @@
         if (SEPARATE_RECENTS_ACTIVITY.get()) {
             return;
         }
-        if (hasControlRemoteAppTransitionPermission()) {
-            mWallpaperOpenTransitionRunner = createWallpaperOpenRunner(false /* fromUnlock */);
-            mLauncherOpenTransition = new RemoteTransition(
-                    new LauncherAnimationRunner(mHandler, mWallpaperOpenTransitionRunner,
-                            false /* startAtFrontOfQueue */).toRemoteTransition(),
-                    mLauncher.getIApplicationThread(), "QuickstepLaunchHome");
 
-            TransitionFilter homeCheck = new TransitionFilter();
-            // No need to handle the transition that also dismisses keyguard.
-            homeCheck.mNotFlags = TRANSIT_FLAG_KEYGUARD_GOING_AWAY;
-            homeCheck.mRequirements =
-                    new TransitionFilter.Requirement[]{new TransitionFilter.Requirement(),
-                            new TransitionFilter.Requirement()};
-            homeCheck.mRequirements[0].mActivityType = ACTIVITY_TYPE_HOME;
-            homeCheck.mRequirements[0].mTopActivity = mLauncher.getComponentName();
-            homeCheck.mRequirements[0].mModes = new int[]{TRANSIT_OPEN, TRANSIT_TO_FRONT};
-            homeCheck.mRequirements[0].mOrder = CONTAINER_ORDER_TOP;
-            homeCheck.mRequirements[1].mActivityType = ACTIVITY_TYPE_STANDARD;
-            homeCheck.mRequirements[1].mModes = new int[]{TRANSIT_CLOSE, TRANSIT_TO_BACK};
-            SystemUiProxy.INSTANCE.get(mLauncher)
-                    .registerRemoteTransition(mLauncherOpenTransition, homeCheck);
-        }
+        mWallpaperOpenTransitionRunner = createWallpaperOpenRunner(false /* fromUnlock */);
+        mLauncherOpenTransition = new RemoteTransition(
+                new LauncherAnimationRunner(mHandler, mWallpaperOpenTransitionRunner,
+                        false /* startAtFrontOfQueue */).toRemoteTransition(),
+                mLauncher.getIApplicationThread(), "QuickstepLaunchHome");
+
+        TransitionFilter homeCheck = new TransitionFilter();
+        // No need to handle the transition that also dismisses keyguard.
+        homeCheck.mNotFlags = TRANSIT_FLAG_KEYGUARD_GOING_AWAY;
+        homeCheck.mRequirements =
+                new TransitionFilter.Requirement[]{new TransitionFilter.Requirement(),
+                        new TransitionFilter.Requirement()};
+        homeCheck.mRequirements[0].mActivityType = ACTIVITY_TYPE_HOME;
+        homeCheck.mRequirements[0].mTopActivity = mLauncher.getComponentName();
+        homeCheck.mRequirements[0].mModes = new int[]{TRANSIT_OPEN, TRANSIT_TO_FRONT};
+        homeCheck.mRequirements[0].mOrder = CONTAINER_ORDER_TOP;
+        homeCheck.mRequirements[1].mActivityType = ACTIVITY_TYPE_STANDARD;
+        homeCheck.mRequirements[1].mModes = new int[]{TRANSIT_CLOSE, TRANSIT_TO_BACK};
+        SystemUiProxy.INSTANCE.get(mLauncher)
+                .registerRemoteTransition(mLauncherOpenTransition, homeCheck);
         if (mBackAnimationController != null) {
+            mBackAnimationController.registerComponentCallbacks();
             mBackAnimationController.registerBackCallbacks(mHandler);
         }
     }
@@ -1153,23 +1174,23 @@
     public void onActivityDestroyed() {
         unregisterRemoteAnimations();
         unregisterRemoteTransitions();
-        mStartingWindowListener.setTransitionManager(null);
+        mLauncher.removeOnDeviceProfileChangeListener(this);
         SystemUiProxy.INSTANCE.get(mLauncher).setStartingWindowListener(null);
+        ORDERED_BG_EXECUTOR.execute(() -> mLauncher.getContentResolver()
+                .unregisterContentObserver(mAnimationRemovalObserver));
     }
 
     private void unregisterRemoteAnimations() {
         if (SEPARATE_RECENTS_ACTIVITY.get()) {
             return;
         }
-        if (hasControlRemoteAppTransitionPermission()) {
-            mLauncher.unregisterRemoteAnimations();
+        mLauncher.unregisterRemoteAnimations();
 
-            // Also clear strong references to the runners registered with the remote animation
-            // definition so we don't have to wait for the system gc
-            mWallpaperOpenRunner = null;
-            mAppLaunchRunner = null;
-            mKeyguardGoingAwayRunner = null;
-        }
+        // Also clear strong references to the runners registered with the remote animation
+        // definition so we don't have to wait for the system gc
+        mWallpaperOpenRunner = null;
+        mAppLaunchRunner = null;
+        mKeyguardGoingAwayRunner = null;
     }
 
     protected void unregisterRemoteTransitions() {
@@ -1179,19 +1200,29 @@
         if (SEPARATE_RECENTS_ACTIVITY.get()) {
             return;
         }
-        if (hasControlRemoteAppTransitionPermission()) {
-            if (mLauncherOpenTransition == null) return;
-            SystemUiProxy.INSTANCE.get(mLauncher).unregisterRemoteTransition(
-                    mLauncherOpenTransition);
-            mLauncherOpenTransition = null;
-            mWallpaperOpenTransitionRunner = null;
-        }
+        if (mLauncherOpenTransition == null) return;
+        SystemUiProxy.INSTANCE.get(mLauncher).unregisterRemoteTransition(
+                mLauncherOpenTransition);
+        mLauncherOpenTransition = null;
+        mWallpaperOpenTransitionRunner = null;
         if (mBackAnimationController != null) {
             mBackAnimationController.unregisterBackCallbacks();
+            mBackAnimationController.unregisterComponentCallbacks();
             mBackAnimationController = null;
         }
     }
 
+    private void checkAndMonitorIfAnimationsAreEnabled() {
+        ORDERED_BG_EXECUTOR.execute(() -> {
+            mAnimationRemovalObserver.onChange(true);
+            mLauncher.getContentResolver().registerContentObserver(Global.getUriFor(
+                    Global.ANIMATOR_DURATION_SCALE), false, mAnimationRemovalObserver);
+            mLauncher.getContentResolver().registerContentObserver(Global.getUriFor(
+                    Global.TRANSITION_ANIMATION_SCALE), false, mAnimationRemovalObserver);
+
+        });
+    }
+
     private boolean launcherIsATargetWithMode(RemoteAnimationTarget[] targets, int mode) {
         for (RemoteAnimationTarget target : targets) {
             if (target.mode == mode && target.taskInfo != null
@@ -1267,7 +1298,7 @@
     /**
      * Returns view on launcher that corresponds to the closing app in the list of app targets
      */
-    private @Nullable View findLauncherView(RemoteAnimationTarget[] appTargets) {
+    public @Nullable View findLauncherView(RemoteAnimationTarget[] appTargets) {
         for (RemoteAnimationTarget appTarget : appTargets) {
             if (appTarget.mode == MODE_CLOSING) {
                 View launcherView = findLauncherView(appTarget);
@@ -1287,7 +1318,7 @@
             return null;
         }
 
-        final ComponentName[] taskInfoActivities = new ComponentName[] {
+        final ComponentName[] taskInfoActivities = new ComponentName[]{
                 runningTaskTarget.taskInfo.baseActivity,
                 runningTaskTarget.taskInfo.origActivity,
                 runningTaskTarget.taskInfo.realActivity,
@@ -1333,7 +1364,7 @@
                 .getPrimaryValue(dp.availableWidthPx, dp.availableHeightPx);
         float secondaryDimension = orientationHandler
                 .getSecondaryValue(dp.availableWidthPx, dp.availableHeightPx);
-        final float targetX =  primaryDimension / 2f;
+        final float targetX = primaryDimension / 2f;
         final float targetY = secondaryDimension - dp.hotseatBarSizePx;
         return new RectF(targetX - halfIconSize, targetY - halfIconSize,
                 targetX + halfIconSize, targetY + halfIconSize);
@@ -1344,7 +1375,7 @@
      */
     protected RectFSpringAnim getClosingWindowAnimators(AnimatorSet animation,
             RemoteAnimationTarget[] targets, View launcherView, PointF velocityPxPerS,
-            RectF closingWindowStartRect, float startWindowCornerRadius) {
+            RectF closingWindowStartRectF, float startWindowCornerRadius) {
         FloatingIconView floatingIconView = null;
         FloatingWidgetView floatingWidget = null;
         RectF targetRect = new RectF();
@@ -1370,7 +1401,7 @@
                     (LauncherAppWidgetHostView) launcherView, targetRect, windowSize,
                     mDeviceProfile.isMultiWindowMode ? 0 : getWindowCornerRadius(mLauncher),
                     isTransluscent, fallbackBackgroundColor);
-        } else if (launcherView != null) {
+        } else if (launcherView != null && mAreAnimationsEnabled) {
             floatingIconView = getFloatingIconView(mLauncher, launcherView, null,
                     mLauncher.getTaskbarUIController() == null
                             ? null
@@ -1384,13 +1415,16 @@
 
         boolean useTaskbarHotseatParams = mDeviceProfile.isTaskbarPresent && isInHotseat;
         RectFSpringAnim anim = new RectFSpringAnim(useTaskbarHotseatParams
-                ? new TaskbarHotseatSpringConfig(mLauncher, closingWindowStartRect, targetRect)
-                : new DefaultSpringConfig(mLauncher, mDeviceProfile, closingWindowStartRect,
+                ? new TaskbarHotseatSpringConfig(mLauncher, closingWindowStartRectF, targetRect)
+                : new DefaultSpringConfig(mLauncher, mDeviceProfile, closingWindowStartRectF,
                         targetRect));
 
         // Hook up floating views to the closing window animators.
-        final int rotationChange = getRotationChange(targets);
-        Rect windowTargetBounds = getWindowTargetBounds(targets, rotationChange);
+        // note the coordinate of closingWindowStartRect is based on launcher
+        Rect closingWindowStartRect = new Rect();
+        closingWindowStartRectF.round(closingWindowStartRect);
+        Rect closingWindowOriginalRect =
+                new Rect(0, 0, mDeviceProfile.widthPx, mDeviceProfile.heightPx);
         if (floatingIconView != null) {
             anim.addAnimatorListener(floatingIconView);
             floatingIconView.setOnTargetChangeListener(anim::onTargetPositionChanged);
@@ -1402,7 +1436,7 @@
             final float windowAlphaThreshold = 1f - SHAPE_PROGRESS_DURATION;
 
             RectFSpringAnim.OnUpdateListener runner = new SpringAnimRunner(targets, targetRect,
-                    windowTargetBounds, startWindowCornerRadius) {
+                    closingWindowStartRect, closingWindowOriginalRect, startWindowCornerRadius) {
                 @Override
                 public void onUpdate(RectF currentRectF, float progress) {
                     finalFloatingIconView.update(1f, currentRectF, progress, windowAlphaThreshold,
@@ -1420,7 +1454,7 @@
             final float floatingWidgetAlpha = isTransluscent ? 0 : 1;
             FloatingWidgetView finalFloatingWidget = floatingWidget;
             RectFSpringAnim.OnUpdateListener runner = new SpringAnimRunner(targets, targetRect,
-                    windowTargetBounds, startWindowCornerRadius) {
+                    closingWindowStartRect, closingWindowOriginalRect, startWindowCornerRadius) {
                 @Override
                 public void onUpdate(RectF currentRectF, float progress) {
                     final float fallbackBackgroundAlpha =
@@ -1438,7 +1472,8 @@
             // If no floating icon or widget is present, animate the to the default window
             // target rect.
             anim.addOnUpdateListener(new SpringAnimRunner(
-                    targets, targetRect, windowTargetBounds, startWindowCornerRadius));
+                    targets, targetRect, closingWindowStartRect, closingWindowOriginalRect,
+                    startWindowCornerRadius));
         }
 
         // Use a fixed velocity to start the animation.
@@ -1519,20 +1554,6 @@
         return closingAnimator;
     }
 
-    private boolean supportsSSplashScreen() {
-        return hasControlRemoteAppTransitionPermission()
-                && Utilities.ATLEAST_S
-                && ENABLE_SHELL_STARTING_SURFACE;
-    }
-
-    /**
-     * Returns true if we have permission to control remote app transisions
-     */
-    public boolean hasControlRemoteAppTransitionPermission() {
-        return mLauncher.checkSelfPermission(CONTROL_REMOTE_APP_TRANSITION_PERMISSION)
-                == PackageManager.PERMISSION_GRANTED;
-    }
-
     private void addCujInstrumentation(Animator anim, int cuj) {
         anim.addListener(new AnimationSuccessListener() {
             @Override
@@ -1594,7 +1615,7 @@
                 || mLauncher.getWorkspace().isOverlayShown()
                 || shouldPlayFallbackClosingAnimation(appTargets);
 
-        boolean playWorkspaceReveal = true;
+        boolean playWorkspaceReveal = !fromPredictiveBack;
         boolean skipAllAppsScale = false;
         if (fromUnlock) {
             anim.play(getUnlockWindowAnimator(appTargets, wallpaperTargets));
@@ -1636,13 +1657,24 @@
         // targets list because it is already visible). In that case, we force
         // invisibility on touch down, and only reset it after the animation to home
         // is initialized.
-        if (launcherIsForceInvisibleOrOpening) {
+        if (launcherIsForceInvisibleOrOpening || fromPredictiveBack) {
             addCujInstrumentation(anim, playFallBackAnimation
-                    ? CUJ_APP_CLOSE_TO_HOME_FALLBACK :  CUJ_APP_CLOSE_TO_HOME);
+                    ? Cuj.CUJ_LAUNCHER_APP_CLOSE_TO_HOME_FALLBACK
+                    : Cuj.CUJ_LAUNCHER_APP_CLOSE_TO_HOME);
+
+            anim.addListener(new AnimatorListenerAdapter() {
+                @Override
+                public void onAnimationEnd(Animator animation) {
+                    super.onAnimationEnd(animation);
+                    AccessibilityManagerCompat.sendTestProtocolEventToTest(
+                            mLauncher, WALLPAPER_OPEN_ANIMATION_FINISHED_MESSAGE);
+                }
+            });
+
             // Only register the content animation for cancellation when state changes
             mLauncher.getStateManager().setCurrentAnimation(anim);
 
-            if (mLauncher.isInState(LauncherState.ALL_APPS)) {
+            if (mLauncher.isInState(LauncherState.ALL_APPS) && !fromPredictiveBack) {
                 Pair<AnimatorSet, Runnable> contentAnimator =
                         getLauncherContentAnimator(false, LAUNCHER_RESUME_START_DELAY,
                                 skipAllAppsScale);
@@ -1653,10 +1685,8 @@
                         contentAnimator.second.run();
                     }
                 });
-            } else {
-                if (playWorkspaceReveal) {
+            } else if (playWorkspaceReveal) {
                     anim.play(new WorkspaceRevealAnim(mLauncher, false).getAnimators());
-                }
             }
         }
 
@@ -1694,8 +1724,18 @@
 
             RectF windowTargetBounds =
                     new RectF(getWindowTargetBounds(appTargets, getRotationChange(appTargets)));
+
+            final RectF resolveRectF = new RectF(windowTargetBounds);
+            for (RemoteAnimationTarget t : appTargets) {
+                if (t.mode == MODE_CLOSING) {
+                    transferRectToTargetCoordinate(
+                            t, windowTargetBounds, true, resolveRectF);
+                    break;
+                }
+            }
+
             Pair<RectFSpringAnim, AnimatorSet> pair = createWallpaperOpenAnimations(
-                    appTargets, wallpaperTargets, mFromUnlock, windowTargetBounds,
+                    appTargets, wallpaperTargets, mFromUnlock, resolveRectF,
                     QuickStepContract.getWindowCornerRadius(mLauncher),
                     false /* fromPredictiveBack */);
 
@@ -1734,19 +1774,18 @@
             if (launchingFromWidget) {
                 composeWidgetLaunchAnimator(anim, (LauncherAppWidgetHostView) mV, appTargets,
                         wallpaperTargets, nonAppTargets, launcherClosing);
-                addCujInstrumentation(
-                        anim, InteractionJankMonitorWrapper.CUJ_APP_LAUNCH_FROM_WIDGET);
+                addCujInstrumentation(anim, Cuj.CUJ_LAUNCHER_APP_LAUNCH_FROM_WIDGET);
                 skipFirstFrame = true;
             } else if (launchingFromRecents) {
                 composeRecentsLaunchAnimator(anim, mV, appTargets, wallpaperTargets, nonAppTargets,
                         launcherClosing);
                 addCujInstrumentation(
-                        anim, InteractionJankMonitorWrapper.CUJ_APP_LAUNCH_FROM_RECENTS);
+                        anim, Cuj.CUJ_LAUNCHER_APP_LAUNCH_FROM_RECENTS);
                 skipFirstFrame = true;
             } else {
                 composeIconLaunchAnimator(anim, mV, appTargets, wallpaperTargets, nonAppTargets,
                         launcherClosing);
-                addCujInstrumentation(anim, InteractionJankMonitorWrapper.CUJ_APP_LAUNCH_FROM_ICON);
+                addCujInstrumentation(anim, Cuj.CUJ_LAUNCHER_APP_LAUNCH_FROM_ICON);
                 skipFirstFrame = false;
             }
 
@@ -1776,11 +1815,11 @@
         }
 
         @Nullable
-        private static ContainerAnimationRunner from(
-                View v, StartingWindowListener startingWindowListener, RunnableList onEndCallback) {
+        private static ContainerAnimationRunner from(View v, Launcher launcher,
+                StartingWindowListener startingWindowListener, RunnableList onEndCallback) {
             View viewToUse = findLaunchableViewWithBackground(v);
             if (viewToUse == null) {
-                viewToUse = v;
+                return null;
             }
 
             // The CUJ is logged by the click handler, so we don't log it inside the animation
@@ -1802,8 +1841,13 @@
                         }
                     };
 
-            ActivityLaunchAnimator.Callback callback = task -> ColorUtils.setAlphaComponent(
-                    startingWindowListener.getBackgroundColor(), 255);
+            ActivityLaunchAnimator.Callback callback = task -> {
+                final int backgroundColor =
+                        startingWindowListener.mBackgroundColor == Color.TRANSPARENT
+                                ? launcher.getScrimView().getBackgroundColor()
+                                : startingWindowListener.mBackgroundColor;
+                return ColorUtils.setAlphaComponent(backgroundColor, 255);
+            };
 
             ActivityLaunchAnimator.Listener listener = new ActivityLaunchAnimator.Listener() {
                 @Override
@@ -1917,24 +1961,68 @@
         }
     }
 
-    private class StartingWindowListener extends IStartingWindowListener.Stub {
-        private QuickstepTransitionManager mTransitionManager;
+    private static class StartingWindowListener extends IStartingWindowListener.Stub {
+        private final WeakReference<QuickstepTransitionManager> mTransitionManagerRef;
         private int mBackgroundColor;
 
-        public void setTransitionManager(QuickstepTransitionManager transitionManager) {
-            mTransitionManager = transitionManager;
+        private StartingWindowListener(QuickstepTransitionManager transitionManager) {
+            mTransitionManagerRef = new WeakReference<>(transitionManager);
         }
 
         @Override
         public void onTaskLaunching(int taskId, int supportedType, int color) {
-            mTransitionManager.mTaskStartParams.put(taskId, Pair.create(supportedType, color));
+            QuickstepTransitionManager transitionManager = mTransitionManagerRef.get();
+            if (transitionManager != null) {
+                transitionManager.mTaskStartParams.put(taskId, Pair.create(supportedType, color));
+            }
             mBackgroundColor = color;
         }
+    }
 
-        public int getBackgroundColor() {
-            return mBackgroundColor == Color.TRANSPARENT
-                    ? mLauncher.getScrimView().getBackgroundColor()
-                    : mBackgroundColor;
+    /**
+     * Transfer the rectangle to another coordinate if needed.
+     *
+     * @param toLauncher which one is the anchor of this transfer, if true then transfer from
+     *                   animation target to launcher, false transfer from launcher to animation
+     *                   target.
+     */
+    public void transferRectToTargetCoordinate(RemoteAnimationTarget target, RectF currentRect,
+            boolean toLauncher, RectF resultRect) {
+        mCoordinateTransfer.transferRectToTargetCoordinate(
+                target, currentRect, toLauncher, resultRect);
+    }
+
+    private static class RemoteAnimationCoordinateTransfer {
+        private final QuickstepLauncher mLauncher;
+        private final Rect mDisplayRect = new Rect();
+        private final Rect mTmpResult = new Rect();
+
+        RemoteAnimationCoordinateTransfer(QuickstepLauncher launcher) {
+            mLauncher = launcher;
+        }
+
+        void transferRectToTargetCoordinate(RemoteAnimationTarget target, RectF currentRect,
+                boolean toLauncher, RectF resultRect) {
+            final int taskRotation = target.windowConfiguration.getRotation();
+            final DeviceProfile profile = mLauncher.getDeviceProfile();
+
+            final int rotationDelta = toLauncher
+                    ? android.util.RotationUtils.deltaRotation(taskRotation, profile.rotationHint)
+                    : android.util.RotationUtils.deltaRotation(profile.rotationHint, taskRotation);
+            if (rotationDelta != ROTATION_0) {
+                // Get original display size when task is on top but with different rotation
+                if (rotationDelta % 2 != 0 && toLauncher && (profile.rotationHint == ROTATION_0
+                        || profile.rotationHint == ROTATION_180)) {
+                    mDisplayRect.set(0, 0, profile.heightPx, profile.widthPx);
+                } else {
+                    mDisplayRect.set(0, 0, profile.widthPx, profile.heightPx);
+                }
+                currentRect.round(mTmpResult);
+                android.util.RotationUtils.rotateBounds(mTmpResult, mDisplayRect, rotationDelta);
+                resultRect.set(mTmpResult);
+            } else {
+                resultRect.set(currentRect);
+            }
         }
     }
 
@@ -1949,17 +2037,49 @@
         private final float mStartRadius;
         private final float mEndRadius;
         private final SurfaceTransactionApplier mSurfaceApplier;
-        private final Rect mWindowTargetBounds = new Rect();
+        private final Rect mWindowStartBounds = new Rect();
+        private final Rect mWindowOriginalBounds = new Rect();
 
         private final Rect mTmpRect = new Rect();
 
+        /**
+         * Constructor for SpringAnimRunner
+         *
+         * @param appTargets                the list of opening/closing apps
+         * @param targetRect                target rectangle
+         * @param closingWindowStartRect    start position of the window when the spring animation
+         *                                  is started. In the predictive back to home case this
+         *                                  will be smaller than closingWindowOriginalRect because
+         *                                  the window is already scaled by the user gesture
+         * @param closingWindowOriginalRect Original unscaled window rect
+         * @param startWindowCornerRadius   corner radius of window at the start position
+         */
         SpringAnimRunner(RemoteAnimationTarget[] appTargets, RectF targetRect,
-                Rect windowTargetBounds, float startWindowCornerRadius) {
+                Rect closingWindowStartRect, Rect closingWindowOriginalRect,
+                float startWindowCornerRadius) {
             mAppTargets = appTargets;
             mStartRadius = startWindowCornerRadius;
             mEndRadius = Math.max(1, targetRect.width()) / 2f;
             mSurfaceApplier = new SurfaceTransactionApplier(mDragLayer);
-            mWindowTargetBounds.set(windowTargetBounds);
+            mWindowStartBounds.set(closingWindowStartRect);
+            mWindowOriginalBounds.set(closingWindowOriginalRect);
+
+            // transfer the coordinate based on animation target.
+            if (mAppTargets != null) {
+                for (RemoteAnimationTarget t : mAppTargets) {
+                    if (t.mode == MODE_CLOSING) {
+                        final RectF transferRect = new RectF(mWindowStartBounds);
+                        final RectF result = new RectF();
+                        transferRectToTargetCoordinate(t, transferRect, false, result);
+                        result.round(mWindowStartBounds);
+
+                        transferRect.set(closingWindowOriginalRect);
+                        transferRectToTargetCoordinate(t, transferRect, false, result);
+                        result.round(mWindowOriginalBounds);
+                        break;
+                    }
+                }
+            }
         }
 
         public float getCornerRadius(float progress) {
@@ -1980,26 +2100,28 @@
                 }
 
                 if (target.mode == MODE_CLOSING) {
+                    transferRectToTargetCoordinate(target, currentRectF, false, currentRectF);
                     currentRectF.round(mCurrentRect);
 
                     // Scale the target window to match the currentRectF.
                     final float scale;
 
                     // We need to infer the crop (we crop the window to match the currentRectF).
-                    if (mWindowTargetBounds.height() > mWindowTargetBounds.width()) {
-                        scale = Math.min(1f, currentRectF.width() / mWindowTargetBounds.width());
+                    if (mWindowStartBounds.height() > mWindowStartBounds.width()) {
+                        scale = Math.min(1f, currentRectF.width() / mWindowOriginalBounds.width());
 
                         int unscaledHeight = (int) (mCurrentRect.height() * (1f / scale));
-                        int croppedHeight = mWindowTargetBounds.height() - unscaledHeight;
-                        mTmpRect.set(0, 0, mWindowTargetBounds.width(),
-                                mWindowTargetBounds.height() - croppedHeight);
+                        int croppedHeight = mWindowStartBounds.height() - unscaledHeight;
+                        mTmpRect.set(0, 0, mWindowOriginalBounds.width(),
+                                mWindowStartBounds.height() - croppedHeight);
                     } else {
-                        scale = Math.min(1f, currentRectF.height() / mWindowTargetBounds.height());
+                        scale = Math.min(1f, currentRectF.height()
+                                / mWindowOriginalBounds.height());
 
                         int unscaledWidth = (int) (mCurrentRect.width() * (1f / scale));
-                        int croppedWidth = mWindowTargetBounds.width() - unscaledWidth;
-                        mTmpRect.set(0, 0, mWindowTargetBounds.width() - croppedWidth,
-                                mWindowTargetBounds.height());
+                        int croppedWidth = mWindowStartBounds.width() - unscaledWidth;
+                        mTmpRect.set(0, 0, mWindowStartBounds.width() - croppedWidth,
+                                mWindowOriginalBounds.height());
                     }
 
                     // Match size and position of currentRect.
diff --git a/quickstep/src/com/android/launcher3/WidgetPickerActivity.java b/quickstep/src/com/android/launcher3/WidgetPickerActivity.java
new file mode 100644
index 0000000..b9b4461
--- /dev/null
+++ b/quickstep/src/com/android/launcher3/WidgetPickerActivity.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3;
+
+import static android.content.ClipDescription.MIMETYPE_TEXT_INTENT;
+import static android.view.WindowInsets.Type.navigationBars;
+import static android.view.WindowInsets.Type.statusBars;
+
+import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
+import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
+
+import android.appwidget.AppWidgetProviderInfo;
+import android.content.ClipData;
+import android.content.ClipDescription;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.view.WindowInsetsController;
+import android.view.WindowManager;
+
+import androidx.annotation.NonNull;
+
+import com.android.launcher3.dragndrop.SimpleDragLayer;
+import com.android.launcher3.model.WidgetsModel;
+import com.android.launcher3.popup.PopupDataProvider;
+import com.android.launcher3.widget.BaseWidgetSheet;
+import com.android.launcher3.widget.WidgetCell;
+import com.android.launcher3.widget.model.WidgetsListBaseEntry;
+import com.android.launcher3.widget.picker.WidgetsFullSheet;
+
+import java.util.ArrayList;
+
+/** An Activity that can host Launcher's widget picker. */
+public class WidgetPickerActivity extends BaseActivity {
+    /**
+     * Name of the extra that indicates that a widget being dragged.
+     *
+     * <p>When set to "true" in the result of startActivityForResult, the client that launched the
+     * picker knows that activity was closed due to pending drag.
+     */
+    private static final String EXTRA_IS_PENDING_WIDGET_DRAG = "is_pending_widget_drag";
+
+    private SimpleDragLayer<WidgetPickerActivity> mDragLayer;
+    private WidgetsModel mModel;
+    private final PopupDataProvider mPopupDataProvider = new PopupDataProvider(i -> {});
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
+        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
+
+        LauncherAppState app = LauncherAppState.getInstance(this);
+        InvariantDeviceProfile idp = app.getInvariantDeviceProfile();
+
+        mDeviceProfile = idp.getDeviceProfile(this);
+        mModel = new WidgetsModel();
+
+        setContentView(R.layout.widget_picker_activity);
+        mDragLayer = findViewById(R.id.drag_layer);
+        mDragLayer.recreateControllers();
+
+        WindowInsetsController wc = mDragLayer.getWindowInsetsController();
+        wc.hide(navigationBars() + statusBars());
+
+        BaseWidgetSheet widgetSheet = WidgetsFullSheet.show(this, true);
+        widgetSheet.disableNavBarScrim(true);
+        widgetSheet.addOnCloseListener(this::finish);
+
+        refreshAndBindWidgets();
+    }
+
+    @NonNull
+    @Override
+    public PopupDataProvider getPopupDataProvider() {
+        return mPopupDataProvider;
+    }
+
+    @Override
+    public SimpleDragLayer<WidgetPickerActivity> getDragLayer() {
+        return mDragLayer;
+    }
+
+    @Override
+    public View.OnClickListener getItemOnClickListener() {
+        return v -> {
+            final AppWidgetProviderInfo info =
+                    (v instanceof WidgetCell) ? ((WidgetCell) v).getWidgetItem().widgetInfo : null;
+            if (info == null || info.provider == null) {
+                return;
+            }
+
+            setResult(RESULT_OK, new Intent()
+                    .putExtra(Intent.EXTRA_COMPONENT_NAME, info.provider)
+                    .putExtra(Intent.EXTRA_USER, info.getProfile()));
+
+            finish();
+        };
+    }
+
+    @Override
+    public View.OnLongClickListener getAllAppsItemLongClickListener() {
+        return view -> {
+            if (!(view instanceof WidgetCell widgetCell)) return false;
+
+            if (widgetCell.getWidgetView().getDrawable() == null
+                    && widgetCell.getAppWidgetHostViewPreview() == null) {
+                // The widget preview hasn't been loaded; so, we abort the drag.
+                return false;
+            }
+
+            final AppWidgetProviderInfo info = widgetCell.getWidgetItem().widgetInfo;
+            if (info == null || info.provider == null) {
+                return false;
+            }
+
+            ClipData clipData = new ClipData(
+                    new ClipDescription(
+                            /* label= */ "", // not displayed anywhere; so, set to empty.
+                            new String[]{MIMETYPE_TEXT_INTENT}
+                    ),
+                    new ClipData.Item(new Intent()
+                            .putExtra(Intent.EXTRA_USER, info.getProfile())
+                            .putExtra(Intent.EXTRA_COMPONENT_NAME, info.provider))
+            );
+
+            // Set result indicating activity was closed due a widget being dragged.
+            setResult(RESULT_OK, new Intent()
+                    .putExtra(EXTRA_IS_PENDING_WIDGET_DRAG, true));
+
+            // DRAG_FLAG_GLOBAL permits dragging data beyond app window.
+            return view.startDragAndDrop(
+                    clipData,
+                    new View.DragShadowBuilder(view),
+                    /* myLocalState= */ null,
+                    View.DRAG_FLAG_GLOBAL
+            );
+        };
+    }
+
+    private void refreshAndBindWidgets() {
+        MODEL_EXECUTOR.execute(() -> {
+            LauncherAppState app = LauncherAppState.getInstance(this);
+            mModel.update(app, null);
+            final ArrayList<WidgetsListBaseEntry> widgets =
+                    mModel.getFilteredWidgetsListForPicker(
+                            app.getContext(),
+                            /*widgetItemFilter=*/ item -> item.widgetInfo != null
+                    );
+            MAIN_EXECUTOR.execute(() -> mPopupDataProvider.setAllWidgets(widgets));
+        });
+    }
+}
diff --git a/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java b/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java
index e8374b8..037f7a8 100644
--- a/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java
+++ b/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java
@@ -35,9 +35,7 @@
 import com.android.launcher3.R;
 import com.android.launcher3.allapps.FloatingHeaderRow;
 import com.android.launcher3.allapps.FloatingHeaderView;
-import com.android.launcher3.util.OnboardingPrefs;
 import com.android.launcher3.util.Themes;
-import com.android.launcher3.views.ActivityContext;
 
 /**
  * A view which shows a horizontal divider
@@ -93,10 +91,7 @@
                 ? R.color.all_apps_label_text_dark
                 : R.color.all_apps_label_text);
 
-        OnboardingPrefs<?> onboardingPrefs = ActivityContext.lookupContext(
-                getContext()).getOnboardingPrefs();
-        mShowAllAppsLabel = onboardingPrefs == null || !onboardingPrefs.hasReachedMaxCount(
-                ALL_APPS_VISITED_COUNT);
+        mShowAllAppsLabel = !ALL_APPS_VISITED_COUNT.hasReachedMax(context);
     }
 
     public void setup(FloatingHeaderView parent, FloatingHeaderRow[] rows, boolean tabsHidden) {
diff --git a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
index f82474a..f012197 100644
--- a/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
+++ b/quickstep/src/com/android/launcher3/appprediction/PredictionRowView.java
@@ -23,6 +23,7 @@
 import android.util.AttributeSet;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.LinearLayout;
 
 import androidx.annotation.NonNull;
@@ -31,11 +32,13 @@
 import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
+import com.android.launcher3.Flags;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.allapps.FloatingHeaderRow;
 import com.android.launcher3.allapps.FloatingHeaderView;
 import com.android.launcher3.anim.AlphaUpdateListener;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.keyboard.FocusIndicatorHelper;
 import com.android.launcher3.keyboard.FocusIndicatorHelper.SimpleFocusIndicatorHelper;
 import com.android.launcher3.model.data.ItemInfo;
@@ -53,6 +56,11 @@
 
     private final T mActivityContext;
     private int mNumPredictedAppsPerRow;
+    // Vertical padding of the icon that contributes to the expected cell height.
+    private final int mVerticalPadding;
+    // Extra padding that is used in the top app rows (prediction and search) that is not used in
+    // the regular A-Z list. This only applies to single line label.
+    private final int mTopRowExtraHeight;
 
     // Helper to drawing the focus indicator.
     private final FocusIndicatorHelper mFocusHelper;
@@ -75,6 +83,10 @@
         mFocusHelper = new SimpleFocusIndicatorHelper(this);
         mActivityContext = ActivityContext.lookupContext(context);
         mNumPredictedAppsPerRow = mActivityContext.getDeviceProfile().numShownAllAppsColumns;
+        mTopRowExtraHeight = getResources().getDimensionPixelSize(
+                R.dimen.all_apps_search_top_row_extra_height);
+        mVerticalPadding = getResources().getDimensionPixelSize(
+                R.dimen.all_apps_predicted_icon_vertical_padding);
         updateVisibility();
     }
 
@@ -123,9 +135,11 @@
         int iconHeight = deviceProfile.allAppsIconSizePx;
         int iconPadding = deviceProfile.allAppsIconDrawablePaddingPx;
         int textHeight = Utilities.calculateTextHeight(deviceProfile.allAppsIconTextSizePx);
-        int verticalPadding = getResources().getDimensionPixelSize(
-                R.dimen.all_apps_predicted_icon_vertical_padding);
-        int totalHeight = iconHeight + iconPadding + textHeight + verticalPadding * 2;
+        int totalHeight = iconHeight + iconPadding + textHeight + mVerticalPadding * 2;
+        // Prediction row height will be 4dp bigger than the regular apps in A-Z list when two line
+        // is not enabled. Otherwise, the extra height will increase by just the textHeight.
+        int extraHeight = FeatureFlags.enableTwolineAllapps() ? textHeight : mTopRowExtraHeight;
+        totalHeight += extraHeight;
         return getVisibility() == GONE ? 0 : totalHeight + getPaddingTop() + getPaddingBottom();
     }
 
@@ -194,8 +208,12 @@
                 icon.setOnFocusChangeListener(mFocusHelper);
 
                 LayoutParams lp = (LayoutParams) icon.getLayoutParams();
-                // Ensure the all apps icon height matches the workspace icons in portrait mode.
-                lp.height = mActivityContext.getDeviceProfile().allAppsCellHeightPx;
+                if (Flags.enableFocusOutline()) {
+                    lp.height = ViewGroup.LayoutParams.MATCH_PARENT;
+                } else {
+                    // Ensure the all apps icon height matches the workspace icons in portrait mode.
+                    lp.height = mActivityContext.getDeviceProfile().allAppsCellHeightPx;
+                }
                 lp.width = 0;
                 lp.weight = 1;
                 addView(icon);
diff --git a/quickstep/src/com/android/launcher3/desktop/DesktopRecentsTransitionController.kt b/quickstep/src/com/android/launcher3/desktop/DesktopRecentsTransitionController.kt
new file mode 100644
index 0000000..10733fb
--- /dev/null
+++ b/quickstep/src/com/android/launcher3/desktop/DesktopRecentsTransitionController.kt
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.desktop
+
+import android.app.IApplicationThread
+import android.os.IBinder
+import android.os.RemoteException
+import android.util.Log
+import android.view.SurfaceControl
+import android.window.IRemoteTransition
+import android.window.IRemoteTransitionFinishedCallback
+import android.window.RemoteTransition
+import android.window.TransitionInfo
+import com.android.launcher3.statehandlers.DepthController
+import com.android.launcher3.statemanager.StateManager
+import com.android.launcher3.util.Executors.MAIN_EXECUTOR
+import com.android.quickstep.SystemUiProxy
+import com.android.quickstep.TaskViewUtils
+import com.android.quickstep.views.DesktopTaskView
+import java.util.function.Consumer
+
+/** Manage recents related operations with desktop tasks */
+class DesktopRecentsTransitionController(
+    private val stateManager: StateManager<*>,
+    private val systemUiProxy: SystemUiProxy,
+    private val appThread: IApplicationThread,
+    private val depthController: DepthController?
+) {
+
+    /** Launch desktop tasks from recents view */
+    fun launchDesktopFromRecents(
+        desktopTaskView: DesktopTaskView,
+        callback: Consumer<Boolean>? = null
+    ) {
+        val animRunner =
+            RemoteDesktopLaunchTransitionRunner(
+                desktopTaskView,
+                stateManager,
+                depthController,
+                callback
+            )
+        val transition = RemoteTransition(animRunner, appThread, "RecentsToDesktop")
+        systemUiProxy.showDesktopApps(desktopTaskView.display.displayId, transition)
+    }
+
+    private class RemoteDesktopLaunchTransitionRunner(
+        private val desktopTaskView: DesktopTaskView,
+        private val stateManager: StateManager<*>,
+        private val depthController: DepthController?,
+        private val successCallback: Consumer<Boolean>?
+    ) : IRemoteTransition.Stub() {
+
+        override fun startAnimation(
+            token: IBinder,
+            info: TransitionInfo,
+            t: SurfaceControl.Transaction,
+            finishCallback: IRemoteTransitionFinishedCallback
+        ) {
+            val errorHandlingFinishCallback = Runnable {
+                try {
+                    finishCallback.onTransitionFinished(null /* wct */, null /* sct */)
+                } catch (e: RemoteException) {
+                    Log.e(TAG, "Failed to call finish callback for desktop recents animation", e)
+                }
+            }
+
+            MAIN_EXECUTOR.execute {
+                TaskViewUtils.composeRecentsDesktopLaunchAnimator(
+                    desktopTaskView,
+                    stateManager,
+                    depthController,
+                    info,
+                    t
+                ) {
+                    errorHandlingFinishCallback.run()
+                    successCallback?.accept(true)
+                }
+            }
+        }
+
+        override fun mergeAnimation(
+            transition: IBinder,
+            info: TransitionInfo,
+            t: SurfaceControl.Transaction,
+            mergeTarget: IBinder,
+            finishCallback: IRemoteTransitionFinishedCallback
+        ) {}
+
+        override fun onTransitionConsumed(transition: IBinder?, aborted: Boolean) {
+        }
+    }
+
+    companion object {
+        const val TAG = "DesktopRecentsTransitionController"
+    }
+}
diff --git a/quickstep/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java b/quickstep/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java
index a63f9e8..b903c4e 100644
--- a/quickstep/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java
+++ b/quickstep/src/com/android/launcher3/hybridhotseat/HotseatPredictionController.java
@@ -23,6 +23,7 @@
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_HOTSEAT_RANKED;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.FlagDebugUtils.appendFlag;
+import static com.android.launcher3.util.OnboardingPrefs.HOTSEAT_LONGPRESS_TIP_SEEN;
 
 import android.animation.Animator;
 import android.animation.AnimatorSet;
@@ -40,7 +41,9 @@
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.DragSource;
 import com.android.launcher3.DropTarget;
+import com.android.launcher3.Flags;
 import com.android.launcher3.Hotseat;
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.R;
 import com.android.launcher3.anim.AnimationSuccessListener;
@@ -53,13 +56,13 @@
 import com.android.launcher3.model.BgDataModel.FixedContainerItems;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
+import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.popup.SystemShortcut;
 import com.android.launcher3.testing.TestLogging;
 import com.android.launcher3.testing.shared.TestProtocol;
 import com.android.launcher3.touch.ItemLongClickListener;
 import com.android.launcher3.uioverrides.PredictedAppIcon;
 import com.android.launcher3.uioverrides.QuickstepLauncher;
-import com.android.launcher3.util.OnboardingPrefs;
 import com.android.launcher3.views.Snackbar;
 
 import java.io.PrintWriter;
@@ -104,12 +107,11 @@
         if (mLauncher.getWorkspace().isSwitchingState()) return false;
 
         TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "onWorkspaceItemLongClick");
-        if (mEnableHotseatLongPressTipForTesting && !mLauncher.getOnboardingPrefs().getBoolean(
-                OnboardingPrefs.HOTSEAT_LONGPRESS_TIP_SEEN)) {
+        if (mEnableHotseatLongPressTipForTesting && !HOTSEAT_LONGPRESS_TIP_SEEN.get(mLauncher)) {
             Snackbar.show(mLauncher, R.string.hotseat_tip_gaps_filled,
                     R.string.hotseat_prediction_settings, null,
                     () -> mLauncher.startActivity(getSettingsIntent()));
-            mLauncher.getOnboardingPrefs().markChecked(OnboardingPrefs.HOTSEAT_LONGPRESS_TIP_SEEN);
+            LauncherPrefs.get(mLauncher).put(HOTSEAT_LONGPRESS_TIP_SEEN, true);
             mLauncher.getDragLayer().performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
             return true;
         }
@@ -417,6 +419,10 @@
         if (itemInfo.container != LauncherSettings.Favorites.CONTAINER_HOTSEAT_PREDICTION) {
             return null;
         }
+        if (Flags.enablePrivateSpace() && UserCache.getInstance(
+                activity.getApplicationContext()).getUserInfo(itemInfo.user).isPrivate()) {
+            return null;
+        }
         return new PinPrediction(activity, itemInfo, originalView);
     }
 
diff --git a/quickstep/src/com/android/launcher3/model/AppEventProducer.java b/quickstep/src/com/android/launcher3/model/AppEventProducer.java
index 0dde1bd..e17fc88 100644
--- a/quickstep/src/com/android/launcher3/model/AppEventProducer.java
+++ b/quickstep/src/com/android/launcher3/model/AppEventProducer.java
@@ -25,6 +25,7 @@
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_PREDICTION;
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_WIDGETS_PREDICTION;
 import static com.android.launcher3.logger.LauncherAtomExtensions.ExtendedContainers.ContainerCase.DEVICE_SEARCH_RESULT_CONTAINER;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_APP_LAUNCH_DRAGDROP;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_APP_LAUNCH_TAP;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_DISMISS_PREDICTION_UNDO;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_CONVERTED_TO_ICON;
@@ -37,6 +38,7 @@
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ONRESUME;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_QUICKSWITCH_LEFT;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_QUICKSWITCH_RIGHT;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SYSTEM_SHORTCUT_DONT_SUGGEST_APP_TAP;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_LAUNCH_SWIPE_DOWN;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_LAUNCH_TAP;
 import static com.android.launcher3.model.PredictionHelper.isTrackedForHotseatPrediction;
@@ -71,12 +73,13 @@
 import com.android.launcher3.logging.StatsLogManager.EventEnum;
 import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.shortcuts.ShortcutRequest;
+import com.android.launcher3.util.UserIconInfo;
 import com.android.quickstep.logging.StatsLogCompatManager.StatsLogConsumer;
+import com.android.systemui.shared.system.SysUiStatsLog;
 
 import java.util.Locale;
 import java.util.Optional;
 import java.util.function.ObjIntConsumer;
-import java.util.function.Predicate;
 
 /**
  * Utility class to track stats log and emit corresponding app events
@@ -132,9 +135,11 @@
                 || event == LAUNCHER_TASK_LAUNCH_SWIPE_DOWN
                 || event == LAUNCHER_TASK_LAUNCH_TAP
                 || event == LAUNCHER_QUICKSWITCH_RIGHT
-                || event == LAUNCHER_QUICKSWITCH_LEFT) {
+                || event == LAUNCHER_QUICKSWITCH_LEFT
+                || event == LAUNCHER_APP_LAUNCH_DRAGDROP) {
             sendEvent(atomInfo, ACTION_LAUNCH, CONTAINER_PREDICTION);
-        } else if (event == LAUNCHER_ITEM_DROPPED_ON_DONT_SUGGEST) {
+        } else if (event == LAUNCHER_ITEM_DROPPED_ON_DONT_SUGGEST
+                || event == LAUNCHER_SYSTEM_SHORTCUT_DONT_SUGGEST_APP_TAP) {
             sendEvent(atomInfo, ACTION_DISMISS, CONTAINER_PREDICTION);
         } else if (event == LAUNCHER_ITEM_DRAG_STARTED) {
             mLastDragItem = atomInfo;
@@ -186,14 +191,13 @@
     }
 
     @Nullable
-    private AppTarget toAppTarget(LauncherAtom.ItemInfo info) {
-        UserHandle userHandle = Process.myUserHandle();
-        if (info.getIsWork()) {
-            userHandle = UserCache.INSTANCE.get(mContext).getUserProfiles().stream()
-                    .filter(((Predicate<UserHandle>) userHandle::equals).negate())
-                    .findAny()
-                    .orElse(null);
-        }
+    AppTarget toAppTarget(LauncherAtom.ItemInfo info) {
+        int iconInfoType = getIconInfoTypeFromItemInfo(info);
+        UserCache userCache = UserCache.INSTANCE.get(mContext);
+        UserHandle userHandle = userCache.getUserProfiles().stream()
+                .filter(user -> userCache.getUserInfo(user).type == iconInfoType)
+                .findFirst()
+                .orElse(null);
         if (userHandle == null) {
             return null;
         }
@@ -287,6 +291,9 @@
             case SHORTCUTS_CONTAINER: {
                 return "deep-shortcuts";
             }
+            case TASK_BAR_CONTAINER: {
+                return "taskbar";
+            }
             case FOLDER: {
                 FolderContainer fc = ci.getFolder();
                 switch (fc.getParentContainerCase()) {
@@ -323,4 +330,16 @@
         return TextUtils.isEmpty(componentNameString)
                 ? null : ComponentName.unflattenFromString(componentNameString);
     }
+
+    private int getIconInfoTypeFromItemInfo(LauncherAtom.ItemInfo info) {
+        int userType = info.getUserType();
+        return switch (userType) {
+            case SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_WORK -> UserIconInfo.TYPE_WORK;
+            case SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_CLONED ->
+                    UserIconInfo.TYPE_CLONED;
+            case SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_PRIVATE ->
+                    UserIconInfo.TYPE_PRIVATE;
+            default -> UserIconInfo.TYPE_MAIN;
+        };
+    }
 }
diff --git a/quickstep/src/com/android/launcher3/model/PredictionHelper.java b/quickstep/src/com/android/launcher3/model/PredictionHelper.java
index 738dd83..dbd99e1 100644
--- a/quickstep/src/com/android/launcher3/model/PredictionHelper.java
+++ b/quickstep/src/com/android/launcher3/model/PredictionHelper.java
@@ -67,6 +67,9 @@
         } else if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER) {
             return new AppTarget.Builder(new AppTargetId("folder:" + info.id),
                     context.getPackageName(), info.user).build();
+        } else if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR) {
+            return new AppTarget.Builder(new AppTargetId("app_pair:" + info.id),
+                    context.getPackageName(), info.user).build();
         }
         return null;
     }
diff --git a/quickstep/src/com/android/launcher3/model/PredictionUpdateTask.java b/quickstep/src/com/android/launcher3/model/PredictionUpdateTask.java
index e504141..2fcbe4e 100644
--- a/quickstep/src/com/android/launcher3/model/PredictionUpdateTask.java
+++ b/quickstep/src/com/android/launcher3/model/PredictionUpdateTask.java
@@ -15,8 +15,9 @@
  */
 package com.android.launcher3.model;
 
+import static com.android.launcher3.LauncherPrefs.nonRestorableItem;
+import static com.android.launcher3.EncryptionType.ENCRYPTED;
 import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT;
-import static com.android.launcher3.model.QuickstepModelDelegate.LAST_PREDICTION_ENABLED_STATE;
 import static com.android.quickstep.InstantAppResolverImpl.COMPONENT_CLASS_MARKER;
 
 import android.app.prediction.AppTarget;
@@ -29,6 +30,7 @@
 
 import androidx.annotation.NonNull;
 
+import com.android.launcher3.ConstantItem;
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.model.BgDataModel.FixedContainerItems;
@@ -47,6 +49,9 @@
  */
 public class PredictionUpdateTask extends BaseModelUpdateTask {
 
+    public static final ConstantItem<Boolean> LAST_PREDICTION_ENABLED =
+            nonRestorableItem("last_prediction_enabled_state", true, ENCRYPTED);
+
     private final List<AppTarget> mTargets;
     private final PredictorState mPredictorState;
 
@@ -61,8 +66,7 @@
         Context context = app.getContext();
 
         // TODO: remove this
-        LauncherPrefs.getDevicePrefs(context).edit()
-                .putBoolean(LAST_PREDICTION_ENABLED_STATE, !mTargets.isEmpty()).apply();
+        LauncherPrefs.get(context).put(LAST_PREDICTION_ENABLED, !mTargets.isEmpty());
 
         Set<UserHandle> usersForChangedShortcuts =
                 dataModel.extraItems.get(mPredictorState.containerId).items.stream()
diff --git a/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java b/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java
index 32361a8..667f784 100644
--- a/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java
+++ b/quickstep/src/com/android/launcher3/model/QuickstepModelDelegate.java
@@ -18,7 +18,8 @@
 import static android.text.format.DateUtils.DAY_IN_MILLIS;
 import static android.text.format.DateUtils.formatElapsedTime;
 
-import static com.android.launcher3.LauncherPrefs.getDevicePrefs;
+import static com.android.launcher3.LauncherPrefs.nonRestorableItem;
+import static com.android.launcher3.EncryptionType.ENCRYPTED;
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_HOTSEAT_PREDICTION;
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_PREDICTION;
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_WIDGETS_PREDICTION;
@@ -39,7 +40,6 @@
 import android.app.prediction.AppTargetEvent;
 import android.content.Context;
 import android.content.Intent;
-import android.content.SharedPreferences;
 import android.content.pm.LauncherActivityInfo;
 import android.content.pm.LauncherApps;
 import android.content.pm.ShortcutInfo;
@@ -55,8 +55,10 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.annotation.WorkerThread;
 
+import com.android.launcher3.ConstantItem;
 import com.android.launcher3.InvariantDeviceProfile;
 import com.android.launcher3.LauncherAppState;
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.logger.LauncherAtom;
 import com.android.launcher3.logging.InstanceId;
@@ -86,14 +88,15 @@
  */
 public class QuickstepModelDelegate extends ModelDelegate {
 
-    public static final String LAST_PREDICTION_ENABLED_STATE = "last_prediction_enabled_state";
-    private static final String LAST_SNAPSHOT_TIME_MILLIS = "LAST_SNAPSHOT_TIME_MILLIS";
     private static final String BUNDLE_KEY_ADDED_APP_WIDGETS = "added_app_widgets";
     private static final int NUM_OF_RECOMMENDED_WIDGETS_PREDICATION = 20;
 
     private static final boolean IS_DEBUG = false;
     private static final String TAG = "QuickstepModelDelegate";
 
+    private static final ConstantItem<Long> LAST_SNAPSHOT_TIME_MILLIS =
+            nonRestorableItem("LAST_SNAPSHOT_TIME_MILLIS", 0L, ENCRYPTED);
+
     @VisibleForTesting
     final PredictorState mAllAppsState =
             new PredictorState(CONTAINER_PREDICTION, "all_apps_predictions");
@@ -211,8 +214,8 @@
         super.modelLoadComplete();
 
         // Log snapshot of the model
-        SharedPreferences prefs = getDevicePrefs(mApp.getContext());
-        long lastSnapshotTimeMillis = prefs.getLong(LAST_SNAPSHOT_TIME_MILLIS, 0);
+        LauncherPrefs prefs = LauncherPrefs.get(mApp.getContext());
+        long lastSnapshotTimeMillis = prefs.get(LAST_SNAPSHOT_TIME_MILLIS);
         // Log snapshot only if previous snapshot was older than a day
         long now = System.currentTimeMillis();
         if (now - lastSnapshotTimeMillis < DAY_IN_MILLIS) {
@@ -233,7 +236,7 @@
                 StatsLogCompatManager.writeSnapshot(info.buildProto(parent), instanceId);
             }
             additionalSnapshotEvents(instanceId);
-            prefs.edit().putLong(LAST_SNAPSHOT_TIME_MILLIS, now).apply();
+            prefs.put(LAST_SNAPSHOT_TIME_MILLIS, now);
         }
 
         // Only register for launcher snapshot logging if this is the primary ModelDelegate
diff --git a/quickstep/src/com/android/launcher3/secondarydisplay/SecondaryDisplayPredictionsImpl.java b/quickstep/src/com/android/launcher3/secondarydisplay/SecondaryDisplayPredictionsImpl.java
index b982688..8b71f01 100644
--- a/quickstep/src/com/android/launcher3/secondarydisplay/SecondaryDisplayPredictionsImpl.java
+++ b/quickstep/src/com/android/launcher3/secondarydisplay/SecondaryDisplayPredictionsImpl.java
@@ -22,7 +22,6 @@
 import com.android.launcher3.appprediction.AppsDividerView;
 import com.android.launcher3.appprediction.PredictionRowView;
 import com.android.launcher3.model.BgDataModel;
-import com.android.launcher3.util.OnboardingPrefs;
 import com.android.launcher3.views.ActivityContext;
 
 /**
@@ -30,22 +29,21 @@
  */
 @SuppressWarnings("unused")
 public final class SecondaryDisplayPredictionsImpl extends SecondaryDisplayPredictions {
+
     private final ActivityContext mActivityContext;
+    private final Context mContext;
 
     public SecondaryDisplayPredictionsImpl(Context context) {
+        mContext = context;
         mActivityContext = ActivityContext.lookupContext(context);
     }
 
     @Override
     void updateAppDivider() {
-        OnboardingPrefs<?> onboardingPrefs = mActivityContext.getOnboardingPrefs();
-        if (onboardingPrefs != null) {
-            mActivityContext.getAppsView().getFloatingHeaderView()
-                    .findFixedRowByType(AppsDividerView.class)
-                    .setShowAllAppsLabel(
-                            !onboardingPrefs.hasReachedMaxCount(ALL_APPS_VISITED_COUNT));
-            onboardingPrefs.incrementEventCount(ALL_APPS_VISITED_COUNT);
-        }
+        mActivityContext.getAppsView().getFloatingHeaderView()
+                .findFixedRowByType(AppsDividerView.class)
+                .setShowAllAppsLabel(!ALL_APPS_VISITED_COUNT.hasReachedMax(mContext));
+        ALL_APPS_VISITED_COUNT.increment(mContext);
     }
 
     @Override
diff --git a/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java b/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java
index ecf483c..b7e1092 100644
--- a/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java
+++ b/quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java
@@ -15,8 +15,13 @@
  */
 package com.android.launcher3.statehandlers;
 
-import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
+import static android.view.View.VISIBLE;
 
+import static com.android.launcher3.LauncherState.BACKGROUND_APP;
+import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
+
+import android.os.Debug;
 import android.os.SystemProperties;
 import android.util.Log;
 import android.view.View;
@@ -46,6 +51,7 @@
 
     private boolean mFreeformTasksVisible;
     private boolean mInOverviewState;
+    private boolean mBackgroundStateEnabled;
     private boolean mGestureInProgress;
 
     @Nullable
@@ -103,18 +109,14 @@
     }
 
     /**
-     * Whether desktop mode is supported.
-     */
-    private boolean isDesktopModeSupported() {
-        return SystemProperties.getBoolean("persist.wm.debug.desktop_mode", false)
-                || SystemProperties.getBoolean("persist.wm.debug.desktop_mode_2", false);
-    }
-
-    /**
      * Whether freeform windows are visible in desktop mode.
      */
     public boolean areFreeformTasksVisible() {
-        return mFreeformTasksVisible;
+        if (DEBUG) {
+            Log.d(TAG, "areFreeformTasksVisible: freeformVisible=" + mFreeformTasksVisible
+                    + " overview=" + mInOverviewState);
+        }
+        return mFreeformTasksVisible && !mInOverviewState;
     }
 
     /**
@@ -122,7 +124,8 @@
      */
     public void setFreeformTasksVisible(boolean freeformTasksVisible) {
         if (DEBUG) {
-            Log.d(TAG, "setFreeformTasksVisible: visible=" + freeformTasksVisible);
+            Log.d(TAG, "setFreeformTasksVisible: visible=" + freeformTasksVisible
+                    + " currentValue=" + mFreeformTasksVisible);
         }
         if (!isDesktopModeSupported()) {
             return;
@@ -147,11 +150,21 @@
     }
 
     /**
-     * Sets whether the overview is visible and updates launcher visibility based on that.
+     * Process launcher state change and update launcher view visibility based on desktop state
      */
-    public void setOverviewStateEnabled(boolean overviewStateEnabled) {
+    public void onLauncherStateChanged(LauncherState state) {
         if (DEBUG) {
-            Log.d(TAG, "setOverviewStateEnabled: enabled=" + overviewStateEnabled);
+            Log.d(TAG, "onLauncherStateChanged: newState=" + state);
+        }
+        setBackgroundStateEnabled(state == BACKGROUND_APP);
+        // Desktop visibility tracks overview and background state separately
+        setOverviewStateEnabled(state != BACKGROUND_APP && state.overviewUi);
+    }
+
+    private void setOverviewStateEnabled(boolean overviewStateEnabled) {
+        if (DEBUG) {
+            Log.d(TAG, "setOverviewStateEnabled: enabled=" + overviewStateEnabled
+                    + " currentValue=" + mInOverviewState);
         }
         if (!isDesktopModeSupported()) {
             return;
@@ -161,7 +174,30 @@
             if (mInOverviewState) {
                 setLauncherViewsVisibility(View.VISIBLE);
                 markLauncherResumed();
-            } else if (mFreeformTasksVisible) {
+            } else if (areFreeformTasksVisible() && !mGestureInProgress) {
+                // Switching out of overview state and gesture finished.
+                // If freeform tasks are still visible, hide launcher again.
+                setLauncherViewsVisibility(View.INVISIBLE);
+                markLauncherPaused();
+            }
+        }
+    }
+
+    private void setBackgroundStateEnabled(boolean backgroundStateEnabled) {
+        if (DEBUG) {
+            Log.d(TAG, "setBackgroundStateEnabled: enabled=" + backgroundStateEnabled
+                    + " currentValue=" + mBackgroundStateEnabled);
+        }
+        if (!isDesktopModeSupported()) {
+            return;
+        }
+        if (backgroundStateEnabled != mBackgroundStateEnabled) {
+            mBackgroundStateEnabled = backgroundStateEnabled;
+            if (mBackgroundStateEnabled) {
+                setLauncherViewsVisibility(View.VISIBLE);
+                markLauncherResumed();
+            } else if (areFreeformTasksVisible() && !mGestureInProgress) {
+                // Switching out of background state. If freeform tasks are visible, pause launcher.
                 setLauncherViewsVisibility(View.INVISIBLE);
                 markLauncherPaused();
             }
@@ -182,6 +218,9 @@
         if (!isDesktopModeSupported()) {
             return;
         }
+        if (DEBUG) {
+            Log.d(TAG, "setRecentsGestureStart");
+        }
         setRecentsGestureInProgress(true);
     }
 
@@ -193,6 +232,9 @@
         if (!isDesktopModeSupported()) {
             return;
         }
+        if (DEBUG) {
+            Log.d(TAG, "setRecentsGestureEnd: endTarget=" + endTarget);
+        }
         setRecentsGestureInProgress(false);
 
         if (endTarget == null) {
@@ -202,9 +244,6 @@
     }
 
     private void setRecentsGestureInProgress(boolean gestureInProgress) {
-        if (DEBUG) {
-            Log.d(TAG, "setGestureInProgress: inProgress=" + gestureInProgress);
-        }
         if (gestureInProgress != mGestureInProgress) {
             mGestureInProgress = gestureInProgress;
         }
@@ -221,7 +260,8 @@
 
     private void setLauncherViewsVisibility(int visibility) {
         if (DEBUG) {
-            Log.d(TAG, "setLauncherViewsVisibility: visibility=" + visibility);
+            Log.d(TAG, "setLauncherViewsVisibility: visibility=" + visibility + " "
+                    + Debug.getCaller());
         }
         View workspaceView = mLauncher.getWorkspace();
         if (workspaceView != null) {
@@ -231,11 +271,14 @@
         if (dragLayer != null) {
             dragLayer.setVisibility(visibility);
         }
+        if (mLauncher instanceof QuickstepLauncher ql && ql.getTaskbarUIController() != null) {
+            ql.getTaskbarUIController().onLauncherVisibilityChanged(visibility == VISIBLE);
+        }
     }
 
     private void markLauncherPaused() {
         if (DEBUG) {
-            Log.d(TAG, "markLauncherPaused");
+            Log.d(TAG, "markLauncherPaused " + Debug.getCaller());
         }
         StatefulActivity<LauncherState> activity =
                 QuickstepLauncher.ACTIVITY_TRACKER.getCreatedActivity();
@@ -246,7 +289,7 @@
 
     private void markLauncherResumed() {
         if (DEBUG) {
-            Log.d(TAG, "markLauncherResumed");
+            Log.d(TAG, "markLauncherResumed " + Debug.getCaller());
         }
         StatefulActivity<LauncherState> activity =
                 QuickstepLauncher.ACTIVITY_TRACKER.getCreatedActivity();
diff --git a/quickstep/src/com/android/launcher3/taskbar/BaseTaskbarContext.java b/quickstep/src/com/android/launcher3/taskbar/BaseTaskbarContext.java
index 331184a..c201236 100644
--- a/quickstep/src/com/android/launcher3/taskbar/BaseTaskbarContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/BaseTaskbarContext.java
@@ -20,8 +20,6 @@
 import android.view.LayoutInflater;
 
 import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
-import com.android.launcher3.LauncherPrefs;
-import com.android.launcher3.util.OnboardingPrefs;
 import com.android.launcher3.util.Themes;
 import com.android.launcher3.views.ActivityContext;
 
@@ -34,12 +32,10 @@
 
     protected final LayoutInflater mLayoutInflater;
     private final List<OnDeviceProfileChangeListener> mDPChangeListeners = new ArrayList<>();
-    private final OnboardingPrefs<BaseTaskbarContext> mOnboardingPrefs;
 
     public BaseTaskbarContext(Context windowContext) {
         super(windowContext, Themes.getActivityThemeRes(windowContext));
         mLayoutInflater = LayoutInflater.from(this).cloneInContext(this);
-        mOnboardingPrefs = new OnboardingPrefs<>(this, LauncherPrefs.getPrefs(this));
     }
 
     @Override
@@ -52,11 +48,6 @@
         return mDPChangeListeners;
     }
 
-    @Override
-    public OnboardingPrefs<BaseTaskbarContext> getOnboardingPrefs() {
-        return mOnboardingPrefs;
-    }
-
     /** Callback invoked when a drag is initiated within this context. */
     public abstract void onDragStart();
 
diff --git a/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java
index 885afff..0a9dfff 100644
--- a/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/DesktopNavbarButtonsViewController.java
@@ -18,11 +18,15 @@
 import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_NOTIFICATIONS;
 import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_QUICK_SETTINGS;
 
+import android.content.Context;
+import android.content.pm.ActivityInfo.Config;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 
+import androidx.annotation.Nullable;
+
 import com.android.launcher3.R;
 
 /**
@@ -39,8 +43,8 @@
     private TaskbarControllers mControllers;
 
     public DesktopNavbarButtonsViewController(TaskbarActivityContext context,
-            FrameLayout navButtonsView) {
-        super(context, navButtonsView);
+            @Nullable Context navigationBarPanelContext, FrameLayout navButtonsView) {
+        super(context, navigationBarPanelContext, navButtonsView);
         mContext = context;
         mNavButtonsView = navButtonsView;
         mNavButtonContainer = mNavButtonsView.findViewById(R.id.end_nav_buttons);
@@ -56,6 +60,11 @@
     @Override
     public void init(TaskbarControllers controllers) {
         mControllers = controllers;
+        super.init(controllers);
+    }
+
+    @Override
+    protected void setupController() {
         mNavButtonsView.getLayoutParams().height = mContext.getDeviceProfile().taskbarHeight;
 
         // Quick settings and notifications buttons
@@ -72,4 +81,7 @@
     /** Cleans up on destroy */
     @Override
     public void onDestroy() { }
+
+    @Override
+    public void onConfigurationChanged(@Config int configChanges) { }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java
index f981610..535c8ec 100644
--- a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java
@@ -105,6 +105,13 @@
     }
 
     @Override
+    protected boolean isInOverview() {
+        TopTaskTracker.CachedTaskInfo topTask = TopTaskTracker.INSTANCE
+                .get(mControllers.taskbarActivityContext).getCachedTopTask(true);
+        return topTask.isRecentsTask();
+    }
+
+    @Override
     public RecentsView getRecentsView() {
         return mRecentsActivity.getOverviewPanel();
     }
diff --git a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchController.java b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchController.java
index 072fc30..5caf004 100644
--- a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchController.java
@@ -15,6 +15,8 @@
  */
 package com.android.launcher3.taskbar;
 
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
+
 import android.content.ComponentName;
 import android.content.pm.ActivityInfo;
 
@@ -28,9 +30,9 @@
 import com.android.quickstep.RecentsModel;
 import com.android.quickstep.util.DesktopTask;
 import com.android.quickstep.util.GroupTask;
-import com.android.quickstep.views.DesktopTaskView;
 import com.android.systemui.shared.recents.model.Task;
 import com.android.systemui.shared.recents.model.ThumbnailData;
+import com.android.systemui.shared.system.ActivityManagerWrapper;
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -109,13 +111,20 @@
         DesktopVisibilityController desktopController =
                 LauncherActivityInterface.INSTANCE.getDesktopVisibilityController();
         final boolean onDesktop =
-                DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED
+                isDesktopModeSupported()
                         && desktopController != null
                         && desktopController.areFreeformTasksVisible();
 
         if (mModel.isTaskListValid(mTaskListChangeId)) {
-            mQuickSwitchViewController.openQuickSwitchView(mTasks,
-                    mNumHiddenTasks, /* updateTasks= */ false, currentFocusedIndex, onDesktop);
+            // When we are opening the KQS with no focus override, check if the first task is
+            // running. If not, focus that first task.
+            mQuickSwitchViewController.openQuickSwitchView(
+                    mTasks,
+                    mNumHiddenTasks,
+                    /* updateTasks= */ false,
+                    currentFocusedIndex == -1 && !mControllerCallbacks.isFirstTaskRunning()
+                            ? 0 : currentFocusedIndex,
+                    onDesktop);
             return;
         }
 
@@ -125,8 +134,15 @@
             } else {
                 processLoadedTasks(tasks);
             }
-            mQuickSwitchViewController.openQuickSwitchView(mTasks,
-                    mNumHiddenTasks, /* updateTasks= */ true, currentFocusedIndex, onDesktop);
+            // Check if the first task is running after the recents model has updated so that we use
+            // the correct index.
+            mQuickSwitchViewController.openQuickSwitchView(
+                    mTasks,
+                    mNumHiddenTasks,
+                    /* updateTasks= */ true,
+                    currentFocusedIndex == -1 && !mControllerCallbacks.isFirstTaskRunning()
+                            ? 0 : currentFocusedIndex,
+                    onDesktop);
         });
     }
 
@@ -136,7 +152,7 @@
 
         // Hide all desktop tasks and show them on the hidden tile
         int hiddenDesktopTasks = 0;
-        if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED) {
+        if (isDesktopModeSupported()) {
             DesktopTask desktopTask = findDesktopTask(tasks);
             if (desktopTask != null) {
                 hiddenDesktopTasks = desktopTask.tasks.size();
@@ -245,5 +261,20 @@
         void onCloseComplete() {
             mQuickSwitchViewController = null;
         }
+
+        boolean isTaskRunning(@Nullable GroupTask task) {
+            if (task == null) {
+                return false;
+            }
+            int runningTaskId = ActivityManagerWrapper.getInstance().getRunningTask().taskId;
+            Task task2 = task.task2;
+
+            return runningTaskId == task.task1.key.id
+                    || (task2 != null && runningTaskId == task2.key.id);
+        }
+
+        boolean isFirstTaskRunning() {
+            return isTaskRunning(getTaskAt(0));
+        }
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchTaskView.java b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchTaskView.java
index 3e1a6ae..a9d50b9 100644
--- a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchTaskView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchTaskView.java
@@ -40,6 +40,8 @@
 
 import java.util.function.Consumer;
 
+import kotlin.Unit;
+
 /**
  * A view that displays a recent task during a keyboard quick switch.
  */
@@ -96,17 +98,18 @@
         Resources resources = mContext.getResources();
 
         Preconditions.assertNotNull(mContent);
-        mBorderAnimator = new BorderAnimator(
+        mBorderAnimator = BorderAnimator.createScalingBorderAnimator(
                 /* borderRadiusPx= */ resources.getDimensionPixelSize(
                         R.dimen.keyboard_quick_switch_task_view_radius),
-                /* borderColor= */ mBorderColor,
-                /* borderAnimationParams= */ new BorderAnimator.ScalingParams(
-                        /* borderWidthPx= */ resources.getDimensionPixelSize(
+                /* borderWidthPx= */ resources.getDimensionPixelSize(
                                 R.dimen.keyboard_quick_switch_border_width),
-                        /* boundsBuilder= */ bounds -> bounds.set(
-                                0, 0, getWidth(), getHeight()),
-                        /* targetView= */ this,
-                        /* contentView= */ mContent));
+                /* boundsBuilder= */ bounds -> {
+                    bounds.set(0, 0, getWidth(), getHeight());
+                    return Unit.INSTANCE;
+                },
+                /* targetView= */ this,
+                /* contentView= */ mContent,
+                /* borderColor= */ mBorderColor);
     }
 
     @Nullable
diff --git a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchView.java b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchView.java
index 4e9e301..42c423c 100644
--- a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchView.java
@@ -46,6 +46,8 @@
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.anim.AnimatedFloat;
+import com.android.launcher3.testing.TestLogging;
+import com.android.launcher3.testing.shared.TestProtocol;
 import com.android.quickstep.util.GroupTask;
 
 import java.util.HashMap;
@@ -360,11 +362,8 @@
                                         OPEN_OUTLINE_INTERPOLATOR));
                     }
                 });
-                if (currentFocusIndexOverride == -1) {
-                    initializeScroll(/* index= */ 0, /* shouldTruncateTarget= */ false);
-                } else {
-                    animateFocusMove(-1, currentFocusIndexOverride);
-                }
+                animateFocusMove(-1, currentFocusIndexOverride == -1
+                        ? Math.min(mContent.getChildCount(), 1) : currentFocusIndexOverride);
                 displayedContent.setVisibility(VISIBLE);
                 setVisibility(VISIBLE);
                 requestFocus();
@@ -413,7 +412,8 @@
                     // there are more tasks
                     initializeScroll(
                             firstVisibleTaskIndex,
-                            /* shouldTruncateTarget= */ firstVisibleTaskIndex != toIndex);
+                            /* shouldTruncateTarget= */ firstVisibleTaskIndex != 0
+                                    && firstVisibleTaskIndex != toIndex);
                 } else if (toIndex > fromIndex || toIndex == 0) {
                     // Scrolling to next task view
                     if (mIsRtl) {
@@ -439,6 +439,13 @@
     }
 
     @Override
+    public boolean dispatchKeyEvent(KeyEvent event) {
+        TestLogging.recordKeyEvent(
+                TestProtocol.SEQUENCE_MAIN, "KeyboardQuickSwitchView key event", event);
+        return super.dispatchKeyEvent(event);
+    }
+
+    @Override
     public boolean onKeyUp(int keyCode, KeyEvent event) {
         return (mViewCallbacks != null
                 && mViewCallbacks.onKeyUp(keyCode, event, mIsRtl, mDisplayingRecentTasks))
@@ -454,56 +461,80 @@
             return;
         }
         if (mIsRtl) {
-            scrollRightTo(
-                    task, shouldTruncateTarget, /* smoothScroll= */ false);
-        } else {
             scrollLeftTo(
-                    task, shouldTruncateTarget, /* smoothScroll= */ false);
+                    task,
+                    shouldTruncateTarget,
+                    /* smoothScroll= */ false,
+                    /* waitForLayout= */ true);
+        } else {
+            scrollRightTo(
+                    task,
+                    shouldTruncateTarget,
+                    /* smoothScroll= */ false,
+                    /* waitForLayout= */ true);
         }
     }
 
     private void scrollRightTo(@NonNull View targetTask) {
-        scrollRightTo(targetTask, /* shouldTruncateTarget= */ false, /* smoothScroll= */ true);
+        scrollRightTo(
+                targetTask,
+                /* shouldTruncateTarget= */ false,
+                /* smoothScroll= */ true,
+                /* waitForLayout= */ false);
     }
 
     private void scrollRightTo(
-            @NonNull View targetTask, boolean shouldTruncateTarget, boolean smoothScroll) {
+            @NonNull View targetTask,
+            boolean shouldTruncateTarget,
+            boolean smoothScroll,
+            boolean waitForLayout) {
         if (!mDisplayingRecentTasks) {
             return;
         }
         if (smoothScroll && !shouldScroll(targetTask, shouldTruncateTarget)) {
             return;
         }
-        int scrollTo = targetTask.getLeft() - mSpacing
-                + (shouldTruncateTarget ? targetTask.getWidth() / 2 : 0);
-        // Scroll so that the focused task is to the left of the list
-        if (smoothScroll) {
-            mScrollView.smoothScrollTo(scrollTo, 0);
-        } else {
-            mScrollView.scrollTo(scrollTo, 0);
-        }
+        runScrollCommand(waitForLayout, () -> {
+            int scrollTo = targetTask.getLeft() - mSpacing
+                    + (shouldTruncateTarget ? targetTask.getWidth() / 2 : 0);
+            // Scroll so that the focused task is to the left of the list
+            if (smoothScroll) {
+                mScrollView.smoothScrollTo(scrollTo, 0);
+            } else {
+                mScrollView.scrollTo(scrollTo, 0);
+            }
+        });
     }
 
     private void scrollLeftTo(@NonNull View targetTask) {
-        scrollLeftTo(targetTask, /* shouldTruncateTarget= */ false, /* smoothScroll= */ true);
+        scrollLeftTo(
+                targetTask,
+                /* shouldTruncateTarget= */ false,
+                /* smoothScroll= */ true,
+                /* waitForLayout= */ false);
     }
 
     private void scrollLeftTo(
-            @NonNull View targetTask, boolean shouldTruncateTarget, boolean smoothScroll) {
+            @NonNull View targetTask,
+            boolean shouldTruncateTarget,
+            boolean smoothScroll,
+            boolean waitForLayout) {
         if (!mDisplayingRecentTasks) {
             return;
         }
         if (smoothScroll && !shouldScroll(targetTask, shouldTruncateTarget)) {
             return;
         }
-        int scrollTo = targetTask.getRight() + mSpacing - mScrollView.getWidth()
-                - (shouldTruncateTarget ? targetTask.getWidth() / 2 : 0);
-        // Scroll so that the focused task is to the right of the list
-        if (smoothScroll) {
-            mScrollView.smoothScrollTo(scrollTo, 0);
-        } else {
-            mScrollView.scrollTo(scrollTo, 0);
-        }
+        runScrollCommand(waitForLayout, () -> {
+            int scrollTo = targetTask.getRight() + mSpacing - mScrollView.getWidth()
+                    - (shouldTruncateTarget ? targetTask.getWidth() / 2 : 0);
+            // Scroll so that the focused task is to the right of the list
+            if (smoothScroll) {
+                mScrollView.smoothScrollTo(scrollTo, 0);
+            } else {
+                mScrollView.scrollTo(scrollTo, 0);
+            }
+        });
     }
 
     private boolean shouldScroll(@NonNull View targetTask, boolean shouldTruncateTarget) {
@@ -514,6 +545,21 @@
         return isTargetTruncated && !shouldTruncateTarget;
     }
 
+    private void runScrollCommand(boolean waitForLayout, @NonNull Runnable scrollCommand) {
+        if (!waitForLayout) {
+            scrollCommand.run();
+            return;
+        }
+        mScrollView.getViewTreeObserver().addOnGlobalLayoutListener(
+                new ViewTreeObserver.OnGlobalLayoutListener() {
+                    @Override
+                    public void onGlobalLayout() {
+                        scrollCommand.run();
+                        mScrollView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+                    }
+                });
+    }
+
     @Nullable
     protected KeyboardQuickSwitchTaskView getTaskAt(int index) {
         return !mDisplayingRecentTasks || index < 0 || index >= mContent.getChildCount()
diff --git a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchViewController.java b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchViewController.java
index a293f74..2421c94 100644
--- a/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchViewController.java
@@ -15,23 +15,31 @@
  */
 package com.android.launcher3.taskbar;
 
+import static android.window.SplashScreen.SPLASH_SCREEN_STYLE_UNDEFINED;
+
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
 
 import android.animation.Animator;
+import android.app.ActivityOptions;
 import android.view.KeyEvent;
 import android.view.View;
+import android.view.animation.AnimationUtils;
+import android.window.RemoteTransition;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import com.android.launcher3.anim.AnimationSuccessListener;
+import com.android.launcher3.Utilities;
+import com.android.launcher3.anim.AnimatorListeners;
 import com.android.launcher3.taskbar.overlay.TaskbarOverlayContext;
 import com.android.launcher3.taskbar.overlay.TaskbarOverlayDragLayer;
 import com.android.quickstep.SystemUiProxy;
 import com.android.quickstep.util.GroupTask;
+import com.android.quickstep.util.SlideInRemoteTransition;
 import com.android.systemui.shared.recents.model.Task;
 import com.android.systemui.shared.recents.model.ThumbnailData;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
+import com.android.systemui.shared.system.QuickStepContract;
 
 import java.io.PrintWriter;
 import java.util.List;
@@ -92,27 +100,19 @@
 
     protected void closeQuickSwitchView(boolean animate) {
         if (mCloseAnimation != null) {
-            if (animate) {
-                // Let currently-running animation finish.
-                return;
-            } else {
-                mCloseAnimation.cancel();
+            // Let currently-running animation finish.
+            if (!animate) {
+                mCloseAnimation.end();
             }
+            return;
         }
         if (!animate) {
-            mCloseAnimation = null;
             onCloseComplete();
             return;
         }
         mCloseAnimation = mKeyboardQuickSwitchView.getCloseAnimation();
 
-        mCloseAnimation.addListener(new AnimationSuccessListener() {
-            @Override
-            public void onAnimationSuccess(Animator animator) {
-                mCloseAnimation = null;
-                onCloseComplete();
-            }
-        });
+        mCloseAnimation.addListener(AnimatorListeners.forEndCallback(this::onCloseComplete));
         mCloseAnimation.start();
     }
 
@@ -125,9 +125,12 @@
      * index will be focused.
      */
     protected int launchFocusedTask() {
-        // Launch the second-most recent task if the user quick switches too quickly, if possible.
-        return launchTaskAt(mCurrentFocusIndex == -1
-                ? (mControllerCallbacks.getTaskCount() > 1 ? 1 : 0) : mCurrentFocusIndex);
+        if (mCurrentFocusIndex != -1) {
+            return launchTaskAt(mCurrentFocusIndex);
+        }
+        // If the user quick switches too quickly, updateCurrentFocusIndex might not have run.
+        return launchTaskAt(mControllerCallbacks.isFirstTaskRunning()
+                && mControllerCallbacks.getTaskCount() > 1 ? 1 : 0);
     }
 
     private int launchTaskAt(int index) {
@@ -141,25 +144,40 @@
         GroupTask task = mControllerCallbacks.getTaskAt(index);
         if (task == null) {
             return Math.max(0, index);
-        } else if (mOnDesktop) {
+        }
+        if (mControllerCallbacks.isTaskRunning(task)) {
+            // Ignore attempts to run the selected task if it is already running.
+            return -1;
+        }
+
+        TaskbarActivityContext context = mControllers.taskbarActivityContext;
+        RemoteTransition remoteTransition = new RemoteTransition(new SlideInRemoteTransition(
+                Utilities.isRtl(mControllers.taskbarActivityContext.getResources()),
+                context.getDeviceProfile().overviewPageSpacing,
+                QuickStepContract.getWindowCornerRadius(context),
+                AnimationUtils.loadInterpolator(
+                        context, android.R.interpolator.fast_out_extra_slow_in)));
+        if (mOnDesktop) {
             UI_HELPER_EXECUTOR.execute(() ->
                     SystemUiProxy.INSTANCE.get(mKeyboardQuickSwitchView.getContext())
                             .showDesktopApp(task.task1.key.id));
         } else if (task.task2 == null) {
-            UI_HELPER_EXECUTOR.execute(() ->
-                    ActivityManagerWrapper.getInstance().startActivityFromRecents(
-                            task.task1.key,
-                            mControllers.taskbarActivityContext.getActivityLaunchOptions(
-                                    taskView == null ? mKeyboardQuickSwitchView : taskView, null)
-                                    .options));
+            UI_HELPER_EXECUTOR.execute(() -> {
+                ActivityOptions activityOptions = mControllers.taskbarActivityContext
+                        .makeDefaultActivityOptions(SPLASH_SCREEN_STYLE_UNDEFINED).options;
+                activityOptions.setRemoteTransition(remoteTransition);
+
+                ActivityManagerWrapper.getInstance().startActivityFromRecents(
+                        task.task1.key, activityOptions);
+            });
         } else {
-            mControllers.uiController.launchSplitTasks(
-                    taskView == null ? mKeyboardQuickSwitchView : taskView, task);
+            mControllers.uiController.launchSplitTasks(task, remoteTransition);
         }
         return -1;
     }
 
     private void onCloseComplete() {
+        mCloseAnimation = null;
         mOverlayContext.getDragLayer().removeView(mKeyboardQuickSwitchView);
         mControllerCallbacks.onCloseComplete();
     }
diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
index 4e834ec..20e977b 100644
--- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java
@@ -18,16 +18,17 @@
 import static com.android.launcher3.QuickstepTransitionManager.TRANSIENT_TASKBAR_TRANSITION_DURATION;
 import static com.android.launcher3.statemanager.BaseState.FLAG_NON_INTERACTIVE;
 import static com.android.launcher3.taskbar.TaskbarEduTooltipControllerKt.TOOLTIP_STEP_FEATURES;
-import static com.android.launcher3.taskbar.TaskbarLauncherStateController.FLAG_RESUMED;
+import static com.android.launcher3.taskbar.TaskbarLauncherStateController.FLAG_VISIBLE;
 import static com.android.quickstep.TaskAnimationManager.ENABLE_SHELL_TRANSITIONS;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import android.animation.Animator;
 import android.animation.AnimatorSet;
 import android.os.RemoteException;
 import android.util.Log;
 import android.view.TaskTransitionSpec;
-import android.view.View;
 import android.view.WindowManagerGlobal;
+import android.window.RemoteTransition;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -41,10 +42,13 @@
 import com.android.launcher3.logging.InstanceId;
 import com.android.launcher3.logging.InstanceIdSequence;
 import com.android.launcher3.model.data.ItemInfo;
+import com.android.launcher3.statehandlers.DesktopVisibilityController;
+import com.android.launcher3.taskbar.bubbles.BubbleBarController;
 import com.android.launcher3.uioverrides.QuickstepLauncher;
 import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.MultiPropertyFactory;
 import com.android.launcher3.util.OnboardingPrefs;
+import com.android.quickstep.LauncherActivityInterface;
 import com.android.quickstep.RecentsAnimationCallbacks;
 import com.android.quickstep.util.GroupTask;
 import com.android.quickstep.views.RecentsView;
@@ -99,7 +103,7 @@
 
         mLauncher.setTaskbarUIController(this);
 
-        onLauncherResumedOrPaused(mLauncher.hasBeenResumed(), true /* fromInit */);
+        onLauncherVisibilityChanged(mLauncher.hasBeenResumed(), true /* fromInit */);
 
         onStashedInAppChanged(mLauncher.getDeviceProfile());
         mLauncher.addOnDeviceProfileChangeListener(mOnDeviceProfileChangeListener);
@@ -118,7 +122,7 @@
     @Override
     protected void onDestroy() {
         super.onDestroy();
-        onLauncherResumedOrPaused(false);
+        onLauncherVisibilityChanged(false);
         mTaskbarLauncherStateController.onDestroy();
 
         mLauncher.setTaskbarUIController(null);
@@ -159,8 +163,9 @@
      *                            sub-animations are properly coordinated. This duration should not
      *                            actually be used since this animation tracks a swipe progress.
      */
-    protected void addLauncherResumeAnimation(AnimatorSet animation, int placeholderDuration) {
-        animation.play(onLauncherResumedOrPaused(
+    protected void addLauncherVisibilityChangedAnimation(AnimatorSet animation,
+            int placeholderDuration) {
+        animation.play(onLauncherVisibilityChanged(
                 /* isResumed= */ true,
                 /* fromInit= */ false,
                 /* startAnimation= */ false,
@@ -170,40 +175,63 @@
     /**
      * Should be called from onResume() and onPause(), and animates the Taskbar accordingly.
      */
-    public void onLauncherResumedOrPaused(boolean isResumed) {
-        onLauncherResumedOrPaused(isResumed, false /* fromInit */);
+    public void onLauncherVisibilityChanged(boolean isVisible) {
+        onLauncherVisibilityChanged(isVisible, false /* fromInit */);
     }
 
-    private void onLauncherResumedOrPaused(boolean isResumed, boolean fromInit) {
-        onLauncherResumedOrPaused(
-                isResumed,
+    private void onLauncherVisibilityChanged(boolean isVisible, boolean fromInit) {
+        onLauncherVisibilityChanged(
+                isVisible,
                 fromInit,
                 /* startAnimation= */ true,
                 DisplayController.isTransientTaskbar(mLauncher)
                         ? TRANSIENT_TASKBAR_TRANSITION_DURATION
-                        : (!isResumed
+                        : (!isVisible
                                 ? QuickstepTransitionManager.TASKBAR_TO_APP_DURATION
                                 : QuickstepTransitionManager.TASKBAR_TO_HOME_DURATION));
     }
 
     @Nullable
-    private Animator onLauncherResumedOrPaused(
-            boolean isResumed, boolean fromInit, boolean startAnimation, int duration) {
+    private Animator onLauncherVisibilityChanged(
+            boolean isVisible, boolean fromInit, boolean startAnimation, int duration) {
         // Launcher is resumed during the swipe-to-overview gesture under shell-transitions, so
         // avoid updating taskbar state in that situation (when it's non-interactive -- or
         // "background") to avoid premature animations.
-        if (ENABLE_SHELL_TRANSITIONS && isResumed
+        if (ENABLE_SHELL_TRANSITIONS && isVisible
                 && mLauncher.getStateManager().getState().hasFlag(FLAG_NON_INTERACTIVE)
                 && !mLauncher.getStateManager().getState().isTaskbarAlignedWithHotseat(mLauncher)) {
             return null;
         }
 
-        mTaskbarLauncherStateController.updateStateForFlag(FLAG_RESUMED, isResumed);
+        DesktopVisibilityController desktopController =
+                LauncherActivityInterface.INSTANCE.getDesktopVisibilityController();
+        final boolean onDesktop =
+                isDesktopModeSupported()
+                        && desktopController != null
+                        && desktopController.areFreeformTasksVisible();
+        if (onDesktop) {
+            isVisible = false;
+        }
+
+        mTaskbarLauncherStateController.updateStateForFlag(FLAG_VISIBLE, isVisible);
         return mTaskbarLauncherStateController.applyState(fromInit ? 0 : duration, startAnimation);
     }
 
+    @Override
+    public void onStateTransitionCompletedAfterSwipeToHome(LauncherState state) {
+        mTaskbarLauncherStateController.onStateTransitionCompletedAfterSwipeToHome(state);
+    }
+
+    @Override
     public void refreshResumedState() {
-        onLauncherResumedOrPaused(mLauncher.hasBeenResumed());
+        onLauncherVisibilityChanged(mLauncher.hasBeenResumed());
+    }
+
+    @Override
+    public void adjustHotseatForBubbleBar(boolean isBubbleBarVisible) {
+        if (mLauncher.getHotseat() != null) {
+            mLauncher.getHotseat().adjustForBubbleBar(isBubbleBarVisible);
+        }
     }
 
     /**
@@ -279,8 +307,7 @@
 
         // Persistent features EDU tooltip.
         if (!DisplayController.isTransientTaskbar(mLauncher)) {
-            return !mLauncher.getOnboardingPrefs().hasReachedMaxCount(
-                    OnboardingPrefs.TASKBAR_EDU_TOOLTIP_STEP);
+            return !OnboardingPrefs.TASKBAR_EDU_TOOLTIP_STEP.hasReachedMax(mLauncher);
         }
 
         // Transient swipe EDU tooltip.
@@ -327,10 +354,25 @@
         return mTaskbarInAppDisplayProgress.value > 0;
     }
 
+    public boolean isBubbleBarEnabled() {
+        return BubbleBarController.isBubbleBarEnabled();
+    }
+
+    /** Whether the bubble bar has any bubbles. */
+    public boolean hasBubbles() {
+        if (mControllers == null) {
+            return false;
+        }
+        if (mControllers.bubbleControllers.isEmpty()) {
+            return false;
+        }
+        return mControllers.bubbleControllers.get().bubbleBarViewController.hasBubbles();
+    }
+
     @Override
     public void onExpandPip() {
         super.onExpandPip();
-        mTaskbarLauncherStateController.updateStateForFlag(FLAG_RESUMED, false);
+        mTaskbarLauncherStateController.updateStateForFlag(FLAG_VISIBLE, false);
         mTaskbarLauncherStateController.applyState();
     }
 
@@ -362,8 +404,9 @@
     }
 
     @Override
-    public void launchSplitTasks(@NonNull View taskView, @NonNull GroupTask groupTask) {
-        mLauncher.launchSplitTasks(taskView, groupTask);
+    public void launchSplitTasks(
+            @NonNull GroupTask groupTask, @Nullable RemoteTransition remoteTransition) {
+        mLauncher.launchSplitTasks(groupTask, remoteTransition);
     }
 
     @Override
diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
index fcd8c80..6d4fc18 100644
--- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java
@@ -23,8 +23,8 @@
 import static com.android.launcher3.LauncherAnimUtils.ROTATION_DRAWABLE_PERCENT;
 import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X;
 import static com.android.launcher3.Utilities.getDescendantCoordRelativeToAncestor;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION;
 import static com.android.launcher3.taskbar.LauncherTaskbarUIController.SYSUI_SURFACE_PROGRESS_INDEX;
-import static com.android.launcher3.taskbar.TaskbarManager.isPhoneButtonNavMode;
 import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_A11Y;
 import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_BACK;
 import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_HOME;
@@ -51,6 +51,7 @@
 import android.annotation.DrawableRes;
 import android.annotation.IdRes;
 import android.annotation.LayoutRes;
+import android.content.Context;
 import android.content.pm.ActivityInfo.Config;
 import android.content.res.ColorStateList;
 import android.content.res.Resources;
@@ -60,6 +61,7 @@
 import android.graphics.Region;
 import android.graphics.Region.Op;
 import android.graphics.drawable.AnimatedVectorDrawable;
+import android.graphics.drawable.Drawable;
 import android.graphics.drawable.PaintDrawable;
 import android.graphics.drawable.RotateDrawable;
 import android.inputmethodservice.InputMethodService;
@@ -78,6 +80,8 @@
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 
+import androidx.annotation.Nullable;
+
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.LauncherAnimUtils;
 import com.android.launcher3.R;
@@ -88,11 +92,12 @@
 import com.android.launcher3.taskbar.navbutton.NavButtonLayoutFactory;
 import com.android.launcher3.taskbar.navbutton.NavButtonLayoutFactory.NavButtonLayoutter;
 import com.android.launcher3.util.DimensionUtils;
-import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.MultiPropertyFactory.MultiProperty;
 import com.android.launcher3.util.MultiValueAlpha;
 import com.android.launcher3.util.TouchController;
+import com.android.launcher3.util.window.WindowManagerProxy;
 import com.android.launcher3.views.BaseDragLayer;
+import com.android.systemui.shared.navigationbar.KeyButtonRipple;
 import com.android.systemui.shared.rotation.FloatingRotationButton;
 import com.android.systemui.shared.rotation.RotationButton;
 import com.android.systemui.shared.rotation.RotationButtonController;
@@ -144,6 +149,8 @@
     private int mState;
 
     private final TaskbarActivityContext mContext;
+    private final @Nullable Context mNavigationBarPanelContext;
+    private final WindowManagerProxy mWindowManagerProxy;
     private final FrameLayout mNavButtonsView;
     private final LinearLayout mNavButtonContainer;
     // Used for IME+A11Y buttons
@@ -190,6 +197,7 @@
     private MultiValueAlpha mBackButtonAlpha;
     private MultiValueAlpha mHomeButtonAlpha;
     private FloatingRotationButton mFloatingRotationButton;
+    private ImageView mImeSwitcherButton;
 
     // Variables for moving nav buttons to a separate window above IME
     private boolean mAreNavButtonsInSeparateWindow = false;
@@ -198,10 +206,12 @@
             this::onComputeInsetsForSeparateWindow;
     private final RecentsHitboxExtender mHitboxExtender = new RecentsHitboxExtender();
     private ImageView mRecentsButton;
-    private DisplayController mDisplayController;
 
-    public NavbarButtonsViewController(TaskbarActivityContext context, FrameLayout navButtonsView) {
+    public NavbarButtonsViewController(TaskbarActivityContext context,
+            @Nullable Context navigationBarPanelContext, FrameLayout navButtonsView) {
         mContext = context;
+        mNavigationBarPanelContext = navigationBarPanelContext;
+        mWindowManagerProxy = WindowManagerProxy.INSTANCE.get(mContext);
         mNavButtonsView = navButtonsView;
         mNavButtonContainer = mNavButtonsView.findViewById(R.id.end_nav_buttons);
         mEndContextualContainer = mNavButtonsView.findViewById(R.id.end_contextual_buttons);
@@ -219,25 +229,27 @@
      */
     public void init(TaskbarControllers controllers) {
         mControllers = controllers;
+        setupController();
+    }
+
+    protected void setupController() {
         boolean isThreeButtonNav = mContext.isThreeButtonNav();
         DeviceProfile deviceProfile = mContext.getDeviceProfile();
         Resources resources = mContext.getResources();
         Point p = !mContext.isUserSetupComplete()
-                ? new Point(0, controllers.taskbarActivityContext.getSetupWindowHeight())
+                ? new Point(0, mControllers.taskbarActivityContext.getSetupWindowHeight())
                 : DimensionUtils.getTaskbarPhoneDimensions(deviceProfile, resources,
-                        TaskbarManager.isPhoneMode(deviceProfile));
+                        mContext.isPhoneMode());
         mNavButtonsView.getLayoutParams().height = p.y;
 
-        mDisplayController = DisplayController.INSTANCE.get(mContext);
-
         mIsImeRenderingNavButtons =
                 InputMethodService.canImeRenderGesturalNavButtons() && mContext.imeDrawsImeNavBar();
         if (!mIsImeRenderingNavButtons) {
             // IME switcher
-            View imeSwitcherButton = addButton(R.drawable.ic_ime_switcher, BUTTON_IME_SWITCH,
+            mImeSwitcherButton = addButton(R.drawable.ic_ime_switcher, BUTTON_IME_SWITCH,
                     isThreeButtonNav ? mStartContextualContainer : mEndContextualContainer,
                     mControllers.navButtonController, R.id.ime_switcher);
-            mPropertyHolders.add(new StatePropertyHolder(imeSwitcherButton,
+            mPropertyHolders.add(new StatePropertyHolder(mImeSwitcherButton,
                     flags -> ((flags & FLAG_SWITCHER_SHOWING) != 0)
                             && ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0)));
         }
@@ -293,7 +305,7 @@
             initButtons(mNavButtonContainer, mEndContextualContainer,
                     mControllers.navButtonController);
             updateButtonLayoutSpacing();
-            updateStateForFlag(FLAG_SMALL_SCREEN, isPhoneButtonNavMode(mContext));
+            updateStateForFlag(FLAG_SMALL_SCREEN, mContext.isPhoneButtonNavMode());
 
             mPropertyHolders.add(new StatePropertyHolder(
                     mControllers.taskbarDragLayerController.getNavbarBackgroundAlpha(),
@@ -306,7 +318,8 @@
             rotationButton.hide();
             mControllers.rotationButtonController.setRotationButton(rotationButton, null);
         } else {
-            mFloatingRotationButton = new FloatingRotationButton(mContext,
+            mFloatingRotationButton = new FloatingRotationButton(
+                    ENABLE_TASKBAR_NAVBAR_UNIFICATION ? mNavigationBarPanelContext : mContext,
                     R.string.accessibility_rotate_button,
                     R.layout.rotate_suggestion,
                     R.id.rotate_suggestion,
@@ -375,10 +388,12 @@
         int navButtonSize = mContext.getResources().getDimensionPixelSize(
                 R.dimen.taskbar_nav_buttons_size);
         boolean isRtl = Utilities.isRtl(mContext.getResources());
-        mPropertyHolders.add(new StatePropertyHolder(
-                mBackButton, flags -> (flags & FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE) != 0
-                        || (flags & FLAG_KEYGUARD_VISIBLE) != 0,
-                VIEW_TRANSLATE_X, navButtonSize * (isRtl ? -2 : 2), 0));
+        if (!mContext.isPhoneMode()) {
+            mPropertyHolders.add(new StatePropertyHolder(
+                    mBackButton, flags -> (flags & FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE) != 0
+                            || (flags & FLAG_KEYGUARD_VISIBLE) != 0,
+                    VIEW_TRANSLATE_X, navButtonSize * (isRtl ? -2 : 2), 0));
+        }
 
         // home button
         mHomeButton = addButton(R.drawable.ic_sysbar_home, BUTTON_HOME, navContainer,
@@ -467,7 +482,7 @@
     /**
      * @return {@code true} if A11y is showing in 3 button nav taskbar
      */
-    private boolean isContextualButtonShowing() {
+    private boolean isA11yButtonPersistent() {
         return mContext.isThreeButtonNav() && (mState & FLAG_A11Y_VISIBLE) != 0;
     }
 
@@ -617,7 +632,7 @@
      * Sets the translationY of the nav buttons based on the current device state.
      */
     public void updateNavButtonTranslationY() {
-        if (isPhoneButtonNavMode(mContext)) {
+        if (mContext.isPhoneButtonNavMode()) {
             return;
         }
         final float normalTranslationY = mTaskbarNavButtonTranslationY.value;
@@ -652,6 +667,11 @@
 
         for (ImageView button : mAllButtons) {
             button.setImageTintList(ColorStateList.valueOf(iconColor));
+            Drawable background = button.getBackground();
+            if (background instanceof KeyButtonRipple) {
+                ((KeyButtonRipple) background).setDarkIntensity(
+                        mTaskbarNavButtonDarkIntensity.value);
+            }
         }
     }
 
@@ -730,12 +750,15 @@
         // TODO(b/244231596) we're getting the incorrect kidsMode value in small-screen
         boolean isInKidsMode = mContext.isNavBarKidsModeActive();
 
-        if (TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW) {
+        if (ENABLE_TASKBAR_NAVBAR_UNIFICATION) {
             NavButtonLayoutter navButtonLayoutter =
                     NavButtonLayoutFactory.Companion.getUiLayoutter(
-                            dp, mNavButtonsView, res, isInKidsMode, isInSetup, isThreeButtonNav,
-                            TaskbarManager.isPhoneMode(dp), mDisplayController.getInfo().rotation);
-            navButtonLayoutter.layoutButtons(dp, isContextualButtonShowing());
+                            dp, mNavButtonsView, mImeSwitcherButton,
+                            mControllers.rotationButtonController.getRotationButton(),
+                            mA11yButton, res, isInKidsMode, isInSetup, isThreeButtonNav,
+                            mContext.isPhoneMode(), mWindowManagerProxy.getRotation(mContext));
+            navButtonLayoutter.layoutButtons(mContext, isA11yButtonPersistent());
+            updateButtonsBackground();
             updateNavButtonColor();
             return;
         }
@@ -831,7 +854,7 @@
             int contextualWidth = mEndContextualContainer.getWidth();
             // If contextual buttons are showing, we check if the end margin is enough for the
             // contextual button to be showing - if not, move the nav buttons over a smidge
-            if (isContextualButtonShowing() && navMarginEnd < contextualWidth) {
+            if (isA11yButtonPersistent() && navMarginEnd < contextualWidth) {
                 // Additional spacing, eat up half of space between last icon and nav button
                 navMarginEnd += res.getDimensionPixelSize(R.dimen.taskbar_hotseat_nav_spacing) / 2;
             }
@@ -855,7 +878,27 @@
                 }
             }
         }
+    }
 
+    private void updateButtonsBackground() {
+        boolean clipped = !mContext.isPhoneButtonNavMode();
+        mNavButtonContainer.setClipToPadding(clipped);
+        mNavButtonContainer.setClipChildren(clipped);
+        mNavButtonsView.setClipToPadding(clipped);
+        mNavButtonsView.setClipChildren(clipped);
+
+        for (ImageView button : mAllButtons) {
+            updateButtonBackground(button, mContext.isPhoneButtonNavMode());
+        }
+    }
+
+    private static void updateButtonBackground(View view, boolean isPhoneButtonNavMode) {
+        if (isPhoneButtonNavMode) {
+            view.setBackground(new KeyButtonRipple(view.getContext(), view,
+                    R.dimen.key_button_ripple_max_width));
+        } else {
+            view.setBackgroundResource(R.drawable.taskbar_icon_click_feedback_roundrect);
+        }
     }
 
     public void onDestroy() {
diff --git a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
index c4255bf..fd0d655 100644
--- a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
@@ -15,11 +15,14 @@
  */
 package com.android.launcher3.taskbar;
 
+import static android.view.Display.DEFAULT_DISPLAY;
+
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.ValueAnimator;
+import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.res.Resources;
 import android.graphics.Outline;
@@ -37,6 +40,7 @@
 import com.android.launcher3.util.Executors;
 import com.android.launcher3.util.MultiPropertyFactory;
 import com.android.launcher3.util.MultiValueAlpha;
+import com.android.quickstep.NavHandle;
 import com.android.systemui.shared.navigationbar.RegionSamplingHelper;
 
 import java.io.PrintWriter;
@@ -44,7 +48,8 @@
 /**
  * Handles properties/data collection, then passes the results to our stashed handle View to render.
  */
-public class StashedHandleViewController implements TaskbarControllers.LoggableTaskbarController {
+public class StashedHandleViewController implements TaskbarControllers.LoggableTaskbarController,
+        NavHandle {
 
     public static final int ALPHA_INDEX_STASHED = 0;
     public static final int ALPHA_INDEX_HOME_DISABLED = 1;
@@ -83,6 +88,7 @@
 
     // States that affect whether region sampling is enabled or not
     private boolean mIsStashed;
+    private boolean mIsLumaSamplingEnabled;
     private boolean mTaskbarHidden;
 
     private float mTranslationYForSwipe;
@@ -107,8 +113,8 @@
         mControllers = controllers;
         DeviceProfile deviceProfile = mActivity.getDeviceProfile();
         Resources resources = mActivity.getResources();
-        if (isPhoneGestureNavMode(mActivity.getDeviceProfile())) {
-            mTaskbarSize = resources.getDimensionPixelSize(R.dimen.taskbar_size);
+        if (mActivity.isPhoneGestureNavMode()) {
+            mTaskbarSize = resources.getDimensionPixelSize(R.dimen.taskbar_phone_size);
             mStashedHandleWidth =
                     resources.getDimensionPixelSize(R.dimen.taskbar_stashed_small_screen);
         } else {
@@ -120,7 +126,7 @@
         mStashedHandleView.getLayoutParams().height = mTaskbarSize + taskbarBottomMargin;
 
         mTaskbarStashedHandleAlpha.get(ALPHA_INDEX_STASHED).setValue(
-                isPhoneGestureNavMode(deviceProfile) ? 1 : 0);
+                mActivity.isPhoneGestureNavMode() ? 1 : 0);
         mTaskbarStashedHandleHintScale.updateValue(1f);
 
         final int stashedTaskbarHeight = mControllers.taskbarStashController.getStashedHeight();
@@ -148,8 +154,8 @@
             view.setPivotY(stashedCenterY);
         });
         initRegionSampler();
-        if (isPhoneGestureNavMode(deviceProfile)) {
-            onIsStashedChanged(true);
+        if (mActivity.isPhoneGestureNavMode()) {
+            onIsStashedChanged();
         }
     }
 
@@ -184,10 +190,6 @@
         mRegionSamplingHelper = null;
     }
 
-    private boolean isPhoneGestureNavMode(DeviceProfile deviceProfile) {
-        return TaskbarManager.isPhoneMode(deviceProfile) && !mActivity.isThreeButtonNav();
-    }
-
     public MultiPropertyFactory<View> getStashedHandleAlpha() {
         return mTaskbarStashedHandleAlpha;
     }
@@ -236,10 +238,23 @@
     }
 
     /** Called when taskbar is stashed or unstashed. */
-    public void onIsStashedChanged(boolean isStashed) {
-        mIsStashed = isStashed;
+    public void onIsStashedChanged() {
+        mIsStashed = isStashedHandleVisible();
+        updateSamplingState();
+    }
+
+    public void onNavigationBarLumaSamplingEnabled(int displayId, boolean enable) {
+        if (DEFAULT_DISPLAY != displayId) {
+            return;
+        }
+
+        mIsLumaSamplingEnabled = enable;
+        updateSamplingState();
+    }
+
+    private void updateSamplingState() {
         updateRegionSamplingWindowVisibility();
-        if (isStashed) {
+        if (shouldSample()) {
             mStashedHandleView.updateSampledRegion(mStashedHandleBounds);
             mRegionSamplingHelper.start(mStashedHandleView.getSampledRegion());
         } else {
@@ -247,6 +262,10 @@
         }
     }
 
+    private boolean shouldSample() {
+        return mIsStashed && mIsLumaSamplingEnabled;
+    }
+
     protected void updateStashedHandleHintScale() {
         mStashedHandleView.setScaleX(mTaskbarStashedHandleHintScale.value);
         mStashedHandleView.setScaleY(mTaskbarStashedHandleHintScale.value);
@@ -286,7 +305,7 @@
     }
 
     private void updateRegionSamplingWindowVisibility() {
-        mRegionSamplingHelper.setWindowVisible(mIsStashed && !mTaskbarHidden);
+        mRegionSamplingHelper.setWindowVisible(shouldSample() && !mTaskbarHidden);
     }
 
     public boolean isStashedHandleVisible() {
@@ -302,4 +321,24 @@
         pw.println(prefix + "\tmStashedHandleHeight=" + mStashedHandleHeight);
         mRegionSamplingHelper.dump(prefix, pw);
     }
+
+    @Override
+    public void animateNavBarLongPress(boolean isTouchDown, boolean shrink, long durationMs) {
+        // TODO(b/308693847): Animate similarly to NavigationHandle.java (SysUI).
+    }
+
+    @Override
+    public boolean isNavHandleStashedTaskbar() {
+        return true;
+    }
+
+    @Override
+    public boolean canNavHandleBeLongPressed() {
+        return isStashedHandleVisible();
+    }
+
+    @Override
+    public int getNavHandleWidth(Context context) {
+        return mStashedHandleWidth;
+    }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index b15dda2..4b95d7b 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -20,24 +20,31 @@
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
 import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
+import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR;
 import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL;
 import static android.window.SplashScreen.SPLASH_SCREEN_STYLE_UNDEFINED;
 
 import static com.android.launcher3.AbstractFloatingView.TYPE_ALL;
 import static com.android.launcher3.AbstractFloatingView.TYPE_REBIND_SAFE;
 import static com.android.launcher3.AbstractFloatingView.TYPE_TASKBAR_OVERLAY_PROXY;
+import static com.android.launcher3.Flags.enableCursorHoverStates;
+import static com.android.launcher3.Utilities.calculateTextHeight;
 import static com.android.launcher3.Utilities.isRunningInTestHarness;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION;
+import static com.android.launcher3.config.FeatureFlags.enableTaskbarNoRecreate;
+import static com.android.launcher3.config.FeatureFlags.enableTaskbarPinning;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_OPEN;
 import static com.android.launcher3.taskbar.TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_DRAGGING;
 import static com.android.launcher3.taskbar.TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_FULLSCREEN;
-import static com.android.launcher3.taskbar.TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW;
 import static com.android.launcher3.testing.shared.ResourceUtils.getBoolByName;
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE;
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING;
 
 import android.animation.AnimatorSet;
 import android.animation.ValueAnimator;
+import android.app.ActivityManager.RunningTaskInfo;
 import android.app.ActivityOptions;
+import android.app.ActivityTaskManager;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.Intent;
@@ -69,9 +76,11 @@
 import com.android.launcher3.AbstractFloatingView;
 import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.LauncherSettings.Favorites;
 import com.android.launcher3.R;
 import com.android.launcher3.anim.AnimatorPlaybackController;
+import com.android.launcher3.apppairs.AppPairIcon;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.dot.DotInfo;
 import com.android.launcher3.folder.Folder;
@@ -100,7 +109,9 @@
 import com.android.launcher3.testing.shared.TestProtocol;
 import com.android.launcher3.touch.ItemClickHandler;
 import com.android.launcher3.touch.ItemClickHandler.ItemClickProxy;
+import com.android.launcher3.uioverrides.ApiWrapper;
 import com.android.launcher3.util.ActivityOptionsWrapper;
+import com.android.launcher3.util.ComponentKey;
 import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.Executors;
 import com.android.launcher3.util.NavigationMode;
@@ -109,8 +120,10 @@
 import com.android.launcher3.util.SettingsCache;
 import com.android.launcher3.util.SplitConfigurationOptions.SplitSelectSource;
 import com.android.launcher3.util.TraceHelper;
+import com.android.launcher3.util.VibratorWrapper;
 import com.android.launcher3.util.ViewCache;
 import com.android.launcher3.views.ActivityContext;
+import com.android.quickstep.NavHandle;
 import com.android.quickstep.views.RecentsView;
 import com.android.quickstep.views.TaskView;
 import com.android.systemui.shared.recents.model.Task;
@@ -120,8 +133,13 @@
 import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider;
 
 import java.io.PrintWriter;
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.List;
 import java.util.Optional;
+import java.util.Set;
+import java.util.function.Consumer;
+import java.util.stream.Collectors;
 
 /**
  * The {@link ActivityContext} with which we inflate Taskbar-related Views. This allows UI elements
@@ -136,6 +154,8 @@
 
     private static final String WINDOW_TITLE = "Taskbar";
 
+    private final @Nullable Context mNavigationBarPanelContext;
+
     private final TaskbarDragLayer mDragLayer;
     private final TaskbarControllers mControllers;
 
@@ -167,13 +187,20 @@
 
     private final TaskbarShortcutMenuAccessibilityDelegate mAccessibilityDelegate;
 
-    public TaskbarActivityContext(Context windowContext, DeviceProfile launcherDp,
+    private DeviceProfile mTransientTaskbarDeviceProfile;
+
+    private DeviceProfile mPersistentTaskbarDeviceProfile;
+
+    private final LauncherPrefs mLauncherPrefs;
+
+    public TaskbarActivityContext(Context windowContext,
+            @Nullable Context navigationBarPanelContext, DeviceProfile launcherDp,
             TaskbarNavButtonController buttonController, ScopedUnfoldTransitionProgressProvider
             unfoldTransitionProgressProvider) {
         super(windowContext);
 
+        mNavigationBarPanelContext = navigationBarPanelContext;
         applyDeviceProfile(launcherDp);
-
         final Resources resources = getResources();
 
         mImeDrawsImeNavBar = getBoolByName(IME_DRAWS_IME_NAV_BAR_RES_NAME, resources, false);
@@ -193,11 +220,16 @@
         Display display = windowContext.getDisplay();
         Context c = getApplicationContext();
         mWindowManager = c.getSystemService(WindowManager.class);
-        mLeftCorner = display.getRoundedCorner(RoundedCorner.POSITION_BOTTOM_LEFT);
-        mRightCorner = display.getRoundedCorner(RoundedCorner.POSITION_BOTTOM_RIGHT);
+
+        boolean phoneMode = isPhoneMode();
+        mLeftCorner = phoneMode
+                ? null
+                : display.getRoundedCorner(RoundedCorner.POSITION_BOTTOM_LEFT);
+        mRightCorner = phoneMode
+                ? null
+                : display.getRoundedCorner(RoundedCorner.POSITION_BOTTOM_RIGHT);
 
         // Inflate views.
-        boolean phoneMode = TaskbarManager.isPhoneMode(mDeviceProfile);
         int taskbarLayout = DisplayController.isTransientTaskbar(this) && !phoneMode
                 ? R.layout.transient_taskbar
                 : R.layout.taskbar;
@@ -215,7 +247,8 @@
 
         // If Bubble bar is present, TaskbarControllers depends on it so build it first.
         Optional<BubbleControllers> bubbleControllersOptional = Optional.empty();
-        if (BubbleBarController.BUBBLE_BAR_ENABLED && bubbleBarView != null) {
+        BubbleBarController.onTaskbarRecreated();
+        if (BubbleBarController.isBubbleBarEnabled() && bubbleBarView != null) {
             bubbleControllersOptional = Optional.of(new BubbleControllers(
                     new BubbleBarController(this, bubbleBarView),
                     new BubbleBarViewController(this, bubbleBarView),
@@ -240,16 +273,18 @@
                 new TaskbarDragController(this),
                 buttonController,
                 isDesktopMode
-                        ? new DesktopNavbarButtonsViewController(this, navButtonsView)
-                        : new NavbarButtonsViewController(this, navButtonsView),
+                        ? new DesktopNavbarButtonsViewController(this, mNavigationBarPanelContext,
+                                navButtonsView)
+                        : new NavbarButtonsViewController(this, mNavigationBarPanelContext,
+                                navButtonsView),
                 rotationButtonController,
                 new TaskbarDragLayerController(this, mDragLayer),
                 new TaskbarViewController(this, taskbarView),
                 new TaskbarScrimViewController(this, taskbarScrimView),
                 new TaskbarUnfoldAnimationController(this, unfoldTransitionProgressProvider,
-                    mWindowManager,
-                    new RotationChangeProvider(c.getSystemService(DisplayManager.class), this,
-                        getMainThreadHandler())),
+                        mWindowManager,
+                        new RotationChangeProvider(c.getSystemService(DisplayManager.class), this,
+                                getMainThreadHandler())),
                 new TaskbarKeyguardController(this),
                 new StashedHandleViewController(this, stashedHandleView),
                 new TaskbarStashController(this),
@@ -267,8 +302,10 @@
                         : TaskbarRecentAppsController.DEFAULT,
                 new TaskbarEduTooltipController(this),
                 new KeyboardQuickSwitchController(),
-                new TaskbarDividerPopupController(this),
+                new TaskbarPinningController(this),
                 bubbleControllersOptional);
+
+        mLauncherPrefs = LauncherPrefs.get(this);
     }
 
     /** Updates {@link DeviceProfile} instances for any Taskbar windows. */
@@ -288,20 +325,42 @@
      * the icon size
      */
     private void applyDeviceProfile(DeviceProfile originDeviceProfile) {
-        mDeviceProfile = originDeviceProfile.toBuilder(this)
-                .withDimensionsOverride(deviceProfile -> {
-                    // Taskbar should match the number of icons of hotseat
-                    deviceProfile.numShownHotseatIcons = originDeviceProfile.numShownHotseatIcons;
-                    // Same QSB width to have a smooth animation
-                    deviceProfile.hotseatQsbWidth = originDeviceProfile.hotseatQsbWidth;
+        Consumer<DeviceProfile> overrideProvider = deviceProfile -> {
+            // Taskbar should match the number of icons of hotseat
+            deviceProfile.numShownHotseatIcons = originDeviceProfile.numShownHotseatIcons;
+            // Same QSB width to have a smooth animation
+            deviceProfile.hotseatQsbWidth = originDeviceProfile.hotseatQsbWidth;
 
-                    // Update icon size
-                    deviceProfile.iconSizePx = deviceProfile.taskbarIconSize;
-                    deviceProfile.updateIconSize(1f, getResources());
-                }).build();
+            // Update icon size
+            deviceProfile.iconSizePx = deviceProfile.taskbarIconSize;
+            deviceProfile.updateIconSize(1f, getResources());
+        };
+        mDeviceProfile = originDeviceProfile.toBuilder(this)
+                .withDimensionsOverride(overrideProvider).build();
+
+        if (DisplayController.isTransientTaskbar(this)) {
+            mTransientTaskbarDeviceProfile = mDeviceProfile;
+            mPersistentTaskbarDeviceProfile = mDeviceProfile
+                    .toBuilder(this)
+                    .withDimensionsOverride(overrideProvider)
+                    .setIsTransientTaskbar(false)
+                    .build();
+        } else {
+            mPersistentTaskbarDeviceProfile = mDeviceProfile;
+            mTransientTaskbarDeviceProfile = mDeviceProfile
+                    .toBuilder(this)
+                    .withDimensionsOverride(overrideProvider)
+                    .setIsTransientTaskbar(true)
+                    .build();
+        }
         mNavMode = DisplayController.getNavigationMode(this);
     }
 
+    /** Called when the visibility of the bubble bar changed. */
+    public void bubbleBarVisibilityChanged(boolean isVisible) {
+        mControllers.uiController.adjustHotseatForBubbleBar(isVisible);
+        mControllers.taskbarViewController.resetIconAlignmentController();
+    }
 
     public void init(@NonNull TaskbarSharedState sharedState) {
         mImeDrawsImeNavBar = getBoolByName(IME_DRAWS_IME_NAV_BAR_RES_NAME, getResources(), false);
@@ -319,23 +378,47 @@
         onSystemBarAttributesChanged(sharedState.systemBarAttrsDisplayId,
                 sharedState.systemBarAttrsBehavior);
         onNavButtonsDarkIntensityChanged(sharedState.navButtonsDarkIntensity);
+        onNavigationBarLumaSamplingEnabled(sharedState.mLumaSamplingDisplayId,
+                sharedState.mIsLumaSamplingEnabled);
 
-        if (FLAG_HIDE_NAVBAR_WINDOW) {
+        if (ENABLE_TASKBAR_NAVBAR_UNIFICATION) {
             // W/ the flag not set this entire class gets re-created, which resets the value of
             // mIsDestroyed. We re-use the class for small-screen, so we explicitly have to mark
             // this class as non-destroyed
             mIsDestroyed = false;
         }
 
-        if (!mAddedWindow) {
+        if (!enableTaskbarNoRecreate() && !mAddedWindow) {
             mWindowManager.addView(mDragLayer, mWindowLayoutParams);
             mAddedWindow = true;
         } else {
-            mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
+            notifyUpdateLayoutParams();
         }
     }
 
     /**
+     * @return {@code true} if the device profile isn't a large screen profile and we are using a
+     * single window for taskbar and navbar.
+     */
+    public boolean isPhoneMode() {
+        return ENABLE_TASKBAR_NAVBAR_UNIFICATION && mDeviceProfile.isPhone;
+    }
+
+    /**
+     * @return {@code true} if {@link #isPhoneMode()} is true and we're using 3 button-nav
+     */
+    public boolean isPhoneButtonNavMode() {
+        return isPhoneMode() && isThreeButtonNav();
+    }
+
+    /**
+     * @return {@code true} if {@link #isPhoneMode()} is true and we're using gesture nav
+     */
+    public boolean isPhoneGestureNavMode() {
+        return isPhoneMode() && !isThreeButtonNav();
+    }
+
+    /**
      * Show Taskbar upon receiving broadcast
      */
     public void showTaskbarFromBroadcast() {
@@ -347,6 +430,11 @@
         mControllers.taskbarAllAppsController.toggle();
     }
 
+    /** Toggles Taskbar All Apps overlay with keyboard ready for search. */
+    public void toggleAllAppsSearch() {
+        mControllers.taskbarAllAppsController.toggleSearch();
+    }
+
     @Override
     public DeviceProfile getDeviceProfile() {
         return mDeviceProfile;
@@ -359,6 +447,11 @@
                 getDeviceProfile().toSmallString());
     }
 
+    @NonNull
+    public LauncherPrefs getLauncherPrefs() {
+        return mLauncherPrefs;
+    }
+
     /**
      * Returns the View bounds of transient taskbar.
      */
@@ -366,6 +459,10 @@
         return mTransientTaskbarBounds;
     }
 
+    protected float getCurrentTaskbarWidth() {
+        return mControllers.taskbarViewController.getCurrentVisualTaskbarWidth();
+    }
+
     @Override
     public StatsLogManager getStatsLogManager() {
         // Used to mock, can't mock a default interface method directly
@@ -374,7 +471,8 @@
 
     /**
      * Creates LayoutParams for adding a view directly to WindowManager as a new window.
-     * @param type The window type to pass to the created WindowManager.LayoutParams.
+     *
+     * @param type  The window type to pass to the created WindowManager.LayoutParams.
      * @param title The window title to pass to the created WindowManager.LayoutParams.
      */
     public WindowManager.LayoutParams createDefaultWindowLayoutParams(int type, String title) {
@@ -401,9 +499,7 @@
         windowLayoutParams.privateFlags =
                 WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION;
         windowLayoutParams.accessibilityTitle = getString(
-                TaskbarManager.isPhoneMode(mDeviceProfile)
-                        ? R.string.taskbar_phone_a11y_title
-                        : R.string.taskbar_a11y_title);
+                isPhoneMode() ? R.string.taskbar_phone_a11y_title : R.string.taskbar_a11y_title);
 
         return windowLayoutParams;
     }
@@ -413,11 +509,11 @@
      * for taskbar showing as navigation bar
      */
     private WindowManager.LayoutParams createAllWindowParams() {
+        final int windowType =
+                ENABLE_TASKBAR_NAVBAR_UNIFICATION ? TYPE_NAVIGATION_BAR : TYPE_NAVIGATION_BAR_PANEL;
         WindowManager.LayoutParams windowLayoutParams =
-                createDefaultWindowLayoutParams(TYPE_NAVIGATION_BAR_PANEL,
-                        TaskbarActivityContext.WINDOW_TITLE);
-        boolean isPhoneNavMode = TaskbarManager.isPhoneButtonNavMode(this);
-        if (!isPhoneNavMode) {
+                createDefaultWindowLayoutParams(windowType, TaskbarActivityContext.WINDOW_TITLE);
+        if (!isPhoneButtonNavMode()) {
             return windowLayoutParams;
         }
 
@@ -428,7 +524,7 @@
         windowLayoutParams.paramsForRotation = new WindowManager.LayoutParams[4];
         for (int rot = Surface.ROTATION_0; rot <= Surface.ROTATION_270; rot++) {
             WindowManager.LayoutParams lp =
-                    createDefaultWindowLayoutParams(TYPE_NAVIGATION_BAR_PANEL,
+                    createDefaultWindowLayoutParams(windowType,
                             TaskbarActivityContext.WINDOW_TITLE);
             switch (rot) {
                 case Surface.ROTATION_0, Surface.ROTATION_180 -> {
@@ -516,6 +612,11 @@
         return mControllers.bubbleControllers.orElse(null);
     }
 
+    @NonNull
+    public NavHandle getNavHandle() {
+        return mControllers.stashedHandleViewController;
+    }
+
     @Override
     public ViewCache getViewCache() {
         return mViewCache;
@@ -678,7 +779,7 @@
         mIsDestroyed = true;
         setUIController(TaskbarUIController.DEFAULT);
         mControllers.onDestroy();
-        if (!FLAG_HIDE_NAVBAR_WINDOW) {
+        if (!enableTaskbarNoRecreate() && !ENABLE_TASKBAR_NAVBAR_UNIFICATION) {
             mWindowManager.removeViewImmediate(mDragLayer);
             mAddedWindow = false;
         }
@@ -752,6 +853,11 @@
                 .updateValue(darkIntensity);
     }
 
+    public void onNavigationBarLumaSamplingEnabled(int displayId, boolean enable) {
+        mControllers.stashedHandleViewController.onNavigationBarLumaSamplingEnabled(displayId,
+                enable);
+    }
+
     /**
      * Called to update a {@link AutohideSuspendFlag} with a new value.
      */
@@ -777,7 +883,7 @@
         // Overlay AFVs are in a separate window and do not require Taskbar to be fullscreen.
         if (!isDragInProgress
                 && !AbstractFloatingView.hasOpenView(
-                        this, TYPE_ALL & ~TYPE_TASKBAR_OVERLAY_PROXY)) {
+                this, TYPE_ALL & ~TYPE_TASKBAR_OVERLAY_PROXY)) {
             // Reverts Taskbar window to its original size
             setTaskbarWindowFullscreen(false);
         }
@@ -810,7 +916,7 @@
         }
         mWindowLayoutParams.height = height;
         mControllers.taskbarInsetsController.onTaskbarOrBubblebarWindowHeightOrInsetsChanged();
-        mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
+        notifyUpdateLayoutParams();
     }
 
     /**
@@ -819,9 +925,9 @@
     public int getDefaultTaskbarWindowHeight() {
         Resources resources = getResources();
 
-        if (FLAG_HIDE_NAVBAR_WINDOW && mDeviceProfile.isPhone) {
+        if (ENABLE_TASKBAR_NAVBAR_UNIFICATION && mDeviceProfile.isPhone) {
             return isThreeButtonNav() ?
-                    resources.getDimensionPixelSize(R.dimen.taskbar_size) :
+                    resources.getDimensionPixelSize(R.dimen.taskbar_phone_size) :
                     resources.getDimensionPixelSize(R.dimen.taskbar_stashed_size);
         }
 
@@ -829,20 +935,46 @@
             return getSetupWindowHeight();
         }
 
-        if (DisplayController.isTransientTaskbar(this)) {
-            return mDeviceProfile.taskbarHeight
-                    + (2 * mDeviceProfile.taskbarBottomMargin)
-                    + resources.getDimensionPixelSize(R.dimen.transient_taskbar_shadow_blur);
+        boolean shouldTreatAsTransient = DisplayController.isTransientTaskbar(this)
+                || (enableTaskbarPinning() && !isThreeButtonNav());
+
+        int extraHeightForTaskbarTooltips = enableCursorHoverStates()
+                ? resources.getDimensionPixelSize(R.dimen.arrow_toast_arrow_height)
+                + (resources.getDimensionPixelSize(R.dimen.taskbar_tooltip_vertical_padding) * 2)
+                + calculateTextHeight(
+                resources.getDimensionPixelSize(R.dimen.arrow_toast_text_size))
+                : 0;
+
+        // Return transient taskbar window height when pinning feature is enabled, so taskbar view
+        // does not get cut off during pinning animation.
+        if (shouldTreatAsTransient) {
+            DeviceProfile transientTaskbarDp = mDeviceProfile.toBuilder(this)
+                    .setIsTransientTaskbar(true).build();
+
+            return transientTaskbarDp.taskbarHeight
+                    + (2 * transientTaskbarDp.taskbarBottomMargin)
+                    + Math.max(extraHeightForTaskbarTooltips, resources.getDimensionPixelSize(
+                    R.dimen.transient_taskbar_shadow_blur));
         }
 
+
         return mDeviceProfile.taskbarHeight
-                + Math.max(getLeftCornerRadius(), getRightCornerRadius());
+                + Math.max(getLeftCornerRadius(), getRightCornerRadius())
+                + extraHeightForTaskbarTooltips;
     }
 
     public int getSetupWindowHeight() {
         return getResources().getDimensionPixelSize(R.dimen.taskbar_suw_frame);
     }
 
+    public DeviceProfile getTransientTaskbarDeviceProfile() {
+        return mTransientTaskbarDeviceProfile;
+    }
+
+    public DeviceProfile getPersistentTaskbarDeviceProfile() {
+        return mPersistentTaskbarDeviceProfile;
+    }
+
     /**
      * Either adds or removes {@link WindowManager.LayoutParams#FLAG_NOT_FOCUSABLE} on the taskbar
      * window.
@@ -853,7 +985,7 @@
         } else {
             mWindowLayoutParams.flags |= FLAG_NOT_FOCUSABLE;
         }
-        mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
+        notifyUpdateLayoutParams();
     }
 
     /**
@@ -904,6 +1036,8 @@
     }
 
     protected void onTaskbarIconClicked(View view) {
+        TaskbarUIController taskbarUIController = mControllers.uiController;
+        RecentsView recents = taskbarUIController.getRecentsView();
         boolean shouldCloseAllOpenViews = true;
         Object tag = view.getTag();
         if (tag instanceof Task) {
@@ -911,41 +1045,26 @@
             ActivityManagerWrapper.getInstance().startActivityFromRecents(task.key,
                     ActivityOptions.makeBasic());
             mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
-        } else if (tag instanceof FolderInfo) {
+        } else if (tag instanceof FolderInfo fi && fi.itemType == Favorites.ITEM_TYPE_FOLDER) {
+            // Tapping an expandable folder icon on Taskbar
             shouldCloseAllOpenViews = false;
-            FolderIcon folderIcon = (FolderIcon) view;
-            Folder folder = folderIcon.getFolder();
-
-            folder.setOnFolderStateChangedListener(newState -> {
-                if (newState == Folder.STATE_OPEN) {
-                    setTaskbarWindowFocusableForIme(true);
-                } else if (newState == Folder.STATE_CLOSED) {
-                    // Defer by a frame to ensure we're no longer fullscreen and thus won't jump.
-                    getDragLayer().post(() -> setTaskbarWindowFocusableForIme(false));
-                    folder.setOnFolderStateChangedListener(null);
-                }
-            });
-
-            setTaskbarWindowFullscreen(true);
-
-            getDragLayer().post(() -> {
-                folder.animateOpen();
-                getStatsLogManager().logger().withItemInfo(folder.mInfo).log(LAUNCHER_FOLDER_OPEN);
-
-                folder.iterateOverItems((itemInfo, itemView) -> {
-                    mControllers.taskbarViewController
-                            .setClickAndLongClickListenersForIcon(itemView);
-                    // To play haptic when dragging, like other Taskbar items do.
-                    itemView.setHapticFeedbackEnabled(true);
-                    return false;
-                });
-            });
+            expandFolder((FolderIcon) view);
+        } else if (tag instanceof FolderInfo fi && fi.itemType == Favorites.ITEM_TYPE_APP_PAIR) {
+            // Tapping an app pair icon on Taskbar
+            if (recents != null && recents.isSplitSelectionActive()) {
+                // TODO (b/274835596): Implement "can't split with this" bounce animation
+                Toast.makeText(this, "Unable to split with an app pair. Select another app.",
+                        Toast.LENGTH_SHORT).show();
+            } else {
+                // Else launch the selected app pair
+                launchFromTaskbarPreservingSplitIfVisible(recents, view, fi.contents);
+                mControllers.uiController.onTaskbarIconLaunched(fi);
+                mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
+            }
         } else if (tag instanceof WorkspaceItemInfo) {
             // Tapping a launchable icon on Taskbar
             WorkspaceItemInfo info = (WorkspaceItemInfo) tag;
             if (!info.isDisabled() || !ItemClickHandler.handleDisabledItemClicked(info, this)) {
-                TaskbarUIController taskbarUIController = mControllers.uiController;
-                RecentsView recents = taskbarUIController.getRecentsView();
                 if (recents != null && recents.isSplitSelectionActive()) {
                     // If we are selecting a second app for split, launch the split tasks
                     taskbarUIController.triggerSecondAppForSplit(info, info.intent, view);
@@ -960,9 +1079,8 @@
                         } else if (info.isPromise()) {
                             TestLogging.recordEvent(
                                     TestProtocol.SEQUENCE_MAIN, "start: taskbarPromiseIcon");
-                            intent = new PackageManagerHelper(this)
-                                    .getMarketIntent(info.getTargetPackage())
-                                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                            intent = ApiWrapper.getAppMarketActivityIntent(this,
+                                    info.getTargetPackage(), Process.myUserHandle());
                             startActivity(intent);
 
                         } else if (info.itemType == Favorites.ITEM_TYPE_DEEP_SHORTCUT) {
@@ -973,7 +1091,8 @@
                             getSystemService(LauncherApps.class)
                                     .startShortcut(packageName, id, null, null, info.user);
                         } else {
-                            launchFromTaskbarPreservingSplitIfVisible(recents, info);
+                            launchFromTaskbarPreservingSplitIfVisible(
+                                    recents, view, Collections.singletonList(info));
                         }
 
                     } catch (NullPointerException
@@ -984,7 +1103,21 @@
                         Log.e(TAG, "Unable to launch. tag=" + info + " intent=" + intent, e);
                         return;
                     }
+                }
 
+                // If the app was launched from a folder, stash the taskbar after it closes
+                Folder f = Folder.getOpen(this);
+                if (f != null && f.getInfo().id == info.container) {
+                    f.addOnFolderStateChangedListener(new Folder.OnFolderStateChangedListener() {
+                        @Override
+                        public void onFolderStateChanged(int newState) {
+                            if (newState == Folder.STATE_CLOSED) {
+                                f.removeOnFolderStateChangedListener(this);
+                                mControllers.taskbarStashController
+                                        .updateAndAnimateTransientTaskbar(true);
+                            }
+                        }
+                    });
                 }
                 mControllers.uiController.onTaskbarIconLaunched(info);
                 mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
@@ -992,14 +1125,13 @@
         } else if (tag instanceof AppInfo) {
             // Tapping an item in AllApps
             AppInfo info = (AppInfo) tag;
-            TaskbarUIController taskbarUIController = mControllers.uiController;
-            RecentsView recents = taskbarUIController.getRecentsView();
             if (recents != null
                     && taskbarUIController.getRecentsView().isSplitSelectionActive()) {
                 // If we are selecting a second app for split, launch the split tasks
                 taskbarUIController.triggerSecondAppForSplit(info, info.intent, view);
             } else {
-                launchFromTaskbarPreservingSplitIfVisible(recents, info);
+                launchFromTaskbarPreservingSplitIfVisible(
+                        recents, view, Collections.singletonList(info));
             }
             mControllers.uiController.onTaskbarIconLaunched(info);
             mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
@@ -1021,27 +1153,71 @@
      * (potentially breaking a split pair).
      */
     private void launchFromTaskbarPreservingSplitIfVisible(@Nullable RecentsView recents,
-            ItemInfo info) {
+            @Nullable View launchingIconView, List<? extends ItemInfo> itemInfos) {
         if (recents == null) {
             return;
         }
+
+        boolean findExactPairMatch = itemInfos.size() == 2;
+        // Convert the list of ItemInfo instances to a list of ComponentKeys
+        List<ComponentKey> componentKeys =
+                itemInfos.stream().map(ItemInfo::getComponentKey).toList();
         recents.getSplitSelectController().findLastActiveTasksAndRunCallback(
-                Collections.singletonList(info.getComponentKey()),
+                componentKeys,
+                findExactPairMatch,
                 foundTasks -> {
-                    @Nullable Task foundTask = foundTasks.get(0);
+                    @Nullable Task foundTask = foundTasks[0];
                     if (foundTask != null) {
-                        TaskView foundTaskView =
-                                recents.getTaskViewByTaskId(foundTask.key.id);
-                        if (foundTaskView != null
-                                && foundTaskView.isVisibleToUser()) {
-                            TestLogging.recordEvent(
-                                    TestProtocol.SEQUENCE_MAIN, "start: taskbarAppIcon");
-                            foundTaskView.launchTasks();
-                            return;
+                        TaskView foundTaskView = recents.getTaskViewByTaskId(foundTask.key.id);
+                        if (foundTaskView != null) {
+                            // The foundTaskView contains the 1-2 taskIds we are looking for.
+                            // If we are already in-app and running the correct tasks, no need
+                            // to do anything.
+                            if (FeatureFlags.enableAppPairs()
+                                    && isAlreadyInApp(foundTaskView.getTaskIds())) {
+                                return;
+                            }
+                            // If we are in Overview and the TaskView tile is visible, expand that
+                            // tile.
+                            if (foundTaskView.isVisibleToUser()) {
+                                TestLogging.recordEvent(
+                                        TestProtocol.SEQUENCE_MAIN, "start: taskbarAppIcon");
+                                foundTaskView.launchTasks();
+                                return;
+                            }
                         }
                     }
-                    startItemInfoActivity(info);
-                });
+                    // If none of the above cases apply, launch a new app or app pair.
+                    if (findExactPairMatch) {
+                        // We did not find the app pair we were looking for, so launch one.
+                        recents.getSplitSelectController().getAppPairsController().launchAppPair(
+                                (AppPairIcon) launchingIconView);
+                    } else {
+                        startItemInfoActivity(itemInfos.get(0));
+                    }
+                }
+        );
+    }
+
+    /**
+     * Checks if a given list of taskIds are all already running in-app.
+     */
+    private boolean isAlreadyInApp(int[] ids) {
+        if (mControllers.uiController.isInOverview()) {
+            return false;
+        }
+
+        RunningTaskInfo[] currentlyRunningTasks = ActivityManagerWrapper.getInstance()
+                .getRunningTasks(false /* filterOnlyVisibleRecents */);
+        Set<Integer> currentlyRunningIds = Arrays.stream(currentlyRunningTasks)
+                .map(task -> task.taskId).collect(Collectors.toSet());
+
+        for (int id : ids) {
+            if (id != ActivityTaskManager.INVALID_TASK_ID && !currentlyRunningIds.contains(id)) {
+                return false;
+            }
+        }
+        return true;
     }
 
     private void startItemInfoActivity(ItemInfo info) {
@@ -1063,6 +1239,41 @@
         }
     }
 
+    /** Expands a folder icon when it is clicked */
+    private void expandFolder(FolderIcon folderIcon) {
+        Folder folder = folderIcon.getFolder();
+
+        folder.setPriorityOnFolderStateChangedListener(
+                new Folder.OnFolderStateChangedListener() {
+                    @Override
+                    public void onFolderStateChanged(int newState) {
+                        if (newState == Folder.STATE_OPEN) {
+                            setTaskbarWindowFocusableForIme(true);
+                        } else if (newState == Folder.STATE_CLOSED) {
+                            // Defer by a frame to ensure we're no longer fullscreen and thus
+                            // won't jump.
+                            getDragLayer().post(() -> setTaskbarWindowFocusableForIme(false));
+                            folder.setPriorityOnFolderStateChangedListener(null);
+                        }
+                    }
+                });
+
+        setTaskbarWindowFullscreen(true);
+
+        getDragLayer().post(() -> {
+            folder.animateOpen();
+            getStatsLogManager().logger().withItemInfo(folder.mInfo).log(LAUNCHER_FOLDER_OPEN);
+
+            folder.iterateOverItems((itemInfo, itemView) -> {
+                mControllers.taskbarViewController
+                        .setClickAndLongClickListenersForIcon(itemView);
+                // To play haptic when dragging, like other Taskbar items do.
+                itemView.setHapticFeedbackEnabled(true);
+                return false;
+            });
+        });
+    }
+
     /**
      * Returns whether the taskbar is currently visually stashed.
      */
@@ -1071,18 +1282,10 @@
     }
 
     /**
-     * Called when we detect a long press in the nav region before passing the gesture slop.
-     *
-     * @return Whether taskbar handled the long press, and thus should cancel the gesture.
-     */
-    public boolean onLongPressToUnstashTaskbar() {
-        return mControllers.taskbarStashController.onLongPressToUnstashTaskbar();
-    }
-
-    /**
      * Called when we want to unstash taskbar when user performs swipes up gesture.
      */
     public void onSwipeToUnstashTaskbar() {
+        VibratorWrapper.INSTANCE.get(this).vibrateForTaskbarUnstash();
         mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(/* stash= */ false);
         mControllers.taskbarEduTooltipController.hide();
     }
@@ -1133,28 +1336,7 @@
      * @param animateForward Whether to animate towards the unstashed hint state or back to stashed.
      */
     public void startTaskbarUnstashHint(boolean animateForward) {
-        // TODO(b/270395798): Clean up forceUnstash after removing long-press unstashing code.
-        startTaskbarUnstashHint(animateForward, /* forceUnstash = */ false);
-    }
-
-    /**
-     * Called when we detect a motion down or up/cancel in the nav region while stashed.
-     *
-     * @param animateForward Whether to animate towards the unstashed hint state or back to stashed.
-     * @param forceUnstash   Whether we force the unstash hint.
-     */
-    public void startTaskbarUnstashHint(boolean animateForward, boolean forceUnstash) {
-        // TODO(b/270395798): Clean up forceUnstash after removing long-press unstashing code.
-        mControllers.taskbarStashController.startUnstashHint(animateForward, forceUnstash);
-    }
-
-    /**
-     * Enables manual taskbar stashing. This method should only be used for tests that need to
-     * stash/unstash the taskbar.
-     */
-    @VisibleForTesting
-    public void enableManualStashingDuringTests(boolean enableManualStashing) {
-        mControllers.taskbarStashController.enableManualStashingDuringTests(enableManualStashing);
+        mControllers.taskbarStashController.startUnstashHint(animateForward);
     }
 
     /**
@@ -1167,18 +1349,25 @@
     }
 
     /**
-     * Unstashes the Taskbar if it is stashed. This method should only be used to unstash the
-     * taskbar at the end of a test.
+     * Unstashes the Taskbar if it is stashed.
      */
     @VisibleForTesting
     public void unstashTaskbarIfStashed() {
         if (DisplayController.isTransientTaskbar(this)) {
             mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(false);
-        } else {
-            mControllers.taskbarStashController.onLongPressToUnstashTaskbar();
         }
     }
 
+    /** Unstashes the Bubble Bar if it is stashed. */
+    @VisibleForTesting
+    public void unstashBubbleBarIfStashed() {
+        mControllers.bubbleControllers.ifPresent(bubbleControllers -> {
+            if (bubbleControllers.bubbleStashController.isStashed()) {
+                bubbleControllers.bubbleStashController.showBubbleBar(false);
+            }
+        });
+    }
+
     protected boolean isUserSetupComplete() {
         return mIsUserSetupComplete;
     }
@@ -1212,7 +1401,7 @@
 
         TaskbarUIController uiController = mControllers.uiController;
         if (uiController instanceof LauncherTaskbarUIController) {
-            ((LauncherTaskbarUIController) uiController).addLauncherResumeAnimation(
+            ((LauncherTaskbarUIController) uiController).addLauncherVisibilityChangedAnimation(
                     fullAnimation, duration);
         }
         mControllers.taskbarStashController.addUnstashToHotseatAnimation(fullAnimation, duration);
@@ -1249,12 +1438,16 @@
             mWindowLayoutParams.privateFlags &=
                     ~WindowManager.LayoutParams.PRIVATE_FLAG_EXCLUDE_FROM_SCREEN_MAGNIFICATION;
         }
-        mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
+        notifyUpdateLayoutParams();
     }
 
     void notifyUpdateLayoutParams() {
         if (mDragLayer.isAttachedToWindow()) {
-            mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
+            if (enableTaskbarNoRecreate()) {
+                mWindowManager.updateViewLayout(mDragLayer.getRootView(), mWindowLayoutParams);
+            } else {
+                mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
+            }
         }
     }
 
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt
index d237c1f..e290c3f 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarBackgroundRenderer.kt
@@ -23,32 +23,44 @@
 import android.graphics.Path
 import android.graphics.RectF
 import com.android.app.animation.Interpolators
-import com.android.launcher3.DeviceProfile
 import com.android.launcher3.R
 import com.android.launcher3.Utilities
 import com.android.launcher3.Utilities.mapRange
 import com.android.launcher3.Utilities.mapToRange
 import com.android.launcher3.icons.GraphicsUtils.setColorAlphaBound
+import com.android.launcher3.taskbar.TaskbarPinningController.Companion.PINNING_PERSISTENT
+import com.android.launcher3.taskbar.TaskbarPinningController.Companion.PINNING_TRANSIENT
 import com.android.launcher3.util.DisplayController
+import kotlin.math.min
 
 /** Helps draw the taskbar background, made up of a rectangle plus two inverted rounded corners. */
-class TaskbarBackgroundRenderer(context: TaskbarActivityContext) {
+class TaskbarBackgroundRenderer(private val context: TaskbarActivityContext) {
 
     private val isInSetup: Boolean = !context.isUserSetupComplete
     private val DARK_THEME_SHADOW_ALPHA = 51f
     private val LIGHT_THEME_SHADOW_ALPHA = 25f
 
+    private val maxTransientTaskbarHeight =
+        context.transientTaskbarDeviceProfile.taskbarHeight.toFloat()
+    private val maxPersistentTaskbarHeight =
+        context.persistentTaskbarDeviceProfile.taskbarHeight.toFloat()
+    var backgroundProgress =
+        if (DisplayController.isTransientTaskbar(context)) {
+            PINNING_TRANSIENT
+        } else {
+            PINNING_PERSISTENT
+        }
+
+    var isAnimatingPinning = false
+
     val paint = Paint()
     val lastDrawnTransientRect = RectF()
     var backgroundHeight = context.deviceProfile.taskbarHeight.toFloat()
     var translationYForSwipe = 0f
     var translationYForStash = 0f
 
-    private var maxBackgroundHeight = context.deviceProfile.taskbarHeight.toFloat()
     private val transientBackgroundBounds = context.transientTaskbarBounds
 
-    private val isTransientTaskbar = DisplayController.isTransientTaskbar(context)
-
     private val shadowAlpha: Float
     private var shadowBlur = 0f
     private var keyShadowDistance = 0f
@@ -75,13 +87,6 @@
         paint.flags = Paint.ANTI_ALIAS_FLAG
         paint.style = Paint.Style.FILL
 
-        if (isTransientTaskbar) {
-            val res = context.resources
-            bottomMargin = res.getDimensionPixelSize(R.dimen.transient_taskbar_bottom_margin)
-            shadowBlur = res.getDimension(R.dimen.transient_taskbar_shadow_blur)
-            keyShadowDistance = res.getDimension(R.dimen.transient_taskbar_key_shadow_distance)
-        }
-
         shadowAlpha =
             if (Utilities.isDarkTheme(context)) DARK_THEME_SHADOW_ALPHA
             else LIGHT_THEME_SHADOW_ALPHA
@@ -89,11 +94,12 @@
         setCornerRoundness(DEFAULT_ROUNDNESS)
     }
 
-    fun updateStashedHandleWidth(dp: DeviceProfile, res: Resources) {
-        stashedHandleWidth = res.getDimensionPixelSize(
-                if (TaskbarManager.isPhoneMode(dp)) R.dimen.taskbar_stashed_small_screen
+    fun updateStashedHandleWidth(context: TaskbarActivityContext, res: Resources) {
+        stashedHandleWidth =
+            res.getDimensionPixelSize(
+                if (context.isPhoneMode) R.dimen.taskbar_stashed_small_screen
                 else R.dimen.taskbar_stashed_handle_width
-        )
+            )
     }
 
     /**
@@ -102,7 +108,7 @@
      * @param cornerRoundness 0 has no round corner, 1 has complete round corner.
      */
     fun setCornerRoundness(cornerRoundness: Float) {
-        if (isTransientTaskbar && !transientBackgroundBounds.isEmpty) {
+        if (DisplayController.isTransientTaskbar(context) && !transientBackgroundBounds.isEmpty) {
             return
         }
 
@@ -126,63 +132,118 @@
 
     /** Draws the background with the given paint and height, on the provided canvas. */
     fun draw(canvas: Canvas) {
+        if (isInSetup) return
+        val isTransientTaskbar = backgroundProgress == 0f
         canvas.save()
-        if (!isTransientTaskbar || transientBackgroundBounds.isEmpty) {
-            canvas.translate(0f, canvas.height - backgroundHeight - bottomMargin)
-            // Draw the background behind taskbar content.
-            canvas.drawRect(0f, 0f, canvas.width.toFloat(), backgroundHeight, paint)
-
-            // Draw the inverted rounded corners above the taskbar.
-            canvas.translate(0f, -leftCornerRadius)
-            canvas.drawPath(invertedLeftCornerPath, paint)
-            canvas.translate(0f, leftCornerRadius)
-            canvas.translate(canvas.width - rightCornerRadius, -rightCornerRadius)
-            canvas.drawPath(invertedRightCornerPath, paint)
-        } else if (!isInSetup) {
-            // backgroundHeight is a value from [0...maxBackgroundHeight], so we can use it as a
-            // proxy to figure out the animation progress of the stash/unstash animation.
-            val progress = backgroundHeight / maxBackgroundHeight
-
-            // At progress 0, we draw the background as the stashed handle.
-            // At progress 1, we draw the background as the full taskbar.
-            val newBackgroundHeight =
-                mapRange(progress, stashedHandleHeight.toFloat(), maxBackgroundHeight)
-            val fullWidth = transientBackgroundBounds.width()
-            val newWidth = mapRange(progress, stashedHandleWidth.toFloat(), fullWidth.toFloat())
-            val halfWidthDelta = (fullWidth - newWidth) / 2f
-            val radius = newBackgroundHeight / 2f
-            val bottomMarginProgress = bottomMargin * ((1f - progress) / 2f)
-
-            // Aligns the bottom with the bottom of the stashed handle.
-            val bottom =
-                canvas.height - bottomMargin +
-                    bottomMarginProgress +
-                    translationYForSwipe +
-                    translationYForStash +
-                    -mapRange(1f - progress, 0f, stashedHandleHeight / 2f)
-
-            // Draw shadow.
-            val newShadowAlpha =
-                mapToRange(paint.alpha.toFloat(), 0f, 255f, 0f, shadowAlpha, Interpolators.LINEAR)
-            paint.setShadowLayer(
-                shadowBlur,
-                0f,
-                keyShadowDistance,
-                setColorAlphaBound(Color.BLACK, Math.round(newShadowAlpha))
-            )
-
-            lastDrawnTransientRect.set(
-                transientBackgroundBounds.left + halfWidthDelta,
-                bottom - newBackgroundHeight,
-                transientBackgroundBounds.right - halfWidthDelta,
-                bottom
-            )
-            val horizontalInset = fullWidth * widthInsetPercentage
-            lastDrawnTransientRect.inset(horizontalInset, 0f)
-
-            canvas.drawRoundRect(lastDrawnTransientRect, radius, radius, paint)
+        if (!isTransientTaskbar || transientBackgroundBounds.isEmpty || isAnimatingPinning) {
+            drawPersistentBackground(canvas)
         }
         canvas.restore()
+        canvas.save()
+        if (isAnimatingPinning || isTransientTaskbar) {
+            drawTransientBackground(canvas)
+        }
+        canvas.restore()
+    }
+
+    private fun drawPersistentBackground(canvas: Canvas) {
+        if (isAnimatingPinning) {
+            val persistentTaskbarHeight = maxPersistentTaskbarHeight * backgroundProgress
+            canvas.translate(0f, canvas.height - persistentTaskbarHeight)
+            // Draw the background behind taskbar content.
+            canvas.drawRect(0f, 0f, canvas.width.toFloat(), persistentTaskbarHeight, paint)
+        } else {
+            val persistentTaskbarHeight = min(maxPersistentTaskbarHeight, backgroundHeight)
+            canvas.translate(0f, canvas.height - persistentTaskbarHeight)
+            // Draw the background behind taskbar content.
+            canvas.drawRect(0f, 0f, canvas.width.toFloat(), persistentTaskbarHeight, paint)
+        }
+
+        // Draw the inverted rounded corners above the taskbar.
+        canvas.translate(0f, -leftCornerRadius)
+        canvas.drawPath(invertedLeftCornerPath, paint)
+        canvas.translate(0f, leftCornerRadius)
+        canvas.translate(canvas.width - rightCornerRadius, -rightCornerRadius)
+        canvas.drawPath(invertedRightCornerPath, paint)
+    }
+
+    private fun drawTransientBackground(canvas: Canvas) {
+        val res = context.resources
+        val transientTaskbarHeight = maxTransientTaskbarHeight * (1f - backgroundProgress)
+        val heightProgressWhileAnimating =
+            if (isAnimatingPinning) transientTaskbarHeight else backgroundHeight
+
+        var progress = heightProgressWhileAnimating / maxTransientTaskbarHeight
+        progress = Math.round(progress * 100f) / 100f
+        if (isAnimatingPinning) {
+            var scale = transientTaskbarHeight / maxTransientTaskbarHeight
+            scale = Math.round(scale * 100f) / 100f
+            bottomMargin =
+                mapRange(
+                        scale,
+                        0f,
+                        res.getDimensionPixelSize(R.dimen.transient_taskbar_bottom_margin).toFloat()
+                    )
+                    .toInt()
+            shadowBlur =
+                mapRange(scale, 0f, res.getDimension(R.dimen.transient_taskbar_shadow_blur))
+            keyShadowDistance =
+                mapRange(scale, 0f, res.getDimension(R.dimen.transient_taskbar_key_shadow_distance))
+        } else {
+            bottomMargin = res.getDimensionPixelSize(R.dimen.transient_taskbar_bottom_margin)
+            shadowBlur = res.getDimension(R.dimen.transient_taskbar_shadow_blur)
+            keyShadowDistance = res.getDimension(R.dimen.transient_taskbar_key_shadow_distance)
+        }
+
+        // At progress 0, we draw the background as the stashed handle.
+        // At progress 1, we draw the background as the full taskbar.
+        // Min height capped to max persistent taskbar height for animation
+        val backgroundHeightWhileAnimating =
+            if (isAnimatingPinning) maxPersistentTaskbarHeight else stashedHandleHeight.toFloat()
+        val newBackgroundHeight =
+            mapRange(progress, backgroundHeightWhileAnimating, maxTransientTaskbarHeight)
+        val fullWidth = transientBackgroundBounds.width()
+        val animationWidth = context.currentTaskbarWidth
+        val backgroundWidthWhileAnimating =
+            if (isAnimatingPinning) animationWidth else stashedHandleWidth.toFloat()
+
+        val newWidth = mapRange(progress, backgroundWidthWhileAnimating, fullWidth.toFloat())
+        val halfWidthDelta = (fullWidth - newWidth) / 2f
+        val radius = newBackgroundHeight / 2f
+        val bottomMarginProgress = bottomMargin * ((1f - progress) / 2f)
+
+        // Aligns the bottom with the bottom of the stashed handle.
+        val bottom =
+            canvas.height - bottomMargin +
+                bottomMarginProgress +
+                translationYForSwipe +
+                translationYForStash +
+                -mapRange(
+                    1f - progress,
+                    0f,
+                    if (isAnimatingPinning) 0f else stashedHandleHeight / 2f
+                )
+
+        // Draw shadow.
+        val newShadowAlpha =
+            mapToRange(paint.alpha.toFloat(), 0f, 255f, 0f, shadowAlpha, Interpolators.LINEAR)
+        paint.setShadowLayer(
+            shadowBlur,
+            0f,
+            keyShadowDistance,
+            setColorAlphaBound(Color.BLACK, Math.round(newShadowAlpha))
+        )
+
+        lastDrawnTransientRect.set(
+            transientBackgroundBounds.left + halfWidthDelta,
+            bottom - newBackgroundHeight,
+            transientBackgroundBounds.right - halfWidthDelta,
+            bottom
+        )
+        val horizontalInset = fullWidth * widthInsetPercentage
+        lastDrawnTransientRect.inset(horizontalInset, 0f)
+
+        canvas.drawRoundRect(lastDrawnTransientRect, radius, radius, paint)
     }
 
     /**
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java
index d82f501..f9ddc3d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java
@@ -62,7 +62,7 @@
     public final TaskbarOverlayController taskbarOverlayController;
     public final TaskbarEduTooltipController taskbarEduTooltipController;
     public final KeyboardQuickSwitchController keyboardQuickSwitchController;
-    public final TaskbarDividerPopupController taskbarPinningController;
+    public final TaskbarPinningController taskbarPinningController;
     public final Optional<BubbleControllers> bubbleControllers;
 
     @Nullable private LoggableTaskbarController[] mControllersToLog = null;
@@ -110,7 +110,7 @@
             TaskbarRecentAppsController taskbarRecentAppsController,
             TaskbarEduTooltipController taskbarEduTooltipController,
             KeyboardQuickSwitchController keyboardQuickSwitchController,
-            TaskbarDividerPopupController taskbarPinningController,
+            TaskbarPinningController taskbarPinningController,
             Optional<BubbleControllers> bubbleControllers) {
         this.taskbarActivityContext = taskbarActivityContext;
         this.taskbarDragController = taskbarDragController;
@@ -171,7 +171,7 @@
         taskbarTranslationController.init(this);
         taskbarEduTooltipController.init(this);
         keyboardQuickSwitchController.init(this);
-        taskbarPinningController.init(this);
+        taskbarPinningController.init(this, mSharedState);
         bubbleControllers.ifPresent(controllers -> controllers.init(this));
 
         mControllersToLog = new LoggableTaskbarController[] {
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDividerPopupController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarDividerPopupController.kt
deleted file mode 100644
index 83a3343..0000000
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDividerPopupController.kt
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.launcher3.taskbar
-
-import android.view.View
-import com.android.launcher3.LauncherPrefs
-import com.android.launcher3.LauncherPrefs.Companion.TASKBAR_PINNING
-import com.android.launcher3.taskbar.TaskbarDividerPopupView.Companion.createAndPopulate
-import java.io.PrintWriter
-
-/** Controls taskbar pinning through a popup view. */
-class TaskbarDividerPopupController(private val context: TaskbarActivityContext) :
-    TaskbarControllers.LoggableTaskbarController {
-
-    private lateinit var controllers: TaskbarControllers
-    private val launcherPrefs = LauncherPrefs.get(context)
-
-    fun init(taskbarControllers: TaskbarControllers) {
-        controllers = taskbarControllers
-    }
-
-    fun showPinningView(view: View) {
-        context.isTaskbarWindowFullscreen = true
-
-        view.post {
-            val popupView = createAndPopulate(view, context)
-            popupView.requestFocus()
-
-            popupView.onCloseCallback =
-                callback@{ didPreferenceChange ->
-                    context.dragLayer.post { context.onPopupVisibilityChanged(false) }
-
-                    if (!didPreferenceChange) {
-                        return@callback
-                    }
-
-                    if (launcherPrefs.get(TASKBAR_PINNING)) {
-                        animateTransientToPersistentTaskbar()
-                    } else {
-                        animatePersistentToTransientTaskbar()
-                    }
-                }
-            popupView.changePreference = {
-                launcherPrefs.put(TASKBAR_PINNING, !launcherPrefs.get(TASKBAR_PINNING))
-            }
-            context.onPopupVisibilityChanged(true)
-            popupView.show()
-        }
-    }
-
-    // TODO(b/265436799): provide animation/transition from transient taskbar to persistent one
-    private fun animateTransientToPersistentTaskbar() {}
-
-    // TODO(b/265436799): provide animation/transition from persistent taskbar to transient one
-    private fun animatePersistentToTransientTaskbar() {}
-
-    override fun dumpLogs(prefix: String, pw: PrintWriter) {
-        pw.println(prefix + "TaskbarPinningController:")
-    }
-}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDividerPopupView.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarDividerPopupView.kt
index b0d2c3c..12f1e63 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDividerPopupView.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDividerPopupView.kt
@@ -15,22 +15,28 @@
  */
 package com.android.launcher3.taskbar
 
+import android.animation.Animator
+import android.animation.AnimatorSet
+import android.animation.ObjectAnimator
 import android.annotation.SuppressLint
 import android.content.Context
 import android.graphics.Rect
 import android.graphics.drawable.GradientDrawable
 import android.util.AttributeSet
+import android.util.Property
 import android.view.Gravity
 import android.view.MotionEvent
 import android.view.View
 import android.widget.LinearLayout
 import android.widget.Switch
 import androidx.core.view.postDelayed
+import com.android.app.animation.Interpolators.EMPHASIZED_ACCELERATE
 import com.android.launcher3.R
 import com.android.launcher3.popup.ArrowPopup
 import com.android.launcher3.popup.RoundedArrowDrawable
 import com.android.launcher3.util.DisplayController
 import com.android.launcher3.util.Themes
+import com.android.launcher3.views.ActivityContext
 
 /** Popup view with arrow for taskbar pinning */
 class TaskbarDividerPopupView<T : TaskbarActivityContext>
@@ -42,7 +48,8 @@
 ) : ArrowPopup<T>(context, attrs, defStyleAttr) {
     companion object {
         private const val TAG = "TaskbarDividerPopupView"
-        private const val DIVIDER_POPUP_CLOSING_DELAY = 500L
+        private const val DIVIDER_POPUP_CLOSING_DELAY = 333L
+        private const val DIVIDER_POPUP_CLOSING_ANIMATION_DURATION = 83L
 
         @JvmStatic
         fun createAndPopulate(
@@ -59,10 +66,11 @@
             return taskMenuViewWithArrow.populateForView(view)
         }
     }
+
     private lateinit var dividerView: View
 
     private val menuWidth =
-        context.resources.getDimensionPixelSize(R.dimen.taskbar_pinning_popup_menu_width)
+        resources.getDimensionPixelSize(R.dimen.taskbar_pinning_popup_menu_width)
     private val popupCornerRadius = Themes.getDialogCornerRadius(context)
     private val arrowWidth = resources.getDimension(R.dimen.popup_arrow_width)
     private val arrowHeight = resources.getDimension(R.dimen.popup_arrow_height)
@@ -70,16 +78,12 @@
 
     private var alwaysShowTaskbarOn = !DisplayController.isTransientTaskbar(context)
     private var didPreferenceChange = false
+    private var verticalOffsetForPopupView =
+        resources.getDimensionPixelSize(R.dimen.taskbar_pinning_popup_menu_vertical_margin)
 
     /** Callback invoked when the pinning popup view is closing. */
     var onCloseCallback: (preferenceChanged: Boolean) -> Unit = {}
 
-    /**
-     * Callback invoked when the user preference changes in popup view. Preference change will be
-     * based upon current value stored in [LauncherPrefs] for `TASKBAR_PINNING`
-     */
-    var changePreference: () -> Unit = {}
-
     init {
         // This synchronizes the arrow and menu to open at the same time
         mOpenChildFadeStartDelay = mOpenFadeStartDelay
@@ -97,13 +101,24 @@
     @SuppressLint("UseSwitchCompatOrMaterialCode")
     override fun onFinishInflate() {
         super.onFinishInflate()
-        val taskbarSwitchOption = findViewById<LinearLayout>(R.id.taskbar_switch_option)
-        val alwaysShowTaskbarSwitch = findViewById<Switch>(R.id.taskbar_pinning_switch)
+        val taskbarSwitchOption = requireViewById<LinearLayout>(R.id.taskbar_switch_option)
+        val alwaysShowTaskbarSwitch = requireViewById<Switch>(R.id.taskbar_pinning_switch)
+        val taskbarVisibilityIcon = requireViewById<View>(R.id.taskbar_pinning_visibility_icon)
         alwaysShowTaskbarSwitch.isChecked = alwaysShowTaskbarOn
-        taskbarSwitchOption.setOnClickListener {
-            alwaysShowTaskbarSwitch.isClickable = true
-            alwaysShowTaskbarSwitch.isChecked = !alwaysShowTaskbarOn
-            onClickAlwaysShowTaskbarSwitchOption()
+        if (ActivityContext.lookupContext<TaskbarActivityContext>(context).isGestureNav) {
+            taskbarSwitchOption.setOnClickListener {
+                alwaysShowTaskbarSwitch.isClickable = true
+                alwaysShowTaskbarSwitch.isChecked = !alwaysShowTaskbarOn
+                onClickAlwaysShowTaskbarSwitchOption()
+            }
+        } else {
+            alwaysShowTaskbarSwitch.isEnabled = false
+        }
+
+        if (!alwaysShowTaskbarSwitch.isEnabled) {
+            taskbarVisibilityIcon.background.setTint(
+                resources.getColor(android.R.color.system_neutral2_500, context.theme)
+            )
         }
     }
 
@@ -166,7 +181,7 @@
                     measuredWidth.toFloat(),
                     measuredHeight.toFloat(),
                     (measuredWidth - arrowWidth) / 2, // arrowOffsetX
-                    0f, // arrowOffsetY
+                    -mArrowOffsetVertical.toFloat(), // arrowOffsetY
                     false, // isPointingUp
                     true, // leftAligned
                     context.getColor(R.color.popup_shade_first),
@@ -176,15 +191,67 @@
         }
     }
 
-    override fun closeComplete() {
+    override fun getExtraVerticalOffset(): Int {
+        return (mActivityContext.deviceProfile.taskbarHeight -
+            mActivityContext.deviceProfile.taskbarIconSize) / 2 + verticalOffsetForPopupView
+    }
+
+    override fun onCreateCloseAnimation(anim: AnimatorSet?) {
+        // If taskbar pinning preference changed insert custom close animation for popup menu.
+        if (didPreferenceChange) {
+            mOpenCloseAnimator = getCloseAnimator()
+        }
         onCloseCallback(didPreferenceChange)
-        super.closeComplete()
+        onCloseCallback = {}
+    }
+
+    /** Aligning the view pivot to center for animation. */
+    override fun setPivotForOpenCloseAnimation() {
+        pivotX = measuredWidth / 2f
+        pivotY = measuredHeight.toFloat()
+    }
+
+    private fun getCloseAnimator(): AnimatorSet {
+        val alphaValues = floatArrayOf(1f, 0f)
+        val translateYValue =
+            if (!alwaysShowTaskbarOn) verticalOffsetForPopupView else -verticalOffsetForPopupView
+        val alpha = getAnimatorOfFloat(this, ALPHA, *alphaValues)
+        val arrowAlpha = getAnimatorOfFloat(mArrow, ALPHA, *alphaValues)
+        val translateY =
+            ObjectAnimator.ofFloat(
+                this,
+                TRANSLATION_Y,
+                *floatArrayOf(this.translationY, this.translationY + translateYValue)
+            )
+        val arrowTranslateY =
+            ObjectAnimator.ofFloat(
+                mArrow,
+                TRANSLATION_Y,
+                *floatArrayOf(mArrow.translationY, mArrow.translationY + translateYValue)
+            )
+        val animatorSet = AnimatorSet()
+        animatorSet.playTogether(alpha, arrowAlpha, translateY, arrowTranslateY)
+        return animatorSet
+    }
+
+    private fun getAnimatorOfFloat(
+        view: View,
+        property: Property<View, Float>,
+        vararg values: Float
+    ): Animator {
+        val animator: Animator = ObjectAnimator.ofFloat(view, property, *values)
+        animator.setDuration(DIVIDER_POPUP_CLOSING_ANIMATION_DURATION)
+        animator.interpolator = EMPHASIZED_ACCELERATE
+        return animator
     }
 
     private fun onClickAlwaysShowTaskbarSwitchOption() {
         didPreferenceChange = true
-        changePreference()
         // Allow switch animation to finish and then close the popup.
-        postDelayed(DIVIDER_POPUP_CLOSING_DELAY) { close(true) }
+        postDelayed(DIVIDER_POPUP_CLOSING_DELAY) {
+            if (isOpen) {
+                close(true)
+            }
+        }
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java
index 3c7196a..faa67be 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java
@@ -21,6 +21,9 @@
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_PREDICTION;
 import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT;
 import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_SEARCH_ACTION;
+import static com.android.launcher3.logger.LauncherAtom.ContainerInfo.ContainerCase.EXTENDED_CONTAINERS;
+import static com.android.launcher3.logger.LauncherAtomExtensions.ExtendedContainers.ContainerCase.DEVICE_SEARCH_RESULT_CONTAINER;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_APP_LAUNCH_DRAGDROP;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -64,6 +67,7 @@
 import com.android.launcher3.dragndrop.DragView;
 import com.android.launcher3.dragndrop.DraggableView;
 import com.android.launcher3.graphics.DragPreviewProvider;
+import com.android.launcher3.logger.LauncherAtom.ContainerInfo;
 import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
@@ -259,6 +263,8 @@
             DraggableView originalView, int dragLayerX, int dragLayerY, DragSource source,
             ItemInfo dragInfo, Rect dragRegion, float initialDragViewScale,
             float dragViewScaleOnDrop, DragOptions options) {
+        mActivity.hideKeyboard();
+
         mOptions = options;
 
         mRegistrationX = mMotionDown.x - dragLayerX;
@@ -512,6 +518,9 @@
                 // Note, this must be done last to ensure no AutohideSuspendFlags are active, as
                 // that will prevent us from stashing until the timeout.
                 mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
+
+                mActivity.getStatsLogManager().logger().withItemInfo(mDragObject.dragInfo)
+                        .log(LAUNCHER_APP_LAUNCH_DRAGDROP);
             }
         }
     }
@@ -624,7 +633,9 @@
 
         if (tag instanceof ItemInfo) {
             ItemInfo item = (ItemInfo) tag;
-            if (item.container == CONTAINER_ALL_APPS || item.container == CONTAINER_PREDICTION) {
+            if (item.container == CONTAINER_ALL_APPS
+                    || item.container == CONTAINER_PREDICTION
+                    || isInSearchResultContainer(item)) {
                 if (mDisallowGlobalDrag) {
                     // We're dragging in taskbarAllApps, we don't have folders or shortcuts
                     return iconView;
@@ -646,6 +657,13 @@
         return iconView;
     }
 
+    private static boolean isInSearchResultContainer(ItemInfo item) {
+        ContainerInfo containerInfo = item.getContainerInfo();
+        return containerInfo.getContainerCase() == EXTENDED_CONTAINERS
+                && containerInfo.getExtendedContainers().getContainerCase()
+                        == DEVICE_SEARCH_RESULT_CONTAINER;
+    }
+
     private void setupReturnDragAnimator(float fromX, float fromY, View originalView,
             TaskbarReturnPropertiesListener animListener) {
         // Finish any pending return animation before starting a new return
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java
index e521154..491938d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java
@@ -18,6 +18,8 @@
 import static android.view.KeyEvent.ACTION_UP;
 import static android.view.KeyEvent.KEYCODE_BACK;
 
+import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION;
+
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.RectF;
@@ -73,6 +75,8 @@
     private SafeCloseable mViewCaptureCloseable;
 
     private float mTaskbarBackgroundOffset;
+    private float mTaskbarBackgroundProgress;
+    private boolean mIsAnimatingTaskbarPinning = false;
 
     private final MultiPropertyFactory<TaskbarDragLayer> mTaskbarBackgroundAlpha;
 
@@ -102,7 +106,7 @@
 
     public void init(TaskbarDragLayerController.TaskbarDragLayerCallbacks callbacks) {
         mControllerCallbacks = callbacks;
-        mBackgroundRenderer.updateStashedHandleWidth(mActivity.getDeviceProfile(), getResources());
+        mBackgroundRenderer.updateStashedHandleWidth(mActivity, getResources());
         recreateControllers();
     }
 
@@ -124,7 +128,7 @@
     }
 
     protected void onDestroy() {
-        onDestroy(!TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW);
+        onDestroy(!ENABLE_TASKBAR_NAVBAR_UNIFICATION);
     }
 
     @Override
@@ -162,8 +166,18 @@
         float backgroundHeight = mControllerCallbacks.getTaskbarBackgroundHeight()
                 * (1f - mTaskbarBackgroundOffset);
         mBackgroundRenderer.setBackgroundHeight(backgroundHeight);
+        mBackgroundRenderer.setBackgroundProgress(mTaskbarBackgroundProgress);
         mBackgroundRenderer.draw(canvas);
         super.dispatchDraw(canvas);
+        mControllerCallbacks.drawDebugUi(canvas);
+    }
+
+    /**
+     * Sets animation boolean when taskbar pinning animation starts or stops.
+     */
+    public void setAnimatingTaskbarPinning(boolean animatingTaskbarPinning) {
+        mIsAnimatingTaskbarPinning = animatingTaskbarPinning;
+        mBackgroundRenderer.setAnimatingPinning(mIsAnimatingTaskbarPinning);
     }
 
     protected MultiProperty getBackgroundRendererAlpha() {
@@ -175,6 +189,15 @@
     }
 
     /**
+     * Sets the value for taskbar background switching between persistent and transient backgrounds.
+     * @param progress 0 is transient background, 1 is persistent background.
+     */
+    protected void setTaskbarBackgroundProgress(float progress) {
+        mTaskbarBackgroundProgress = progress;
+        invalidate();
+    }
+
+    /**
      * Sets the translation of the background color behind all the Taskbar contents.
      * @param offset 0 is fully onscreen, 1 is fully offscreen.
      */
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
index 867b062..3f5402f 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
@@ -15,15 +15,21 @@
  */
 package com.android.launcher3.taskbar;
 
+import static com.android.launcher3.taskbar.TaskbarPinningController.PINNING_PERSISTENT;
+import static com.android.launcher3.taskbar.TaskbarPinningController.PINNING_TRANSIENT;
+
 import android.content.res.Resources;
+import android.graphics.Canvas;
 import android.graphics.Point;
 import android.graphics.Rect;
+import android.os.SystemProperties;
 import android.view.ViewTreeObserver;
 
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.R;
 import com.android.launcher3.anim.AnimatedFloat;
 import com.android.launcher3.util.DimensionUtils;
+import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.MultiPropertyFactory.MultiProperty;
 import com.android.launcher3.util.TouchController;
 
@@ -35,6 +41,9 @@
 public class TaskbarDragLayerController implements TaskbarControllers.LoggableTaskbarController,
         TaskbarControllers.BackgroundRendererController {
 
+    private static final boolean DEBUG = SystemProperties.getBoolean(
+            "persist.debug.draw_taskbar_debug_ui", false);
+
     private final TaskbarActivityContext mActivity;
     private final TaskbarDragLayer mTaskbarDragLayer;
     private final int mFolderMargin;
@@ -58,6 +67,9 @@
     // changes the inset visibility.
     private final AnimatedFloat mTaskbarAlpha = new AnimatedFloat(this::updateTaskbarAlpha);
 
+    private final AnimatedFloat mTaskbarBackgroundProgress = new AnimatedFloat(
+            this::updateTaskbarBackgroundProgress);
+
     // Initialized in init.
     private TaskbarControllers mControllers;
     private TaskbarStashViaTouchController mTaskbarStashViaTouchController;
@@ -83,6 +95,10 @@
         mOnBackgroundNavButtonColorIntensity = mControllers.navbarButtonsViewController
                 .getOnTaskbarBackgroundNavButtonColorOverride();
 
+        mTaskbarBackgroundProgress.updateValue(DisplayController.isTransientTaskbar(mActivity)
+                ? PINNING_TRANSIENT
+                : PINNING_PERSISTENT);
+
         mBgTaskbar.value = 1;
         mKeyguardBgTaskbar.value = 1;
         mNotificationShadeBgTaskbar.value = 1;
@@ -138,6 +154,11 @@
         return mBgOffset;
     }
 
+    // AnimatedFloat is for animating between pinned and transient taskbar
+    public AnimatedFloat getTaskbarBackgroundProgress() {
+        return mTaskbarBackgroundProgress;
+    }
+
     public AnimatedFloat getTaskbarAlpha() {
         return mTaskbarAlpha;
     }
@@ -180,10 +201,13 @@
 
     private void updateBackgroundOffset() {
         mTaskbarDragLayer.setTaskbarBackgroundOffset(mBgOffset.value);
-
         updateOnBackgroundNavButtonColorIntensity();
     }
 
+    private void updateTaskbarBackgroundProgress() {
+        mTaskbarDragLayer.setTaskbarBackgroundProgress(mTaskbarBackgroundProgress.value);
+    }
+
     private void updateTaskbarAlpha() {
         mTaskbarDragLayer.setAlpha(mTaskbarAlpha.value);
     }
@@ -257,11 +281,10 @@
          */
         public int getTaskbarBackgroundHeight() {
             DeviceProfile deviceProfile = mActivity.getDeviceProfile();
-            if (TaskbarManager.isPhoneMode(deviceProfile)) {
+            if (mActivity.isPhoneMode()) {
                 Resources resources = mActivity.getResources();
-                Point taskbarDimensions =
-                        DimensionUtils.getTaskbarPhoneDimensions(deviceProfile, resources,
-                                TaskbarManager.isPhoneMode(deviceProfile));
+                Point taskbarDimensions = DimensionUtils.getTaskbarPhoneDimensions(deviceProfile,
+                        resources, true /* isPhoneMode */);
                 return taskbarDimensions.y == -1 ?
                         deviceProfile.getDisplayInfo().currentSize.y :
                         taskbarDimensions.y;
@@ -281,5 +304,15 @@
                     mTaskbarStashViaTouchController,
             };
         }
+
+        /**
+         * Draws debug UI on top of everything in TaskbarDragLayer.
+         */
+        public void drawDebugUi(Canvas canvas) {
+            if (!DEBUG) {
+                return;
+            }
+            mControllers.taskbarInsetsController.drawDebugTouchableRegionBounds(canvas);
+        }
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltip.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltip.kt
index 9b50c5d..c45c667 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltip.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltip.kt
@@ -97,8 +97,8 @@
     override fun onFinishInflate() {
         super.onFinishInflate()
 
-        content = findViewById(R.id.content)
-        arrow = findViewById(R.id.arrow)
+        content = requireViewById(R.id.content)
+        arrow = requireViewById(R.id.arrow)
         arrow.background =
             RoundedArrowDrawable(
                 arrowWidth,
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt
index e99fa50..eea543e 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt
@@ -16,6 +16,7 @@
 package com.android.launcher3.taskbar
 
 import android.os.Bundle
+import android.view.Gravity
 import android.view.View
 import android.view.View.GONE
 import android.view.View.VISIBLE
@@ -29,10 +30,12 @@
 import com.airbnb.lottie.LottieAnimationView
 import com.android.launcher3.R
 import com.android.launcher3.Utilities
+import com.android.launcher3.config.FeatureFlags.enableTaskbarPinning
 import com.android.launcher3.taskbar.TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_EDU_OPEN
 import com.android.launcher3.taskbar.TaskbarControllers.LoggableTaskbarController
 import com.android.launcher3.util.DisplayController
 import com.android.launcher3.util.OnboardingPrefs.TASKBAR_EDU_TOOLTIP_STEP
+import com.android.launcher3.views.BaseDragLayer
 import com.android.quickstep.util.LottieAnimationColorUtils
 import java.io.PrintWriter
 
@@ -40,16 +43,19 @@
 const val TOOLTIP_STEP_SWIPE = 0
 /** Second EDU step for explaining Taskbar functionality when unstashed. */
 const val TOOLTIP_STEP_FEATURES = 1
+/** Third EDU step for explaining Taskbar pinning. */
+const val TOOLTIP_STEP_PINNING = 2
+
 /**
  * EDU is completed.
  *
  * This value should match the maximum count for [TASKBAR_EDU_TOOLTIP_STEP].
  */
-const val TOOLTIP_STEP_NONE = 2
+const val TOOLTIP_STEP_NONE = 3
 
 /** Current step in the tooltip EDU flow. */
 @Retention(AnnotationRetention.SOURCE)
-@IntDef(TOOLTIP_STEP_SWIPE, TOOLTIP_STEP_FEATURES, TOOLTIP_STEP_NONE)
+@IntDef(TOOLTIP_STEP_SWIPE, TOOLTIP_STEP_FEATURES, TOOLTIP_STEP_PINNING, TOOLTIP_STEP_NONE)
 annotation class TaskbarEduTooltipStep
 
 /** Controls stepping through the Taskbar tooltip EDU. */
@@ -57,7 +63,7 @@
     LoggableTaskbarController {
 
     private val isTooltipEnabled: Boolean
-        get() = !Utilities.isRunningInTestHarness()
+        get() = !Utilities.isRunningInTestHarness() && !activityContext.isPhoneMode
     private val isOpen: Boolean
         get() = tooltip?.isOpen ?: false
     val isBeforeTooltipFeaturesStep: Boolean
@@ -67,11 +73,10 @@
     @TaskbarEduTooltipStep
     var tooltipStep: Int
         get() {
-            return activityContext.onboardingPrefs?.getCount(TASKBAR_EDU_TOOLTIP_STEP)
-                ?: TOOLTIP_STEP_NONE
+            return TASKBAR_EDU_TOOLTIP_STEP.get(activityContext)
         }
         private set(step) {
-            activityContext.onboardingPrefs?.setEventCount(step, TASKBAR_EDU_TOOLTIP_STEP)
+            TASKBAR_EDU_TOOLTIP_STEP.set(step, activityContext)
         }
 
     private var tooltip: TaskbarEduTooltip? = null
@@ -93,7 +98,7 @@
         tooltipStep = TOOLTIP_STEP_FEATURES
         inflateTooltip(R.layout.taskbar_edu_swipe)
         tooltip?.run {
-            findViewById<LottieAnimationView>(R.id.swipe_animation).supportLightTheme()
+            requireViewById<LottieAnimationView>(R.id.swipe_animation).supportLightTheme()
             show()
         }
     }
@@ -106,27 +111,28 @@
      */
     fun maybeShowFeaturesEdu() {
         if (!isTooltipEnabled || tooltipStep > TOOLTIP_STEP_FEATURES) {
+            maybeShowPinningEdu()
             return
         }
 
         tooltipStep = TOOLTIP_STEP_NONE
         inflateTooltip(R.layout.taskbar_edu_features)
         tooltip?.run {
-            val splitscreenAnim = findViewById<LottieAnimationView>(R.id.splitscreen_animation)
-            val suggestionsAnim = findViewById<LottieAnimationView>(R.id.suggestions_animation)
-            val settingsAnim = findViewById<LottieAnimationView>(R.id.settings_animation)
-            val settingsEdu = findViewById<View>(R.id.settings_edu)
+            val splitscreenAnim = requireViewById<LottieAnimationView>(R.id.splitscreen_animation)
+            val suggestionsAnim = requireViewById<LottieAnimationView>(R.id.suggestions_animation)
+            val pinningAnim = requireViewById<LottieAnimationView>(R.id.pinning_animation)
+            val pinningEdu = requireViewById<View>(R.id.pinning_edu)
             splitscreenAnim.supportLightTheme()
             suggestionsAnim.supportLightTheme()
-            settingsAnim.supportLightTheme()
+            pinningAnim.supportLightTheme()
             if (DisplayController.isTransientTaskbar(activityContext)) {
                 splitscreenAnim.setAnimation(R.raw.taskbar_edu_splitscreen_transient)
                 suggestionsAnim.setAnimation(R.raw.taskbar_edu_suggestions_transient)
-                settingsEdu.visibility = GONE
+                pinningEdu.visibility = if (enableTaskbarPinning()) VISIBLE else GONE
             } else {
                 splitscreenAnim.setAnimation(R.raw.taskbar_edu_splitscreen_persistent)
                 suggestionsAnim.setAnimation(R.raw.taskbar_edu_suggestions_persistent)
-                settingsEdu.visibility = VISIBLE
+                pinningEdu.visibility = GONE
             }
 
             // Set up layout parameters.
@@ -135,13 +141,16 @@
                 if (DisplayController.isTransientTaskbar(activityContext)) {
                     width =
                         resources.getDimensionPixelSize(
-                            R.dimen.taskbar_edu_features_tooltip_width_transient
+                            if (enableTaskbarPinning())
+                                R.dimen.taskbar_edu_features_tooltip_width_with_three_features
+                            else R.dimen.taskbar_edu_features_tooltip_width_with_two_features
                         )
+
                     bottomMargin += activityContext.deviceProfile.taskbarHeight
                 } else {
                     width =
                         resources.getDimensionPixelSize(
-                            R.dimen.taskbar_edu_features_tooltip_width_persistent
+                            R.dimen.taskbar_edu_features_tooltip_width_with_two_features
                         )
                 }
             }
@@ -151,6 +160,52 @@
         }
     }
 
+    /**
+     * Shows standalone Pinning EDU tooltip if this EDU has not been seen.
+     *
+     * We show this standalone edu if users have seen the previous version of taskbar education,
+     * which did not include the pinning feature.
+     */
+    private fun maybeShowPinningEdu() {
+        // use old value of tooltipStep that was set to the previous value of TOOLTIP_STEP_NONE (2
+        // for the original 2 edu steps) as a proxy to needing to show the separate pinning edu
+        if (
+            !enableTaskbarPinning() ||
+                !isTooltipEnabled ||
+                tooltipStep > TOOLTIP_STEP_PINNING ||
+                tooltipStep < TOOLTIP_STEP_FEATURES
+        ) {
+            return
+        }
+        tooltipStep = TOOLTIP_STEP_NONE
+        inflateTooltip(R.layout.taskbar_edu_pinning)
+
+        tooltip?.run {
+            requireViewById<LottieAnimationView>(R.id.standalone_pinning_animation)
+                .supportLightTheme()
+
+            updateLayoutParams<BaseDragLayer.LayoutParams> {
+                if (DisplayController.isTransientTaskbar(activityContext)) {
+                    bottomMargin += activityContext.deviceProfile.taskbarHeight
+                }
+                // Unlike other tooltips, we want to align with taskbar divider rather than center.
+                gravity = Gravity.BOTTOM
+                marginStart = 0
+                width =
+                    resources.getDimensionPixelSize(
+                        R.dimen.taskbar_edu_features_tooltip_width_with_one_feature
+                    )
+            }
+
+            // Calculate the amount the tooltip must be shifted by to align with the taskbar divider
+            val taskbarDividerView = controllers.taskbarViewController.taskbarDividerView
+            val dividerLocation = taskbarDividerView.x + taskbarDividerView.width / 2
+            x = dividerLocation - layoutParams.width / 2
+
+            show()
+        }
+    }
+
     /** Closes the current [tooltip]. */
     fun hide() = tooltip?.close(true)
 
@@ -186,7 +241,7 @@
     private fun createAccessibilityDelegate() =
         object : View.AccessibilityDelegate() {
             override fun performAccessibilityAction(
-                host: View?,
+                host: View,
                 action: Int,
                 args: Bundle?
             ): Boolean {
@@ -197,22 +252,22 @@
                 return super.performAccessibilityAction(host, action, args)
             }
 
-            override fun onPopulateAccessibilityEvent(host: View?, event: AccessibilityEvent?) {
+            override fun onPopulateAccessibilityEvent(host: View, event: AccessibilityEvent) {
                 super.onPopulateAccessibilityEvent(host, event)
-                if (event?.eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
-                    event.text?.add(host?.context?.getText(R.string.taskbar_edu_a11y_title))
+                if (event.eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
+                    event.text.add(host.context?.getText(R.string.taskbar_edu_a11y_title))
                 }
             }
 
             override fun onInitializeAccessibilityNodeInfo(
-                host: View?,
-                info: AccessibilityNodeInfo?
+                host: View,
+                info: AccessibilityNodeInfo
             ) {
                 super.onInitializeAccessibilityNodeInfo(host, info)
-                info?.addAction(
+                info.addAction(
                     AccessibilityNodeInfo.AccessibilityAction(
                         R.id.close,
-                        host?.context?.getText(R.string.taskbar_edu_close)
+                        host.context?.getText(R.string.taskbar_edu_close)
                     )
                 )
             }
@@ -251,5 +306,5 @@
         return
     }
 
-    LottieAnimationColorUtils.updateColors(this, DARK_TO_LIGHT_COLORS, context.theme)
+    LottieAnimationColorUtils.updateToColorResources(this, DARK_TO_LIGHT_COLORS, context.theme)
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarForceVisibleImmersiveController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarForceVisibleImmersiveController.java
index ffaee45..333c07b 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarForceVisibleImmersiveController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarForceVisibleImmersiveController.java
@@ -22,7 +22,7 @@
 import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLICK;
 
 import static com.android.launcher3.taskbar.NavbarButtonsViewController.ALPHA_INDEX_IMMERSIVE_MODE;
-import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IMMERSIVE_MODE;
+import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_ALLOW_GESTURE_IGNORING_BAR_VISIBILITY;
 
 import android.os.Bundle;
 import android.os.Handler;
@@ -84,7 +84,7 @@
 
     /** Update values tracked via sysui flags. */
     public void updateSysuiFlags(int sysuiFlags) {
-        mIsImmersiveMode = (sysuiFlags & SYSUI_STATE_IMMERSIVE_MODE) != 0;
+        mIsImmersiveMode = (sysuiFlags & SYSUI_STATE_ALLOW_GESTURE_IGNORING_BAR_VISIBILITY) == 0;
         if (mContext.isNavBarForceVisible()) {
             if (mIsImmersiveMode) {
                 startIconDimming();
@@ -158,8 +158,7 @@
 
     @Override
     public boolean onControllerInterceptTouchEvent(MotionEvent ev) {
-        if (!isNavbarShownInImmersiveMode()
-                || mControllers.taskbarStashController.supportsManualStashing()) {
+        if (!isNavbarShownInImmersiveMode()) {
             return false;
         }
         return onControllerTouchEvent(ev);
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarHoverToolTipController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarHoverToolTipController.java
index c3ec1e5..0443197 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarHoverToolTipController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarHoverToolTipController.java
@@ -35,8 +35,6 @@
 import android.view.MotionEvent;
 import android.view.View;
 
-import androidx.annotation.VisibleForTesting;
-
 import com.android.app.animation.Interpolators;
 import com.android.launcher3.AbstractFloatingView;
 import com.android.launcher3.BubbleTextView;
@@ -51,8 +49,7 @@
  */
 public class TaskbarHoverToolTipController implements View.OnHoverListener {
 
-    @VisibleForTesting protected static final int HOVER_TOOL_TIP_REVEAL_START_DELAY = 400;
-    private static final int HOVER_TOOL_TIP_REVEAL_DURATION = 300;
+    private static final int HOVER_TOOL_TIP_REVEAL_DURATION = 250;
     private static final int HOVER_TOOL_TIP_EXIT_DURATION = 150;
 
     private final Handler mHoverToolTipHandler = new Handler(Looper.getMainLooper());
@@ -84,6 +81,12 @@
                 R.style.ArrowTipTaskbarStyle);
         mHoverToolTipView = new ArrowTipView(arrowContextWrapper, /* isPointingUp = */ false,
                 R.layout.arrow_toast);
+        int verticalPadding = arrowContextWrapper.getResources().getDimensionPixelSize(
+                R.dimen.taskbar_tooltip_vertical_padding);
+        int horizontalPadding = arrowContextWrapper.getResources().getDimensionPixelSize(
+                R.dimen.taskbar_tooltip_horizontal_padding);
+        mHoverToolTipView.findViewById(R.id.text).setPadding(horizontalPadding, verticalPadding,
+                horizontalPadding, verticalPadding);
 
         AnimatorSet hoverCloseAnimator = new AnimatorSet();
         ObjectAnimator textCloseAnimator = ObjectAnimator.ofInt(mHoverToolTipView, TEXT_ALPHA, 0);
@@ -101,17 +104,18 @@
         mHoverToolTipView.setCustomCloseAnimation(hoverCloseAnimator);
 
         AnimatorSet hoverOpenAnimator = new AnimatorSet();
-        ObjectAnimator textOpenAnimator = ObjectAnimator.ofInt(mHoverToolTipView, TEXT_ALPHA, 255);
-        textOpenAnimator.setInterpolator(Interpolators.clampToProgress(LINEAR, 0.33f, 1f));
-        ObjectAnimator scaleOpenAnimator = ObjectAnimator.ofFloat(mHoverToolTipView, SCALE_Y, 1f);
+        ObjectAnimator textOpenAnimator =
+                ObjectAnimator.ofInt(mHoverToolTipView, TEXT_ALPHA, 0, 255);
+        textOpenAnimator.setInterpolator(Interpolators.clampToProgress(LINEAR, 0.15f, 0.75f));
+        ObjectAnimator scaleOpenAnimator =
+                ObjectAnimator.ofFloat(mHoverToolTipView, SCALE_Y, 0f, 1f);
         scaleOpenAnimator.setInterpolator(Interpolators.EMPHASIZED);
-        ObjectAnimator alphaOpenAnimator = ObjectAnimator.ofFloat(mHoverToolTipView, ALPHA, 1f);
-        alphaOpenAnimator.setInterpolator(Interpolators.clampToProgress(LINEAR, 0.1f, 0.33f));
+        ObjectAnimator alphaOpenAnimator = ObjectAnimator.ofFloat(mHoverToolTipView, ALPHA, 0f, 1f);
+        alphaOpenAnimator.setInterpolator(Interpolators.clampToProgress(LINEAR, 0f, 0.33f));
         hoverOpenAnimator.playTogether(
                 scaleOpenAnimator,
                 textOpenAnimator,
                 alphaOpenAnimator);
-        hoverOpenAnimator.setStartDelay(HOVER_TOOL_TIP_REVEAL_START_DELAY);
         hoverOpenAnimator.setDuration(HOVER_TOOL_TIP_REVEAL_DURATION);
         mHoverToolTipView.setCustomOpenAnimation(hoverOpenAnimator);
 
@@ -120,8 +124,6 @@
                     mHoverToolTipView.setPivotY(bottom);
                     mHoverToolTipView.setY(mTaskbarView.getTop() - (bottom - top));
                 });
-        mHoverToolTipView.setScaleY(0f);
-        mHoverToolTipView.setAlpha(0f);
     }
 
     @Override
@@ -147,8 +149,7 @@
     }
 
     private void startRevealHoverToolTip() {
-        mHoverToolTipHandler.postDelayed(mRevealHoverToolTipRunnable,
-                HOVER_TOOL_TIP_REVEAL_START_DELAY);
+        mHoverToolTipHandler.post(mRevealHoverToolTipRunnable);
     }
 
     private void revealHoverToolTip() {
@@ -158,14 +159,12 @@
         if (mHoverView instanceof FolderIcon && !((FolderIcon) mHoverView).getIconVisible()) {
             return;
         }
-        mActivity.setTaskbarWindowFullscreen(true);
         Rect iconViewBounds = Utilities.getViewBounds(mHoverView);
         mHoverToolTipView.showAtLocation(mToolTipText, iconViewBounds.centerX(),
                 mTaskbarView.getTop(), /* shouldAutoClose= */ false);
     }
 
     private void startHideHoverToolTip() {
-        mHoverToolTipHandler.removeCallbacks(mRevealHoverToolTipRunnable);
         int accessibilityHideTimeout = AccessibilityManagerCompat.getRecommendedTimeoutMillis(
                 mActivity, /* originalTimeout= */ 0, FLAG_CONTENT_TEXT);
         mHoverToolTipHandler.postDelayed(mHideHoverToolTipRunnable, accessibilityHideTimeout);
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
index 5a4534e..633383d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
@@ -15,9 +15,13 @@
  */
 package com.android.launcher3.taskbar
 
-import android.inputmethodservice.InputMethodService.ENABLE_HIDE_IME_CAPTION_BAR
+import android.graphics.Canvas
+import android.graphics.Color
 import android.graphics.Insets
+import android.graphics.Paint
+import android.graphics.Rect
 import android.graphics.Region
+import android.inputmethodservice.InputMethodService.ENABLE_HIDE_IME_CAPTION_BAR
 import android.os.Binder
 import android.os.IBinder
 import android.view.Gravity
@@ -41,10 +45,13 @@
 import com.android.launcher3.DeviceProfile
 import com.android.launcher3.R
 import com.android.launcher3.anim.AlphaUpdateListener
+import com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION
+import com.android.launcher3.config.FeatureFlags.enableTaskbarNoRecreate
 import com.android.launcher3.taskbar.TaskbarControllers.LoggableTaskbarController
 import com.android.launcher3.util.DisplayController
 import java.io.PrintWriter
 import kotlin.jvm.optionals.getOrNull
+import kotlin.math.max
 
 /** Handles the insets that Taskbar provides to underlying apps and the IME. */
 class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTaskbarController {
@@ -56,7 +63,8 @@
 
     /** The bottom insets taskbar provides to the IME when IME is visible. */
     val taskbarHeightForIme: Int = context.resources.getDimensionPixelSize(R.dimen.taskbar_ime_size)
-    private val touchableRegion: Region = Region()
+    // The touchableRegion we will set unless some other state takes precedence.
+    private val defaultTouchableRegion: Region = Region()
     private val insetsOwner: IBinder = Binder()
     private val deviceProfileChangeListener = { _: DeviceProfile ->
         onTaskbarOrBubblebarWindowHeightOrInsetsChanged()
@@ -67,6 +75,7 @@
             context,
             this::onTaskbarOrBubblebarWindowHeightOrInsetsChanged
         )
+    private val debugTouchableRegion = DebugTouchableRegion()
 
     // Initialized in init.
     private lateinit var controllers: TaskbarControllers
@@ -97,7 +106,16 @@
                 0
             }
 
-        windowLayoutParams.providedInsets = getProvidedInsets(insetsRoundedCornerFlag)
+        windowLayoutParams.providedInsets =
+            if (enableTaskbarNoRecreate() && controllers.sharedState != null) {
+                getProvidedInsets(
+                    controllers.sharedState!!.insetsFrameProviders,
+                    insetsRoundedCornerFlag
+                )
+            } else {
+                getProvidedInsets(insetsRoundedCornerFlag)
+            }
+
         if (!context.isGestureNav) {
             if (windowLayoutParams.paramsForRotation != null) {
                 for (layoutParams in windowLayoutParams.paramsForRotation) {
@@ -113,7 +131,7 @@
             } else {
                 0
             }
-        val touchableHeight = Math.max(taskbarTouchableHeight, bubblesTouchableHeight)
+        val touchableHeight = max(taskbarTouchableHeight, bubblesTouchableHeight)
 
         if (
             controllers.bubbleControllers.isPresent &&
@@ -121,14 +139,14 @@
         ) {
             val iconBounds =
                 controllers.bubbleControllers.get().bubbleBarViewController.bubbleBarBounds
-            touchableRegion.set(
+            defaultTouchableRegion.set(
                 iconBounds.left,
                 iconBounds.top,
                 iconBounds.right,
                 iconBounds.bottom
             )
         } else {
-            touchableRegion.set(
+            defaultTouchableRegion.set(
                 0,
                 windowLayoutParams.height - touchableHeight,
                 context.deviceProfile.widthPx,
@@ -154,26 +172,42 @@
     }
 
     /**
+     * This is for when ENABLE_TASKBAR_NO_RECREATION is enabled. We generate one instance of
+     * providedInsets and use it across the entire lifecycle of TaskbarManager. The only thing we
+     * need to reset is nav bar flags based on insetsRoundedCornerFlag.
+     */
+    private fun getProvidedInsets(
+        providedInsets: Array<InsetsFrameProvider>,
+        insetsRoundedCornerFlag: Int
+    ): Array<InsetsFrameProvider> {
+        val navBarsFlag =
+            (if (context.isGestureNav) FLAG_SUPPRESS_SCRIM else 0) or insetsRoundedCornerFlag
+        for (provider in providedInsets) {
+            if (provider.type == navigationBars()) {
+                provider.setFlags(navBarsFlag, FLAG_SUPPRESS_SCRIM or FLAG_INSETS_ROUNDED_CORNER)
+            }
+        }
+        return providedInsets
+    }
+
+    /**
      * The inset types and number of insets provided have to match for both gesture nav and button
-     * nav. The values and the order of the elements in array are allowed to differ.
-     * Reason being WM does not allow types and number of insets changing for a given window once it
-     * is added into the hierarchy for performance reasons.
+     * nav. The values and the order of the elements in array are allowed to differ. Reason being WM
+     * does not allow types and number of insets changing for a given window once it is added into
+     * the hierarchy for performance reasons.
      */
     private fun getProvidedInsets(insetsRoundedCornerFlag: Int): Array<InsetsFrameProvider> {
         val navBarsFlag =
-                (if (context.isGestureNav) FLAG_SUPPRESS_SCRIM else 0) or insetsRoundedCornerFlag
+            (if (context.isGestureNav) FLAG_SUPPRESS_SCRIM else 0) or insetsRoundedCornerFlag
         return arrayOf(
-                InsetsFrameProvider(insetsOwner, 0, navigationBars())
-                        .setFlags(
-                                navBarsFlag,
-                                FLAG_SUPPRESS_SCRIM or FLAG_INSETS_ROUNDED_CORNER
-                        ),
-                InsetsFrameProvider(insetsOwner, 0, tappableElement()),
-                InsetsFrameProvider(insetsOwner, 0, mandatorySystemGestures()),
-                InsetsFrameProvider(insetsOwner, INDEX_LEFT, systemGestures())
-                        .setSource(SOURCE_DISPLAY),
-                InsetsFrameProvider(insetsOwner, INDEX_RIGHT, systemGestures())
-                        .setSource(SOURCE_DISPLAY)
+            InsetsFrameProvider(insetsOwner, 0, navigationBars())
+                .setFlags(navBarsFlag, FLAG_SUPPRESS_SCRIM or FLAG_INSETS_ROUNDED_CORNER),
+            InsetsFrameProvider(insetsOwner, 0, tappableElement()),
+            InsetsFrameProvider(insetsOwner, 0, mandatorySystemGestures()),
+            InsetsFrameProvider(insetsOwner, INDEX_LEFT, systemGestures())
+                .setSource(SOURCE_DISPLAY),
+            InsetsFrameProvider(insetsOwner, INDEX_RIGHT, systemGestures())
+                .setSource(SOURCE_DISPLAY)
         )
     }
 
@@ -187,42 +221,52 @@
             provider.insetsSize = getInsetsForGravity(tappableHeight, gravity)
         } else if (provider.type == systemGestures() && provider.index == INDEX_LEFT) {
             val leftIndexInset =
-                    if (context.isThreeButtonNav) 0
-                    else gestureNavSettingsObserver.getLeftSensitivityForCallingUser(res)
+                if (context.isThreeButtonNav) 0
+                else gestureNavSettingsObserver.getLeftSensitivityForCallingUser(res)
             provider.insetsSize = Insets.of(leftIndexInset, 0, 0, 0)
         } else if (provider.type == systemGestures() && provider.index == INDEX_RIGHT) {
             val rightIndexInset =
-                    if (context.isThreeButtonNav) 0
-                    else gestureNavSettingsObserver.getRightSensitivityForCallingUser(res)
+                if (context.isThreeButtonNav) 0
+                else gestureNavSettingsObserver.getRightSensitivityForCallingUser(res)
             provider.insetsSize = Insets.of(0, 0, rightIndexInset, 0)
         }
 
-
         // When in gesture nav, report the stashed height to the IME, to allow hiding the
         // IME navigation bar.
-        val imeInsetsSize = if (ENABLE_HIDE_IME_CAPTION_BAR && context.isGestureNav) {
-            getInsetsForGravity(controllers.taskbarStashController.stashedHeight, gravity);
-        } else {
-            getInsetsForGravity(taskbarHeightForIme, gravity)
-        }
+        val imeInsetsSize =
+            if (ENABLE_HIDE_IME_CAPTION_BAR && context.isGestureNav) {
+                getInsetsForGravity(controllers.taskbarStashController.stashedHeight, gravity)
+            } else {
+                getInsetsForGravity(taskbarHeightForIme, gravity)
+            }
         val imeInsetsSizeOverride =
-                arrayOf(
-                        InsetsFrameProvider.InsetsSizeOverride(TYPE_INPUT_METHOD, imeInsetsSize),
+            arrayOf(
+                InsetsFrameProvider.InsetsSizeOverride(TYPE_INPUT_METHOD, imeInsetsSize),
+                InsetsFrameProvider.InsetsSizeOverride(
+                    TYPE_VOICE_INTERACTION,
+                    // No-op override to keep the size and types in sync with the
+                    // override below (insetsSizeOverrides must have the same length and
+                    // types after the window is added according to
+                    // WindowManagerService#relayoutWindow)
+                    provider.insetsSize
                 )
+            )
         // Use 0 tappableElement insets for the VoiceInteractionWindow when gesture nav is enabled.
         val visInsetsSizeForTappableElement =
-                if (context.isGestureNav) getInsetsForGravity(0, gravity)
-                else getInsetsForGravity(tappableHeight, gravity)
+            if (context.isGestureNav) getInsetsForGravity(0, gravity)
+            else getInsetsForGravity(tappableHeight, gravity)
         val insetsSizeOverrideForTappableElement =
-                arrayOf(
-                        InsetsFrameProvider.InsetsSizeOverride(TYPE_INPUT_METHOD, imeInsetsSize),
-                        InsetsFrameProvider.InsetsSizeOverride(
-                                TYPE_VOICE_INTERACTION,
-                                visInsetsSizeForTappableElement
-                        ),
-                )
-        if ((context.isGestureNav || TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW)
-                && provider.type == tappableElement()) {
+            arrayOf(
+                InsetsFrameProvider.InsetsSizeOverride(TYPE_INPUT_METHOD, imeInsetsSize),
+                InsetsFrameProvider.InsetsSizeOverride(
+                    TYPE_VOICE_INTERACTION,
+                    visInsetsSizeForTappableElement
+                ),
+            )
+        if (
+            (context.isGestureNav || ENABLE_TASKBAR_NAVBAR_UNIFICATION) &&
+                provider.type == tappableElement()
+        ) {
             provider.insetsSizeOverrides = insetsSizeOverrideForTappableElement
         } else if (provider.type != systemGestures()) {
             // We only override insets at the bottom of the screen
@@ -231,8 +275,8 @@
     }
 
     /**
-     * @return [Insets] where the [inset] is either used as a bottom inset or
-     * right/left inset if using 3 button nav
+     * @return [Insets] where the [inset] is either used as a bottom inset or right/left inset if
+     *   using 3 button nav
      */
     private fun getInsetsForGravity(inset: Int, gravity: Int): Insets {
         if ((gravity and Gravity.BOTTOM) == Gravity.BOTTOM) {
@@ -244,7 +288,7 @@
         val isSeascape = (gravity and Gravity.START) == Gravity.START
         val leftInset = if (isSeascape) inset else 0
         val rightInset = if (isSeascape) 0 else inset
-        return Insets.of(leftInset , 0, rightInset, 0)
+        return Insets.of(leftInset, 0, rightInset, 0)
     }
 
     /**
@@ -259,6 +303,8 @@
             context.dragLayer,
             insetsInfo.touchableRegion
         )
+        debugTouchableRegion.lastSetTouchableBounds.set(insetsInfo.touchableRegion.bounds)
+
         val bubbleBarVisible =
             controllers.bubbleControllers.isPresent &&
                 controllers.bubbleControllers.get().bubbleBarViewController.isBubbleBarVisible()
@@ -266,21 +312,28 @@
         if (context.dragLayer.alpha < AlphaUpdateListener.ALPHA_CUTOFF_THRESHOLD) {
             // Let touches pass through us.
             insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION)
+            debugTouchableRegion.lastSetTouchableReason = "Taskbar is invisible"
         } else if (
             controllers.navbarButtonsViewController.isImeVisible &&
                 controllers.taskbarStashController.isStashed
         ) {
+            // Let touches pass through us.
             insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION)
+            debugTouchableRegion.lastSetTouchableReason = "Stashed over IME"
         } else if (!controllers.uiController.isTaskbarTouchable) {
             // Let touches pass through us.
             insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION)
+            debugTouchableRegion.lastSetTouchableReason = "Taskbar is not touchable"
         } else if (controllers.taskbarDragController.isSystemDragInProgress) {
             // Let touches pass through us.
             insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION)
+            debugTouchableRegion.lastSetTouchableReason = "System drag is in progress"
         } else if (context.isTaskbarWindowFullscreen) {
             // Intercept entire fullscreen window.
             insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_FRAME)
             insetsIsTouchableRegion = false
+            debugTouchableRegion.lastSetTouchableReason = "Taskbar is fullscreen"
+            context.dragLayer.getBoundsInWindow(debugTouchableRegion.lastSetTouchableBounds, false)
         } else if (
             controllers.taskbarViewController.areIconsVisible() ||
                 context.isNavBarKidsModeActive ||
@@ -309,19 +362,33 @@
                     region.op(bubbleBarBounds, Region.Op.UNION)
                 }
                 insetsInfo.touchableRegion.set(region)
+                debugTouchableRegion.lastSetTouchableReason = "Transient Taskbar is in Overview"
+                debugTouchableRegion.lastSetTouchableBounds.set(region.bounds)
             } else {
-                insetsInfo.touchableRegion.set(touchableRegion)
+                insetsInfo.touchableRegion.set(defaultTouchableRegion)
+                debugTouchableRegion.lastSetTouchableReason = "Using default touchable region"
+                debugTouchableRegion.lastSetTouchableBounds.set(defaultTouchableRegion.bounds)
             }
             insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION)
             insetsIsTouchableRegion = false
         } else {
             insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION)
+            debugTouchableRegion.lastSetTouchableReason =
+                "Icons are not visible, but other components such as 3 buttons might be"
         }
         context.excludeFromMagnificationRegion(insetsIsTouchableRegion)
     }
 
+    /** Draws the last set touchableRegion as a red rectangle onto the given Canvas. */
+    fun drawDebugTouchableRegionBounds(canvas: Canvas) {
+        val paint = Paint()
+        paint.color = Color.RED
+        paint.style = Paint.Style.STROKE
+        canvas.drawRect(debugTouchableRegion.lastSetTouchableBounds, paint)
+    }
+
     override fun dumpLogs(prefix: String, pw: PrintWriter) {
-        pw.println(prefix + "TaskbarInsetsController:")
+        pw.println("${prefix}TaskbarInsetsController:")
         pw.println("$prefix\twindowHeight=${windowLayoutParams.height}")
         for (provider in windowLayoutParams.providedInsets) {
             pw.print(
@@ -340,5 +407,12 @@
             }
             pw.println()
         }
+        pw.println("$prefix\tlastSetTouchableBounds=${debugTouchableRegion.lastSetTouchableBounds}")
+        pw.println("$prefix\tlastSetTouchableReason=${debugTouchableRegion.lastSetTouchableReason}")
+    }
+
+    class DebugTouchableRegion {
+        val lastSetTouchableBounds = Rect()
+        var lastSetTouchableReason = ""
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
index 90f7bea..a850680 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
@@ -18,6 +18,7 @@
 import static com.android.app.animation.Interpolators.EMPHASIZED;
 import static com.android.launcher3.taskbar.TaskbarKeyguardController.MASK_ANY_SYSUI_LOCKED;
 import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_APP;
+import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_OVERVIEW;
 import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_STASHED_LAUNCHER_STATE;
 import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_HOME;
 import static com.android.launcher3.util.FlagDebugUtils.appendFlag;
@@ -44,6 +45,7 @@
 import com.android.launcher3.Utilities;
 import com.android.launcher3.anim.AnimatedFloat;
 import com.android.launcher3.anim.AnimatorListeners;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.statemanager.StateManager;
 import com.android.launcher3.uioverrides.QuickstepLauncher;
 import com.android.launcher3.util.MultiPropertyFactory.MultiProperty;
@@ -66,13 +68,13 @@
     private static final String TAG = TaskbarLauncherStateController.class.getSimpleName();
     private static final boolean DEBUG = false;
 
-    /** Launcher activity is resumed and focused. */
-    public static final int FLAG_RESUMED = 1 << 0;
+    /** Launcher activity is visible and focused. */
+    public static final int FLAG_VISIBLE = 1 << 0;
 
     /**
-     * A external transition / animation is running that will result in FLAG_RESUMED being set.
+     * A external transition / animation is running that will result in FLAG_VISIBLE being set.
      **/
-    public static final int FLAG_TRANSITION_TO_RESUMED = 1 << 1;
+    public static final int FLAG_TRANSITION_TO_VISIBLE = 1 << 1;
 
     /**
      * Set while the launcher state machine is performing a state transition, see {@link
@@ -116,7 +118,7 @@
      */
     private static final int FLAG_TASKBAR_HIDDEN = 1 << 6;
 
-    private static final int FLAGS_LAUNCHER_ACTIVE = FLAG_RESUMED | FLAG_TRANSITION_TO_RESUMED;
+    private static final int FLAGS_LAUNCHER_ACTIVE = FLAG_VISIBLE | FLAG_TRANSITION_TO_VISIBLE;
     /** Equivalent to an int with all 1s for binary operation purposes */
     private static final int FLAGS_ALL = ~0;
 
@@ -202,19 +204,32 @@
                 public void onStateTransitionComplete(LauncherState finalState) {
                     mLauncherState = finalState;
                     updateStateForFlag(FLAG_LAUNCHER_IN_STATE_TRANSITION, false);
-                    // TODO(b/279514548) Cleans up bad state that can occur when user interacts with
-                    // taskbar on top of transparent activity.
-                    if (finalState == LauncherState.NORMAL && mLauncher.hasBeenResumed()) {
-                        updateStateForFlag(FLAG_RESUMED, true);
-                    }
                     applyState();
-                    boolean disallowLongClick = finalState == LauncherState.OVERVIEW_SPLIT_SELECT;
+                    boolean disallowLongClick =
+                            FeatureFlags.enableSplitContextually()
+                                    ? mLauncher.isSplitSelectionEnabled()
+                                    : finalState == LauncherState.OVERVIEW_SPLIT_SELECT;
                     com.android.launcher3.taskbar.Utilities.setOverviewDragState(
                             mControllers, finalState.disallowTaskbarGlobalDrag(),
                             disallowLongClick, finalState.allowTaskbarInitialSplitSelection());
                 }
             };
 
+    /**
+     * Callback for when launcher state transition completes after user swipes to home.
+     * @param finalState The final state of the transition.
+     */
+    public void onStateTransitionCompletedAfterSwipeToHome(LauncherState finalState) {
+        // TODO(b/279514548) Cleans up bad state that can occur when user interacts with
+        // taskbar on top of transparent activity.
+        if (!FeatureFlags.enableHomeTransitionListener()
+                && (finalState == LauncherState.NORMAL)
+                && mLauncher.hasBeenResumed()) {
+            updateStateForFlag(FLAG_VISIBLE, true);
+            applyState();
+        }
+    }
+
     /** Initializes the controller instance, and applies the initial state immediately. */
     public void init(TaskbarControllers controllers, QuickstepLauncher launcher,
             int sysuiStateFlags) {
@@ -277,7 +292,7 @@
         }
         stashController.updateStateForFlag(FLAG_IN_APP, false);
 
-        updateStateForFlag(FLAG_TRANSITION_TO_RESUMED, true);
+        updateStateForFlag(FLAG_TRANSITION_TO_VISIBLE, true);
         animatorSet.play(stashController.createApplyStateAnimator(duration));
         animatorSet.play(applyState(duration, false));
 
@@ -416,6 +431,9 @@
             controllers.bubbleStashController.setBubblesShowingOnOverview(onOverview);
         });
 
+        mControllers.taskbarStashController.updateStateForFlag(FLAG_IN_OVERVIEW,
+                mLauncherState == LauncherState.OVERVIEW);
+
         AnimatorSet animatorSet = new AnimatorSet();
 
         if (hasAnyFlag(changedFlags, FLAG_LAUNCHER_IN_STATE_TRANSITION)) {
@@ -425,7 +443,7 @@
             if (launcherTransitionCompleted
                     && mLauncherState == LauncherState.QUICK_SWITCH_FROM_HOME) {
                 // We're about to be paused, set immediately to ensure seamless handoff.
-                updateStateForFlag(FLAG_RESUMED, false);
+                updateStateForFlag(FLAG_VISIBLE, false);
                 applyState(0 /* duration */);
             }
             if (mLauncherState == LauncherState.NORMAL) {
@@ -715,6 +733,7 @@
         }
         mIconAlphaForHome.setValue(alpha);
         boolean hotseatVisible = alpha == 0
+                || mControllers.taskbarActivityContext.isPhoneMode()
                 || (!mControllers.uiController.isHotseatIconOnTopWhenAligned()
                 && mIconAlignment.value > 0);
         /*
@@ -751,10 +770,10 @@
             mTaskBarRecentsAnimationListener = null;
             ((RecentsView) mLauncher.getOverviewPanel()).setTaskLaunchListener(null);
 
-            // Update the resumed state immediately to ensure a seamless handoff
-            boolean launcherResumed = !finishedToApp;
-            updateStateForFlag(FLAG_TRANSITION_TO_RESUMED, false);
-            updateStateForFlag(FLAG_RESUMED, launcherResumed);
+            // Update the visible state immediately to ensure a seamless handoff
+            boolean launcherVisible = !finishedToApp;
+            updateStateForFlag(FLAG_TRANSITION_TO_VISIBLE, false);
+            updateStateForFlag(FLAG_VISIBLE, launcherVisible);
             applyState();
 
             TaskbarStashController controller = mControllers.taskbarStashController;
@@ -768,8 +787,8 @@
 
     private static String getStateString(int flags) {
         StringJoiner result = new StringJoiner("|");
-        appendFlag(result, flags, FLAG_RESUMED, "resumed");
-        appendFlag(result, flags, FLAG_TRANSITION_TO_RESUMED, "transition_to_resumed");
+        appendFlag(result, flags, FLAG_VISIBLE, "flag_visible");
+        appendFlag(result, flags, FLAG_TRANSITION_TO_VISIBLE, "transition_to_visible");
         appendFlag(result, flags, FLAG_LAUNCHER_IN_STATE_TRANSITION,
                 "launcher_in_state_transition");
         appendFlag(result, flags, FLAG_AWAKE, "awake");
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
index b115ca8..33641a4 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java
@@ -18,47 +18,52 @@
 import static android.content.Context.RECEIVER_NOT_EXPORTED;
 import static android.content.pm.PackageManager.FEATURE_PC;
 import static android.view.Display.DEFAULT_DISPLAY;
+import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR;
 import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL;
 
-import static com.android.launcher3.LauncherPrefs.TASKBAR_PINNING;
-import static com.android.launcher3.LauncherPrefs.TASKBAR_PINNING_KEY;
+import static com.android.launcher3.BaseActivity.EVENT_DESTROYED;
 import static com.android.launcher3.LauncherState.OVERVIEW;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION;
+import static com.android.launcher3.config.FeatureFlags.enableTaskbarNoRecreate;
+import static com.android.launcher3.util.DisplayController.CHANGE_DENSITY;
+import static com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE;
+import static com.android.launcher3.util.DisplayController.CHANGE_TASKBAR_PINNING;
 import static com.android.launcher3.util.DisplayController.TASKBAR_NOT_DESTROYED_TAG;
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
 import static com.android.launcher3.util.FlagDebugUtils.formatFlagChange;
+import static com.android.quickstep.util.SystemActionConstants.ACTION_SHOW_TASKBAR;
+import static com.android.quickstep.util.SystemActionConstants.SYSTEM_ACTION_ID_TASKBAR;
 
 import android.annotation.SuppressLint;
-import android.app.Activity;
 import android.app.PendingIntent;
 import android.content.ComponentCallbacks;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.SharedPreferences;
 import android.content.pm.ActivityInfo;
 import android.content.res.Configuration;
 import android.hardware.display.DisplayManager;
 import android.net.Uri;
 import android.os.Handler;
-import android.os.SystemProperties;
 import android.os.Trace;
 import android.provider.Settings;
 import android.util.Log;
 import android.view.Display;
+import android.view.MotionEvent;
+import android.view.WindowManager;
+import android.widget.FrameLayout;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.launcher3.DeviceProfile;
-import com.android.launcher3.InvariantDeviceProfile.OnIDPChangeListener;
 import com.android.launcher3.LauncherAppState;
-import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.anim.AnimatorPlaybackController;
 import com.android.launcher3.statemanager.StatefulActivity;
 import com.android.launcher3.taskbar.unfold.NonDestroyableScopedUnfoldTransitionProgressProvider;
 import com.android.launcher3.uioverrides.QuickstepLauncher;
-import com.android.launcher3.util.ActivityLifecycleCallbacksAdapter;
+import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.SettingsCache;
 import com.android.launcher3.util.SimpleBroadcastReceiver;
 import com.android.quickstep.RecentsActivity;
@@ -95,9 +100,6 @@
             | ActivityInfo.CONFIG_SCREEN_LAYOUT
             | ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE;
 
-    public static final boolean FLAG_HIDE_NAVBAR_WINDOW =
-            SystemProperties.getBoolean("persist.wm.debug.hide_navbar_window", false);
-
     private static final Uri USER_SETUP_COMPLETE_URI = Settings.Secure.getUriFor(
             Settings.Secure.USER_SETUP_COMPLETE);
 
@@ -105,6 +107,10 @@
             Settings.Secure.NAV_BAR_KIDS_MODE);
 
     private final Context mContext;
+    private final @Nullable Context mNavigationBarPanelContext;
+    private WindowManager mWindowManager;
+    private FrameLayout mTaskbarRootLayout;
+    private boolean mAddedWindow;
     private final TaskbarNavButtonController mNavButtonController;
     private final ComponentCallbacks mComponentCallbacks;
 
@@ -130,49 +136,43 @@
      * We use WindowManager's ComponentCallbacks() for internal UI changes (similar to an Activity)
      * which comes via a different channel
      */
-    private final OnIDPChangeListener mIdpChangeListener = c -> recreateTaskbar();
+    private final RecreationListener mRecreationListener = new RecreationListener();
+
+    private class RecreationListener implements DisplayController.DisplayInfoChangeListener {
+        @Override
+        public void onDisplayInfoChanged(Context context, DisplayController.Info info, int flags) {
+            if ((flags & (CHANGE_DENSITY | CHANGE_NAVIGATION_MODE
+                    | CHANGE_TASKBAR_PINNING)) != 0) {
+                recreateTaskbar();
+            }
+        }
+    }
     private final SettingsCache.OnChangeListener mOnSettingsChangeListener = c -> recreateTaskbar();
 
     private boolean mUserUnlocked = false;
 
-    public static final int SYSTEM_ACTION_ID_TASKBAR = 499;
-
-    /**
-     * For Taskbar broadcast intent filter.
-     */
-    public static final String ACTION_SHOW_TASKBAR = "ACTION_SHOW_TASKBAR";
-
     private final SimpleBroadcastReceiver mTaskbarBroadcastReceiver =
             new SimpleBroadcastReceiver(this::showTaskbarFromBroadcast);
 
-    private final SharedPreferences.OnSharedPreferenceChangeListener
-            mTaskbarPinningPreferenceChangeListener = (sharedPreferences, key) -> {
-                if (TASKBAR_PINNING_KEY.equals(key)) {
-                    recreateTaskbar();
-                }
-            };
-
-    private final ActivityLifecycleCallbacksAdapter mLifecycleCallbacks =
-            new ActivityLifecycleCallbacksAdapter() {
-                @Override
-                public void onActivityDestroyed(Activity activity) {
-                    if (mActivity != activity) return;
-                    if (mActivity != null) {
-                        mActivity.removeOnDeviceProfileChangeListener(
-                                mDebugActivityDeviceProfileChanged);
-                        Log.d(TASKBAR_NOT_DESTROYED_TAG,
-                                "unregistering activity lifecycle callbacks from "
-                                        + "onActivityDestroyed.");
-                        mActivity.unregisterActivityLifecycleCallbacks(this);
-                    }
-                    mActivity = null;
-                    debugWhyTaskbarNotDestroyed("clearActivity");
-                    if (mTaskbarActivityContext != null) {
-                        mTaskbarActivityContext.setUIController(TaskbarUIController.DEFAULT);
-                    }
-                    mUnfoldProgressProvider.setSourceProvider(null);
-                }
-            };
+    private final Runnable mActivityOnDestroyCallback = new Runnable() {
+        @Override
+        public void run() {
+            if (mActivity != null) {
+                mActivity.removeOnDeviceProfileChangeListener(
+                        mDebugActivityDeviceProfileChanged);
+                Log.d(TASKBAR_NOT_DESTROYED_TAG,
+                        "unregistering activity lifecycle callbacks from "
+                                + "onActivityDestroyed.");
+                mActivity.removeEventCallback(EVENT_DESTROYED, this);
+            }
+            mActivity = null;
+            debugWhyTaskbarNotDestroyed("clearActivity");
+            if (mTaskbarActivityContext != null) {
+                mTaskbarActivityContext.setUIController(TaskbarUIController.DEFAULT);
+            }
+            mUnfoldProgressProvider.setSourceProvider(null);
+        }
+    };
 
     UnfoldTransitionProgressProvider.TransitionProgressListener mUnfoldTransitionProgressListener =
             new UnfoldTransitionProgressProvider.TransitionProgressListener() {
@@ -207,7 +207,27 @@
     public TaskbarManager(TouchInteractionService service) {
         Display display =
                 service.getSystemService(DisplayManager.class).getDisplay(DEFAULT_DISPLAY);
-        mContext = service.createWindowContext(display, TYPE_NAVIGATION_BAR_PANEL, null);
+        mContext = service.createWindowContext(display,
+                ENABLE_TASKBAR_NAVBAR_UNIFICATION ? TYPE_NAVIGATION_BAR : TYPE_NAVIGATION_BAR_PANEL,
+                null);
+        mNavigationBarPanelContext = ENABLE_TASKBAR_NAVBAR_UNIFICATION
+                ? service.createWindowContext(display, TYPE_NAVIGATION_BAR_PANEL, null)
+                : null;
+        if (enableTaskbarNoRecreate()) {
+            mWindowManager = mContext.getSystemService(WindowManager.class);
+            mTaskbarRootLayout = new FrameLayout(mContext) {
+                @Override
+                public boolean dispatchTouchEvent(MotionEvent ev) {
+                    // The motion events can be outside the view bounds of task bar, and hence
+                    // manually dispatching them to the drag layer here.
+                    if (mTaskbarActivityContext != null
+                            && mTaskbarActivityContext.getDragLayer().isAttachedToWindow()) {
+                        return mTaskbarActivityContext.getDragLayer().dispatchTouchEvent(ev);
+                    }
+                    return super.dispatchTouchEvent(ev);
+                }
+            };
+        }
         mNavButtonController = new TaskbarNavButtonController(service,
                 SystemUiProxy.INSTANCE.get(mContext), new Handler(),
                 AssistUtils.newInstance(mContext));
@@ -244,7 +264,7 @@
                         destroyExistingTaskbar();
                     } else {
                         if (dp != null && isTaskbarPresent(dp)) {
-                            if (FLAG_HIDE_NAVBAR_WINDOW) {
+                            if (ENABLE_TASKBAR_NAVBAR_UNIFICATION) {
                                 // Re-initialize for screen size change? Should this be done
                                 // by looking at screen-size change flag in configDiff in the
                                 // block above?
@@ -288,13 +308,16 @@
     private void destroyExistingTaskbar() {
         debugWhyTaskbarNotDestroyed("destroyExistingTaskbar: " + mTaskbarActivityContext);
         if (mTaskbarActivityContext != null) {
-            LauncherPrefs.get(mContext).removeListener(mTaskbarPinningPreferenceChangeListener,
-                    TASKBAR_PINNING);
             mTaskbarActivityContext.onDestroy();
-            if (!FLAG_HIDE_NAVBAR_WINDOW) {
+            if (!ENABLE_TASKBAR_NAVBAR_UNIFICATION || enableTaskbarNoRecreate()) {
                 mTaskbarActivityContext = null;
             }
         }
+        DeviceProfile dp = mUserUnlocked ?
+                LauncherAppState.getIDP(mContext).getDeviceProfile(mContext) : null;
+        if (dp == null || !isTaskbarPresent(dp)) {
+            removeTaskbarRootViewFromWindow();
+        }
     }
 
     /**
@@ -317,12 +340,15 @@
             return;
         }
 
-        if (mActivity != null && mActivity.isResumed() && !mActivity.isInState(OVERVIEW)) {
+        if (mActivity != null
+                && mActivity.isResumed()
+                && !mActivity.isInState(OVERVIEW)
+                && !(mActivity instanceof QuickstepLauncher l && l.areFreeformTasksVisible())) {
             mContext.startActivity(homeAllAppsIntent);
             return;
         }
 
-        mTaskbarActivityContext.toggleAllApps();
+        mTaskbarActivityContext.toggleAllAppsSearch();
     }
 
     /**
@@ -341,8 +367,9 @@
      */
     public void onUserUnlocked() {
         mUserUnlocked = true;
-        LauncherAppState.getIDP(mContext).addOnChangeListener(mIdpChangeListener);
+        DisplayController.INSTANCE.get(mContext).addChangeListener(mRecreationListener);
         recreateTaskbar();
+        addTaskbarRootViewToWindow();
     }
 
     /**
@@ -358,7 +385,7 @@
         mActivity.addOnDeviceProfileChangeListener(mDebugActivityDeviceProfileChanged);
         Log.d(TASKBAR_NOT_DESTROYED_TAG,
                 "registering activity lifecycle callbacks from setActivity().");
-        mActivity.registerActivityLifecycleCallbacks(mLifecycleCallbacks);
+        mActivity.addEventCallback(EVENT_DESTROYED, mActivityOnDestroyCallback);
         UnfoldTransitionProgressProvider unfoldTransitionProgressProvider =
                 getUnfoldTransitionProgressProviderForActivity(activity);
         if (unfoldTransitionProgressProvider != null) {
@@ -417,7 +444,7 @@
             boolean isTaskbarEnabled = dp != null && isTaskbarPresent(dp);
             debugWhyTaskbarNotDestroyed("recreateTaskbar: isTaskbarEnabled=" + isTaskbarEnabled
                 + " [dp != null (i.e. mUserUnlocked)]=" + (dp != null)
-                + " FLAG_HIDE_NAVBAR_WINDOW=" + FLAG_HIDE_NAVBAR_WINDOW
+                + " FLAG_HIDE_NAVBAR_WINDOW=" + ENABLE_TASKBAR_NAVBAR_UNIFICATION
                 + " dp.isTaskbarPresent=" + (dp == null ? "null" : dp.isTaskbarPresent));
             if (!isTaskbarEnabled) {
                 SystemUiProxy.INSTANCE.get(mContext)
@@ -425,13 +452,15 @@
                 return;
             }
 
-            if (mTaskbarActivityContext == null) {
-                mTaskbarActivityContext = new TaskbarActivityContext(mContext, dp,
-                    mNavButtonController,
-                    mUnfoldProgressProvider);
+            if (enableTaskbarNoRecreate() || mTaskbarActivityContext == null) {
+                mTaskbarActivityContext = new TaskbarActivityContext(mContext,
+                        mNavigationBarPanelContext, dp, mNavButtonController,
+                        mUnfoldProgressProvider);
             } else {
                 mTaskbarActivityContext.updateDeviceProfile(dp);
             }
+            mSharedState.startTaskbarVariantIsTransient =
+                    DisplayController.isTransientTaskbar(mTaskbarActivityContext);
             mTaskbarActivityContext.init(mSharedState);
 
             if (mActivity != null) {
@@ -439,9 +468,12 @@
                     createTaskbarUIControllerForActivity(mActivity));
             }
 
-            // We to wait until user unlocks the device to attach listener.
-            LauncherPrefs.get(mContext).addListener(mTaskbarPinningPreferenceChangeListener,
-                TASKBAR_PINNING);
+            if (enableTaskbarNoRecreate()) {
+                addTaskbarRootViewToWindow();
+                mTaskbarRootLayout.removeAllViews();
+                mTaskbarRootLayout.addView(mTaskbarActivityContext.getDragLayer());
+                mTaskbarActivityContext.notifyUpdateLayoutParams();
+            }
         } finally {
             Trace.endSection();
         }
@@ -474,24 +506,8 @@
         }
     }
 
-    /**
-     * @return {@code true} if provided device profile isn't a large screen profile
-     *                      and we are using a single window for taskbar and navbar.
-     */
-    public static boolean isPhoneMode(DeviceProfile deviceProfile) {
-        return TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW && deviceProfile.isPhone;
-    }
-
-    /**
-     * @return {@code true} if {@link #isPhoneMode(DeviceProfile)} is true and we're using
-     *                      3 button-nav
-     */
-    public static boolean isPhoneButtonNavMode(TaskbarActivityContext context) {
-        return isPhoneMode(context.getDeviceProfile()) && context.isThreeButtonNav();
-    }
-
-    private boolean isTaskbarPresent(DeviceProfile deviceProfile) {
-        return FLAG_HIDE_NAVBAR_WINDOW || deviceProfile.isTaskbarPresent;
+    private static boolean isTaskbarPresent(DeviceProfile deviceProfile) {
+        return ENABLE_TASKBAR_NAVBAR_UNIFICATION || deviceProfile.isTaskbarPresent;
     }
 
     public void onRotationProposal(int rotation, boolean isValid) {
@@ -524,13 +540,21 @@
         }
     }
 
+    public void onNavigationBarLumaSamplingEnabled(int displayId, boolean enable) {
+        mSharedState.mLumaSamplingDisplayId = displayId;
+        mSharedState.mIsLumaSamplingEnabled = enable;
+        if (mTaskbarActivityContext != null) {
+            mTaskbarActivityContext.onNavigationBarLumaSamplingEnabled(displayId, enable);
+        }
+    }
+
     private void removeActivityCallbacksAndListeners() {
         if (mActivity != null) {
             mActivity.removeOnDeviceProfileChangeListener(mDebugActivityDeviceProfileChanged);
             Log.d(TASKBAR_NOT_DESTROYED_TAG,
                     "unregistering activity lifecycle callbacks from "
                             + "removeActivityCallbackAndListeners().");
-            mActivity.unregisterActivityLifecycleCallbacks(mLifecycleCallbacks);
+            mActivity.removeEventCallback(EVENT_DESTROYED, mActivityOnDestroyCallback);
             UnfoldTransitionProgressProvider unfoldTransitionProgressProvider =
                     getUnfoldTransitionProgressProviderForActivity(mActivity);
             if (unfoldTransitionProgressProvider != null) {
@@ -548,8 +572,9 @@
         UI_HELPER_EXECUTOR.execute(
                 () -> mTaskbarBroadcastReceiver.unregisterReceiverSafely(mContext));
         destroyExistingTaskbar();
+        removeTaskbarRootViewFromWindow();
         if (mUserUnlocked) {
-            LauncherAppState.getIDP(mContext).removeOnChangeListener(mIdpChangeListener);
+            DisplayController.INSTANCE.get(mContext).removeChangeListener(mRecreationListener);
         }
         SettingsCache.INSTANCE.get(mContext)
                 .unregister(USER_SETUP_COMPLETE_URI, mOnSettingsChangeListener);
@@ -573,6 +598,21 @@
         }
     }
 
+    private void addTaskbarRootViewToWindow() {
+        if (enableTaskbarNoRecreate() && !mAddedWindow && mTaskbarActivityContext != null) {
+            mWindowManager.addView(mTaskbarRootLayout,
+                    mTaskbarActivityContext.getWindowLayoutParams());
+            mAddedWindow = true;
+        }
+    }
+
+    private void removeTaskbarRootViewFromWindow() {
+        if (enableTaskbarNoRecreate() && mAddedWindow) {
+            mWindowManager.removeViewImmediate(mTaskbarRootLayout);
+            mAddedWindow = false;
+        }
+    }
+
     /** Temp logs for b/254119092. */
     public void debugWhyTaskbarNotDestroyed(String debugReason) {
         StringJoiner log = new StringJoiner("\n");
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java
index 03df036..3f72e5d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java
@@ -27,6 +27,7 @@
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_IME_SWITCHER_BUTTON_TAP;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_OVERVIEW_BUTTON_LONGPRESS;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_OVERVIEW_BUTTON_TAP;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY;
 import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS;
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING;
@@ -52,7 +53,6 @@
 import com.android.quickstep.TaskUtils;
 import com.android.quickstep.TouchInteractionService;
 import com.android.quickstep.util.AssistUtils;
-import com.android.quickstep.views.DesktopTaskView;
 
 import java.io.PrintWriter;
 import java.lang.annotation.Retention;
@@ -274,7 +274,7 @@
     private void navigateHome() {
         TaskUtils.closeSystemWindowsAsync(CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY);
 
-        if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED) {
+        if (isDesktopModeSupported()) {
             DesktopVisibilityController desktopVisibilityController =
                     LauncherActivityInterface.INSTANCE.getDesktopVisibilityController();
             if (desktopVisibilityController != null) {
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarPinningController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarPinningController.kt
new file mode 100644
index 0000000..2f2d636
--- /dev/null
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarPinningController.kt
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.taskbar
+
+import android.animation.AnimatorSet
+import android.annotation.SuppressLint
+import android.view.View
+import androidx.annotation.VisibleForTesting
+import androidx.core.animation.doOnEnd
+import com.android.app.animation.Interpolators
+import com.android.launcher3.LauncherPrefs
+import com.android.launcher3.LauncherPrefs.Companion.TASKBAR_PINNING
+import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_DIVIDER_MENU_CLOSE
+import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_DIVIDER_MENU_OPEN
+import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_PINNED
+import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_UNPINNED
+import com.android.launcher3.taskbar.TaskbarDividerPopupView.Companion.createAndPopulate
+import java.io.PrintWriter
+
+/** Controls taskbar pinning through a popup view. */
+class TaskbarPinningController(private val context: TaskbarActivityContext) :
+    TaskbarControllers.LoggableTaskbarController {
+
+    private lateinit var controllers: TaskbarControllers
+    private lateinit var taskbarSharedState: TaskbarSharedState
+    private lateinit var launcherPrefs: LauncherPrefs
+    private val statsLogManager = context.statsLogManager
+    @VisibleForTesting var isAnimatingTaskbarPinning = false
+    @VisibleForTesting lateinit var onCloseCallback: (preferenceChanged: Boolean) -> Unit
+
+    @SuppressLint("VisibleForTests")
+    fun init(taskbarControllers: TaskbarControllers, sharedState: TaskbarSharedState) {
+        controllers = taskbarControllers
+        taskbarSharedState = sharedState
+        launcherPrefs = context.launcherPrefs
+        onCloseCallback =
+            fun(didPreferenceChange: Boolean) {
+                statsLogManager.logger().log(LAUNCHER_TASKBAR_DIVIDER_MENU_CLOSE)
+                context.dragLayer.post { context.onPopupVisibilityChanged(false) }
+
+                if (!didPreferenceChange) {
+                    return
+                }
+                val animateToValue =
+                    if (!launcherPrefs.get(TASKBAR_PINNING)) {
+                        statsLogManager.logger().log(LAUNCHER_TASKBAR_PINNED)
+                        PINNING_PERSISTENT
+                    } else {
+                        statsLogManager.logger().log(LAUNCHER_TASKBAR_UNPINNED)
+                        PINNING_TRANSIENT
+                    }
+                taskbarSharedState.taskbarWasPinned = animateToValue == PINNING_TRANSIENT
+                animateTaskbarPinning(animateToValue)
+            }
+    }
+
+    fun showPinningView(view: View) {
+        context.isTaskbarWindowFullscreen = true
+        view.post {
+            val popupView = getPopupView(view)
+            popupView.requestFocus()
+            popupView.onCloseCallback = onCloseCallback
+            context.onPopupVisibilityChanged(true)
+            popupView.show()
+            statsLogManager.logger().log(LAUNCHER_TASKBAR_DIVIDER_MENU_OPEN)
+        }
+    }
+
+    @VisibleForTesting
+    fun getPopupView(view: View): TaskbarDividerPopupView<*> {
+        return createAndPopulate(view, context)
+    }
+
+    @VisibleForTesting
+    fun animateTaskbarPinning(animateToValue: Float) {
+        val taskbarViewController = controllers.taskbarViewController
+        val animatorSet =
+            getAnimatorSetForTaskbarPinningAnimation(animateToValue).apply {
+                doOnEnd { recreateTaskbarAndUpdatePinningValue() }
+                duration = PINNING_ANIMATION_DURATION
+            }
+        controllers.taskbarOverlayController.hideWindow()
+        updateIsAnimatingTaskbarPinningAndNotifyTaskbarDragLayer(true)
+        taskbarViewController.animateAwayNotificationDotsDuringTaskbarPinningAnimation()
+        animatorSet.start()
+    }
+
+    @VisibleForTesting
+    fun getAnimatorSetForTaskbarPinningAnimation(animateToValue: Float): AnimatorSet {
+        val animatorSet = AnimatorSet()
+        val taskbarViewController = controllers.taskbarViewController
+        val dragLayerController = controllers.taskbarDragLayerController
+
+        animatorSet.playTogether(
+            dragLayerController.taskbarBackgroundProgress.animateToValue(animateToValue),
+            taskbarViewController.taskbarIconTranslationYForPinning.animateToValue(animateToValue),
+            taskbarViewController.taskbarIconScaleForPinning.animateToValue(animateToValue),
+            taskbarViewController.taskbarIconTranslationXForPinning.animateToValue(animateToValue)
+        )
+
+        animatorSet.interpolator = Interpolators.EMPHASIZED
+        return animatorSet
+    }
+
+    private fun updateIsAnimatingTaskbarPinningAndNotifyTaskbarDragLayer(isAnimating: Boolean) {
+        isAnimatingTaskbarPinning = isAnimating
+        context.dragLayer.setAnimatingTaskbarPinning(isAnimating)
+    }
+
+    @VisibleForTesting
+    fun recreateTaskbarAndUpdatePinningValue() {
+        updateIsAnimatingTaskbarPinningAndNotifyTaskbarDragLayer(false)
+        launcherPrefs.put(TASKBAR_PINNING, !launcherPrefs.get(TASKBAR_PINNING))
+    }
+
+    override fun dumpLogs(prefix: String, pw: PrintWriter) {
+        pw.println(prefix + "TaskbarPinningController:")
+        pw.println("$prefix\tisAnimatingTaskbarPinning=$isAnimatingTaskbarPinning")
+        pw.println("$prefix\tTASKBAR_PINNING shared pref =" + launcherPrefs.get(TASKBAR_PINNING))
+    }
+
+    companion object {
+        const val PINNING_PERSISTENT = 1f
+        const val PINNING_TRANSIENT = 0f
+        const val PINNING_ANIMATION_DURATION = 600L
+    }
+}
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java
index 512b77a..a667dca 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java
@@ -15,7 +15,6 @@
  */
 package com.android.launcher3.taskbar;
 
-import static com.android.launcher3.config.FeatureFlags.ENABLE_MATERIAL_U_POPUP;
 import static com.android.launcher3.util.SplitConfigurationOptions.getLogEventForPosition;
 
 import android.content.Intent;
@@ -163,19 +162,9 @@
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
 
-        if (ENABLE_MATERIAL_U_POPUP.get()) {
-            container = (PopupContainerWithArrow) context.getLayoutInflater().inflate(
-                    R.layout.popup_container_material_u, context.getDragLayer(), false);
-            container.populateAndShowRowsMaterialU(icon, deepShortcutCount, systemShortcuts);
-        } else {
-            container = (PopupContainerWithArrow) context.getLayoutInflater().inflate(
+        container = (PopupContainerWithArrow) context.getLayoutInflater().inflate(
                     R.layout.popup_container, context.getDragLayer(), false);
-            container.populateAndShow(
-                    icon,
-                    deepShortcutCount,
-                    mPopupDataProvider.getNotificationKeysForItem(item),
-                    systemShortcuts);
-        }
+        container.populateAndShowRows(icon, deepShortcutCount, systemShortcuts);
 
         container.addOnAttachStateChangeListener(
                 new PopupLiveUpdateHandler<BaseTaskbarContext>(context, container) {
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimView.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimView.java
index cdc6d59..e40757a 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimView.java
@@ -70,6 +70,10 @@
         invalidate();
     }
 
+    protected float getScrimAlpha() {
+        return mRenderer.getPaint().getAlpha() / 255f;
+    }
+
     /**
      * Sets the roundness of the round corner above Taskbar.
      * @param cornerRoundness 0 has no round corner, 1 has complete round corner.
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java
index 1c250bf..712374d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java
@@ -15,9 +15,13 @@
  */
 package com.android.launcher3.taskbar;
 
-import static com.android.launcher3.taskbar.bubbles.BubbleBarController.BUBBLE_BAR_ENABLED;
+import static android.view.View.VISIBLE;
+
+import static com.android.launcher3.taskbar.bubbles.BubbleBarController.isBubbleBarEnabled;
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BUBBLES_EXPANDED;
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BUBBLES_MANAGE_MENU_EXPANDED;
+import static com.android.wm.shell.common.bubbles.BubbleConstants.BUBBLE_EXPANDED_SCRIM_ALPHA;
+import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE;
 
 import android.animation.ObjectAnimator;
 import android.view.animation.Interpolator;
@@ -35,13 +39,13 @@
 public class TaskbarScrimViewController implements TaskbarControllers.LoggableTaskbarController,
         TaskbarControllers.BackgroundRendererController {
 
-    private static final float SCRIM_ALPHA = 0.6f;
-
     private static final Interpolator SCRIM_ALPHA_IN = new PathInterpolator(0.4f, 0f, 1f, 1f);
     private static final Interpolator SCRIM_ALPHA_OUT = new PathInterpolator(0f, 0f, 0.8f, 1f);
 
     private final TaskbarActivityContext mActivity;
     private final TaskbarScrimView mScrimView;
+    private boolean mTaskbarVisible;
+    private int mSysUiStateFlags;
 
     // Alpha property for the scrim.
     private final AnimatedFloat mScrimAlpha = new AnimatedFloat(this::updateScrimAlpha);
@@ -62,35 +66,60 @@
     }
 
     /**
+     * Called when the taskbar visibility changes.
+     *
+     * @param visibility the current visibility of {@link TaskbarView}.
+     */
+    public void onTaskbarVisibilityChanged(int visibility) {
+        mTaskbarVisible = visibility == VISIBLE;
+        if (shouldShowScrim()) {
+            showScrim(true, getScrimAlpha(), false /* skipAnim */);
+        } else if (mScrimView.getScrimAlpha() > 0f) {
+            showScrim(false, 0, false /* skipAnim */);
+        }
+    }
+
+    /**
      * Updates the scrim state based on the flags.
      */
     public void updateStateForSysuiFlags(int stateFlags, boolean skipAnim) {
-        if (BUBBLE_BAR_ENABLED && DisplayController.isTransientTaskbar(mActivity)) {
+        if (isBubbleBarEnabled() && DisplayController.isTransientTaskbar(mActivity)) {
             // These scrims aren't used if bubble bar & transient taskbar are active.
             return;
         }
-        final boolean bubblesExpanded = (stateFlags & SYSUI_STATE_BUBBLES_EXPANDED) != 0;
+        mSysUiStateFlags = stateFlags;
+        showScrim(shouldShowScrim(), getScrimAlpha(), skipAnim);
+    }
+
+    private boolean shouldShowScrim() {
+        final boolean bubblesExpanded = (mSysUiStateFlags & SYSUI_STATE_BUBBLES_EXPANDED) != 0;
+        boolean isShadeVisible = (mSysUiStateFlags & SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE) != 0;
+        return bubblesExpanded && !mControllers.navbarButtonsViewController.isImeVisible()
+                && !isShadeVisible
+                && !mControllers.taskbarStashController.isStashed()
+                && mTaskbarVisible;
+    }
+
+    private float getScrimAlpha() {
         final boolean manageMenuExpanded =
-                (stateFlags & SYSUI_STATE_BUBBLES_MANAGE_MENU_EXPANDED) != 0;
-        final boolean showScrim = !mControllers.navbarButtonsViewController.isImeVisible()
-                && bubblesExpanded
-                && mControllers.taskbarStashController.isTaskbarVisibleAndNotStashing();
-        final float scrimAlpha = manageMenuExpanded
+                (mSysUiStateFlags & SYSUI_STATE_BUBBLES_MANAGE_MENU_EXPANDED) != 0;
+        return manageMenuExpanded
                 // When manage menu shows there's the first scrim and second scrim so figure out
                 // what the total transparency would be.
-                ? (SCRIM_ALPHA + (SCRIM_ALPHA * (1 - SCRIM_ALPHA)))
-                : showScrim ? SCRIM_ALPHA : 0;
-        showScrim(showScrim, scrimAlpha, skipAnim);
+                ? (BUBBLE_EXPANDED_SCRIM_ALPHA + (BUBBLE_EXPANDED_SCRIM_ALPHA
+                * (1 - BUBBLE_EXPANDED_SCRIM_ALPHA)))
+                : shouldShowScrim() ? BUBBLE_EXPANDED_SCRIM_ALPHA : 0;
     }
 
     private void showScrim(boolean showScrim, float alpha, boolean skipAnim) {
         mScrimView.setOnClickListener(showScrim ? (view) -> onClick() : null);
         mScrimView.setClickable(showScrim);
-        ObjectAnimator anim = mScrimAlpha.animateToValue(showScrim ? alpha : 0);
-        anim.setInterpolator(showScrim ? SCRIM_ALPHA_IN : SCRIM_ALPHA_OUT);
-        anim.start();
         if (skipAnim) {
-            anim.end();
+            mScrimView.setScrimAlpha(alpha);
+        } else {
+            ObjectAnimator anim = mScrimAlpha.animateToValue(showScrim ? alpha : 0);
+            anim.setInterpolator(showScrim ? SCRIM_ALPHA_IN : SCRIM_ALPHA_OUT);
+            anim.start();
         }
     }
 
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java
index 66ca7d9..41b777b 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarSharedState.java
@@ -15,15 +15,28 @@
  */
 package com.android.launcher3.taskbar;
 
+import static android.view.InsetsFrameProvider.SOURCE_DISPLAY;
+import static android.view.WindowInsets.Type.mandatorySystemGestures;
+import static android.view.WindowInsets.Type.navigationBars;
+import static android.view.WindowInsets.Type.systemGestures;
+import static android.view.WindowInsets.Type.tappableElement;
+
 import static com.android.launcher3.taskbar.LauncherTaskbarUIController.DISPLAY_PROGRESS_COUNT;
 
 import android.app.PendingIntent;
+import android.os.Binder;
+import android.os.IBinder;
+import android.view.InsetsFrameProvider;
 
 /**
  * State shared across different taskbar instance
  */
 public class TaskbarSharedState {
 
+    private final IBinder mInsetsOwner = new Binder();
+    private static int INDEX_LEFT = 0;
+    private static int INDEX_RIGHT = 1;
+
     // TaskbarManager#onSystemUiFlagsChanged
     public int sysuiStateFlags;
 
@@ -39,6 +52,10 @@
     // TaskbarManager#onNavButtonsDarkIntensityChanged()
     public float navButtonsDarkIntensity;
 
+    // TaskbarManager#onNavigationBarLumaSamplingEnabled()
+    public int mLumaSamplingDisplayId;
+    public boolean mIsLumaSamplingEnabled;
+
     public boolean setupUIVisible = false;
 
     public boolean allAppsVisible = false;
@@ -48,4 +65,33 @@
 
     // Taskbar System Action
     public PendingIntent taskbarSystemActionPendingIntent;
+
+    public final InsetsFrameProvider[] insetsFrameProviders = new InsetsFrameProvider[] {
+            new InsetsFrameProvider(mInsetsOwner, 0, navigationBars()),
+            new InsetsFrameProvider(mInsetsOwner, 0, tappableElement()),
+            new InsetsFrameProvider(mInsetsOwner, 0, mandatorySystemGestures()),
+            new InsetsFrameProvider(mInsetsOwner, INDEX_LEFT, systemGestures())
+                    .setSource(SOURCE_DISPLAY),
+            new InsetsFrameProvider(mInsetsOwner, INDEX_RIGHT, systemGestures())
+                    .setSource(SOURCE_DISPLAY)
+    };
+
+    // Allows us to shift translation logic when doing taskbar pinning animation.
+    public boolean startTaskbarVariantIsTransient = true;
+
+    // To track if taskbar was pinned using taskbar pinning feature at the time of recreate,
+    // so we can unstash transient taskbar when we un-pinning taskbar.
+    private boolean mTaskbarWasPinned = false;
+
+    public boolean getTaskbarWasPinned() {
+        return mTaskbarWasPinned;
+    }
+
+    public void setTaskbarWasPinned(boolean taskbarWasPinned) {
+        mTaskbarWasPinned = taskbarWasPinned;
+    }
+
+    // To track if taskbar was stashed / unstashed between configuration changes (which recreates
+    // the task bar).
+    public Boolean taskbarWasStashedAuto = true;
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarShortcutMenuAccessibilityDelegate.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarShortcutMenuAccessibilityDelegate.java
index e8c8fc4..25db960 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarShortcutMenuAccessibilityDelegate.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarShortcutMenuAccessibilityDelegate.java
@@ -16,7 +16,6 @@
 package com.android.launcher3.taskbar;
 
 import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.DEEP_SHORTCUTS;
-import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.SHORTCUTS_AND_NOTIFICATIONS;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT;
 import static com.android.launcher3.util.SplitConfigurationOptions.getLogEventForPosition;
@@ -34,8 +33,8 @@
 import com.android.launcher3.accessibility.BaseAccessibilityDelegate;
 import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.model.data.ItemInfo;
+import com.android.launcher3.model.data.ItemInfoWithIcon;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
-import com.android.launcher3.notification.NotificationListener;
 import com.android.launcher3.util.ShortcutUtil;
 import com.android.quickstep.SystemUiProxy;
 import com.android.quickstep.util.LogUtils;
@@ -62,8 +61,6 @@
 
         mActions.put(DEEP_SHORTCUTS, new LauncherAction(DEEP_SHORTCUTS,
                 R.string.action_deep_shortcut, KeyEvent.KEYCODE_S));
-        mActions.put(SHORTCUTS_AND_NOTIFICATIONS, new LauncherAction(DEEP_SHORTCUTS,
-                R.string.shortcuts_menu_with_notifications_description, KeyEvent.KEYCODE_S));
         mActions.put(MOVE_TO_TOP_OR_LEFT, new LauncherAction(
                 MOVE_TO_TOP_OR_LEFT, R.string.move_drop_target_top_or_left, KeyEvent.KEYCODE_L));
         mActions.put(MOVE_TO_BOTTOM_OR_RIGHT, new LauncherAction(
@@ -75,8 +72,7 @@
     @Override
     protected void getSupportedActions(View host, ItemInfo item, List<LauncherAction> out) {
         if (ShortcutUtil.supportsShortcuts(item)) {
-            out.add(mActions.get(NotificationListener.getInstanceIfConnected() != null
-                    ? SHORTCUTS_AND_NOTIFICATIONS : DEEP_SHORTCUTS));
+            out.add(mActions.get(DEEP_SHORTCUTS));
         }
         out.add(mActions.get(MOVE_TO_TOP_OR_LEFT));
         out.add(mActions.get(MOVE_TO_BOTTOM_OR_RIGHT));
@@ -84,9 +80,9 @@
 
     @Override
     protected boolean performAction(View host, ItemInfo item, int action, boolean fromKeyboard) {
-        if (item instanceof WorkspaceItemInfo
+        if (item instanceof ItemInfoWithIcon
                 && (action == MOVE_TO_TOP_OR_LEFT || action == MOVE_TO_BOTTOM_OR_RIGHT)) {
-            WorkspaceItemInfo info = (WorkspaceItemInfo) item;
+            ItemInfoWithIcon info = (ItemInfoWithIcon) item;
             int side = action == MOVE_TO_TOP_OR_LEFT
                     ? STAGE_POSITION_TOP_OR_LEFT : STAGE_POSITION_BOTTOM_OR_RIGHT;
 
@@ -97,10 +93,11 @@
                     .withInstanceId(instanceIds.second)
                     .log(getLogEventForPosition(side));
 
-            if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT) {
+            if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT
+                    && item instanceof WorkspaceItemInfo) {
                 SystemUiProxy.INSTANCE.get(mContext).startShortcut(
                         info.getIntent().getPackage(),
-                        info.getDeepShortcutId(),
+                        ((WorkspaceItemInfo) info).getDeepShortcutId(),
                         side,
                         /* bundleOpts= */ null,
                         info.user,
@@ -115,7 +112,7 @@
                         instanceIds.first);
             }
             return true;
-        } else if (action == DEEP_SHORTCUTS || action == SHORTCUTS_AND_NOTIFICATIONS) {
+        } else if (action == DEEP_SHORTCUTS) {
             mContext.showPopupMenuForIcon((BubbleTextView) host);
 
             return true;
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
index a920dfa..eced202 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
@@ -15,24 +15,21 @@
  */
 package com.android.launcher3.taskbar;
 
-import static android.view.HapticFeedbackConstants.LONG_PRESS;
 import static android.view.accessibility.AccessibilityManager.FLAG_CONTENT_CONTROLS;
 
 import static com.android.app.animation.Interpolators.EMPHASIZED;
 import static com.android.app.animation.Interpolators.FINAL_FRAME;
 import static com.android.app.animation.Interpolators.INSTANT;
 import static com.android.app.animation.Interpolators.LINEAR;
-import static com.android.launcher3.LauncherPrefs.TASKBAR_PINNING_KEY;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_PINNING;
-import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_LONGPRESS_HIDE;
-import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_LONGPRESS_SHOW;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TRANSIENT_TASKBAR_HIDE;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TRANSIENT_TASKBAR_SHOW;
 import static com.android.launcher3.taskbar.TaskbarKeyguardController.MASK_ANY_SYSUI_LOCKED;
-import static com.android.launcher3.taskbar.TaskbarManager.SYSTEM_ACTION_ID_TASKBAR;
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
 import static com.android.launcher3.util.FlagDebugUtils.appendFlag;
 import static com.android.launcher3.util.FlagDebugUtils.formatFlagChange;
+import static com.android.quickstep.util.SystemActionConstants.SYSTEM_ACTION_ID_TASKBAR;
+import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BUBBLES_EXPANDED;
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING;
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_SHOWING;
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE;
@@ -43,7 +40,6 @@
 import android.animation.AnimatorListenerAdapter;
 import android.animation.AnimatorSet;
 import android.app.RemoteAction;
-import android.content.SharedPreferences;
 import android.graphics.drawable.Icon;
 import android.os.SystemClock;
 import android.util.Log;
@@ -61,9 +57,7 @@
 import com.android.internal.jank.InteractionJankMonitor;
 import com.android.launcher3.Alarm;
 import com.android.launcher3.DeviceProfile;
-import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.R;
-import com.android.launcher3.Utilities;
 import com.android.launcher3.anim.AnimatedFloat;
 import com.android.launcher3.anim.AnimatorListeners;
 import com.android.launcher3.util.DisplayController;
@@ -85,26 +79,26 @@
     private static final boolean DEBUG = false;
 
     public static final int FLAG_IN_APP = 1 << 0;
-    public static final int FLAG_STASHED_IN_APP_MANUAL = 1 << 1; // long press, persisted
-    public static final int FLAG_STASHED_IN_APP_SYSUI = 1 << 2; // shade open, ...
-    public static final int FLAG_STASHED_IN_APP_SETUP = 1 << 3; // setup wizard and AllSetActivity
-    public static final int FLAG_STASHED_IN_APP_IME = 1 << 4; // IME is visible
-    public static final int FLAG_IN_STASHED_LAUNCHER_STATE = 1 << 5;
-    public static final int FLAG_STASHED_IN_TASKBAR_ALL_APPS = 1 << 6; // All apps is visible.
-    public static final int FLAG_IN_SETUP = 1 << 7; // In the Setup Wizard
-    public static final int FLAG_STASHED_SMALL_SCREEN = 1 << 8; // phone screen gesture nav, stashed
-    public static final int FLAG_STASHED_IN_APP_AUTO = 1 << 9; // Autohide (transient taskbar).
-    public static final int FLAG_STASHED_SYSUI = 1 << 10; //  app pinning,...
-    public static final int FLAG_STASHED_DEVICE_LOCKED = 1 << 11; // device is locked: keyguard, ...
+    public static final int FLAG_STASHED_IN_APP_SYSUI = 1 << 1; // shade open, ...
+    public static final int FLAG_STASHED_IN_APP_SETUP = 1 << 2; // setup wizard and AllSetActivity
+    public static final int FLAG_STASHED_IN_APP_IME = 1 << 3; // IME is visible
+    public static final int FLAG_IN_STASHED_LAUNCHER_STATE = 1 << 4;
+    public static final int FLAG_STASHED_IN_TASKBAR_ALL_APPS = 1 << 5; // All apps is visible.
+    public static final int FLAG_IN_SETUP = 1 << 6; // In the Setup Wizard
+    public static final int FLAG_STASHED_SMALL_SCREEN = 1 << 7; // phone screen gesture nav, stashed
+    public static final int FLAG_STASHED_IN_APP_AUTO = 1 << 8; // Autohide (transient taskbar).
+    public static final int FLAG_STASHED_SYSUI = 1 << 9; //  app pinning,...
+    public static final int FLAG_STASHED_DEVICE_LOCKED = 1 << 10; // device is locked: keyguard, ...
+    public static final int FLAG_IN_OVERVIEW = 1 << 11; // launcher is in overview
 
     // If any of these flags are enabled, isInApp should return true.
     private static final int FLAGS_IN_APP = FLAG_IN_APP | FLAG_IN_SETUP;
 
     // If we're in an app and any of these flags are enabled, taskbar should be stashed.
-    private static final int FLAGS_STASHED_IN_APP = FLAG_STASHED_IN_APP_MANUAL
-            | FLAG_STASHED_IN_APP_SYSUI | FLAG_STASHED_IN_APP_SETUP
-            | FLAG_STASHED_IN_APP_IME | FLAG_STASHED_IN_TASKBAR_ALL_APPS
-            | FLAG_STASHED_SMALL_SCREEN | FLAG_STASHED_IN_APP_AUTO;
+    private static final int FLAGS_STASHED_IN_APP =  FLAG_STASHED_IN_APP_SYSUI
+            | FLAG_STASHED_IN_APP_SETUP | FLAG_STASHED_IN_APP_IME
+            | FLAG_STASHED_IN_TASKBAR_ALL_APPS | FLAG_STASHED_SMALL_SCREEN
+            | FLAG_STASHED_IN_APP_AUTO;
 
     // If any of these flags are enabled, inset apps by our stashed height instead of our unstashed
     // height. This way the reported insets are consistent even during transitions out of the app.
@@ -165,21 +159,11 @@
     private static final long TASKBAR_STASH_ICON_ALPHA_HOME_TO_APP_START_DELAY = 66;
 
     /**
-     * The scale that TaskbarView animates to when hinting towards the stashed state.
-     */
-    private static final float STASHED_TASKBAR_HINT_SCALE = 0.9f;
-
-    /**
      * The scale that the stashed handle animates to when hinting towards the unstashed state.
      */
     private static final float UNSTASHED_TASKBAR_HANDLE_HINT_SCALE = 1.1f;
 
     /**
-     * The SharedPreferences key for whether user has manually stashed the taskbar.
-     */
-    private static final String SHARED_PREFS_STASHED_KEY = "taskbar_is_stashed";
-
-    /**
      * Whether taskbar should be stashed out of the box.
      */
     private static final boolean DEFAULT_STASHED_PREF = false;
@@ -222,7 +206,6 @@
     private @interface StashAnimation {}
 
     private final TaskbarActivityContext mActivity;
-    private final SharedPreferences mPrefs;
     private final int mStashedHeight;
     private final int mUnstashedHeight;
     private final SystemUiProxy mSystemUiProxy;
@@ -251,8 +234,6 @@
     private boolean mIsImeShowing;
     private boolean mIsImeSwitcherShowing;
 
-    private boolean mEnableManualStashingDuringTests = false;
-
     private final Alarm mTimeoutAlarm = new Alarm();
     private boolean mEnableBlockingTimeoutDuringTests = false;
 
@@ -272,12 +253,18 @@
 
     public TaskbarStashController(TaskbarActivityContext activity) {
         mActivity = activity;
-        mPrefs = LauncherPrefs.getPrefs(mActivity);
         mSystemUiProxy = SystemUiProxy.INSTANCE.get(activity);
         mAccessibilityManager = mActivity.getSystemService(AccessibilityManager.class);
 
-        mUnstashedHeight = mActivity.getDeviceProfile().taskbarHeight;
-        mStashedHeight = mActivity.getDeviceProfile().stashedTaskbarHeight;
+        if (mActivity.isPhoneMode()) {
+            mUnstashedHeight = mActivity.getResources().getDimensionPixelSize(
+                    R.dimen.taskbar_phone_size);
+            mStashedHeight = mActivity.getResources().getDimensionPixelSize(
+                    R.dimen.taskbar_stashed_size);
+        } else {
+            mUnstashedHeight = mActivity.getDeviceProfile().taskbarHeight;
+            mStashedHeight = mActivity.getDeviceProfile().stashedTaskbarHeight;
+        }
     }
 
     /**
@@ -320,24 +307,25 @@
         mTaskbarStashedHandleHintScale = stashedHandleController.getStashedHandleHintScale();
 
         boolean isTransientTaskbar = DisplayController.isTransientTaskbar(mActivity);
-        // We use supportsVisualStashing() here instead of supportsManualStashing() because we want
-        // it to work properly for tests that recreate taskbar. This check is here just to ensure
-        // that taskbar unstashes when going to 3 button mode (supportsVisualStashing() false).
-        boolean isManuallyStashedInApp = supportsVisualStashing()
-                && !isTransientTaskbar
-                && !ENABLE_TASKBAR_PINNING.get()
-                && mPrefs.getBoolean(SHARED_PREFS_STASHED_KEY, DEFAULT_STASHED_PREF);
         boolean isInSetup = !mActivity.isUserSetupComplete() || setupUIVisible;
-        updateStateForFlag(FLAG_STASHED_IN_APP_MANUAL, isManuallyStashedInApp);
-        updateStateForFlag(FLAG_STASHED_IN_APP_AUTO, isTransientTaskbar);
+        boolean isStashedInAppAuto =
+                isTransientTaskbar && !mTaskbarSharedState.getTaskbarWasPinned();
+        if (ENABLE_TASKBAR_NAVBAR_UNIFICATION) {
+            isStashedInAppAuto = isStashedInAppAuto && mTaskbarSharedState.taskbarWasStashedAuto;
+        }
+        updateStateForFlag(FLAG_STASHED_IN_APP_AUTO, isStashedInAppAuto);
         updateStateForFlag(FLAG_STASHED_IN_APP_SETUP, isInSetup);
         updateStateForFlag(FLAG_IN_SETUP, isInSetup);
-        updateStateForFlag(FLAG_STASHED_SMALL_SCREEN, isPhoneMode()
+        updateStateForFlag(FLAG_STASHED_SMALL_SCREEN, mActivity.isPhoneMode()
                 && !mActivity.isThreeButtonNav());
         // For now, assume we're in an app, since LauncherTaskbarUIController won't be able to tell
         // us that we're paused until a bit later. This avoids flickering upon recreating taskbar.
         updateStateForFlag(FLAG_IN_APP, true);
         applyState(/* duration = */ 0);
+        if (mTaskbarSharedState.getTaskbarWasPinned()
+                || !mTaskbarSharedState.taskbarWasStashedAuto) {
+            tryStartTaskbarTimeout();
+        }
         notifyStashChange(/* visible */ false, /* stashed */ isStashedInApp());
     }
 
@@ -350,28 +338,6 @@
     }
 
     /**
-     * Returns whether the user can manually stash the taskbar based on the current device state.
-     */
-    protected boolean supportsManualStashing() {
-        if (ENABLE_TASKBAR_PINNING.get() && mPrefs.getBoolean(TASKBAR_PINNING_KEY, false)) {
-            return false;
-        }
-        return supportsVisualStashing()
-                && isInApp()
-                && (!Utilities.isRunningInTestHarness() || mEnableManualStashingDuringTests)
-                && !DisplayController.isTransientTaskbar(mActivity);
-    }
-
-    /**
-     * Enables support for manual stashing. This should only be used to add this functionality
-     * to Launcher specific tests.
-     */
-    @VisibleForTesting
-    public void enableManualStashingDuringTests(boolean enableManualStashing) {
-        mEnableManualStashingDuringTests = enableManualStashing;
-    }
-
-    /**
      * Enables the auto timeout for taskbar stashing. This method should only be used for taskbar
      * testing.
      */
@@ -420,13 +386,6 @@
         return (hasAnyFlag(FLAG_IN_STASHED_LAUNCHER_STATE) && supportsVisualStashing());
     }
 
-    /**
-     * @return {@code true} if we're not on a large screen AND using gesture nav
-     */
-    private boolean isPhoneMode() {
-        return TaskbarManager.isPhoneMode(mActivity.getDeviceProfile());
-    }
-
     private boolean hasAnyFlag(int flagMask) {
         return hasAnyFlag(mState, flagMask);
     }
@@ -462,7 +421,7 @@
      * @see android.view.WindowInsets.Type#systemBars()
      */
     public int getContentHeightToReportToApps() {
-        if ((isPhoneMode() && !mActivity.isThreeButtonNav())
+        if ((mActivity.isPhoneMode() && !mActivity.isThreeButtonNav())
                 || DisplayController.isTransientTaskbar(mActivity)) {
             return getStashedHeight();
         }
@@ -532,6 +491,7 @@
         }
 
         if (hasAnyFlag(FLAG_STASHED_IN_APP_AUTO) != stash) {
+            mTaskbarSharedState.taskbarWasStashedAuto = stash;
             updateStateForFlag(FLAG_STASHED_IN_APP_AUTO, stash);
             applyState();
         }
@@ -565,53 +525,6 @@
                 /* shouldBubblesFollow= */ !bubbleBarExpanded);
     }
 
-    /**
-     * Should be called when long pressing the nav region when taskbar is present.
-     * @return Whether taskbar was stashed and now is unstashed.
-     */
-    public boolean onLongPressToUnstashTaskbar() {
-        if (!isStashed()) {
-            // We only listen for long press on the nav region to unstash the taskbar. To stash the
-            // taskbar, we use an OnLongClickListener on TaskbarView instead.
-            return false;
-        }
-        if (!canCurrentlyManuallyUnstash()) {
-            return false;
-        }
-        if (updateAndAnimateIsManuallyStashedInApp(false)) {
-            mControllers.taskbarActivityContext.getDragLayer().performHapticFeedback(LONG_PRESS);
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Returns whether taskbar will unstash when long pressing it based on the current state. The
-     * only time this is true is if the user is in an app and the taskbar is only stashed because
-     * the user previously long pressed to manually stash (not due to other reasons like IME).
-     */
-    private boolean canCurrentlyManuallyUnstash() {
-        return (mState & (FLAG_IN_APP | FLAGS_STASHED_IN_APP))
-                == (FLAG_IN_APP | FLAG_STASHED_IN_APP_MANUAL);
-    }
-
-    /**
-     * Updates whether we should stash the taskbar when in apps, and animates to the changed state.
-     * @return Whether we started an animation to either be newly stashed or unstashed.
-     */
-    public boolean updateAndAnimateIsManuallyStashedInApp(boolean isManuallyStashedInApp) {
-        if (!supportsManualStashing()) {
-            return false;
-        }
-        if (hasAnyFlag(FLAG_STASHED_IN_APP_MANUAL) != isManuallyStashedInApp) {
-            mPrefs.edit().putBoolean(SHARED_PREFS_STASHED_KEY, isManuallyStashedInApp).apply();
-            updateStateForFlag(FLAG_STASHED_IN_APP_MANUAL, isManuallyStashedInApp);
-            applyState();
-            return true;
-        }
-        return false;
-    }
-
     /** Toggles the Taskbar's stash state. */
     public void toggleTaskbarStash() {
         if (!DisplayController.isTransientTaskbar(mActivity) || !hasAnyFlag(FLAGS_IN_APP)) return;
@@ -659,7 +572,7 @@
         mAnimator = new AnimatorSet();
         addJankMonitorListener(mAnimator, /* appearing= */ !mIsStashed);
         boolean isTransientTaskbar = DisplayController.isTransientTaskbar(mActivity);
-        final float stashTranslation = isPhoneMode() || isTransientTaskbar
+        final float stashTranslation = mActivity.isPhoneMode() || isTransientTaskbar
                 ? 0
                 : (mUnstashedHeight - mStashedHeight);
 
@@ -677,6 +590,7 @@
             mAnimator.addListener(AnimatorListeners.forEndCallback(() -> {
                 mAnimator = null;
                 mIsStashed = isStashed;
+                onIsStashedChanged();
             }));
             return;
         }
@@ -691,7 +605,7 @@
             @Override
             public void onAnimationStart(Animator animation) {
                 mIsStashed = isStashed;
-                onIsStashedChanged(mIsStashed);
+                onIsStashedChanged();
 
                 cancelTimeoutIfExists();
             }
@@ -731,7 +645,7 @@
 
             firstHalfAnimatorSet.playTogether(
                     mIconAlphaForStash.animateToValue(0),
-                    mIconScaleForStash.animateToValue(isPhoneMode() ?
+                    mIconScaleForStash.animateToValue(mActivity.isPhoneMode() ?
                             0 : STASHED_TASKBAR_SCALE)
             );
             secondHalfAnimatorSet.playTogether(
@@ -898,21 +812,6 @@
             }
         });
     }
-    /**
-     * Creates and starts a partial stash animation, hinting at the new state that will trigger when
-     * long press is detected.
-     * @param animateForward Whether we are going towards the new stashed state or returning to the
-     *                       unstashed state.
-     */
-    public void startStashHint(boolean animateForward) {
-        if (isStashed() || !supportsManualStashing()) {
-            // Already stashed, no need to hint in that direction.
-            return;
-        }
-        mIconScaleForStash.animateToValue(
-                animateForward ? STASHED_TASKBAR_HINT_SCALE : 1)
-                .setDuration(TASKBAR_HINT_STASH_DURATION).start();
-    }
 
     /**
      * Creates and starts a partial unstash animation, hinting at the new state that will trigger
@@ -920,27 +819,20 @@
      *
      * @param animateForward Whether we are going towards the new unstashed state or returning to
      *                       the stashed state.
-     * @param forceUnstash Whether we force the unstash hint to animate.
      */
-    protected void startUnstashHint(boolean animateForward, boolean forceUnstash) {
+    protected void startUnstashHint(boolean animateForward) {
         if (!isStashed()) {
             // Already unstashed, no need to hint in that direction.
             return;
         }
-        // TODO(b/270395798): Clean up after removing long-press unstashing code path.
-        if (!canCurrentlyManuallyUnstash() && !forceUnstash) {
-            // If any other flags are causing us to be stashed, long press won't cause us to
-            // unstash, so don't hint that it will.
-            return;
-        }
         mTaskbarStashedHandleHintScale.animateToValue(
                 animateForward ? UNSTASHED_TASKBAR_HANDLE_HINT_SCALE : 1)
                 .setDuration(TASKBAR_HINT_STASH_DURATION).start();
     }
 
-    private void onIsStashedChanged(boolean isStashed) {
+    private void onIsStashedChanged() {
         mControllers.runAfterInit(() -> {
-            mControllers.stashedHandleViewController.onIsStashedChanged(isStashed);
+            mControllers.stashedHandleViewController.onIsStashedChanged();
             mControllers.taskbarInsetsController.onTaskbarOrBubblebarWindowHeightOrInsetsChanged();
         });
     }
@@ -1015,9 +907,12 @@
 
         updateStateForFlag(FLAG_STASHED_IN_APP_SYSUI, hasAnyFlag(systemUiStateFlags,
                 SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE));
-        updateStateForFlag(FLAG_STASHED_SYSUI,
-                hasAnyFlag(systemUiStateFlags, SYSUI_STATE_SCREEN_PINNING));
 
+        boolean stashForBubbles = hasAnyFlag(FLAG_IN_OVERVIEW)
+                && hasAnyFlag(systemUiStateFlags, SYSUI_STATE_BUBBLES_EXPANDED)
+                && DisplayController.isTransientTaskbar(mActivity);
+        updateStateForFlag(FLAG_STASHED_SYSUI,
+                hasAnyFlag(systemUiStateFlags, SYSUI_STATE_SCREEN_PINNING) || stashForBubbles);
         boolean isLocked = hasAnyFlag(systemUiStateFlags, MASK_ANY_SYSUI_LOCKED)
                 && !hasAnyFlag(systemUiStateFlags, SYSUI_STATE_STATUS_BAR_KEYGUARD_GOING_AWAY);
         updateStateForFlag(FLAG_STASHED_DEVICE_LOCKED, isLocked);
@@ -1036,19 +931,26 @@
     }
 
     /**
-     * We stash when IME or IME switcher is showing AND NOT
-     *  * in small screen AND
-     *  * 3 button nav AND
-     *  * landscape (or seascape)
-     * We do not stash if taskbar is transient
+     * We stash when IME or IME switcher is showing.
+     *
+     * <p>Do not stash if in small screen, with 3 button nav, and in landscape (or seascape).
+     * <p>Do not stash if taskbar is transient.
+     * <p>Do not stash if hardware keyboard is attached and taskbar is pinned.
      */
     private boolean shouldStashForIme() {
         if (DisplayController.isTransientTaskbar(mActivity)) {
             return false;
         }
-        return (mIsImeShowing || mIsImeSwitcherShowing) &&
-                !(isPhoneMode() && mActivity.isThreeButtonNav()
-                        && mActivity.getDeviceProfile().isLandscape);
+        // Do not stash if in small screen, with 3 button nav, and in landscape.
+        if (mActivity.isPhoneMode() && mActivity.isThreeButtonNav()
+                && mActivity.getDeviceProfile().isLandscape) {
+            return false;
+        }
+        // Do not stash if pinned taskbar and hardware keyboard is attached.
+        if (mActivity.isHardwareKeyboard() && DisplayController.isPinnedTaskbar(mActivity)) {
+            return false;
+        }
+        return mIsImeShowing || mIsImeSwitcherShowing;
     }
 
     /**
@@ -1082,13 +984,6 @@
             mControllers.taskbarAutohideSuspendController.updateFlag(
                     TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_IN_LAUNCHER, !isInApp());
         }
-        if (hasAnyFlag(changedFlags, FLAG_STASHED_IN_APP_MANUAL)) {
-            if (hasAnyFlag(FLAG_STASHED_IN_APP_MANUAL)) {
-                mActivity.getStatsLogManager().logger().log(LAUNCHER_TASKBAR_LONGPRESS_HIDE);
-            } else {
-                mActivity.getStatsLogManager().logger().log(LAUNCHER_TASKBAR_LONGPRESS_SHOW);
-            }
-        }
         if (hasAnyFlag(changedFlags, FLAG_STASHED_IN_APP_AUTO)) {
             mActivity.getStatsLogManager().logger().log(hasAnyFlag(FLAG_STASHED_IN_APP_AUTO)
                     ? LAUNCHER_TRANSIENT_TASKBAR_HIDE
@@ -1212,7 +1107,6 @@
     private static String getStateString(int flags) {
         StringJoiner sj = new StringJoiner("|");
         appendFlag(sj, flags, FLAGS_IN_APP, "FLAG_IN_APP");
-        appendFlag(sj, flags, FLAG_STASHED_IN_APP_MANUAL, "FLAG_STASHED_IN_APP_MANUAL");
         appendFlag(sj, flags, FLAG_STASHED_IN_APP_SYSUI, "FLAG_STASHED_IN_APP_SYSUI");
         appendFlag(sj, flags, FLAG_STASHED_IN_APP_SETUP, "FLAG_STASHED_IN_APP_SETUP");
         appendFlag(sj, flags, FLAG_STASHED_IN_APP_IME, "FLAG_STASHED_IN_APP_IME");
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java
index 6fad655..ecedf8a 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java
@@ -25,11 +25,13 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.view.MotionEvent;
 import android.view.View;
+import android.window.RemoteTransition;
 
 import androidx.annotation.CallSuper;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
+import com.android.launcher3.LauncherState;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.ItemInfoWithIcon;
@@ -43,7 +45,6 @@
 import com.android.systemui.shared.recents.model.Task;
 
 import java.io.PrintWriter;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.stream.Stream;
 
@@ -156,7 +157,7 @@
         mControllers.taskbarActivityContext.startTranslationSpring();
     }
 
-    /*
+    /**
      * @param ev MotionEvent in screen coordinates.
      * @return Whether any Taskbar item could handle the given MotionEvent if given the chance.
      */
@@ -165,6 +166,14 @@
                 || mControllers.navbarButtonsViewController.isEventOverAnyItem(ev);
     }
 
+    /** Checks if the given {@link MotionEvent} is over the bubble bar stash handle. */
+    public boolean isEventOverBubbleBarStashHandle(MotionEvent ev) {
+        return mControllers.bubbleControllers.map(
+                bubbleControllers ->
+                        bubbleControllers.bubbleStashController.isEventOverStashHandle(ev))
+                .orElse(false);
+    }
+
     /**
      * Returns true if icons should be aligned to hotseat in the current transition.
      */
@@ -209,8 +218,9 @@
 
         recentsView.getSplitSelectController().findLastActiveTasksAndRunCallback(
                 Collections.singletonList(splitSelectSource.itemInfo.getComponentKey()),
+                false /* findExactPairMatch */,
                 foundTasks -> {
-                    @Nullable Task foundTask = foundTasks.get(0);
+                    @Nullable Task foundTask = foundTasks[0];
                     splitSelectSource.alreadyRunningTaskId = foundTask == null
                             ? INVALID_TASK_ID
                             : foundTask.key.id;
@@ -227,8 +237,9 @@
         RecentsView recents = getRecentsView();
         recents.getSplitSelectController().findLastActiveTasksAndRunCallback(
                 Collections.singletonList(info.getComponentKey()),
+                false /* findExactPairMatch */,
                 foundTasks -> {
-                    @Nullable Task foundTask = foundTasks.get(0);
+                    @Nullable Task foundTask = foundTasks[0];
                     if (foundTask != null) {
                         TaskView foundTaskView = recents.getTaskViewByTaskId(foundTask.key.id);
                         // TODO (b/266482558): This additional null check is needed because there
@@ -290,11 +301,10 @@
     }
 
     /**
-     * Launches the focused task in splitscreen.
-     *
-     * No-op if the view is not yet open.
+     * Launches the given task in split-screen.
      */
-    public void launchSplitTasks(@NonNull View taskview, @NonNull GroupTask groupTask) { }
+    public void launchSplitTasks(
+            @NonNull GroupTask groupTask, @Nullable RemoteTransition remoteTransition) { }
 
     /**
      * Returns the matching view (if any) in the taskbar.
@@ -323,6 +333,14 @@
     }
 
     /**
+     * Callback for when launcher state transition completes after user swipes to home.
+     * @param finalState The final state of the transition.
+     */
+    public void onStateTransitionCompletedAfterSwipeToHome(LauncherState finalState) {
+        // Overridden
+    }
+
+    /**
      * Refreshes the resumed state of this ui controller.
      */
     public void refreshResumedState() {}
@@ -336,4 +354,7 @@
                 .stream()
                 .map(mControllers.taskbarPopupController::createSplitShortcutFactory);
     }
+
+    /** Adjusts the hotseat for the bubble bar. */
+    public void adjustHotseatForBubbleBar(boolean isBubbleBarVisible) {}
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java
index fa5a1ae..74517a8 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java
@@ -18,7 +18,11 @@
 import static android.content.pm.PackageManager.FEATURE_PC;
 import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;
 
-import static com.android.launcher3.config.FeatureFlags.ENABLE_CURSOR_HOVER_STATES;
+import static com.android.launcher3.Flags.enableCursorHoverStates;
+import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR;
+import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_FOLDER;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_ALL_APPS_SEARCH_IN_TASKBAR;
+import static com.android.launcher3.config.FeatureFlags.enableTaskbarPinning;
 import static com.android.launcher3.icons.IconNormalizer.ICON_VISIBLE_AREA_FACTOR;
 
 import android.content.Context;
@@ -27,12 +31,15 @@
 import android.graphics.Rect;
 import android.os.Bundle;
 import android.util.AttributeSet;
+import android.view.InputDevice;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.FrameLayout;
 
+import androidx.annotation.DimenRes;
+import androidx.annotation.DrawableRes;
 import androidx.annotation.LayoutRes;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -42,7 +49,7 @@
 import com.android.launcher3.Insettable;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
-import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.apppairs.AppPairIcon;
 import com.android.launcher3.folder.FolderIcon;
 import com.android.launcher3.icons.ThemedIconDrawable;
 import com.android.launcher3.model.data.FolderInfo;
@@ -90,11 +97,9 @@
     // Only non-null when device supports having an All Apps button.
     private @Nullable IconButtonView mTaskbarDivider;
 
-    private View mQsb;
+    private final View mQsb;
 
-    private float mTransientTaskbarMinWidth;
-
-    private float mTransientTaskbarAllAppsButtonTranslationXOffset;
+    private final float mTransientTaskbarMinWidth;
 
     private boolean mShouldTryStartAlign;
 
@@ -118,19 +123,19 @@
         mIconLayoutBounds = mActivityContext.getTransientTaskbarBounds();
         Resources resources = getResources();
         boolean isTransientTaskbar = DisplayController.isTransientTaskbar(mActivityContext)
-                && !TaskbarManager.isPhoneMode(mActivityContext.getDeviceProfile());
+                && !mActivityContext.isPhoneMode();
         mIsRtl = Utilities.isRtl(resources);
-        mTransientTaskbarMinWidth = mContext.getResources().getDimension(
-                R.dimen.transient_taskbar_min_width);
-        mTransientTaskbarAllAppsButtonTranslationXOffset =
-                resources.getDimension(isTransientTaskbar
-                        ? R.dimen.transient_taskbar_all_apps_button_translation_x_offset
-                        : R.dimen.taskbar_all_apps_button_translation_x_offset);
+        mTransientTaskbarMinWidth = resources.getDimension(R.dimen.transient_taskbar_min_width);
+
 
         onDeviceProfileChanged(mActivityContext.getDeviceProfile());
 
         int actualMargin = resources.getDimensionPixelSize(R.dimen.taskbar_icon_spacing);
         int actualIconSize = mActivityContext.getDeviceProfile().taskbarIconSize;
+        if (enableTaskbarPinning()) {
+            DeviceProfile deviceProfile = mActivityContext.getTransientTaskbarDeviceProfile();
+            actualIconSize = deviceProfile.taskbarIconSize;
+        }
         int visualIconSize = (int) (actualIconSize * ICON_VISIBLE_AREA_FACTOR);
 
         mIconTouchSize = Math.max(actualIconSize,
@@ -138,8 +143,11 @@
 
         // We layout the icons to be of mIconTouchSize in width and height
         mItemMarginLeftRight = actualMargin - (mIconTouchSize - visualIconSize) / 2;
-        mItemPadding = (mIconTouchSize - actualIconSize) / 2;
 
+        // We always layout taskbar as a transient taskbar when we have taskbar pinning feature on,
+        // then we scale and translate the icons to match persistent taskbar designs, so we use
+        // taskbar icon size from current device profile to calculate correct item padding.
+        mItemPadding = (mIconTouchSize - mActivityContext.getDeviceProfile().taskbarIconSize) / 2;
         mFolderLeaveBehindColor = Themes.getAttrColor(mActivityContext,
                 android.R.attr.textColorTertiary);
 
@@ -149,15 +157,13 @@
         if (!mActivityContext.getPackageManager().hasSystemFeature(FEATURE_PC)) {
             mAllAppsButton = (IconButtonView) LayoutInflater.from(context)
                     .inflate(R.layout.taskbar_all_apps_button, this, false);
-            mAllAppsButton.setIconDrawable(resources.getDrawable(isTransientTaskbar
-                    ? R.drawable.ic_transient_taskbar_all_apps_button
-                    : R.drawable.ic_taskbar_all_apps_button));
-            mAllAppsButton.setScaleX(mIsRtl ? -1 : 1);
+            mAllAppsButton.setIconDrawable(resources.getDrawable(
+                    getAllAppsButton(isTransientTaskbar)));
             mAllAppsButton.setPadding(mItemPadding, mItemPadding, mItemPadding, mItemPadding);
             mAllAppsButton.setForegroundTint(
                     mActivityContext.getColor(R.color.all_apps_button_color));
 
-            if (FeatureFlags.ENABLE_TASKBAR_PINNING.get()) {
+            if (enableTaskbarPinning()) {
                 mTaskbarDivider = (IconButtonView) LayoutInflater.from(context).inflate(
                         R.layout.taskbar_divider,
                         this, false);
@@ -171,6 +177,42 @@
         mQsb = LayoutInflater.from(context).inflate(R.layout.search_container_hotseat, this, false);
     }
 
+    @DrawableRes
+    private int getAllAppsButton(boolean isTransientTaskbar) {
+        boolean shouldSelectTransientIcon =
+                (isTransientTaskbar || enableTaskbarPinning())
+                && !mActivityContext.isThreeButtonNav();
+        if (ENABLE_ALL_APPS_SEARCH_IN_TASKBAR.get()) {
+            return shouldSelectTransientIcon
+                    ? R.drawable.ic_transient_taskbar_all_apps_search_button
+                    : R.drawable.ic_taskbar_all_apps_search_button;
+        } else {
+            return shouldSelectTransientIcon
+                    ? R.drawable.ic_transient_taskbar_all_apps_button
+                    : R.drawable.ic_taskbar_all_apps_button;
+        }
+    }
+
+    @DimenRes
+    public int getAllAppsButtonTranslationXOffset(boolean isTransientTaskbar) {
+        if (isTransientTaskbar) {
+            return R.dimen.transient_taskbar_all_apps_button_translation_x_offset;
+        } else {
+            return ENABLE_ALL_APPS_SEARCH_IN_TASKBAR.get()
+                    ? R.dimen.taskbar_all_apps_search_button_translation_x_offset
+                    : R.dimen.taskbar_all_apps_button_translation_x_offset;
+        }
+    }
+
+    @Override
+    public void setVisibility(int visibility) {
+        boolean changed = getVisibility() != visibility;
+        super.setVisibility(visibility);
+        if (changed && mControllerCallbacks != null) {
+            mControllerCallbacks.notifyVisibilityChanged();
+        }
+    }
+
     @Override
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
@@ -222,14 +264,14 @@
         mIconClickListener = mControllerCallbacks.getIconOnClickListener();
         mIconLongClickListener = mControllerCallbacks.getIconOnLongClickListener();
 
-        setOnLongClickListener(mControllerCallbacks.getBackgroundOnLongClickListener());
-
         if (mAllAppsButton != null) {
             mAllAppsButton.setOnClickListener(mControllerCallbacks.getAllAppsButtonClickListener());
         }
         if (mTaskbarDivider != null) {
             mTaskbarDivider.setOnLongClickListener(
                     mControllerCallbacks.getTaskbarDividerLongClickListener());
+            mTaskbarDivider.setOnTouchListener(
+                    mControllerCallbacks.getTaskbarDividerRightClickListener());
         }
     }
 
@@ -268,12 +310,14 @@
 
             // Replace any Hotseat views with the appropriate type if it's not already that type.
             final int expectedLayoutResId;
-            boolean isFolder = false;
+            boolean isCollection = false;
             if (hotseatItemInfo.isPredictedItem()) {
                 expectedLayoutResId = R.layout.taskbar_predicted_app_icon;
-            } else if (hotseatItemInfo instanceof FolderInfo) {
-                expectedLayoutResId = R.layout.folder_icon;
-                isFolder = true;
+            } else if (hotseatItemInfo instanceof FolderInfo fi) {
+                expectedLayoutResId = fi.itemType == ITEM_TYPE_APP_PAIR
+                        ? R.layout.app_pair_icon
+                        : R.layout.folder_icon;
+                isCollection = true;
             } else {
                 expectedLayoutResId = R.layout.taskbar_app_icon;
             }
@@ -284,7 +328,7 @@
 
                 // see if the view can be reused
                 if ((hotseatView.getSourceLayoutResId() != expectedLayoutResId)
-                        || (isFolder && (hotseatView.getTag() != hotseatItemInfo))) {
+                        || (isCollection && (hotseatView.getTag() != hotseatItemInfo))) {
                     // Unlike for BubbleTextView, we can't reapply a new FolderInfo after inflation,
                     // so if the info changes we need to reinflate. This should only happen if a new
                     // folder is dragged to the position that another folder previously existed.
@@ -297,12 +341,23 @@
             }
 
             if (hotseatView == null) {
-                if (isFolder) {
+                if (isCollection) {
                     FolderInfo folderInfo = (FolderInfo) hotseatItemInfo;
-                    FolderIcon folderIcon = FolderIcon.inflateFolderAndIcon(expectedLayoutResId,
-                            mActivityContext, this, folderInfo);
-                    folderIcon.setTextVisible(false);
-                    hotseatView = folderIcon;
+                    switch (hotseatItemInfo.itemType) {
+                        case ITEM_TYPE_FOLDER:
+                            hotseatView = FolderIcon.inflateFolderAndIcon(
+                                    expectedLayoutResId, mActivityContext, this, folderInfo);
+                            ((FolderIcon) hotseatView).setTextVisible(false);
+                            break;
+                        case ITEM_TYPE_APP_PAIR:
+                            hotseatView = AppPairIcon.inflateIcon(
+                                    expectedLayoutResId, mActivityContext, this, folderInfo);
+                            ((AppPairIcon) hotseatView).setTextVisible(false);
+                            break;
+                        default:
+                            throw new IllegalStateException(
+                                    "Unexpected item type: " + hotseatItemInfo.itemType);
+                    }
                 } else {
                     hotseatView = inflate(expectedLayoutResId);
                 }
@@ -324,7 +379,7 @@
                 }
             }
             setClickAndLongClickListenersForIcon(hotseatView);
-            if (ENABLE_CURSOR_HOVER_STATES.get()) {
+            if (enableCursorHoverStates()) {
                 setHoverListenerForIcon(hotseatView);
             }
             nextViewIndex++;
@@ -335,8 +390,6 @@
         }
 
         if (mAllAppsButton != null) {
-            mAllAppsButton.setTranslationXForTaskbarAllAppsIcon(getChildCount() > 0
-                    ? mTransientTaskbarAllAppsButtonTranslationXOffset : 0f);
             addView(mAllAppsButton, mIsRtl ? getChildCount() : 0);
 
             // if only all apps button present, don't include divider view.
@@ -372,6 +425,16 @@
     public void setClickAndLongClickListenersForIcon(View icon) {
         icon.setOnClickListener(mIconClickListener);
         icon.setOnLongClickListener(mIconLongClickListener);
+        // Add right-click support to btv icons.
+        icon.setOnTouchListener((v, event) -> {
+            if (event.isFromSource(InputDevice.SOURCE_MOUSE)
+                    && (event.getButtonState() & MotionEvent.BUTTON_SECONDARY) != 0
+                    && v instanceof BubbleTextView) {
+                mActivityContext.showPopupMenuForIcon((BubbleTextView) v);
+                return true;
+            }
+            return false;
+        });
     }
 
     /**
@@ -464,24 +527,6 @@
         }
     }
 
-    @Override
-    public boolean onTouchEvent(MotionEvent event) {
-        if (mIconLayoutBounds.left <= event.getX() && event.getX() <= mIconLayoutBounds.right) {
-            // Don't allow long pressing between icons, or above/below them.
-            return true;
-        }
-        if (mControllerCallbacks.onTouchEvent(event)) {
-            int oldAction = event.getAction();
-            try {
-                event.setAction(MotionEvent.ACTION_CANCEL);
-                return super.onTouchEvent(event);
-            } finally {
-                event.setAction(oldAction);
-            }
-        }
-        return super.onTouchEvent(event);
-    }
-
     /**
      * Returns whether the given MotionEvent, *in screen coorindates*, is within any Taskbar item's
      * touch bounds.
@@ -509,7 +554,7 @@
         int iconLayoutBoundsWidth =
                 countExcludingQsb * (mItemMarginLeftRight * 2 + mIconTouchSize);
 
-        if (FeatureFlags.ENABLE_TASKBAR_PINNING.get() && countExcludingQsb > 1) {
+        if (enableTaskbarPinning() && countExcludingQsb > 1) {
             // We are removing 4 * mItemMarginLeftRight as there should be no space between
             // All Apps icon, divider icon, and first app icon in taskbar
             iconLayoutBoundsWidth -= mItemMarginLeftRight * 4;
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
index 4614e8d..b762781 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java
@@ -21,14 +21,17 @@
 import static com.android.launcher3.LauncherAnimUtils.VIEW_ALPHA;
 import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X;
 import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_Y;
-import static com.android.launcher3.Utilities.squaredHypot;
+import static com.android.launcher3.Utilities.mapRange;
 import static com.android.launcher3.anim.AnimatedFloat.VALUE;
 import static com.android.launcher3.anim.AnimatorListeners.forEndCallback;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION;
+import static com.android.launcher3.config.FeatureFlags.enableTaskbarPinning;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_ALLAPPS_BUTTON_TAP;
-import static com.android.launcher3.taskbar.TaskbarManager.isPhoneButtonNavMode;
-import static com.android.launcher3.taskbar.TaskbarManager.isPhoneMode;
+import static com.android.launcher3.taskbar.TaskbarPinningController.PINNING_PERSISTENT;
+import static com.android.launcher3.taskbar.TaskbarPinningController.PINNING_TRANSIENT;
 import static com.android.launcher3.util.MultiPropertyFactory.MULTI_PROPERTY_VALUE;
 import static com.android.launcher3.util.MultiTranslateDelegate.INDEX_TASKBAR_ALIGNMENT_ANIM;
+import static com.android.launcher3.util.MultiTranslateDelegate.INDEX_TASKBAR_PINNING_ANIM;
 import static com.android.launcher3.util.MultiTranslateDelegate.INDEX_TASKBAR_REVEAL_ANIM;
 
 import android.animation.Animator;
@@ -38,6 +41,7 @@
 import android.annotation.NonNull;
 import android.graphics.Rect;
 import android.util.Log;
+import android.view.InputDevice;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.animation.Interpolator;
@@ -47,6 +51,7 @@
 import androidx.core.view.OneShotPreDrawListener;
 
 import com.android.app.animation.Interpolators;
+import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.R;
@@ -61,11 +66,13 @@
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.icons.ThemedIconDrawable;
 import com.android.launcher3.model.data.ItemInfo;
+import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.ItemInfoMatcher;
 import com.android.launcher3.util.LauncherBindableItemsContainer;
 import com.android.launcher3.util.MultiPropertyFactory;
 import com.android.launcher3.util.MultiTranslateDelegate;
 import com.android.launcher3.util.MultiValueAlpha;
+import com.android.launcher3.views.IconButtonView;
 
 import java.io.PrintWriter;
 import java.util.function.Predicate;
@@ -98,12 +105,27 @@
             this::updateTranslationY);
     private final AnimatedFloat mTaskbarIconTranslationYForStash = new AnimatedFloat(
             this::updateTranslationY);
+
+    private final AnimatedFloat mTaskbarIconScaleForPinning = new AnimatedFloat(
+            this::updateTaskbarIconsScale);
+
+    private final AnimatedFloat mTaskbarIconTranslationXForPinning = new AnimatedFloat(
+            this::updateTaskbarIconTranslationXForPinning);
+
+    private final AnimatedFloat mTaskbarIconTranslationYForPinning = new AnimatedFloat(
+            this::updateTranslationY);
+
+    private final View.OnLayoutChangeListener mTaskbarViewLayoutChangeListener =
+            (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom)
+                    -> updateTaskbarIconTranslationXForPinning();
+
+
     private AnimatedFloat mTaskbarNavButtonTranslationY;
     private AnimatedFloat mTaskbarNavButtonTranslationYForInAppDisplay;
     private float mTaskbarIconTranslationYForSwipe;
     private float mTaskbarIconTranslationYForSpringOnStash;
 
-    private final int mTaskbarBottomMargin;
+    private int mTaskbarBottomMargin;
     private final int mStashedHandleHeight;
     private final int mLauncherThemedIconsBackgroundColor;
     private final int mTaskbarThemedIconsBackgroundColor;
@@ -131,8 +153,20 @@
 
     private final boolean mIsRtl;
 
+    private final DeviceProfile mTransientTaskbarDp;
+    private final DeviceProfile mPersistentTaskbarDp;
+
+    private final int mTransientIconSize;
+    private final int mPersistentIconSize;
+
+    private final float mTaskbarLeftRightMargin;
+
     public TaskbarViewController(TaskbarActivityContext activity, TaskbarView taskbarView) {
         mActivity = activity;
+        mTransientTaskbarDp = mActivity.getTransientTaskbarDeviceProfile();
+        mPersistentTaskbarDp = mActivity.getPersistentTaskbarDeviceProfile();
+        mTransientIconSize = mTransientTaskbarDp.taskbarIconSize;
+        mPersistentIconSize = mPersistentTaskbarDp.taskbarIconSize;
         mTaskbarView = taskbarView;
         mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, NUM_ALPHA_CHANNELS);
         mTaskbarIconAlpha.setUpdateVisibility(true);
@@ -152,16 +186,25 @@
             mTaskbarThemedIconsBackgroundColor = ColorUtils.HSLToColor(colorHSL);
         }
         mIsRtl = Utilities.isRtl(mTaskbarView.getResources());
+        mTaskbarLeftRightMargin = mActivity.getResources().getDimensionPixelSize(
+                R.dimen.transient_taskbar_padding);
+
     }
 
     public void init(TaskbarControllers controllers) {
         mControllers = controllers;
         mTaskbarView.init(new TaskbarViewCallbacks());
-        mTaskbarView.getLayoutParams().height = isPhoneMode(mActivity.getDeviceProfile())
-                ? mActivity.getResources().getDimensionPixelSize(R.dimen.taskbar_size)
+        mTaskbarView.getLayoutParams().height = mActivity.isPhoneMode()
+                ? mActivity.getResources().getDimensionPixelSize(R.dimen.taskbar_phone_size)
                 : mActivity.getDeviceProfile().taskbarHeight;
 
         mTaskbarIconScaleForStash.updateValue(1f);
+        float pinningValue = DisplayController.isTransientTaskbar(mActivity)
+                ? PINNING_TRANSIENT
+                : PINNING_PERSISTENT;
+        mTaskbarIconScaleForPinning.updateValue(pinningValue);
+        mTaskbarIconTranslationYForPinning.updateValue(pinningValue);
+        mTaskbarIconTranslationXForPinning.updateValue(pinningValue);
 
         mModelCallbacks.init(controllers);
         if (mActivity.isUserSetupComplete()) {
@@ -175,11 +218,14 @@
 
         mActivity.addOnDeviceProfileChangeListener(mDeviceProfileChangeListener);
 
-        if (TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW) {
+        if (ENABLE_TASKBAR_NAVBAR_UNIFICATION) {
             // This gets modified in NavbarButtonsViewController, but the initial value it reads
             // may be incorrect since it's state gets destroyed on taskbar recreate, so reset here
             mTaskbarIconAlpha.get(ALPHA_INDEX_SMALL_SCREEN)
-                    .animateToValue(isPhoneButtonNavMode(mActivity) ? 0 : 1).start();
+                    .animateToValue(mActivity.isPhoneButtonNavMode() ? 0 : 1).start();
+        }
+        if (enableTaskbarPinning()) {
+            mTaskbarView.addOnLayoutChangeListener(mTaskbarViewLayoutChangeListener);
         }
     }
 
@@ -191,6 +237,9 @@
     }
 
     public void onDestroy() {
+        if (enableTaskbarPinning()) {
+            mTaskbarView.removeOnLayoutChangeListener(mTaskbarViewLayoutChangeListener);
+        }
         LauncherAppState.getInstance(mActivity).getModel().removeCallbacks(mModelCallbacks);
         mActivity.removeOnDeviceProfileChangeListener(mDeviceProfileChangeListener);
         mModelCallbacks.unregisterListeners();
@@ -253,6 +302,18 @@
         return mTaskbarIconTranslationYForStash;
     }
 
+    public AnimatedFloat getTaskbarIconScaleForPinning() {
+        return mTaskbarIconScaleForPinning;
+    }
+
+    public AnimatedFloat getTaskbarIconTranslationXForPinning() {
+        return mTaskbarIconTranslationXForPinning;
+    }
+
+    public AnimatedFloat getTaskbarIconTranslationYForPinning() {
+        return mTaskbarIconTranslationYForPinning;
+    }
+
     /**
      * Applies scale properties for the entire TaskbarView (rather than individual icons).
      */
@@ -263,6 +324,100 @@
     }
 
     /**
+     * Applies scale properties for the taskbar icons
+     */
+    private void updateTaskbarIconsScale() {
+        float scale = mTaskbarIconScaleForPinning.value;
+        View[] iconViews = mTaskbarView.getIconViews();
+
+        float finalScale;
+        if (mControllers.getSharedState().startTaskbarVariantIsTransient) {
+            finalScale = mapRange(scale, 1f, ((float) mPersistentIconSize / mTransientIconSize));
+        } else {
+            finalScale = mapRange(scale, ((float) mTransientIconSize / mPersistentIconSize), 1f);
+        }
+
+        for (int iconIndex = 0; iconIndex < iconViews.length; iconIndex++) {
+            iconViews[iconIndex].setScaleX(finalScale);
+            iconViews[iconIndex].setScaleY(finalScale);
+        }
+    }
+
+    /**
+     * Animate away taskbar icon notification dots during the taskbar pinning animation.
+     */
+    public void animateAwayNotificationDotsDuringTaskbarPinningAnimation() {
+        for (View iconView : mTaskbarView.getIconViews()) {
+            if (iconView instanceof BubbleTextView && ((BubbleTextView) iconView).hasDot()) {
+                ((BubbleTextView) iconView).animateDotScale(0);
+            }
+        }
+    }
+
+    private void updateTaskbarIconTranslationXForPinning() {
+        View[] iconViews = mTaskbarView.getIconViews();
+        float scale = mTaskbarIconTranslationXForPinning.value;
+        float taskbarCenterX =
+                mTaskbarView.getLeft() + (mTaskbarView.getRight() - mTaskbarView.getLeft()) / 2.0f;
+
+        float finalMarginScale = mapRange(scale, 0f, mTransientIconSize - mPersistentIconSize);
+
+        float transientTaskbarAllAppsOffset = mActivity.getResources().getDimension(
+                mTaskbarView.getAllAppsButtonTranslationXOffset(true));
+        float persistentTaskbarAllAppsOffset = mActivity.getResources().getDimension(
+                mTaskbarView.getAllAppsButtonTranslationXOffset(false));
+
+        float allAppIconTranslateRange = mapRange(scale, transientTaskbarAllAppsOffset,
+                persistentTaskbarAllAppsOffset);
+
+        if (mIsRtl) {
+            allAppIconTranslateRange *= -1;
+        }
+
+        float halfIconCount = iconViews.length / 2.0f;
+        for (int iconIndex = 0; iconIndex < iconViews.length; iconIndex++) {
+            View iconView = iconViews[iconIndex];
+            MultiTranslateDelegate translateDelegate =
+                    ((Reorderable) iconView).getTranslateDelegate();
+            float iconCenterX =
+                    iconView.getLeft() + (iconView.getRight() - iconView.getLeft()) / 2.0f;
+            if (iconCenterX <= taskbarCenterX) {
+                translateDelegate.getTranslationX(INDEX_TASKBAR_PINNING_ANIM).setValue(
+                        finalMarginScale * (halfIconCount - iconIndex));
+            } else {
+                translateDelegate.getTranslationX(INDEX_TASKBAR_PINNING_ANIM).setValue(
+                        -finalMarginScale * (iconIndex - halfIconCount));
+            }
+
+            if (iconView.equals(mTaskbarView.getAllAppsButtonView()) && iconViews.length > 1) {
+                ((IconButtonView) iconView).setTranslationXForTaskbarAllAppsIcon(
+                        allAppIconTranslateRange);
+            }
+        }
+    }
+
+    /**
+     * Calculates visual taskbar view width.
+     */
+    public float getCurrentVisualTaskbarWidth() {
+        if (mTaskbarView.getIconViews().length == 0) {
+            return 0;
+        }
+
+        View[] iconViews = mTaskbarView.getIconViews();
+
+        int leftIndex = mActivity.getDeviceProfile().isQsbInline && !mIsRtl ? 1 : 0;
+        int rightIndex = mActivity.getDeviceProfile().isQsbInline && mIsRtl
+                ? iconViews.length - 2
+                : iconViews.length - 1;
+
+        float left = iconViews[leftIndex].getX();
+        float right = iconViews[rightIndex].getRight() + iconViews[rightIndex].getTranslationX();
+
+        return right - left + (2 * mTaskbarLeftRightMargin);
+    }
+
+    /**
      * Sets the translation of the TaskbarView during the swipe up gesture.
      */
     public void setTranslationYForSwipe(float transY) {
@@ -282,10 +437,41 @@
         mTaskbarView.setTranslationY(mTaskbarIconTranslationYForHome.value
                 + mTaskbarIconTranslationYForStash.value
                 + mTaskbarIconTranslationYForSwipe
+                + getTaskbarIconTranslationYForPinningValue()
                 + mTaskbarIconTranslationYForSpringOnStash);
     }
 
     /**
+     * Computes translation y for taskbar pinning.
+     */
+    private float getTaskbarIconTranslationYForPinningValue() {
+        if (mControllers.getSharedState() == null) return 0f;
+
+        float scale = mTaskbarIconTranslationYForPinning.value;
+        float taskbarIconTranslationYForPinningValue;
+
+        // transY is calculated here by adding/subtracting the taskbar bottom margin
+        // aligning the icon bound to be at bottom of current taskbar view and then
+        // finally placing the icon in the middle of new taskbar background height.
+        if (mControllers.getSharedState().startTaskbarVariantIsTransient) {
+            float transY =
+                    mTransientTaskbarDp.taskbarBottomMargin + (mTransientTaskbarDp.taskbarHeight
+                            - mTaskbarView.getIconLayoutBounds().bottom)
+                            - (mPersistentTaskbarDp.taskbarHeight
+                                    - mTransientTaskbarDp.taskbarIconSize) / 2f;
+            taskbarIconTranslationYForPinningValue = mapRange(scale, 0f, transY);
+        } else {
+            float transY =
+                    -mTransientTaskbarDp.taskbarBottomMargin + (mPersistentTaskbarDp.taskbarHeight
+                            - mTaskbarView.getIconLayoutBounds().bottom)
+                            - (mTransientTaskbarDp.taskbarHeight
+                                    - mTransientTaskbarDp.taskbarIconSize) / 2f;
+            taskbarIconTranslationYForPinningValue = mapRange(scale, transY, 0f);
+        }
+        return taskbarIconTranslationYForPinningValue;
+    }
+
+    /**
      * Updates the Taskbar's themed icons background according to the progress between in-app/home.
      */
     protected void updateIconsBackground() {
@@ -343,6 +529,10 @@
         return reveal;
     }
 
+    public View getTaskbarDividerView() {
+        return mTaskbarView.getTaskbarDividerView();
+    }
+
     /**
      * Defers any updates to the UI for the setup wizard animation.
      */
@@ -435,6 +625,11 @@
      *                       1 => fully aligned
      */
     public void setLauncherIconAlignment(float alignmentRatio, DeviceProfile launcherDp) {
+        if (mActivity.isPhoneMode()) {
+            mIconAlignControllerLazy = null;
+            return;
+        }
+
         boolean isHotseatIconOnTopWhenAligned =
                 mControllers.uiController.isHotseatIconOnTopWhenAligned();
         boolean isStashed = mControllers.taskbarStashController.isStashed();
@@ -453,19 +648,21 @@
         }
     }
 
+    /** Resets the icon alignment controller so that it can be recreated again later. */
+    void resetIconAlignmentController() {
+        mIconAlignControllerLazy = null;
+    }
+
     /**
      * Creates an animation for aligning the Taskbar icons with the provided Launcher device profile
      */
     private AnimatorPlaybackController createIconAlignmentController(DeviceProfile launcherDp) {
         PendingAnimation setter = new PendingAnimation(100);
-        if (TaskbarManager.isPhoneButtonNavMode(mActivity)) {
-            // No animation for icons in small-screen
-            return setter.createPlaybackController();
-        }
-
         mOnControllerPreCreateCallback.run();
         DeviceProfile taskbarDp = mActivity.getDeviceProfile();
         Rect hotseatPadding = launcherDp.getHotseatLayoutPadding(mActivity);
+        boolean isTransientTaskbar = DisplayController.isTransientTaskbar(mActivity);
+
         float scaleUp = ((float) launcherDp.iconSizePx) / taskbarDp.taskbarIconSize;
         int borderSpacing = launcherDp.hotseatBorderSpace;
         int hotseatCellSize = DeviceProfile.calculateCellWidth(
@@ -492,6 +689,10 @@
         setter.addOnFrameListener(anim -> mActivity.setTaskbarWindowHeight(
                 anim.getAnimatedFraction() > 0 ? expandedHeight : collapsedHeight));
 
+        mTaskbarBottomMargin = isTransientTaskbar
+                ? mTransientTaskbarDp.taskbarBottomMargin
+                : mPersistentTaskbarDp.taskbarBottomMargin;
+
         for (int i = 0; i < mTaskbarView.getChildCount(); i++) {
             View child = mTaskbarView.getChildAt(i);
             boolean isAllAppsButton = child == mTaskbarView.getAllAppsButtonView();
@@ -502,7 +703,7 @@
                 // to avoid icons disappearing rather than fading out visually.
                 setter.setViewAlpha(child, 0, Interpolators.clampToProgress(LINEAR, 0.8f, 1f));
             } else if ((isAllAppsButton && !FeatureFlags.ENABLE_ALL_APPS_BUTTON_IN_HOTSEAT.get())
-                    || (isTaskbarDividerView && FeatureFlags.ENABLE_TASKBAR_PINNING.get())) {
+                    || (isTaskbarDividerView && enableTaskbarPinning())) {
                 if (!isToHome
                         && mIsHotseatIconOnTopWhenAligned
                         && mIsStashed) {
@@ -523,6 +724,8 @@
                         + launcherDp.hotseatQsbWidth / 2f
                         : hotseatPadding.left - borderSpacing - launcherDp.hotseatQsbWidth / 2f;
                 float childCenter = (child.getLeft() + child.getRight()) / 2f;
+                childCenter += ((Reorderable) child).getTranslateDelegate().getTranslationX(
+                        INDEX_TASKBAR_PINNING_ANIM).getValue();
                 float halfQsbIconWidthDiff =
                         (launcherDp.hotseatQsbWidth - taskbarDp.taskbarIconSize) / 2f;
                 float scale = ((float) taskbarDp.taskbarIconSize)
@@ -555,13 +758,19 @@
                 continue;
             }
 
-            int positionInHotseat;
+            float positionInHotseat;
             if (isAllAppsButton) {
-                // Note that there is no All Apps button in the hotseat, this position is only used
-                // as its convenient for animation purposes.
+                // Note that there is no All Apps button in the hotseat,
+                // this position is only used as its convenient for animation purposes.
                 positionInHotseat = Utilities.isRtl(child.getResources())
                         ? taskbarDp.numShownHotseatIcons
                         : -1;
+            }  else if (isTaskbarDividerView) {
+                // Note that there is no taskbar divider view in the hotseat,
+                // this position is only used as its convenient for animation purposes.
+                positionInHotseat = Utilities.isRtl(child.getResources())
+                        ? taskbarDp.numShownHotseatIcons - 0.5f
+                        : -0.5f;
             } else if (child.getTag() instanceof ItemInfo) {
                 positionInHotseat = ((ItemInfo) child.getTag()).screenId;
             } else {
@@ -569,14 +778,24 @@
                 continue;
             }
 
-            float hotseatIconCenter = hotseatPadding.left
-                    + (hotseatCellSize + borderSpacing) * positionInHotseat
-                    + hotseatCellSize / 2f;
+            float hotseatAdjustedBorderSpace =
+                    launcherDp.getHotseatAdjustedBorderSpaceForBubbleBar(child.getContext());
+            float hotseatIconCenter;
+            if (bubbleBarHasBubbles() && hotseatAdjustedBorderSpace != 0) {
+                hotseatIconCenter = hotseatPadding.left + hotseatCellSize
+                        + (hotseatCellSize + hotseatAdjustedBorderSpace) * positionInHotseat
+                        + hotseatCellSize / 2f;
+            } else {
+                hotseatIconCenter = hotseatPadding.left
+                        + (hotseatCellSize + borderSpacing) * positionInHotseat
+                        + hotseatCellSize / 2f;
+            }
             float childCenter = (child.getLeft() + child.getRight()) / 2f;
+            childCenter += ((Reorderable) child).getTranslateDelegate().getTranslationX(
+                    INDEX_TASKBAR_PINNING_ANIM).getValue();
             float toX = hotseatIconCenter - childCenter;
             if (child instanceof Reorderable) {
                 MultiTranslateDelegate mtd = ((Reorderable) child).getTranslateDelegate();
-
                 setter.setFloat(mtd.getTranslationX(INDEX_TASKBAR_ALIGNMENT_ANIM),
                         MULTI_PROPERTY_VALUE, toX, interpolator);
                 setter.setFloat(mtd.getTranslationY(INDEX_TASKBAR_ALIGNMENT_ANIM),
@@ -593,6 +812,11 @@
         return controller;
     }
 
+    private boolean bubbleBarHasBubbles() {
+        return mControllers.bubbleControllers.isPresent()
+                && mControllers.bubbleControllers.get().bubbleBarViewController.hasBubbles();
+    }
+
     public void onRotationChanged(DeviceProfile deviceProfile) {
         if (!mControllers.uiController.isIconAlignedWithHotseat()) {
             // We only translate on rotation when icon is aligned with hotseat
@@ -686,13 +910,19 @@
             };
         }
 
-        public View.OnLongClickListener getIconOnLongClickListener() {
-            return mControllers.taskbarDragController::startDragOnLongClick;
+        public View.OnTouchListener getTaskbarDividerRightClickListener() {
+            return (v, event) -> {
+                if (event.isFromSource(InputDevice.SOURCE_MOUSE)
+                        && event.getButtonState() == MotionEvent.BUTTON_SECONDARY) {
+                    mControllers.taskbarPinningController.showPinningView(v);
+                    return true;
+                }
+                return false;
+            };
         }
 
-        public View.OnLongClickListener getBackgroundOnLongClickListener() {
-            return view -> mControllers.taskbarStashController
-                    .updateAndAnimateIsManuallyStashedInApp(true);
+        public View.OnLongClickListener getIconOnLongClickListener() {
+            return mControllers.taskbarDragController::startDragOnLongClick;
         }
 
         /** Gets the hover listener for the provided icon view. */
@@ -701,46 +931,18 @@
         }
 
         /**
-         * Get the first chance to handle TaskbarView#onTouchEvent, and return whether we want to
-         * consume the touch so TaskbarView treats it as an ACTION_CANCEL.
-         * TODO(b/270395798): We can remove this entirely once we remove the Transient Taskbar flag.
-         */
-        public boolean onTouchEvent(MotionEvent motionEvent) {
-            final float x = motionEvent.getRawX();
-            final float y = motionEvent.getRawY();
-            switch (motionEvent.getAction()) {
-                case MotionEvent.ACTION_DOWN:
-                    mDownX = x;
-                    mDownY = y;
-                    mControllers.taskbarStashController.startStashHint(/* animateForward = */ true);
-                    mCanceledStashHint = false;
-                    break;
-                case MotionEvent.ACTION_MOVE:
-                    if (!mCanceledStashHint
-                            && squaredHypot(mDownX - x, mDownY - y) > mSquaredTouchSlop) {
-                        mControllers.taskbarStashController.startStashHint(
-                                /* animateForward= */ false);
-                        mCanceledStashHint = true;
-                        return true;
-                    }
-                    break;
-                case MotionEvent.ACTION_UP:
-                case MotionEvent.ACTION_CANCEL:
-                    if (!mCanceledStashHint) {
-                        mControllers.taskbarStashController.startStashHint(
-                                /* animateForward= */ false);
-                    }
-                    break;
-            }
-
-            return false;
-        }
-
-        /**
          * Notifies launcher to update icon alignment.
          */
         public void notifyIconLayoutBoundsChanged() {
             mControllers.uiController.onIconLayoutBoundsChanged();
         }
+
+        /**
+         * Notifies the taskbar scrim when the visibility of taskbar changes.
+         */
+        public void notifyVisibilityChanged() {
+            mControllers.taskbarScrimViewController.onTaskbarVisibilityChanged(
+                    mTaskbarView.getVisibility());
+        }
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/VoiceInteractionWindowController.kt b/quickstep/src/com/android/launcher3/taskbar/VoiceInteractionWindowController.kt
index 5eb240e..5a5ff8e 100644
--- a/quickstep/src/com/android/launcher3/taskbar/VoiceInteractionWindowController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/VoiceInteractionWindowController.kt
@@ -192,13 +192,13 @@
         removeOnAttachStateChangeListener(pendingAttachedToWindowListener)
         pendingAttachedToWindowListener =
             object : View.OnAttachStateChangeListener {
-                override fun onViewAttachedToWindow(v: View?) {
+                override fun onViewAttachedToWindow(v: View) {
                     onAttachedToWindow()
                     removeOnAttachStateChangeListener(this)
                     pendingAttachedToWindowListener = null
                 }
 
-                override fun onViewDetachedFromWindow(v: View?) {}
+                override fun onViewDetachedFromWindow(v: View) {}
             }
         addOnAttachStateChangeListener(pendingAttachedToWindowListener)
     }
diff --git a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsController.java b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsController.java
index d786d94..07d86e4 100644
--- a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsController.java
@@ -89,7 +89,8 @@
         mAppsModelFlags = flags;
         mPackageUserKeytoUidMap = map;
         if (mAppsView != null) {
-            mAppsView.getAppsStore().setApps(mApps, mAppsModelFlags, mPackageUserKeytoUidMap);
+            mAppsView.getAppsStore().setApps(
+                    mApps, mAppsModelFlags, mPackageUserKeytoUidMap, false);
         }
     }
 
@@ -128,10 +129,19 @@
 
     /** Toggles visibility of {@link TaskbarAllAppsContainerView} in the overlay window. */
     public void toggle() {
+        toggle(false);
+    }
+
+    /** Toggles visibility of {@link TaskbarAllAppsContainerView} with the keyboard for search. */
+    public void toggleSearch() {
+        toggle(true);
+    }
+
+    private void toggle(boolean showKeyboard) {
         if (isOpen()) {
             mSlideInView.close(true);
         } else {
-            show(true);
+            show(true, showKeyboard);
         }
     }
 
@@ -141,13 +151,13 @@
     }
 
     private void show(boolean animate) {
+        show(animate, false);
+    }
+
+    private void show(boolean animate, boolean showKeyboard) {
         if (mAppsView != null) {
             return;
         }
-        // mControllers and getSharedState should never be null here. Do not handle null-pointer
-        // to catch invalid states.
-        mControllers.getSharedState().allAppsVisible = true;
-
         mOverlayContext = mControllers.taskbarOverlayController.requestWindow();
 
         // Initialize search session for All Apps.
@@ -161,16 +171,20 @@
 
         mSlideInView = (TaskbarAllAppsSlideInView) mOverlayContext.getLayoutInflater().inflate(
                 R.layout.taskbar_all_apps_sheet, mOverlayContext.getDragLayer(), false);
-        mSlideInView.addOnCloseListener(() -> {
-            mControllers.getSharedState().allAppsVisible = false;
-            cleanUpOverlay();
-        });
+        // Ensures All Apps gets touch events in case it is not the top floating view. Floating
+        // views above it may not be able to intercept the touch, so All Apps should try to.
+        mOverlayContext.getDragLayer().addTouchController(mSlideInView);
+        mSlideInView.addOnCloseListener(this::cleanUpOverlay);
         TaskbarAllAppsViewController viewController = new TaskbarAllAppsViewController(
-                mOverlayContext, mSlideInView, mControllers, mSearchSessionController);
+                mOverlayContext,
+                mSlideInView,
+                mControllers,
+                mSearchSessionController,
+                showKeyboard);
 
         viewController.show(animate);
         mAppsView = mOverlayContext.getAppsView();
-        mAppsView.getAppsStore().setApps(mApps, mAppsModelFlags, mPackageUserKeytoUidMap);
+        mAppsView.getAppsStore().setApps(mApps, mAppsModelFlags, mPackageUserKeytoUidMap, false);
         mAppsView.getFloatingHeaderView()
                 .findFixedRowByType(PredictionRowView.class)
                 .setPredictedApps(mPredictedApps);
@@ -195,6 +209,7 @@
             mSearchSessionController = null;
         }
         if (mOverlayContext != null) {
+            mOverlayContext.getDragLayer().removeTouchController(mSlideInView);
             mOverlayContext.setSearchSessionController(null);
             mOverlayContext = null;
         }
diff --git a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java
index 001c3bc..964d329 100644
--- a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java
@@ -220,7 +220,9 @@
     @Override
     public boolean onControllerInterceptTouchEvent(MotionEvent ev) {
         if (ev.getAction() == MotionEvent.ACTION_DOWN) {
-            mNoIntercept = !mAppsView.shouldContainerScroll(ev);
+            mNoIntercept = !mAppsView.shouldContainerScroll(ev)
+                    || getTopOpenViewWithType(
+                            mActivityContext, TYPE_TOUCH_CONTROLLER_NO_INTERCEPT) != null;
         }
         return super.onControllerInterceptTouchEvent(ev);
     }
diff --git a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsViewController.java b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsViewController.java
index 85633e9..b1c5151 100644
--- a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsViewController.java
@@ -18,17 +18,22 @@
 import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_STASHED_IN_TASKBAR_ALL_APPS;
 import static com.android.launcher3.util.OnboardingPrefs.ALL_APPS_VISITED_COUNT;
 
+import androidx.annotation.Nullable;
+
 import com.android.launcher3.AbstractFloatingView;
 import com.android.launcher3.allapps.AllAppsTransitionListener;
 import com.android.launcher3.anim.PendingAnimation;
 import com.android.launcher3.appprediction.AppsDividerView;
 import com.android.launcher3.taskbar.NavbarButtonsViewController;
 import com.android.launcher3.taskbar.TaskbarControllers;
+import com.android.launcher3.taskbar.TaskbarSharedState;
 import com.android.launcher3.taskbar.TaskbarStashController;
 import com.android.launcher3.taskbar.overlay.TaskbarOverlayContext;
 import com.android.launcher3.taskbar.overlay.TaskbarOverlayController;
 import com.android.launcher3.util.DisplayController;
 
+import java.util.Optional;
+
 /**
  * Handles the {@link TaskbarAllAppsContainerView} behavior and synchronizes its transitions with
  * taskbar stashing.
@@ -41,12 +46,15 @@
     private final TaskbarStashController mTaskbarStashController;
     private final NavbarButtonsViewController mNavbarButtonsViewController;
     private final TaskbarOverlayController mOverlayController;
+    private final @Nullable TaskbarSharedState mTaskbarSharedState;
+    private final boolean mShowKeyboard;
 
     TaskbarAllAppsViewController(
             TaskbarOverlayContext context,
             TaskbarAllAppsSlideInView slideInView,
             TaskbarControllers taskbarControllers,
-            TaskbarSearchSessionController searchSessionController) {
+            TaskbarSearchSessionController searchSessionController,
+            boolean showKeyboard) {
 
         mContext = context;
         mSlideInView = slideInView;
@@ -54,6 +62,8 @@
         mTaskbarStashController = taskbarControllers.taskbarStashController;
         mNavbarButtonsViewController = taskbarControllers.navbarButtonsViewController;
         mOverlayController = taskbarControllers.taskbarOverlayController;
+        mTaskbarSharedState = taskbarControllers.getSharedState();
+        mShowKeyboard = showKeyboard;
 
         mSlideInView.init(new TaskbarAllAppsCallbacks(searchSessionController));
         setUpAppDivider();
@@ -73,26 +83,27 @@
     private void setUpAppDivider() {
         mAppsView.getFloatingHeaderView()
                 .findFixedRowByType(AppsDividerView.class)
-                .setShowAllAppsLabel(!mContext.getOnboardingPrefs().hasReachedMaxCount(
-                        ALL_APPS_VISITED_COUNT));
-        mContext.getOnboardingPrefs().incrementEventCount(ALL_APPS_VISITED_COUNT);
+                .setShowAllAppsLabel(!ALL_APPS_VISITED_COUNT.hasReachedMax(mContext));
+        ALL_APPS_VISITED_COUNT.increment(mContext);
     }
 
     private void setUpTaskbarStashing() {
         if (DisplayController.isTransientTaskbar(mContext)) {
             mTaskbarStashController.updateStateForFlag(FLAG_STASHED_IN_TASKBAR_ALL_APPS, true);
-            mTaskbarStashController.applyState(mOverlayController.getOpenDuration());
+            mTaskbarStashController.applyState();
         }
 
+        Optional.ofNullable(mTaskbarSharedState).ifPresent(s -> s.allAppsVisible = true);
         mNavbarButtonsViewController.setSlideInViewVisible(true);
         mSlideInView.setOnCloseBeginListener(() -> {
+            Optional.ofNullable(mTaskbarSharedState).ifPresent(s -> s.allAppsVisible = false);
             mNavbarButtonsViewController.setSlideInViewVisible(false);
             AbstractFloatingView.closeOpenContainer(
                     mContext, AbstractFloatingView.TYPE_ACTION_POPUP);
 
             if (DisplayController.isTransientTaskbar(mContext)) {
                 mTaskbarStashController.updateStateForFlag(FLAG_STASHED_IN_TASKBAR_ALL_APPS, false);
-                mTaskbarStashController.applyState(mOverlayController.getCloseDuration());
+                mTaskbarStashController.applyState();
             }
         });
     }
@@ -120,6 +131,11 @@
         @Override
         public void onAllAppsTransitionEnd(boolean toAllApps) {
             mSearchSessionController.onAllAppsTransitionEnd(toAllApps);
+            if (toAllApps
+                    && mShowKeyboard
+                    && mAppsView.getSearchUiManager().getEditText() != null) {
+                mAppsView.getSearchUiManager().getEditText().requestFocus();
+            }
         }
 
         /** Invoked on back press, returning {@code true} if the search session handled it. */
@@ -128,7 +144,7 @@
         }
 
         void onAllAppsAnimationPending(PendingAnimation animation, boolean toAllApps) {
-            mSearchSessionController.onAllAppsAnimationPending(animation, toAllApps);
+            mSearchSessionController.onAllAppsAnimationPending(animation, toAllApps, mShowKeyboard);
         }
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarSearchSessionController.kt b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarSearchSessionController.kt
index 8a2041f..3d15fbd 100644
--- a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarSearchSessionController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarSearchSessionController.kt
@@ -51,7 +51,11 @@
 
     open fun handleBackInvoked(): Boolean = false
 
-    open fun onAllAppsAnimationPending(animation: PendingAnimation, toAllApps: Boolean) = Unit
+    open fun onAllAppsAnimationPending(
+        animation: PendingAnimation,
+        toAllApps: Boolean,
+        showKeyboard: Boolean,
+    ) = Unit
 
     companion object {
         @JvmStatic
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarController.java
index 24db380..3fb7247 100644
--- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarController.java
@@ -85,17 +85,31 @@
  * information to render each of the bubbles & dispatches changes to
  * {@link BubbleBarViewController} which will then update {@link BubbleBarView} as needed.
  *
- * For details around the behavior of the bubble bar, see {@link BubbleBarView}.
+ * <p>For details around the behavior of the bubble bar, see {@link BubbleBarView}.
  */
 public class BubbleBarController extends IBubblesListener.Stub {
 
     private static final String TAG = BubbleBarController.class.getSimpleName();
     private static final boolean DEBUG = false;
 
-    // Whether bubbles are showing in the bubble bar from launcher
-    public static final boolean BUBBLE_BAR_ENABLED =
+    /**
+     * Determines whether bubbles can be shown in the bubble bar. This value updates when the
+     * taskbar is recreated.
+     *
+     * @see #onTaskbarRecreated()
+     */
+    private static boolean sBubbleBarEnabled =
             SystemProperties.getBoolean("persist.wm.debug.bubble_bar", false);
 
+    /** Whether showing bubbles in the launcher bubble bar is enabled. */
+    public static boolean isBubbleBarEnabled() {
+        return sBubbleBarEnabled;
+    }
+
+    /** Re-reads the value of the flag from SystemProperties when taskbar is recreated. */
+    public static void onTaskbarRecreated() {
+        sBubbleBarEnabled = SystemProperties.getBoolean("persist.wm.debug.bubble_bar", false);
+    }
     private static final int MASK_HIDE_BUBBLE_BAR = SYSUI_STATE_BOUNCER_SHOWING
             | SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING
             | SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED
@@ -137,6 +151,7 @@
     private static class BubbleBarViewUpdate {
         boolean expandedChanged;
         boolean expanded;
+        boolean shouldShowEducation;
         String selectedBubbleKey;
         String suppressedBubbleKey;
         String unsuppressedBubbleKey;
@@ -151,6 +166,7 @@
         BubbleBarViewUpdate(BubbleBarUpdate update) {
             expandedChanged = update.expandedChanged;
             expanded = update.expanded;
+            shouldShowEducation = update.shouldShowEducation;
             selectedBubbleKey = update.selectedBubbleKey;
             suppressedBubbleKey = update.suppressedBubbleKey;
             unsuppressedBubbleKey = update.unsupressedBubbleKey;
@@ -165,7 +181,7 @@
 
         mSystemUiProxy = SystemUiProxy.INSTANCE.get(context);
 
-        if (BUBBLE_BAR_ENABLED) {
+        if (sBubbleBarEnabled) {
             mSystemUiProxy.setBubblesListener(this);
         }
         mMainExecutor = MAIN_EXECUTOR;
@@ -188,8 +204,10 @@
         mBubbleStashedHandleViewController = bubbleControllers.bubbleStashedHandleViewController;
 
         bubbleControllers.runAfterInit(() -> {
-            mBubbleBarViewController.setHiddenForBubbles(!BUBBLE_BAR_ENABLED);
-            mBubbleStashedHandleViewController.setHiddenForBubbles(!BUBBLE_BAR_ENABLED);
+            mBubbleBarViewController.setHiddenForBubbles(
+                    !sBubbleBarEnabled || mBubbles.isEmpty());
+            mBubbleStashedHandleViewController.setHiddenForBubbles(
+                    !sBubbleBarEnabled || mBubbles.isEmpty());
             mBubbleBarViewController.setUpdateSelectedBubbleAfterCollapse(
                     key -> setSelectedBubble(mBubbles.get(key)));
         });
@@ -366,7 +384,9 @@
                 mBubbleStashController.animateToInitialState(update.expanded);
             }
         }
-
+        if (update.shouldShowEducation) {
+            mBubbleBarViewController.prepareToShowEducation();
+        }
         if (update.expandedChanged) {
             if (update.expanded != mBubbleBarViewController.isExpanded()) {
                 mBubbleBarViewController.setExpandedFromSysui(update.expanded);
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java
index c482911..ec9f4e5 100644
--- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java
@@ -130,6 +130,8 @@
         super(context, attrs, defStyleAttr, defStyleRes);
         TaskbarActivityContext activityContext = ActivityContext.lookupContext(context);
 
+        setAlpha(0);
+        setVisibility(INVISIBLE);
         mIconOverlapAmount = getResources().getDimensionPixelSize(R.dimen.bubblebar_icon_overlap);
         mIconSpacing = getResources().getDimensionPixelSize(R.dimen.bubblebar_icon_spacing);
         mIconSize = getResources().getDimensionPixelSize(R.dimen.bubblebar_icon_size);
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java
index 20b8e3b..065dd58 100644
--- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java
@@ -18,6 +18,7 @@
 import static android.view.View.INVISIBLE;
 import static android.view.View.VISIBLE;
 
+import android.graphics.Point;
 import android.graphics.Rect;
 import android.util.Log;
 import android.view.MotionEvent;
@@ -74,7 +75,8 @@
     // Whether the bar is hidden for a sysui state.
     private boolean mHiddenForSysui;
     // Whether the bar is hidden because there are no bubbles.
-    private boolean mHiddenForNoBubbles;
+    private boolean mHiddenForNoBubbles = true;
+    private boolean mShouldShowEducation;
 
     public BubbleBarViewController(TaskbarActivityContext activity, BubbleBarView barView) {
         mActivity = activity;
@@ -98,7 +100,7 @@
         mBarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarHeight;
         mBubbleBarScale.updateValue(1f);
         mBubbleClickListener = v -> onBubbleClicked(v);
-        mBubbleBarClickListener = v -> setExpanded(true);
+        mBubbleBarClickListener = v -> onBubbleBarClicked();
         mBubbleDragController.setupBubbleBarView(mBarView);
         mBarView.setOnClickListener(mBubbleBarClickListener);
         mBarView.addOnLayoutChangeListener((view, i, i1, i2, i3, i4, i5, i6, i7) ->
@@ -121,6 +123,21 @@
         }
     }
 
+    private void onBubbleBarClicked() {
+        if (mShouldShowEducation) {
+            mShouldShowEducation = false;
+            // Get the bubble bar bounds on screen
+            Rect bounds = new Rect();
+            mBarView.getBoundsOnScreen(bounds);
+            // Calculate user education reference position in Screen coordinates
+            Point position = new Point(bounds.centerX(), bounds.top);
+            // Show user education relative to the reference point
+            mSystemUiProxy.showUserEducation(position);
+        } else {
+            setExpanded(true);
+        }
+    }
+
     //
     // The below animators are exposed to BubbleStashController so it can manage the stashing
     // animation.
@@ -195,6 +212,7 @@
         if (mHiddenForNoBubbles != hidden) {
             mHiddenForNoBubbles = hidden;
             updateVisibilityForStateChange();
+            mActivity.bubbleBarVisibilityChanged(!hidden);
         }
     }
 
@@ -326,6 +344,12 @@
         }
     }
 
+    /** Marks as should show education and shows the bubble bar in a collapsed state */
+    public void prepareToShowEducation() {
+        mShouldShowEducation = true;
+        mBubbleStashController.showBubbleBar(false /* expand the bubbles */);
+    }
+
     /**
      * Updates the dragged bubble view in the bubble bar view, and notifies SystemUI
      * that a bubble is being dragged to dismiss.
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleDismissViewExt.kt b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleDismissViewExt.kt
index 4b235a9..6c3f0d8 100644
--- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleDismissViewExt.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleDismissViewExt.kt
@@ -30,6 +30,7 @@
 fun DismissView.setup() {
     setup(
         DismissView.Config(
+            dismissViewResId = R.id.dismiss_view,
             targetSizeResId = R.dimen.bubblebar_dismiss_target_size,
             iconSizeResId = R.dimen.bubblebar_dismiss_target_icon_size,
             bottomMarginResId = R.dimen.bubblebar_dismiss_target_bottom_margin,
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashController.java
index a5ea5a9..09021ed 100644
--- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashController.java
@@ -22,6 +22,7 @@
 import android.animation.AnimatorSet;
 import android.annotation.Nullable;
 import android.view.InsetsController;
+import android.view.MotionEvent;
 
 import com.android.launcher3.anim.AnimatedFloat;
 import com.android.launcher3.taskbar.StashedHandleViewController;
@@ -350,4 +351,9 @@
         return mBubblesShowingOnHome ? getBubbleBarTranslationYForHotseat()
                 : getBubbleBarTranslationYForTaskbar();
     }
+
+    /** Checks whether the motion event is over the stash handle. */
+    public boolean isEventOverStashHandle(MotionEvent ev) {
+        return mHandleViewController.isEventOverHandle(ev);
+    }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java
index fbab595..c998d97 100644
--- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java
@@ -24,6 +24,7 @@
 import android.content.res.Resources;
 import android.graphics.Outline;
 import android.graphics.Rect;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewOutlineProvider;
 
@@ -268,4 +269,22 @@
         });
         return revealAnim;
     }
+
+    /** Checks that the stash handle is visible and that the motion event is within bounds. */
+    public boolean isEventOverHandle(MotionEvent ev) {
+        if (mStashedHandleView.getVisibility() != VISIBLE) {
+            return false;
+        }
+
+        // the bounds of the handle only include the visible part, so we check that the Y coordinate
+        // is anywhere within the stashed taskbar height.
+        int top = mActivity.getDeviceProfile().heightPx - mStashedTaskbarHeight;
+
+        return (int) ev.getRawY() >= top && containsX((int) ev.getRawX());
+    }
+
+    /** Checks if the given x coordinate is within the stashed handle bounds. */
+    public boolean containsX(int x) {
+        return x >= mStashedHandleBounds.left && x <= mStashedHandleBounds.right;
+    }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleView.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleView.java
index 12cb8c5..6549ad6 100644
--- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleView.java
+++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleView.java
@@ -163,6 +163,7 @@
         mBubble = overflow;
         mBubbleIcon.setImageBitmap(bitmap);
         mAppIcon.setVisibility(GONE); // Overflow doesn't show the app badge
+        setContentDescription(getResources().getString(R.string.bubble_bar_overflow_description));
     }
 
     /** Returns the bubble being rendered in this view. */
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/AbstractNavButtonLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/AbstractNavButtonLayoutter.kt
index b682081..23e3310 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/AbstractNavButtonLayoutter.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/AbstractNavButtonLayoutter.kt
@@ -18,12 +18,15 @@
 
 import android.content.res.Resources
 import android.graphics.drawable.RotateDrawable
+import android.view.Gravity
 import android.view.ViewGroup
+import android.widget.FrameLayout
 import android.widget.ImageView
 import android.widget.LinearLayout
 import com.android.launcher3.R
 import com.android.launcher3.Utilities
 import com.android.launcher3.taskbar.navbutton.NavButtonLayoutFactory.NavButtonLayoutter
+import com.android.systemui.shared.rotation.RotationButton
 
 /**
  * Meant to be a simple container for data subclasses will need
@@ -37,10 +40,13 @@
  * @property startContextualContainer ViewGroup that holds the start contextual button (ex, A11y).
  */
 abstract class AbstractNavButtonLayoutter(
-    val resources: Resources,
-    val navButtonContainer: LinearLayout,
-    protected val endContextualContainer: ViewGroup,
-    protected val startContextualContainer: ViewGroup
+        val resources: Resources,
+        val navButtonContainer: LinearLayout,
+        protected val endContextualContainer: ViewGroup,
+        protected val startContextualContainer: ViewGroup,
+        protected val imeSwitcher: ImageView?,
+        protected val rotationButton: RotationButton?,
+        protected val a11yButton: ImageView?
 ) : NavButtonLayoutter {
     protected val homeButton: ImageView? = navButtonContainer.findViewById(R.id.home)
     protected val recentsButton: ImageView? = navButtonContainer.findViewById(R.id.recent_apps)
@@ -56,4 +62,26 @@
             backButton.setImageDrawable(rotateDrawable)
         }
     }
+
+    fun getParamsToCenterView(): FrameLayout.LayoutParams {
+        val params = FrameLayout.LayoutParams(
+                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)
+        params.gravity = Gravity.CENTER
+        return params;
+    }
+
+    open fun repositionContextualContainer(contextualContainer: ViewGroup, buttonSize: Int,
+                                           barAxisMarginStart: Int, barAxisMarginEnd: Int,
+                                           gravity: Int) {
+        val contextualContainerParams = FrameLayout.LayoutParams(
+                buttonSize, ViewGroup.LayoutParams.MATCH_PARENT)
+        contextualContainerParams.apply {
+            marginStart = barAxisMarginStart
+            marginEnd = barAxisMarginEnd
+            topMargin = 0
+            bottomMargin = 0
+        }
+        contextualContainerParams.gravity = gravity or Gravity.CENTER_VERTICAL
+        contextualContainer.layoutParams = contextualContainerParams
+    }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/KidsNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/KidsNavLayoutter.kt
index 4a53c0c..f31af09 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/KidsNavLayoutter.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/KidsNavLayoutter.kt
@@ -21,26 +21,35 @@
 import android.graphics.drawable.PaintDrawable
 import android.view.Gravity
 import android.view.ViewGroup
+import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
 import android.widget.FrameLayout
 import android.widget.ImageView
 import android.widget.LinearLayout
-import com.android.launcher3.DeviceProfile
+import com.android.launcher3.R
+import com.android.launcher3.taskbar.TaskbarActivityContext
 import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.*
+import com.android.systemui.shared.rotation.RotationButton
 
 class KidsNavLayoutter(
-    resources: Resources,
-    navBarContainer: LinearLayout,
-    endContextualContainer: ViewGroup,
-    startContextualContainer: ViewGroup
+        resources: Resources,
+        navBarContainer: LinearLayout,
+        endContextualContainer: ViewGroup,
+        startContextualContainer: ViewGroup,
+        imeSwitcher: ImageView?,
+        rotationButton: RotationButton?,
+        a11yButton: ImageView?
 ) :
     AbstractNavButtonLayoutter(
-        resources,
-        navBarContainer,
-        endContextualContainer,
-        startContextualContainer
+            resources,
+            navBarContainer,
+            endContextualContainer,
+            startContextualContainer,
+            imeSwitcher,
+            rotationButton,
+            a11yButton
     ) {
 
-    override fun layoutButtons(dp: DeviceProfile, isContextualButtonShowing: Boolean) {
+    override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) {
         val iconSize: Int = resources.getDimensionPixelSize(DIMEN_TASKBAR_ICON_SIZE_KIDS)
         val buttonWidth: Int = resources.getDimensionPixelSize(DIMEN_TASKBAR_NAV_BUTTONS_WIDTH_KIDS)
         val buttonHeight: Int =
@@ -89,5 +98,26 @@
         navButtonContainer.requestLayout()
 
         homeButton.onLongClickListener = null
+
+        endContextualContainer.removeAllViews()
+        startContextualContainer.removeAllViews()
+
+        val contextualMargin = resources.getDimensionPixelSize(
+                R.dimen.taskbar_contextual_button_padding)
+        repositionContextualContainer(endContextualContainer, WRAP_CONTENT, 0, 0, Gravity.END)
+        repositionContextualContainer(startContextualContainer, WRAP_CONTENT, contextualMargin,
+                contextualMargin, Gravity.START)
+
+        if (imeSwitcher != null) {
+            startContextualContainer.addView(imeSwitcher)
+            imeSwitcher.layoutParams = getParamsToCenterView()
+        }
+        if (a11yButton != null) {
+            endContextualContainer.addView(a11yButton)
+        }
+        if (rotationButton != null) {
+            endContextualContainer.addView(rotationButton.currentView)
+            rotationButton.currentView.layoutParams = getParamsToCenterView()
+        }
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactory.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactory.kt
index 5c7f2be..22f0131 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactory.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactory.kt
@@ -21,11 +21,14 @@
 import android.view.Surface.Rotation
 import android.view.ViewGroup
 import android.widget.FrameLayout
+import android.widget.ImageView
 import android.widget.LinearLayout
 import com.android.launcher3.DeviceProfile
+import com.android.launcher3.taskbar.TaskbarActivityContext
 import com.android.launcher3.taskbar.navbutton.LayoutResourceHelper.*
 import com.android.launcher3.taskbar.navbutton.NavButtonLayoutFactory.Companion
 import com.android.launcher3.taskbar.navbutton.NavButtonLayoutFactory.NavButtonLayoutter
+import com.android.systemui.shared.rotation.RotationButton
 
 /**
  * Select the correct layout for nav buttons
@@ -52,44 +55,57 @@
          * @param isThreeButtonNav are no-ops when taskbar is present/showing
          */
         fun getUiLayoutter(
-            deviceProfile: DeviceProfile,
-            navButtonsView: FrameLayout,
-            resources: Resources,
-            isKidsMode: Boolean,
-            isInSetup: Boolean,
-            isThreeButtonNav: Boolean,
-            phoneMode: Boolean,
-            @Rotation surfaceRotation: Int
+                deviceProfile: DeviceProfile,
+                navButtonsView: FrameLayout,
+                imeSwitcher: ImageView?,
+                rotationButton: RotationButton?,
+                a11yButton: ImageView?,
+                resources: Resources,
+                isKidsMode: Boolean,
+                isInSetup: Boolean,
+                isThreeButtonNav: Boolean,
+                phoneMode: Boolean,
+                @Rotation surfaceRotation: Int
         ): NavButtonLayoutter {
-            val navButtonContainer = navButtonsView.findViewById<LinearLayout>(ID_END_NAV_BUTTONS)
+            val navButtonContainer =
+                navButtonsView.requireViewById<LinearLayout>(ID_END_NAV_BUTTONS)
             val endContextualContainer =
-                navButtonsView.findViewById<ViewGroup>(ID_END_CONTEXTUAL_BUTTONS)
+                navButtonsView.requireViewById<ViewGroup>(ID_END_CONTEXTUAL_BUTTONS)
             val startContextualContainer =
-                navButtonsView.findViewById<ViewGroup>(ID_START_CONTEXTUAL_BUTTONS)
+                navButtonsView.requireViewById<ViewGroup>(ID_START_CONTEXTUAL_BUTTONS)
             val isPhoneNavMode = phoneMode && isThreeButtonNav
             val isPhoneGestureMode = phoneMode && !isThreeButtonNav
             return when {
                 isPhoneNavMode -> {
                     if (!deviceProfile.isLandscape) {
                         PhonePortraitNavLayoutter(
-                            resources,
-                            navButtonContainer,
-                            endContextualContainer,
-                            startContextualContainer
+                                resources,
+                                navButtonContainer,
+                                endContextualContainer,
+                                startContextualContainer,
+                                imeSwitcher,
+                                rotationButton,
+                                a11yButton
                         )
                     } else if (surfaceRotation == ROTATION_90) {
                         PhoneLandscapeNavLayoutter(
-                            resources,
-                            navButtonContainer,
-                            endContextualContainer,
-                            startContextualContainer
+                                resources,
+                                navButtonContainer,
+                                endContextualContainer,
+                                startContextualContainer,
+                                imeSwitcher,
+                                rotationButton,
+                                a11yButton
                         )
                     } else {
                         PhoneSeascapeNavLayoutter(
                                 resources,
                                 navButtonContainer,
                                 endContextualContainer,
-                                startContextualContainer
+                                startContextualContainer,
+                                imeSwitcher,
+                                rotationButton,
+                                a11yButton
                         )
                     }
                 }
@@ -98,33 +114,45 @@
                             resources,
                             navButtonContainer,
                             endContextualContainer,
-                            startContextualContainer
+                            startContextualContainer,
+                            imeSwitcher,
+                            rotationButton,
+                            a11yButton
                     )
                 }
                 deviceProfile.isTaskbarPresent -> {
                     return when {
                         isInSetup -> {
                             SetupNavLayoutter(
-                                resources,
-                                navButtonContainer,
-                                endContextualContainer,
-                                startContextualContainer
+                                    resources,
+                                    navButtonContainer,
+                                    endContextualContainer,
+                                    startContextualContainer,
+                                    imeSwitcher,
+                                    rotationButton,
+                                    a11yButton
                             )
                         }
                         isKidsMode -> {
                             KidsNavLayoutter(
-                                resources,
-                                navButtonContainer,
-                                endContextualContainer,
-                                startContextualContainer
+                                    resources,
+                                    navButtonContainer,
+                                    endContextualContainer,
+                                    startContextualContainer,
+                                    imeSwitcher,
+                                    rotationButton,
+                                    a11yButton
                             )
                         }
                         else ->
                             TaskbarNavLayoutter(
-                                resources,
-                                navButtonContainer,
-                                endContextualContainer,
-                                startContextualContainer
+                                    resources,
+                                    navButtonContainer,
+                                    endContextualContainer,
+                                    startContextualContainer,
+                                    imeSwitcher,
+                                    rotationButton,
+                                    a11yButton
                             )
                     }
                 }
@@ -135,6 +163,6 @@
 
     /** Lays out and provides access to the home, recents, and back buttons for various mischief */
     interface NavButtonLayoutter {
-        fun layoutButtons(dp: DeviceProfile, isContextualButtonShowing: Boolean)
+        fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean)
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneGestureLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneGestureLayoutter.kt
index 8525c6c..3817f91 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneGestureLayoutter.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneGestureLayoutter.kt
@@ -18,24 +18,33 @@
 
 import android.content.res.Resources
 import android.view.ViewGroup
+import android.widget.ImageView
 import android.widget.LinearLayout
-import com.android.launcher3.DeviceProfile
+import com.android.launcher3.taskbar.TaskbarActivityContext
+import com.android.systemui.shared.rotation.RotationButton
 
 /** Layoutter for showing gesture navigation on phone screen. No buttons here, no-op container */
 class PhoneGestureLayoutter(
         resources: Resources,
         navBarContainer: LinearLayout,
         endContextualContainer: ViewGroup,
-        startContextualContainer: ViewGroup
+        startContextualContainer: ViewGroup,
+        imeSwitcher: ImageView?,
+        rotationButton: RotationButton?,
+        a11yButton: ImageView?
 ) :
         AbstractNavButtonLayoutter(
                 resources,
                 navBarContainer,
                 endContextualContainer,
-                startContextualContainer
+                startContextualContainer,
+                imeSwitcher,
+                rotationButton,
+                a11yButton
         ) {
 
-    override fun layoutButtons(dp: DeviceProfile, isContextualButtonShowing: Boolean) {
-        // no-op
+    override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) {
+        endContextualContainer.removeAllViews()
+        startContextualContainer.removeAllViews()
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneLandscapeNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneLandscapeNavLayoutter.kt
index 2acd5d4..b1b50d6 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneLandscapeNavLayoutter.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneLandscapeNavLayoutter.kt
@@ -20,69 +20,137 @@
 import android.view.Gravity
 import android.view.ViewGroup
 import android.widget.FrameLayout
+import android.widget.ImageView
 import android.widget.LinearLayout
-import androidx.core.view.children
-import com.android.launcher3.DeviceProfile
 import com.android.launcher3.R
-import com.android.launcher3.taskbar.TaskbarManager
-import com.android.launcher3.util.DimensionUtils
+import com.android.launcher3.taskbar.TaskbarActivityContext
+import com.android.systemui.shared.rotation.RotationButton
 
 open class PhoneLandscapeNavLayoutter(
-    resources: Resources,
-    navBarContainer: LinearLayout,
-    endContextualContainer: ViewGroup,
-    startContextualContainer: ViewGroup
+        resources: Resources,
+        navBarContainer: LinearLayout,
+        endContextualContainer: ViewGroup,
+        startContextualContainer: ViewGroup,
+        imeSwitcher: ImageView?,
+        rotationButton: RotationButton?,
+        a11yButton: ImageView?,
 ) :
     AbstractNavButtonLayoutter(
-        resources,
-        navBarContainer,
-        endContextualContainer,
-        startContextualContainer
+            resources,
+            navBarContainer,
+            endContextualContainer,
+            startContextualContainer,
+            imeSwitcher,
+            rotationButton,
+            a11yButton
     ) {
 
-    override fun layoutButtons(dp: DeviceProfile, isContextualButtonShowing: Boolean) {
-        // TODO(b/230395757): Polish pending, this is just to make it usable
-        val endStartMargins = resources.getDimensionPixelSize(R.dimen.taskbar_nav_buttons_size)
-        val taskbarDimensions = DimensionUtils.getTaskbarPhoneDimensions(dp, resources,
-                TaskbarManager.isPhoneMode(dp))
-        navButtonContainer.removeAllViews()
-        navButtonContainer.orientation = LinearLayout.VERTICAL
+    override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) {
+        val totalHeight = context.deviceProfile.heightPx
+        val homeButtonHeight = resources.getDimensionPixelSize(
+                R.dimen.taskbar_phone_home_button_size)
+        val roundedCornerContentMargin = resources.getDimensionPixelSize(
+                R.dimen.taskbar_phone_rounded_corner_content_margin)
+        val contentPadding = resources.getDimensionPixelSize(R.dimen.taskbar_phone_content_padding)
+        val contentWidth = totalHeight - roundedCornerContentMargin * 2 - contentPadding * 2
+
+        // left:back:space(reserved for home):overview:right = 0.25:0.5:1:0.5:0.25
+        val contextualButtonHeight = contentWidth / (0.25f + 0.5f + 1f + 0.5f + 0.25f) * 0.25f
+        val sideButtonHeight = contextualButtonHeight * 2
+        val navButtonContainerHeight = contentWidth - contextualButtonHeight * 2
 
         val navContainerParams = FrameLayout.LayoutParams(
-                taskbarDimensions.x, ViewGroup.LayoutParams.MATCH_PARENT)
+            ViewGroup.LayoutParams.MATCH_PARENT, navButtonContainerHeight.toInt())
         navContainerParams.apply {
-            topMargin = endStartMargins
-            bottomMargin = endStartMargins
+            topMargin =
+                    (contextualButtonHeight + contentPadding + roundedCornerContentMargin).toInt()
+            bottomMargin =
+                    (contextualButtonHeight + contentPadding + roundedCornerContentMargin).toInt()
             marginEnd = 0
             marginStart = 0
         }
 
-        // Swap recents and back button
-        navButtonContainer.addView(recentsButton)
-        navButtonContainer.addView(homeButton)
-        navButtonContainer.addView(backButton)
+        // Ensure order of buttons is correct
+        navButtonContainer.removeAllViews()
+        navButtonContainer.orientation = LinearLayout.VERTICAL
+
+        addThreeButtons()
 
         navButtonContainer.layoutParams = navContainerParams
         navButtonContainer.gravity = Gravity.CENTER
 
         // Add the spaces in between the nav buttons
-        val spaceInBetween: Int =
-            resources.getDimensionPixelSize(R.dimen.taskbar_button_space_inbetween_phone)
-        navButtonContainer.children.forEachIndexed { i, navButton ->
+        val spaceInBetween = (navButtonContainerHeight - homeButtonHeight -
+                sideButtonHeight * 2) / 2.0f
+        for (i in 0 until navButtonContainer.childCount) {
+            val navButton = navButtonContainer.getChildAt(i)
             val buttonLayoutParams = navButton.layoutParams as LinearLayout.LayoutParams
-            buttonLayoutParams.weight = 1f
+            val margin = (spaceInBetween / 2).toInt()
             when (i) {
                 0 -> {
-                    buttonLayoutParams.bottomMargin = spaceInBetween / 2
+                    // First button
+                    buttonLayoutParams.bottomMargin = margin
+                    buttonLayoutParams.height = sideButtonHeight.toInt()
                 }
                 navButtonContainer.childCount - 1 -> {
-                    buttonLayoutParams.topMargin = spaceInBetween / 2
+                    // Last button
+                    buttonLayoutParams.topMargin = margin
+                    buttonLayoutParams.height = sideButtonHeight.toInt()
                 }
                 else -> {
-                    buttonLayoutParams.bottomMargin = spaceInBetween / 2
-                    buttonLayoutParams.topMargin = spaceInBetween / 2
+                    // other buttons
+                    buttonLayoutParams.topMargin = margin
+                    buttonLayoutParams.bottomMargin = margin
+                    buttonLayoutParams.height = homeButtonHeight
                 }
             }
         }
+
+        repositionContextualButtons(contextualButtonHeight.toInt())
+    }
+
+    open fun addThreeButtons() {
+        // Swap recents and back button
+        navButtonContainer.addView(recentsButton)
+        navButtonContainer.addView(homeButton)
+        navButtonContainer.addView(backButton)
+    }
+
+    open fun repositionContextualButtons(buttonSize: Int) {
+        endContextualContainer.removeAllViews()
+        startContextualContainer.removeAllViews()
+
+        val roundedCornerContentMargin = resources.getDimensionPixelSize(
+                R.dimen.taskbar_phone_rounded_corner_content_margin)
+        val contentPadding = resources.getDimensionPixelSize(R.dimen.taskbar_phone_content_padding)
+        repositionContextualContainer(startContextualContainer, buttonSize,
+                roundedCornerContentMargin + contentPadding, 0, Gravity.TOP)
+
+        if (imeSwitcher != null) {
+            startContextualContainer.addView(imeSwitcher)
+            imeSwitcher.layoutParams = getParamsToCenterView()
+        }
+        if (a11yButton != null) {
+            startContextualContainer.addView(a11yButton)
+        }
+        if (rotationButton != null) {
+            startContextualContainer.addView(rotationButton.currentView)
+            rotationButton.currentView.layoutParams = getParamsToCenterView()
+        }
+    }
+
+    override fun repositionContextualContainer(contextualContainer: ViewGroup, buttonSize: Int,
+                                               barAxisMarginTop: Int, barAxisMarginBottom: Int,
+                                               gravity: Int) {
+        val contextualContainerParams = FrameLayout.LayoutParams(
+                ViewGroup.LayoutParams.MATCH_PARENT, buttonSize)
+        contextualContainerParams.apply {
+            marginStart = 0
+            marginEnd = 0
+            topMargin = barAxisMarginTop
+            bottomMargin = barAxisMarginBottom
+        }
+        contextualContainerParams.gravity = gravity or Gravity.CENTER_HORIZONTAL
+        contextualContainer.layoutParams = contextualContainerParams
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhonePortraitNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhonePortraitNavLayoutter.kt
index c763115..05183b8 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhonePortraitNavLayoutter.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhonePortraitNavLayoutter.kt
@@ -20,46 +20,59 @@
 import android.view.Gravity
 import android.view.ViewGroup
 import android.widget.FrameLayout
+import android.widget.ImageView
 import android.widget.LinearLayout
-import com.android.launcher3.DeviceProfile
 import com.android.launcher3.R
-import com.android.launcher3.taskbar.TaskbarManager
-import com.android.launcher3.util.DimensionUtils
+import com.android.launcher3.taskbar.TaskbarActivityContext
+import com.android.systemui.shared.rotation.RotationButton
 
 class PhonePortraitNavLayoutter(
-    resources: Resources,
-    navBarContainer: LinearLayout,
-    endContextualContainer: ViewGroup,
-    startContextualContainer: ViewGroup
+        resources: Resources,
+        navBarContainer: LinearLayout,
+        endContextualContainer: ViewGroup,
+        startContextualContainer: ViewGroup,
+        imeSwitcher: ImageView?,
+        rotationButton: RotationButton?,
+        a11yButton: ImageView?,
 ) :
     AbstractNavButtonLayoutter(
-        resources,
-        navBarContainer,
-        endContextualContainer,
-        startContextualContainer
+            resources,
+            navBarContainer,
+            endContextualContainer,
+            startContextualContainer,
+            imeSwitcher,
+            rotationButton,
+            a11yButton
     ) {
 
-    override fun layoutButtons(dp: DeviceProfile, isContextualButtonShowing: Boolean) {
-        // TODO(b/230395757): Polish pending, this is just to make it usable
-        val taskbarDimensions =
-            DimensionUtils.getTaskbarPhoneDimensions(dp, resources,
-                    TaskbarManager.isPhoneMode(dp))
-        val endStartMargins = resources.getDimensionPixelSize(R.dimen.taskbar_nav_buttons_size)
+    override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) {
+        val totalWidth = context.deviceProfile.widthPx
+        val homeButtonWidth = resources.getDimensionPixelSize(R.dimen.taskbar_phone_home_button_size)
+        val roundedCornerContentMargin = resources.getDimensionPixelSize(
+                R.dimen.taskbar_phone_rounded_corner_content_margin)
+        val contentPadding = resources.getDimensionPixelSize(R.dimen.taskbar_phone_content_padding)
+        val contentWidth = totalWidth - roundedCornerContentMargin * 2 - contentPadding * 2
+
+        // left:back:space(reserved for home):overview:right = 0.25:0.5:1:0.5:0.25
+        val contextualButtonWidth = contentWidth / (0.25f + 0.5f + 1f + 0.5f + 0.25f) * 0.25f
+        val sideButtonWidth = contextualButtonWidth * 2
+        val navButtonContainerWidth = contentWidth - contextualButtonWidth * 2
+
+        val navContainerParams = FrameLayout.LayoutParams(navButtonContainerWidth.toInt(),
+                ViewGroup.LayoutParams.MATCH_PARENT)
+        navContainerParams.apply {
+            topMargin = 0
+            bottomMargin = 0
+            marginEnd =
+                    (contextualButtonWidth + contentPadding + roundedCornerContentMargin).toInt()
+            marginStart =
+                    (contextualButtonWidth + contentPadding + roundedCornerContentMargin).toInt()
+        }
 
         // Ensure order of buttons is correct
         navButtonContainer.removeAllViews()
         navButtonContainer.orientation = LinearLayout.HORIZONTAL
 
-        val navContainerParams = FrameLayout.LayoutParams(
-                taskbarDimensions.x, ViewGroup.LayoutParams.MATCH_PARENT)
-        navContainerParams.apply {
-            topMargin = 0
-            bottomMargin = 0
-            marginEnd = endStartMargins
-            marginStart = endStartMargins
-        }
-
-        // Swap recents and back button in case we were landscape prior to this
         navButtonContainer.addView(backButton)
         navButtonContainer.addView(homeButton)
         navButtonContainer.addView(recentsButton)
@@ -68,27 +81,48 @@
         navButtonContainer.gravity = Gravity.CENTER
 
         // Add the spaces in between the nav buttons
-        val spaceInBetween =
-            resources.getDimensionPixelSize(R.dimen.taskbar_button_space_inbetween_phone)
+        val spaceInBetween = (navButtonContainerWidth - homeButtonWidth -
+                sideButtonWidth * 2) / 2.0f
         for (i in 0 until navButtonContainer.childCount) {
             val navButton = navButtonContainer.getChildAt(i)
             val buttonLayoutParams = navButton.layoutParams as LinearLayout.LayoutParams
-            buttonLayoutParams.weight = 1f
+            val margin = (spaceInBetween / 2).toInt()
             when (i) {
                 0 -> {
                     // First button
-                    buttonLayoutParams.marginEnd = spaceInBetween / 2
+                    buttonLayoutParams.marginEnd = margin
+                    buttonLayoutParams.width = sideButtonWidth.toInt()
                 }
                 navButtonContainer.childCount - 1 -> {
                     // Last button
-                    buttonLayoutParams.marginStart = spaceInBetween / 2
+                    buttonLayoutParams.marginStart = margin
+                    buttonLayoutParams.width = sideButtonWidth.toInt()
                 }
                 else -> {
                     // other buttons
-                    buttonLayoutParams.marginStart = spaceInBetween / 2
-                    buttonLayoutParams.marginEnd = spaceInBetween / 2
+                    buttonLayoutParams.marginStart = margin
+                    buttonLayoutParams.marginEnd = margin
+                    buttonLayoutParams.width = homeButtonWidth
                 }
             }
         }
+
+        endContextualContainer.removeAllViews()
+        startContextualContainer.removeAllViews()
+
+        repositionContextualContainer(endContextualContainer, contextualButtonWidth.toInt(), 0,
+                roundedCornerContentMargin + contentPadding, Gravity.END)
+
+        if (imeSwitcher != null) {
+            endContextualContainer.addView(imeSwitcher)
+            imeSwitcher.layoutParams = getParamsToCenterView()
+        }
+        if (a11yButton != null) {
+            endContextualContainer.addView(a11yButton)
+        }
+        if (rotationButton != null) {
+            endContextualContainer.addView(rotationButton.currentView)
+            rotationButton.currentView.layoutParams = getParamsToCenterView()
+        }
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneSeascapeNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneSeascapeNavLayoutter.kt
index f0fe581..0f52552 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneSeascapeNavLayoutter.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/PhoneSeascapeNavLayoutter.kt
@@ -17,30 +17,59 @@
 package com.android.launcher3.taskbar.navbutton
 
 import android.content.res.Resources
+import android.view.Gravity
 import android.view.ViewGroup
+import android.widget.ImageView
 import android.widget.LinearLayout
-import com.android.launcher3.DeviceProfile
+import com.android.launcher3.R
+import com.android.systemui.shared.rotation.RotationButton
 
 class PhoneSeascapeNavLayoutter(
         resources: Resources,
         navBarContainer: LinearLayout,
         endContextualContainer: ViewGroup,
-        startContextualContainer: ViewGroup
+        startContextualContainer: ViewGroup,
+        imeSwitcher: ImageView?,
+        rotationButton: RotationButton?,
+        a11yButton: ImageView?
 ) :
         PhoneLandscapeNavLayoutter(
                 resources,
                 navBarContainer,
                 endContextualContainer,
-                startContextualContainer
+                startContextualContainer,
+                imeSwitcher,
+                rotationButton,
+                a11yButton
         ) {
 
-    override fun layoutButtons(dp: DeviceProfile, isContextualButtonShowing: Boolean) {
-        // TODO(b/230395757): Polish pending, this is just to make it usable
-        super.layoutButtons(dp, isContextualButtonShowing)
-        navButtonContainer.removeAllViews()
+    override fun addThreeButtons() {
         // Flip ordering of back and recents buttons
         navButtonContainer.addView(backButton)
         navButtonContainer.addView(homeButton)
         navButtonContainer.addView(recentsButton)
     }
+
+    override fun repositionContextualButtons(buttonSize: Int) {
+        endContextualContainer.removeAllViews()
+        startContextualContainer.removeAllViews()
+
+        val roundedCornerContentMargin = resources.getDimensionPixelSize(
+                R.dimen.taskbar_phone_rounded_corner_content_margin)
+        val contentPadding = resources.getDimensionPixelSize(R.dimen.taskbar_phone_content_padding)
+        repositionContextualContainer(endContextualContainer, buttonSize, 0,
+                roundedCornerContentMargin + contentPadding,  Gravity.BOTTOM)
+
+        if (imeSwitcher != null) {
+            endContextualContainer.addView(imeSwitcher)
+            imeSwitcher.layoutParams = getParamsToCenterView()
+        }
+        if (a11yButton != null) {
+            endContextualContainer.addView(a11yButton)
+        }
+        if (rotationButton != null) {
+            endContextualContainer.addView(rotationButton.currentView)
+            rotationButton.currentView.layoutParams = getParamsToCenterView()
+        }
+    }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt
index a24002c..5111bba 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt
@@ -19,24 +19,34 @@
 import android.content.res.Resources
 import android.view.Gravity
 import android.view.ViewGroup
+import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
 import android.widget.FrameLayout
+import android.widget.ImageView
 import android.widget.LinearLayout
-import com.android.launcher3.DeviceProfile
+import com.android.launcher3.R
+import com.android.launcher3.taskbar.TaskbarActivityContext
+import com.android.systemui.shared.rotation.RotationButton
 
 class SetupNavLayoutter(
-    resources: Resources,
-    navButtonContainer: LinearLayout,
-    endContextualContainer: ViewGroup,
-    startContextualContainer: ViewGroup
+        resources: Resources,
+        navButtonContainer: LinearLayout,
+        endContextualContainer: ViewGroup,
+        startContextualContainer: ViewGroup,
+        imeSwitcher: ImageView?,
+        rotationButton: RotationButton?,
+        a11yButton: ImageView?
 ) :
     AbstractNavButtonLayoutter(
-        resources,
-        navButtonContainer,
-        endContextualContainer,
-        startContextualContainer
+            resources,
+            navButtonContainer,
+            endContextualContainer,
+            startContextualContainer,
+            imeSwitcher,
+            rotationButton,
+            a11yButton
     ) {
 
-    override fun layoutButtons(dp: DeviceProfile, isContextualButtonShowing: Boolean) {
+    override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) {
         // Since setup wizard only has back button enabled, it looks strange to be
         // end-aligned, so start-align instead.
         val navButtonsLayoutParams = navButtonContainer.layoutParams as FrameLayout.LayoutParams
@@ -46,5 +56,26 @@
             gravity = Gravity.START
         }
         navButtonContainer.requestLayout()
+
+        endContextualContainer.removeAllViews()
+        startContextualContainer.removeAllViews()
+
+        val contextualMargin = resources.getDimensionPixelSize(
+                R.dimen.taskbar_contextual_button_padding)
+        repositionContextualContainer(endContextualContainer, WRAP_CONTENT, 0, 0, Gravity.END)
+        repositionContextualContainer(startContextualContainer, WRAP_CONTENT, contextualMargin,
+                contextualMargin, Gravity.START)
+
+        if (imeSwitcher != null) {
+            startContextualContainer.addView(imeSwitcher)
+            imeSwitcher.layoutParams = getParamsToCenterView()
+        }
+        if (a11yButton != null) {
+            endContextualContainer.addView(a11yButton)
+        }
+        if (rotationButton != null) {
+            endContextualContainer.addView(rotationButton.currentView)
+            rotationButton.currentView.layoutParams = getParamsToCenterView()
+        }
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/TaskbarNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/TaskbarNavLayoutter.kt
index 8332b7d..45dbebb 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/TaskbarNavLayoutter.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/TaskbarNavLayoutter.kt
@@ -19,32 +19,45 @@
 import android.content.res.Resources
 import android.view.Gravity
 import android.view.ViewGroup
+import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
 import android.widget.FrameLayout
+import android.widget.ImageView
 import android.widget.LinearLayout
-import com.android.launcher3.DeviceProfile
 import com.android.launcher3.R
+import com.android.launcher3.taskbar.TaskbarActivityContext
+import com.android.systemui.shared.rotation.RotationButton
 
-/** Layoutter for showing 3 button navigation on large screen */
+/**
+ * Layoutter for rendering task bar in large screen, both in 3-button and gesture nav mode.
+ */
 class TaskbarNavLayoutter(
-    resources: Resources,
-    navBarContainer: LinearLayout,
-    endContextualContainer: ViewGroup,
-    startContextualContainer: ViewGroup
+        resources: Resources,
+        navBarContainer: LinearLayout,
+        endContextualContainer: ViewGroup,
+        startContextualContainer: ViewGroup,
+        imeSwitcher: ImageView?,
+        rotationButton: RotationButton?,
+        a11yButton: ImageView?
 ) :
     AbstractNavButtonLayoutter(
-        resources,
-        navBarContainer,
-        endContextualContainer,
-        startContextualContainer
+            resources,
+            navBarContainer,
+            endContextualContainer,
+            startContextualContainer,
+            imeSwitcher,
+            rotationButton,
+            a11yButton
     ) {
 
-    override fun layoutButtons(dp: DeviceProfile, isContextualButtonShowing: Boolean) {
+    override fun layoutButtons(context: TaskbarActivityContext, isA11yButtonPersistent: Boolean) {
         // Add spacing after the end of the last nav button
-        var navMarginEnd = resources.getDimension(dp.inv.inlineNavButtonsEndSpacing).toInt()
+        var navMarginEnd = resources
+                .getDimension(context.deviceProfile.inv.inlineNavButtonsEndSpacing)
+                .toInt()
         val contextualWidth = endContextualContainer.width
         // If contextual buttons are showing, we check if the end margin is enough for the
         // contextual button to be showing - if not, move the nav buttons over a smidge
-        if (isContextualButtonShowing && navMarginEnd < contextualWidth) {
+        if (isA11yButtonPersistent && navMarginEnd < contextualWidth) {
             // Additional spacing, eat up half of space between last icon and nav button
             navMarginEnd += resources.getDimensionPixelSize(R.dimen.taskbar_hotseat_nav_spacing) / 2
         }
@@ -77,5 +90,28 @@
                 }
             }
         }
+
+        endContextualContainer.removeAllViews()
+        startContextualContainer.removeAllViews()
+
+        if (!context.deviceProfile.isGestureMode) {
+            val contextualMargin = resources.getDimensionPixelSize(
+                    R.dimen.taskbar_contextual_button_padding)
+            repositionContextualContainer(endContextualContainer, WRAP_CONTENT, 0, 0, Gravity.END)
+            repositionContextualContainer(startContextualContainer, WRAP_CONTENT, contextualMargin,
+                    contextualMargin, Gravity.START)
+
+            if (imeSwitcher != null) {
+                startContextualContainer.addView(imeSwitcher)
+                imeSwitcher.layoutParams = getParamsToCenterView()
+            }
+            if (a11yButton != null) {
+                endContextualContainer.addView(a11yButton)
+            }
+            if (rotationButton != null) {
+                endContextualContainer.addView(rotationButton.currentView)
+                rotationButton.currentView.layoutParams = getParamsToCenterView()
+            }
+        }
     }
 }
diff --git a/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java b/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java
index d4e2be9..adbec65 100644
--- a/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java
@@ -16,6 +16,7 @@
 package com.android.launcher3.taskbar.overlay;
 
 import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_CONSUME_IME_INSETS;
 import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
 
 import static com.android.launcher3.AbstractFloatingView.TYPE_ALL;
@@ -23,7 +24,6 @@
 import static com.android.launcher3.LauncherState.ALL_APPS;
 
 import android.annotation.SuppressLint;
-import android.content.ComponentName;
 import android.content.Context;
 import android.graphics.PixelFormat;
 import android.view.Gravity;
@@ -60,14 +60,26 @@
 
     private final TaskStackChangeListener mTaskStackListener = new TaskStackChangeListener() {
         @Override
-        public void onTaskCreated(int taskId, ComponentName componentName) {
-            // Created task will be below existing overlay, so move out of the way.
-            hideWindow();
+        public void onTaskMovedToFront(int taskId) {
+            // New front task will be below existing overlay, so move out of the way.
+            hideWindowOnTaskStackChange();
         }
 
         @Override
-        public void onTaskMovedToFront(int taskId) {
-            // New front task will be below existing overlay, so move out of the way.
+        public void onTaskStackChanged() {
+            // The other callbacks are insufficient for All Apps, because there are many cases where
+            // it can relaunch the same task already behind it. However, this callback needs to be a
+            // no-op when only EDU is shown, because going between the EDU steps invokes this
+            // callback.
+            if (mControllers.getSharedState() != null
+                    && mControllers.getSharedState().allAppsVisible) {
+                hideWindowOnTaskStackChange();
+            }
+        }
+
+        private void hideWindowOnTaskStackChange() {
+            // A task was launched while overlay window was open, so stash Taskbar.
+            mControllers.taskbarStashController.updateAndAnimateTransientTaskbar(true);
             hideWindow();
         }
     };
@@ -176,6 +188,7 @@
         layoutParams.setFitInsetsTypes(0); // Handled by container view.
         layoutParams.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
         layoutParams.setSystemApplicationOverlay(true);
+        layoutParams.privateFlags = PRIVATE_FLAG_CONSUME_IME_INSETS;
         return layoutParams;
     }
 
@@ -199,8 +212,10 @@
 
         @Override
         protected void handleClose(boolean animate) {
-            mTaskbarContext.getDragLayer().removeView(this);
-            Optional.ofNullable(mOverlayContext).ifPresent(c -> closeAllOpenViews(c, animate));
+            if (mIsOpen) {
+                mTaskbarContext.getDragLayer().removeView(this);
+                Optional.ofNullable(mOverlayContext).ifPresent(c -> closeAllOpenViews(c, animate));
+            }
         }
 
         @Override
diff --git a/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayDragLayer.java b/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayDragLayer.java
index ff00560..432d272 100644
--- a/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayDragLayer.java
+++ b/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayDragLayer.java
@@ -38,6 +38,7 @@
 import com.android.launcher3.util.TouchController;
 import com.android.launcher3.views.BaseDragLayer;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 
@@ -69,6 +70,7 @@
             return true;
         }
     };
+    private final List<TouchController> mTouchControllers = new ArrayList<>();
 
     TaskbarOverlayDragLayer(Context context) {
         super(context, null, 1);
@@ -93,10 +95,13 @@
 
     @Override
     public void recreateControllers() {
-        mControllers = mOnClickListeners.isEmpty()
-                ? new TouchController[]{mActivity.getDragController()}
-                : new TouchController[] {
-                        mActivity.getDragController(), mClickListenerTouchController};
+        List<TouchController> controllers = new ArrayList<>();
+        controllers.add(mActivity.getDragController());
+        controllers.addAll(mTouchControllers);
+        if (!mOnClickListeners.isEmpty()) {
+            controllers.add(mClickListenerTouchController);
+        }
+        mControllers = controllers.toArray(new TouchController[0]);
     }
 
     @Override
@@ -113,6 +118,15 @@
                 topView.onBackInvoked();
                 return true;
             }
+        } else if (event.getAction() == KeyEvent.ACTION_DOWN
+                && event.getKeyCode() == KeyEvent.KEYCODE_ESCAPE && event.hasNoModifiers()) {
+            // Ignore escape if pressed in conjunction with any modifier keys. Close each
+            // floating view one at a time for each key press.
+            AbstractFloatingView topView = AbstractFloatingView.getTopOpenView(mActivity);
+            if (topView != null) {
+                topView.close(/* animate= */ true);
+                return true;
+            }
         }
         return super.dispatchKeyEvent(event);
     }
@@ -183,6 +197,18 @@
         });
     }
 
+    /** Adds a {@link TouchController} to this drag layer. */
+    public void addTouchController(@NonNull TouchController touchController) {
+        mTouchControllers.add(touchController);
+        recreateControllers();
+    }
+
+    /** Removes a {@link TouchController} from this drag layer. */
+    public void removeTouchController(@NonNull TouchController touchController) {
+        mTouchControllers.remove(touchController);
+        recreateControllers();
+    }
+
     /**
      * Taskbar automatically stashes when opening all apps, but we don't report the insets as
      * changing to avoid moving the underlying app. But internally, the apps view should still
diff --git a/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java b/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java
index 475f465..3ebc8ed 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java
@@ -17,16 +17,30 @@
 package com.android.launcher3.uioverrides;
 
 import android.app.ActivityOptions;
+import android.app.PendingIntent;
 import android.app.Person;
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.LauncherActivityInfo;
 import android.content.pm.LauncherApps;
+import android.content.pm.LauncherUserInfo;
 import android.content.pm.ShortcutInfo;
+import android.graphics.drawable.ColorDrawable;
+import android.net.Uri;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.ArrayMap;
 import android.window.RemoteTransition;
 
+import com.android.launcher3.Flags;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.proxy.ProxyActivityStarter;
+import com.android.launcher3.util.StartActivityParams;
+import com.android.launcher3.util.UserIconInfo;
 import com.android.quickstep.util.FadeOutRemoteTransition;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -53,4 +67,99 @@
         options.setRemoteTransition(new RemoteTransition(new FadeOutRemoteTransition()));
         return options;
     }
+
+    /**
+     * Returns a map of all users on the device to their corresponding UI properties
+     */
+    public static Map<UserHandle, UserIconInfo> queryAllUsers(Context context) {
+        UserManager um = context.getSystemService(UserManager.class);
+        Map<UserHandle, UserIconInfo> users = new ArrayMap<>();
+        List<UserHandle> usersActual = um.getUserProfiles();
+        if (usersActual != null) {
+            for (UserHandle user : usersActual) {
+                if (android.os.Flags.allowPrivateProfile() && Flags.enablePrivateSpace()) {
+                    LauncherApps launcherApps = context.getSystemService(LauncherApps.class);
+                    LauncherUserInfo launcherUserInfo = launcherApps.getLauncherUserInfo(user);
+                    if (launcherUserInfo == null) {
+                        continue;
+                    }
+                    // UserTypes not supported in Launcher are deemed to be the current
+                    // Foreground User.
+                    int userType = switch (launcherUserInfo.getUserType()) {
+                        case UserManager.USER_TYPE_PROFILE_MANAGED -> UserIconInfo.TYPE_WORK;
+                        case UserManager.USER_TYPE_PROFILE_CLONE -> UserIconInfo.TYPE_CLONED;
+                        case UserManager.USER_TYPE_PROFILE_PRIVATE -> UserIconInfo.TYPE_PRIVATE;
+                        default -> UserIconInfo.TYPE_MAIN;
+                    };
+                    long serial = launcherUserInfo.getUserSerialNumber();
+                    users.put(user, new UserIconInfo(user, userType, serial));
+                } else {
+                    long serial = um.getSerialNumberForUser(user);
+
+                    // Simple check to check if the provided user is work profile
+                    // TODO: Migrate to a better platform API
+                    NoopDrawable d = new NoopDrawable();
+                    boolean isWork = (d != context.getPackageManager().getUserBadgedIcon(d, user));
+                    UserIconInfo info = new UserIconInfo(
+                            user,
+                            isWork ? UserIconInfo.TYPE_WORK : UserIconInfo.TYPE_MAIN,
+                            serial);
+                    users.put(user, info);
+                }
+            }
+        }
+        return users;
+    }
+
+    /**
+     * Returns the list of the system packages that are installed at user creation.
+     * An empty list denotes that all system packages are installed for that user at creation.
+     */
+    public static List<String> getPreInstalledSystemPackages(Context context, UserHandle user) {
+        LauncherApps launcherApps = context.getSystemService(LauncherApps.class);
+        if (android.os.Flags.allowPrivateProfile() && Flags.enablePrivateSpace()
+                && Flags.privateSpaceSysAppsSeparation()) {
+            return launcherApps.getPreInstalledSystemPackages(user);
+        } else {
+            return new ArrayList<>();
+        }
+    }
+
+    /**
+     * Returns an intent which can be used to start the App Market activity (Installer
+     * Activity).
+     */
+    public static Intent getAppMarketActivityIntent(Context context, String packageName,
+            UserHandle user) {
+        LauncherApps launcherApps = context.getSystemService(LauncherApps.class);
+        if (android.os.Flags.allowPrivateProfile()
+                && Flags.enablePrivateSpace()
+                && (Flags.privateSpaceAppInstallerButton()
+                        || Flags.enablePrivateSpaceInstallShortcut())) {
+            StartActivityParams params = new StartActivityParams((PendingIntent) null, 0);
+            params.intentSender = launcherApps.getAppMarketActivityIntent(packageName, user);
+            return ProxyActivityStarter.getLaunchIntent(context, params);
+        } else {
+            return new Intent(Intent.ACTION_VIEW)
+                    .setData(new Uri.Builder()
+                            .scheme("market")
+                            .authority("details")
+                            .appendQueryParameter("id", packageName)
+                            .build())
+                    .putExtra(Intent.EXTRA_REFERRER, new Uri.Builder().scheme("android-app")
+                            .authority(context.getPackageName()).build());
+        }
+    }
+
+    private static class NoopDrawable extends ColorDrawable {
+        @Override
+        public int getIntrinsicHeight() {
+            return 1;
+        }
+
+        @Override
+        public int getIntrinsicWidth() {
+            return 1;
+        }
+    }
 }
diff --git a/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java b/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java
index d78ca88..e2f4f32 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java
@@ -107,8 +107,7 @@
         setter.setFloat(mRecentsView, TASK_SECONDARY_TRANSLATION, 0f,
                 config.getInterpolator(ANIM_OVERVIEW_TRANSLATE_Y, LINEAR));
 
-        boolean exitingOverview = !FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()
-                && !toState.overviewUi;
+        boolean exitingOverview = !FeatureFlags.enableSplitContextually() && !toState.overviewUi;
         if (mRecentsView.isSplitSelectionActive() && exitingOverview) {
             setter.add(mRecentsView.getSplitSelectController().getSplitAnimationController()
                     .createPlaceholderDismissAnim(mLauncher));
diff --git a/quickstep/src/com/android/launcher3/uioverrides/PredictedAppIcon.java b/quickstep/src/com/android/launcher3/uioverrides/PredictedAppIcon.java
index 2064fe2..110ca16 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/PredictedAppIcon.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/PredictedAppIcon.java
@@ -44,13 +44,13 @@
 
 import androidx.core.graphics.ColorUtils;
 
-import com.android.launcher3.CellLayout;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.R;
 import com.android.launcher3.anim.AnimatorListeners;
 import com.android.launcher3.celllayout.CellLayoutLayoutParams;
+import com.android.launcher3.celllayout.DelegatedCellDrawing;
 import com.android.launcher3.icons.BitmapInfo;
 import com.android.launcher3.icons.GraphicsUtils;
 import com.android.launcher3.icons.IconNormalizer;
@@ -418,7 +418,7 @@
     /**
      * Draws Predicted Icon outline on cell layout
      */
-    public static class PredictedIconOutlineDrawing extends CellLayout.DelegatedCellDrawing {
+    public static class PredictedIconOutlineDrawing extends DelegatedCellDrawing {
 
         private final PredictedAppIcon mIcon;
         private final Paint mOutlinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepAppWidgetHost.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepAppWidgetHost.java
index 6659fa0..45813ce 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepAppWidgetHost.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepAppWidgetHost.java
@@ -25,6 +25,7 @@
 import androidx.annotation.NonNull;
 
 import com.android.launcher3.LauncherAppState;
+import com.android.launcher3.util.Executors;
 import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
 import com.android.launcher3.widget.LauncherWidgetHolder;
 
@@ -55,7 +56,10 @@
 
     @Override
     public void onAppWidgetRemoved(int appWidgetId) {
-        mAppWidgetRemovedCallback.accept(appWidgetId);
+        // Route the call via model thread, in case it comes while a loader-bind is in progress
+        Executors.MODEL_EXECUTOR.execute(
+                () -> Executors.MAIN_EXECUTOR.execute(
+                        () -> mAppWidgetRemovedCallback.accept(appWidgetId)));
     }
 
     @Override
diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepInteractionHandler.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepInteractionHandler.java
index f5ba8f9..d834935 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepInteractionHandler.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepInteractionHandler.java
@@ -16,6 +16,7 @@
 package com.android.launcher3.uioverrides;
 
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_APP_LAUNCH_TAP;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SPLIT_WIDGET_ATTEMPT;
 
 import android.app.ActivityOptions;
 import android.app.ActivityTaskManager;
@@ -27,8 +28,10 @@
 import android.util.Pair;
 import android.view.View;
 import android.widget.RemoteViews;
+import android.widget.Toast;
 import android.window.SplashScreen;
 
+import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.model.data.ItemInfo;
@@ -56,8 +59,12 @@
             return RemoteViews.startPendingIntent(hostView, pendingIntent,
                     remoteResponse.getLaunchOptions(view));
         }
-        if (mLauncher.getSplitToWorkspaceController().handleSecondWidgetSelectionForSplit(view,
-                pendingIntent)) {
+        if (mLauncher.isSplitSelectionEnabled()) {
+            // Log metric
+            StatsLogManager.StatsLogger logger = mLauncher.getStatsLogManager().logger();
+            logger.log(LAUNCHER_SPLIT_WIDGET_ATTEMPT);
+            Toast.makeText(hostView.getContext(), R.string.split_widgets_not_supported,
+                    Toast.LENGTH_SHORT).show();
             return true;
         }
         Pair<Intent, ActivityOptions> options = remoteResponse.getLaunchOptions(view);
diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
index 5a46b8d..f0ab08c 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java
@@ -21,6 +21,8 @@
 import static android.view.accessibility.AccessibilityEvent.TYPE_VIEW_FOCUSED;
 
 import static com.android.app.animation.Interpolators.EMPHASIZED;
+import static com.android.launcher3.LauncherConstants.SavedInstanceKeys.PENDING_SPLIT_SELECT_INFO;
+import static com.android.launcher3.LauncherConstants.SavedInstanceKeys.RUNTIME_STATE;
 import static com.android.launcher3.LauncherSettings.Animation.DEFAULT_NO_ICON;
 import static com.android.launcher3.LauncherSettings.Animation.VIEW_BACKGROUND;
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_HOTSEAT;
@@ -33,12 +35,13 @@
 import static com.android.launcher3.LauncherState.OVERVIEW_MODAL_TASK;
 import static com.android.launcher3.LauncherState.OVERVIEW_SPLIT_SELECT;
 import static com.android.launcher3.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_APP_LAUNCH_TAP;
 import static com.android.launcher3.model.data.ItemInfo.NO_MATCHING_ID;
 import static com.android.launcher3.popup.QuickstepSystemShortcut.getSplitSelectShortcutByPosition;
 import static com.android.launcher3.popup.SystemShortcut.APP_INFO;
+import static com.android.launcher3.popup.SystemShortcut.DONT_SUGGEST_APP;
 import static com.android.launcher3.popup.SystemShortcut.INSTALL;
+import static com.android.launcher3.popup.SystemShortcut.PRIVATE_PROFILE_INSTALL;
 import static com.android.launcher3.popup.SystemShortcut.WIDGETS;
 import static com.android.launcher3.taskbar.LauncherTaskbarUIController.ALL_APPS_PAGE_PROGRESS_INDEX;
 import static com.android.launcher3.taskbar.LauncherTaskbarUIController.MINUS_ONE_PAGE_PROGRESS_INDEX;
@@ -50,9 +53,10 @@
 import static com.android.launcher3.util.DisplayController.CHANGE_ACTIVE_SCREEN;
 import static com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE;
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
-import static com.android.launcher3.util.SplitConfigurationOptions.DEFAULT_SPLIT_RATIO;
 import static com.android.quickstep.util.SplitAnimationTimings.TABLET_HOME_TO_SPLIT;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY;
+import static com.android.wm.shell.common.split.SplitScreenConstants.SNAP_TO_50_50;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -61,7 +65,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentSender;
-import android.content.SharedPreferences;
 import android.content.res.Configuration;
 import android.graphics.Color;
 import android.graphics.Rect;
@@ -83,6 +86,7 @@
 import android.window.BackEvent;
 import android.window.OnBackAnimationCallback;
 import android.window.OnBackInvokedDispatcher;
+import android.window.RemoteTransition;
 import android.window.SplashScreen;
 
 import androidx.annotation.BinderThread;
@@ -93,6 +97,8 @@
 import com.android.app.viewcapture.SettingsAwareViewCapture;
 import com.android.launcher3.AbstractFloatingView;
 import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.Flags;
+import com.android.launcher3.HomeTransitionController;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherSettings.Favorites;
 import com.android.launcher3.LauncherState;
@@ -104,8 +110,10 @@
 import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
 import com.android.launcher3.anim.AnimatorPlaybackController;
 import com.android.launcher3.anim.PendingAnimation;
+import com.android.launcher3.apppairs.AppPairIcon;
 import com.android.launcher3.appprediction.PredictionRowView;
 import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.desktop.DesktopRecentsTransitionController;
 import com.android.launcher3.hybridhotseat.HotseatPredictionController;
 import com.android.launcher3.logging.InstanceId;
 import com.android.launcher3.logging.StatsLogManager;
@@ -113,7 +121,6 @@
 import com.android.launcher3.model.BgDataModel.FixedContainerItems;
 import com.android.launcher3.model.WellbeingModel;
 import com.android.launcher3.model.data.ItemInfo;
-import com.android.launcher3.model.data.WorkspaceItemInfo;
 import com.android.launcher3.popup.SystemShortcut;
 import com.android.launcher3.proxy.ProxyActivityStarter;
 import com.android.launcher3.statehandlers.DepthController;
@@ -163,7 +170,6 @@
 import com.android.quickstep.util.SplitToWorkspaceController;
 import com.android.quickstep.util.SplitWithKeyboardShortcutController;
 import com.android.quickstep.util.TISBindHelper;
-import com.android.quickstep.views.DesktopTaskView;
 import com.android.quickstep.views.FloatingTaskView;
 import com.android.quickstep.views.OverviewActionsView;
 import com.android.quickstep.views.RecentsView;
@@ -185,6 +191,7 @@
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.function.Consumer;
 import java.util.function.Predicate;
 import java.util.stream.Stream;
@@ -217,29 +224,40 @@
     private SplitWithKeyboardShortcutController mSplitWithKeyboardShortcutController;
     private SplitToWorkspaceController mSplitToWorkspaceController;
 
-    private AsyncClockEventDelegate mAsyncClockEventDelegate;
-
     /**
      * If Launcher restarted while in the middle of an Overview split select, it needs this data to
      * recover. In all other cases this will remain null.
      */
     private PendingSplitSelectInfo mPendingSplitSelectInfo = null;
 
+    @Nullable
+    private DesktopRecentsTransitionController mDesktopRecentsTransitionController;
+
     private SafeCloseable mViewCapture;
 
     private boolean mEnableWidgetDepth;
 
+    private HomeTransitionController mHomeTransitionController;
+
     @Override
     protected void setupViews() {
         super.setupViews();
 
         mActionsView = findViewById(R.id.overview_actions_view);
         RecentsView overviewPanel = getOverviewPanel();
+        SystemUiProxy systemUiProxy = SystemUiProxy.INSTANCE.get(this);
         mSplitSelectStateController =
                 new SplitSelectStateController(this, mHandler, getStateManager(),
                         getDepthController(), getStatsLogManager(),
-                        SystemUiProxy.INSTANCE.get(this), RecentsModel.INSTANCE.get(this));
-        overviewPanel.init(mActionsView, mSplitSelectStateController);
+                        systemUiProxy, RecentsModel.INSTANCE.get(this),
+                        () -> onStateBack());
+        if (isDesktopModeSupported()) {
+            mDesktopRecentsTransitionController = new DesktopRecentsTransitionController(
+                    getStateManager(), systemUiProxy, getIApplicationThread(),
+                    getDepthController());
+        }
+        overviewPanel.init(mActionsView, mSplitSelectStateController,
+                mDesktopRecentsTransitionController);
         mSplitWithKeyboardShortcutController = new SplitWithKeyboardShortcutController(this,
                 mSplitSelectStateController);
         mSplitToWorkspaceController = new SplitToWorkspaceController(this,
@@ -251,10 +269,15 @@
         mAppTransitionManager.registerRemoteAnimations();
         mAppTransitionManager.registerRemoteTransitions();
 
+        if (FeatureFlags.enableHomeTransitionListener()) {
+            mHomeTransitionController = new HomeTransitionController();
+            mHomeTransitionController.registerHomeTransitionListener(this);
+        }
+
         mTISBindHelper = new TISBindHelper(this, this::onTISConnected);
         mDepthController = new DepthController(this);
         mDesktopVisibilityController = new DesktopVisibilityController(this);
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+        if (isDesktopModeSupported()) {
             mDesktopVisibilityController.registerSystemUiListener();
             mSplitSelectStateController.initSplitFromDesktopController(this);
         }
@@ -263,6 +286,7 @@
         mEnableWidgetDepth = SystemProperties.getBoolean("ro.launcher.depth.widget", true);
         getWorkspace().addOverlayCallback(progress ->
                 onTaskbarInAppDisplayProgressUpdate(progress, MINUS_ONE_PAGE_PROGRESS_INDEX));
+        addBackAnimationCallback(mSplitSelectStateController.getSplitBackHandler());
     }
 
     @Override
@@ -332,11 +356,6 @@
     }
 
     @Override
-    protected QuickstepOnboardingPrefs createOnboardingPrefs(SharedPreferences sharedPrefs) {
-        return new QuickstepOnboardingPrefs(this, sharedPrefs);
-    }
-
-    @Override
     public void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
         onStateOrResumeChanging(false /* inTransition */);
@@ -362,8 +381,8 @@
         }
 
         if ((changeBits & ACTIVITY_STATE_RESUMED) != 0) {
-            if (mTaskbarUIController != null) {
-                mTaskbarUIController.onLauncherResumedOrPaused(hasBeenResumed());
+            if (!FeatureFlags.enableHomeTransitionListener() && mTaskbarUIController != null) {
+                mTaskbarUIController.onLauncherVisibilityChanged(hasBeenResumed());
             }
         }
 
@@ -399,6 +418,12 @@
         shortcuts.addAll(getSplitShortcuts());
         shortcuts.add(WIDGETS);
         shortcuts.add(INSTALL);
+        if (Flags.enablePrivateSpaceInstallShortcut()) {
+            shortcuts.add(PRIVATE_PROFILE_INSTALL);
+        }
+        if (Flags.enableShortcutDontSuggestApp()) {
+            shortcuts.add(DONT_SUGGEST_APP);
+        }
         return shortcuts.stream();
     }
 
@@ -464,7 +489,11 @@
 
     @Override
     public void onDestroy() {
-        mAppTransitionManager.onActivityDestroyed();
+        if (mAppTransitionManager != null) {
+            mAppTransitionManager.onActivityDestroyed();
+        }
+        mAppTransitionManager = null;
+
         if (mUnfoldTransitionProgressProvider != null) {
             SystemUiProxy.INSTANCE.get(this).setUnfoldAnimationListener(null);
             mUnfoldTransitionProgressProvider.destroy();
@@ -476,6 +505,10 @@
             mLauncherUnfoldAnimationController.onDestroy();
         }
 
+        if (mHomeTransitionController != null) {
+            mHomeTransitionController.unregisterHomeTransitionListener();
+        }
+
         if (mDesktopVisibilityController != null) {
             mDesktopVisibilityController.unregisterSystemUiListener();
         }
@@ -484,14 +517,11 @@
             mSplitSelectStateController.onDestroy();
         }
 
-        if (mAsyncClockEventDelegate != null) {
-            mAsyncClockEventDelegate.onDestroy();
-        }
-
         super.onDestroy();
         mHotseatPredictionController.destroy();
         mSplitWithKeyboardShortcutController.onDestroy();
         if (mViewCapture != null) mViewCapture.close();
+        removeBackAnimationCallback(mSplitSelectStateController.getSplitBackHandler());
     }
 
     @Override
@@ -610,6 +640,7 @@
             mViewCapture = SettingsAwareViewCapture.getInstance(this).startCapture(getWindow());
         }
         getWindow().addPrivateFlags(PRIVATE_FLAG_OPTIMIZE_MEASURE);
+        QuickstepOnboardingPrefs.setup(this);
         View.setTraceLayoutSteps(TRACE_LAYOUTS);
         View.setTracedRequestLayoutClassClass(TRACE_RELAYOUT_CLASS);
     }
@@ -621,13 +652,14 @@
         // using that.
         mSplitSelectStateController.findLastActiveTasksAndRunCallback(
                 Collections.singletonList(splitSelectSource.itemInfo.getComponentKey()),
+                false /* findExactPairMatch */,
                 foundTasks -> {
-                    @Nullable Task foundTask = foundTasks.get(0);
+                    @Nullable Task foundTask = foundTasks[0];
                     boolean taskWasFound = foundTask != null;
                     splitSelectSource.alreadyRunningTaskId = taskWasFound
                             ? foundTask.key.id
                             : INVALID_TASK_ID;
-                    if (ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+                    if (FeatureFlags.enableSplitContextually()) {
                         startSplitToHome(splitSelectSource);
                     } else {
                         recentsView.initiateSplitSelect(splitSelectSource);
@@ -661,6 +693,9 @@
         floatingTaskView.setAlpha(1);
         floatingTaskView.addStagingAnimation(anim, startingTaskRect, tempRect,
                 false /* fadeWithThumbnail */, true /* isStagedTask */);
+        floatingTaskView.setOnClickListener(view ->
+                mSplitSelectStateController.getSplitAnimationController().
+                        playAnimPlaceholderToFullscreen(this, view, Optional.empty()));
         mSplitSelectStateController.setFirstFloatingTaskView(floatingTaskView);
         anim.addListener(new AnimatorListenerAdapter() {
             @Override
@@ -676,6 +711,17 @@
         anim.buildAnim().start();
     }
 
+    @Override
+    public boolean isSplitSelectionEnabled() {
+        return mSplitSelectStateController.isSplitSelectActive();
+    }
+
+    @Override
+    public void onStateTransitionCompletedAfterSwipeToHome(LauncherState finalState) {
+        if (mTaskbarUIController != null) {
+            mTaskbarUIController.onStateTransitionCompletedAfterSwipeToHome(finalState);
+        }
+    }
 
     @Override
     protected void onResume() {
@@ -693,6 +739,15 @@
         }
 
         super.onPause();
+
+        if (FeatureFlags.enableSplitContextually()) {
+            // If Launcher pauses before both split apps are selected, exit split screen.
+            if (!mSplitSelectStateController.isBothSplitAppsConfirmed() &&
+                    !mSplitSelectStateController.isLaunchingFirstAppFullscreen()) {
+                mSplitSelectStateController.getSplitAnimationController()
+                        .playPlaceholderDismissAnim(this);
+            }
+        }
     }
 
     @Override
@@ -739,15 +794,6 @@
     }
 
     @Override
-    protected void onScreenOnChanged(boolean isOn) {
-        super.onScreenOnChanged(isOn);
-        if (!isOn) {
-            RecentsView recentsView = getOverviewPanel();
-            recentsView.finishRecentsAnimation(true /* toRecents */, null);
-        }
-    }
-
-    @Override
     public void onAllAppsTransition(float progress) {
         super.onAllAppsTransition(progress);
         onTaskbarInAppDisplayProgressUpdate(progress, ALL_APPS_PAGE_PROGRESS_INDEX);
@@ -866,7 +912,7 @@
 
     @Override
     public void setResumed() {
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+        if (isDesktopModeSupported()) {
             DesktopVisibilityController controller = mDesktopVisibilityController;
             if (controller != null && controller.areFreeformTasksVisible()
                     && !controller.isRecentsGestureInProgress()) {
@@ -971,6 +1017,13 @@
                 .playPlaceholderDismissAnim(this);
     }
 
+    @Override
+    public void dismissSplitSelection() {
+        super.dismissSplitSelection();
+        mSplitSelectStateController.getSplitAnimationController()
+                .playPlaceholderDismissAnim(this);
+    }
+
     public <T extends OverviewActionsView> T getActionsView() {
         return (T) mActionsView;
     }
@@ -1003,7 +1056,7 @@
 
     @Override
     public boolean supportsAdaptiveIconAnimation(View clickedView) {
-        return mAppTransitionManager.hasControlRemoteAppTransitionPermission();
+        return true;
     }
 
     @Override
@@ -1038,10 +1091,7 @@
 
     @Override
     public ActivityOptionsWrapper getActivityLaunchOptions(View v, @Nullable ItemInfo item) {
-        ActivityOptionsWrapper activityOptions =
-                mAppTransitionManager.hasControlRemoteAppTransitionPermission()
-                        ? mAppTransitionManager.getActivityLaunchOptions(v)
-                        : super.getActivityLaunchOptions(v, item);
+        ActivityOptionsWrapper activityOptions = mAppTransitionManager.getActivityLaunchOptions(v);
         if (mLastTouchUpTime > 0) {
             activityOptions.options.setSourceInfo(ActivityOptions.SourceInfo.TYPE_LAUNCHER,
                     mLastTouchUpTime);
@@ -1156,11 +1206,6 @@
     }
 
     @Override
-    public void tryClearAccessibilityFocus(View view) {
-        view.clearAccessibilityFocus();
-    }
-
-    @Override
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
 
@@ -1235,36 +1280,31 @@
 
     /**
      * Launches the given {@link GroupTask} in splitscreen.
-     *
-     * If the second split task is missing, launches the first task normally.
      */
-    public void launchSplitTasks(@NonNull View taskView, @NonNull GroupTask groupTask) {
-        if (groupTask.task2 == null) {
-            UI_HELPER_EXECUTOR.execute(() ->
-                    ActivityManagerWrapper.getInstance().startActivityFromRecents(
-                            groupTask.task1.key,
-                            getActivityLaunchOptions(taskView, null).options));
-            return;
-        }
+    public void launchSplitTasks(
+            @NonNull GroupTask groupTask, @Nullable RemoteTransition remoteTransition) {
+        // Top/left and bottom/right tasks respectively.
+        Task task1 = groupTask.task1;
+        // task2 should never be null when calling this method. Allow a crash to catch invalid calls
+        Task task2 = groupTask.task2;
         mSplitSelectStateController.launchExistingSplitPair(
                 null /* launchingTaskView */,
-                groupTask.task1.key.id,
-                groupTask.task2.key.id,
+                task1.key.id,
+                task2.key.id,
                 SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT,
                 /* callback= */ success -> mSplitSelectStateController.resetState(),
-                /* freezeTaskList= */ true,
+                /* freezeTaskList= */ false,
                 groupTask.mSplitBounds == null
-                        ? DEFAULT_SPLIT_RATIO
-                        : groupTask.mSplitBounds.appsStackedVertically
-                                ? groupTask.mSplitBounds.topTaskPercent
-                                : groupTask.mSplitBounds.leftTaskPercent);
+                        ? SNAP_TO_50_50
+                        : groupTask.mSplitBounds.snapPosition,
+                remoteTransition);
     }
 
     /**
      * Launches two apps as an app pair.
      */
-    public void launchAppPair(WorkspaceItemInfo app1, WorkspaceItemInfo app2) {
-        mSplitSelectStateController.getAppPairsController().launchAppPair(app1, app2);
+    public void launchAppPair(AppPairIcon appPairIcon) {
+        mSplitSelectStateController.getAppPairsController().launchAppPair(appPairIcon);
     }
 
     public boolean canStartHomeSafely() {
@@ -1272,6 +1312,16 @@
         return overviewCommandHelper == null || overviewCommandHelper.canStartHomeSafely();
     }
 
+    @Override
+    public boolean isBubbleBarEnabled() {
+        return (mTaskbarUIController != null && mTaskbarUIController.isBubbleBarEnabled());
+    }
+
+    @Override
+    public boolean hasBubbles() {
+        return (mTaskbarUIController != null && mTaskbarUIController.hasBubbles());
+    }
+
     private static final class LauncherTaskViewController extends
             TaskViewTouchController<Launcher> {
 
@@ -1321,18 +1371,12 @@
         switch (name) {
             case "TextClock", "android.widget.TextClock" -> {
                 TextClock tc = new TextClock(context, attrs);
-                if (mAsyncClockEventDelegate == null) {
-                    mAsyncClockEventDelegate = new AsyncClockEventDelegate(this);
-                }
-                tc.setClockEventDelegate(mAsyncClockEventDelegate);
+                tc.setClockEventDelegate(AsyncClockEventDelegate.INSTANCE.get(this));
                 return tc;
             }
             case "AnalogClock", "android.widget.AnalogClock" -> {
                 AnalogClock ac = new AnalogClock(context, attrs);
-                if (mAsyncClockEventDelegate == null) {
-                    mAsyncClockEventDelegate = new AsyncClockEventDelegate(this);
-                }
-                ac.setClockEventDelegate(mAsyncClockEventDelegate);
+                ac.setClockEventDelegate(AsyncClockEventDelegate.INSTANCE.get(this));
                 return ac;
             }
         }
diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java
index f7bef03..0fb2b17 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java
@@ -34,6 +34,7 @@
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.model.WidgetsModel;
 import com.android.launcher3.util.IntSet;
+import com.android.launcher3.util.SafeCloseable;
 import com.android.launcher3.widget.LauncherAppWidgetHostView;
 import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
 import com.android.launcher3.widget.LauncherWidgetHolder;
@@ -66,13 +67,11 @@
 
     private static AppWidgetHost sWidgetHost = null;
 
-    private final SparseArray<AppWidgetHostView> mViews = new SparseArray<>();
-
+    private final UpdateHandler mUpdateHandler = this::onWidgetUpdate;
     private final @Nullable RemoteViews.InteractionHandler mInteractionHandler;
 
     private final @NonNull IntConsumer mAppWidgetRemovedCallback;
 
-    private final ArrayList<ProviderChangedListener> mProviderChangedListeners = new ArrayList<>();
     // Map to all pending updated keyed with appWidgetId;
     private final SparseArray<PendingUpdate> mPendingUpdateMap = new SparseArray<>();
 
@@ -111,16 +110,12 @@
 
     @Override
     protected void updateDeferredView() {
-        super.updateDeferredView();
         int count = mPendingUpdateMap.size();
         for (int i = 0; i < count; i++) {
             int widgetId = mPendingUpdateMap.keyAt(i);
             AppWidgetHostView view = mViews.get(widgetId);
-            if (view == null) {
-                continue;
-            }
             PendingUpdate pendingUpdate = mPendingUpdateMap.valueAt(i);
-            if (pendingUpdate == null) {
+            if (view == null || pendingUpdate == null) {
                 continue;
             }
             if (pendingUpdate.providerInfo != null) {
@@ -171,7 +166,6 @@
     @Override
     public void deleteAppWidgetId(int appWidgetId) {
         super.deleteAppWidgetId(appWidgetId);
-        mViews.remove(appWidgetId);
         sListeners.remove(appWidgetId);
     }
 
@@ -181,7 +175,10 @@
     @Override
     public void destroy() {
         try {
-            MAIN_EXECUTOR.submit(() -> sHolders.remove(this)).get();
+            MAIN_EXECUTOR.submit(() -> {
+                clearViews();
+                sHolders.remove(this);
+            }).get();
         } catch (Exception e) {
             Log.e(TAG, "Failed to remove self from holder list", e);
         }
@@ -194,26 +191,6 @@
     }
 
     /**
-     * Add a listener that is triggered when the providers of the widgets are changed
-     * @param listener The listener that notifies when the providers changed
-     */
-    @Override
-    public void addProviderChangeListener(
-            @NonNull LauncherWidgetHolder.ProviderChangedListener listener) {
-        MAIN_EXECUTOR.execute(() -> mProviderChangedListeners.add(listener));
-    }
-
-    /**
-     * Remove the specified listener from the host
-     * @param listener The listener that is to be removed from the host
-     */
-    @Override
-    public void removeProviderChangeListener(
-            LauncherWidgetHolder.ProviderChangedListener listener) {
-        MAIN_EXECUTOR.execute(() -> mProviderChangedListeners.remove(listener));
-    }
-
-    /**
      * Stop the host from updating the widget views
      */
     @Override
@@ -226,38 +203,41 @@
         setListeningFlag(false);
     }
 
-    /**
-     * Create a view for the specified app widget
-     * @param context The activity context for which the view is created
-     * @param appWidgetId The ID of the widget
-     * @param appWidget The {@link LauncherAppWidgetProviderInfo} of the widget
-     * @return A view for the widget
-     */
+    @Override
+    public SafeCloseable addOnUpdateListener(int appWidgetId,
+            LauncherAppWidgetProviderInfo appWidget, Runnable callback) {
+        UpdateHandler handler = new UpdateHandler() {
+            @Override
+            public <T> void onWidgetUpdate(int widgetId, UpdateKey<T> key, T data) {
+                if (KEY_VIEWS_UPDATE == key) {
+                    callback.run();
+                }
+            }
+        };
+        QuickstepWidgetHolderListener holderListener = getHolderListener(appWidgetId);
+        holderListener.addHolder(handler);
+        return () -> holderListener.mListeningHolders.remove(handler);
+    }
+
     @NonNull
     @Override
-    public LauncherAppWidgetHostView createView(@NonNull Context context, int appWidgetId,
-            @NonNull LauncherAppWidgetProviderInfo appWidget) {
-        LauncherAppWidgetHostView widgetView = getPendingView(appWidgetId);
-        if (widgetView != null) {
-            removePendingView(appWidgetId);
-        } else {
-            widgetView = new LauncherAppWidgetHostView(context);
-        }
-        widgetView.setIsWidgetCachingDisabled(true);
+    protected LauncherAppWidgetHostView createViewInternal(
+            int appWidgetId, @NonNull LauncherAppWidgetProviderInfo appWidget) {
+        LauncherAppWidgetHostView widgetView = new LauncherAppWidgetHostView(mContext);
         widgetView.setInteractionHandler(mInteractionHandler);
         widgetView.setAppWidget(appWidgetId, appWidget);
-        mViews.put(appWidgetId, widgetView);
+        widgetView.updateAppWidget(getHolderListener(appWidgetId).addHolder(mUpdateHandler));
+        return widgetView;
+    }
 
+    private static QuickstepWidgetHolderListener getHolderListener(int appWidgetId) {
         QuickstepWidgetHolderListener listener = sListeners.get(appWidgetId);
         if (listener == null) {
             listener = new QuickstepWidgetHolderListener(appWidgetId);
             sWidgetHost.setListener(appWidgetId, listener);
             sListeners.put(appWidgetId, listener);
         }
-        RemoteViews remoteViews = listener.addHolder(this);
-        widgetView.updateAppWidget(remoteViews);
-
-        return widgetView;
+        return listener;
     }
 
     /**
@@ -267,7 +247,7 @@
     public void clearViews() {
         mViews.clear();
         for (int i = sListeners.size() - 1; i >= 0; i--) {
-            sListeners.valueAt(i).mListeningHolders.remove(this);
+            sListeners.valueAt(i).mListeningHolders.remove(mUpdateHandler);
         }
     }
 
@@ -275,7 +255,7 @@
             implements AppWidgetHost.AppWidgetHostListener {
 
         // Static listeners should use a set that is backed by WeakHashMap to avoid memory leak
-        private final Set<QuickstepWidgetHolder> mListeningHolders = Collections.newSetFromMap(
+        private final Set<UpdateHandler> mListeningHolders = Collections.newSetFromMap(
                 new WeakHashMap<>());
 
         private final int mWidgetId;
@@ -288,7 +268,7 @@
 
         @UiThread
         @Nullable
-        public RemoteViews addHolder(@NonNull QuickstepWidgetHolder holder) {
+        public RemoteViews addHolder(@NonNull UpdateHandler holder) {
             mListeningHolders.add(holder);
             return mRemoteViews;
         }
@@ -359,11 +339,15 @@
         }
     }
 
+    private interface UpdateKey<T> extends BiConsumer<AppWidgetHostView, T> { }
+
+    private interface UpdateHandler {
+        <T> void onWidgetUpdate(int widgetId, UpdateKey<T> key, T data);
+    }
+
     private static class PendingUpdate {
         public final IntSet changedViews = new IntSet();
         public AppWidgetProviderInfo providerInfo;
         public RemoteViews remoteViews;
     }
-
-    private interface UpdateKey<T> extends BiConsumer<AppWidgetHostView, T> { }
 }
diff --git a/quickstep/src/com/android/launcher3/uioverrides/flags/DebugFlag.java b/quickstep/src/com/android/launcher3/uioverrides/flags/DebugFlag.java
index 481e200..630ef39 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/flags/DebugFlag.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/flags/DebugFlag.java
@@ -15,6 +15,8 @@
  */
 package com.android.launcher3.uioverrides.flags;
 
+import static com.android.launcher3.uioverrides.flags.FlagsFactory.TEAMFOOD_FLAG;
+
 import androidx.annotation.NonNull;
 
 import com.android.launcher3.config.FeatureFlags.BooleanFlag;
@@ -35,6 +37,21 @@
         this.description = description;
     }
 
+    /**
+     * Returns {@code true} if this flag's value has been modified from its default.
+     * <p>
+     * This helps to identify which flags have been toggled in log dumps and bug reports to
+     * further help triaging and debugging.
+     */
+    boolean currentValueModified() {
+        switch (defaultValue) {
+            case ENABLED: return !get();
+            case TEAMFOOD: return TEAMFOOD_FLAG.get() != get();
+            case DISABLED: return get();
+            default: return true;
+        }
+    }
+
     @Override
     public String toString() {
         return key + ": defaultValue=" + defaultValue + ", mCurrentValue=" + get();
diff --git a/quickstep/src/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java b/quickstep/src/com/android/launcher3/uioverrides/flags/DeveloperOptionsUI.java
similarity index 65%
rename from quickstep/src/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
rename to quickstep/src/com/android/launcher3/uioverrides/flags/DeveloperOptionsUI.java
index a76eb43..c1a85fa 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/flags/DeveloperOptionsUI.java
@@ -15,20 +15,30 @@
  */
 package com.android.launcher3.uioverrides.flags;
 
-import static android.content.Intent.ACTION_PACKAGE_ADDED;
-import static android.content.Intent.ACTION_PACKAGE_CHANGED;
-import static android.content.Intent.ACTION_PACKAGE_REMOVED;
 import static android.content.pm.PackageManager.GET_RESOLVED_FILTER;
 import static android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS;
 import static android.view.View.GONE;
 import static android.view.View.VISIBLE;
 
 import static com.android.launcher3.LauncherPrefs.ALL_APPS_OVERVIEW_THRESHOLD;
-import static com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_DELAY;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_END_SCALE_PERCENT;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_ITERATIONS;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_SCALE_EXPONENT;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_START_SCALE_PERCENT;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_SLOP_PERCENTAGE;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_TIMEOUT_MS;
+import static com.android.launcher3.LauncherPrefs.PRIVATE_SPACE_APPS;
+import static com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_HIGHLIGHT_KEY;
 import static com.android.launcher3.uioverrides.plugins.PluginManagerWrapper.PLUGIN_CHANGED;
 import static com.android.launcher3.uioverrides.plugins.PluginManagerWrapper.pluginEnabledKey;
+import static com.android.launcher3.util.OnboardingPrefs.ALL_APPS_VISITED_COUNT;
+import static com.android.launcher3.util.OnboardingPrefs.HOME_BOUNCE_COUNT;
+import static com.android.launcher3.util.OnboardingPrefs.HOME_BOUNCE_SEEN;
+import static com.android.launcher3.util.OnboardingPrefs.HOTSEAT_DISCOVERY_TIP_COUNT;
+import static com.android.launcher3.util.OnboardingPrefs.HOTSEAT_LONGPRESS_TIP_SEEN;
+import static com.android.launcher3.util.OnboardingPrefs.TASKBAR_EDU_TOOLTIP_STEP;
 
-import android.annotation.TargetApi;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -36,23 +46,17 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.net.Uri;
-import android.os.Build;
-import android.os.Bundle;
 import android.provider.Settings;
 import android.text.Editable;
-import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.util.ArrayMap;
 import android.util.Pair;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
+import android.view.LayoutInflater;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.EditText;
 import android.widget.Toast;
 
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceDataStore;
@@ -63,17 +67,16 @@
 import androidx.preference.SeekBarPreference;
 import androidx.preference.SwitchPreference;
 
+import com.android.launcher3.ConstantItem;
+import com.android.launcher3.Flags;
 import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.R;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.secondarydisplay.SecondaryDisplayLauncher;
 import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
-import com.android.launcher3.util.OnboardingPrefs;
-import com.android.launcher3.util.SimpleBroadcastReceiver;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -81,39 +84,41 @@
  * Dev-build only UI allowing developers to toggle flag settings and plugins.
  * See {@link FeatureFlags}.
  */
-@TargetApi(Build.VERSION_CODES.O)
-public class DeveloperOptionsFragment extends PreferenceFragmentCompat {
+public class DeveloperOptionsUI {
 
-    private static final String ACTION_PLUGIN_SETTINGS = "com.android.systemui.action.PLUGIN_SETTINGS";
+    private static final String ACTION_PLUGIN_SETTINGS =
+            "com.android.systemui.action.PLUGIN_SETTINGS";
     private static final String PLUGIN_PERMISSION = "com.android.systemui.permission.PLUGIN";
 
-    private final SimpleBroadcastReceiver mPluginReceiver =
-            new SimpleBroadcastReceiver(i -> loadPluginPrefs());
-
-    private PreferenceScreen mPreferenceScreen;
+    private final PreferenceFragmentCompat mFragment;
+    private final PreferenceScreen mPreferenceScreen;
 
     private PreferenceCategory mPluginsCategory;
-    private FlagTogglerPrefUi mFlagTogglerPrefUi;
 
-    @Override
-    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-        mPluginReceiver.registerPkgActions(getContext(), null,
-                ACTION_PACKAGE_ADDED, ACTION_PACKAGE_CHANGED, ACTION_PACKAGE_REMOVED);
-        mPluginReceiver.register(getContext(), Intent.ACTION_USER_UNLOCKED);
+    public DeveloperOptionsUI(PreferenceFragmentCompat fragment, PreferenceCategory flags) {
+        mFragment = fragment;
+        mPreferenceScreen = fragment.getPreferenceScreen();
 
-        mPreferenceScreen = getPreferenceManager().createPreferenceScreen(getContext());
-        setPreferenceScreen(mPreferenceScreen);
+        // Add search bar
+        View listView = mFragment.getListView();
+        ViewGroup parent = (ViewGroup) listView.getParent();
+        View topBar = LayoutInflater.from(parent.getContext())
+                .inflate(R.layout.developer_options_top_bar, parent, false);
+        parent.addView(topBar, parent.indexOfChild(listView));
+        initSearch(topBar.findViewById(R.id.filter_box));
 
-        initFlags();
+        new FlagTogglerPrefUi(mFragment.requireActivity(), topBar.findViewById(R.id.flag_apply_btn))
+                .applyTo(flags);
+
         loadPluginPrefs();
         maybeAddSandboxCategory();
         addOnboardingPrefsCatergory();
         if (FeatureFlags.ENABLE_ALL_APPS_FROM_OVERVIEW.get()) {
             addAllAppsFromOverviewCatergory();
         }
-
-        if (getActivity() != null) {
-            getActivity().setTitle("Developer Options");
+        addCustomLpnhCategory();
+        if (Flags.enablePrivateSpace()) {
+            addCustomPrivateAppsCategory();
         }
     }
 
@@ -137,21 +142,13 @@
         pg.setVisible(hidden != count);
     }
 
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        EditText filterBox = view.findViewById(R.id.filter_box);
-        filterBox.setVisibility(VISIBLE);
+    private void initSearch(EditText filterBox) {
         filterBox.addTextChangedListener(new TextWatcher() {
             @Override
-            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
-            }
+            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
 
             @Override
-            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
-
-            }
+            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
 
             @Override
             public void afterTextChanged(Editable editable) {
@@ -160,85 +157,33 @@
             }
         });
 
-        if (getArguments() != null) {
-            String filter = getArguments().getString(EXTRA_FRAGMENT_ARG_KEY);
+        if (mFragment.getArguments() != null) {
+            String filter = mFragment.getArguments().getString(EXTRA_FRAGMENT_HIGHLIGHT_KEY);
             // Normally EXTRA_FRAGMENT_ARG_KEY is used to highlight the preference with the given
             // key. This is a slight variation where we instead filter by the human-readable titles.
             if (filter != null) {
                 filterBox.setText(filter);
             }
         }
-
-        View listView = getListView();
-        final int bottomPadding = listView.getPaddingBottom();
-        listView.setOnApplyWindowInsetsListener((v, insets) -> {
-            v.setPadding(
-                    v.getPaddingLeft(),
-                    v.getPaddingTop(),
-                    v.getPaddingRight(),
-                    bottomPadding + insets.getSystemWindowInsetBottom());
-            return insets.consumeSystemWindowInsets();
-        });
-    }
-
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        mPluginReceiver.unregisterReceiverSafely(getContext());
     }
 
     private PreferenceCategory newCategory(String title) {
-        return newCategory(title, null);
-    }
-
-    private PreferenceCategory newCategory(String title, @Nullable String summary) {
         PreferenceCategory category = new PreferenceCategory(getContext());
         category.setOrder(Preference.DEFAULT_ORDER);
         category.setTitle(title);
-        if (!TextUtils.isEmpty(summary)) {
-            category.setSummary(summary);
-        }
         mPreferenceScreen.addPreference(category);
         return category;
     }
 
-    private void initFlags() {
-        if (!FeatureFlags.showFlagTogglerUi(getContext())) {
-            return;
-        }
-
-        mFlagTogglerPrefUi = new FlagTogglerPrefUi(this);
-        mFlagTogglerPrefUi.applyTo(newCategory("Feature flags", "Long press to reset"));
-    }
-
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        if (mFlagTogglerPrefUi != null) {
-            mFlagTogglerPrefUi.onCreateOptionsMenu(menu);
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        if (mFlagTogglerPrefUi != null) {
-            mFlagTogglerPrefUi.onOptionsItemSelected(item);
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-    @Override
-    public void onStop() {
-        if (mFlagTogglerPrefUi != null) {
-            mFlagTogglerPrefUi.onStop();
-        }
-        super.onStop();
+    private Context getContext() {
+        return mFragment.requireContext();
     }
 
     private void loadPluginPrefs() {
         if (mPluginsCategory != null) {
             mPreferenceScreen.removePreference(mPluginsCategory);
         }
-        if (!PluginManagerWrapper.hasPlugins(getActivity())) {
+        if (!PluginManagerWrapper.hasPlugins(getContext())) {
             mPluginsCategory = null;
             return;
         }
@@ -311,118 +256,159 @@
         launchTutorialStepMenuPreference.setKey("launchTutorialStepMenu");
         launchTutorialStepMenuPreference.setTitle("Launch Gesture Tutorial Steps menu");
         launchTutorialStepMenuPreference.setSummary("Select a gesture tutorial step.");
-        launchTutorialStepMenuPreference.setOnPreferenceClickListener(preference -> {
-            startActivity(launchSandboxIntent.putExtra("use_tutorial_menu", true));
-            return true;
-        });
+        launchTutorialStepMenuPreference.setIntent(
+                new Intent(launchSandboxIntent).putExtra("use_tutorial_menu", true));
+
         sandboxCategory.addPreference(launchTutorialStepMenuPreference);
         Preference launchOnboardingTutorialPreference = new Preference(context);
         launchOnboardingTutorialPreference.setKey("launchOnboardingTutorial");
         launchOnboardingTutorialPreference.setTitle("Launch Onboarding Tutorial");
         launchOnboardingTutorialPreference.setSummary("Learn the basic navigation gestures.");
-        launchOnboardingTutorialPreference.setOnPreferenceClickListener(preference -> {
-            startActivity(launchSandboxIntent
-                    .putExtra("use_tutorial_menu", false)
-                    .putExtra("tutorial_steps",
-                            new String[] {
-                                    "HOME_NAVIGATION",
-                                    "BACK_NAVIGATION",
-                                    "OVERVIEW_NAVIGATION"}));
-            return true;
-        });
+        launchTutorialStepMenuPreference.setIntent(new Intent(launchSandboxIntent)
+                .putExtra("use_tutorial_menu", false)
+                .putExtra("tutorial_steps",
+                        new String[] {
+                                "HOME_NAVIGATION",
+                                "BACK_NAVIGATION",
+                                "OVERVIEW_NAVIGATION"}));
+
         sandboxCategory.addPreference(launchOnboardingTutorialPreference);
         Preference launchBackTutorialPreference = new Preference(context);
         launchBackTutorialPreference.setKey("launchBackTutorial");
         launchBackTutorialPreference.setTitle("Launch Back Tutorial");
         launchBackTutorialPreference.setSummary("Learn how to use the Back gesture");
-        launchBackTutorialPreference.setOnPreferenceClickListener(preference -> {
-            startActivity(launchSandboxIntent
+        launchBackTutorialPreference.setIntent(new Intent(launchSandboxIntent)
                     .putExtra("use_tutorial_menu", false)
                     .putExtra("tutorial_steps", new String[] {"BACK_NAVIGATION"}));
-            return true;
-        });
+
         sandboxCategory.addPreference(launchBackTutorialPreference);
         Preference launchHomeTutorialPreference = new Preference(context);
         launchHomeTutorialPreference.setKey("launchHomeTutorial");
         launchHomeTutorialPreference.setTitle("Launch Home Tutorial");
         launchHomeTutorialPreference.setSummary("Learn how to use the Home gesture");
-        launchHomeTutorialPreference.setOnPreferenceClickListener(preference -> {
-            startActivity(launchSandboxIntent
+        launchHomeTutorialPreference.setIntent(new Intent(launchSandboxIntent)
                     .putExtra("use_tutorial_menu", false)
                     .putExtra("tutorial_steps", new String[] {"HOME_NAVIGATION"}));
-            return true;
-        });
+
         sandboxCategory.addPreference(launchHomeTutorialPreference);
         Preference launchOverviewTutorialPreference = new Preference(context);
         launchOverviewTutorialPreference.setKey("launchOverviewTutorial");
         launchOverviewTutorialPreference.setTitle("Launch Overview Tutorial");
         launchOverviewTutorialPreference.setSummary("Learn how to use the Overview gesture");
-        launchOverviewTutorialPreference.setOnPreferenceClickListener(preference -> {
-            startActivity(launchSandboxIntent
+        launchOverviewTutorialPreference.setIntent(new Intent(launchSandboxIntent)
                     .putExtra("use_tutorial_menu", false)
                     .putExtra("tutorial_steps", new String[] {"OVERVIEW_NAVIGATION"}));
-            return true;
-        });
+
         sandboxCategory.addPreference(launchOverviewTutorialPreference);
         Preference launchSecondaryDisplayPreference = new Preference(context);
         launchSecondaryDisplayPreference.setKey("launchSecondaryDisplay");
         launchSecondaryDisplayPreference.setTitle("Launch Secondary Display");
         launchSecondaryDisplayPreference.setSummary("Launch secondary display activity");
-        launchSecondaryDisplayPreference.setOnPreferenceClickListener(preference -> {
-            startActivity(new Intent(context, SecondaryDisplayLauncher.class));
-            return true;
-        });
-        sandboxCategory.addPreference(launchSecondaryDisplayPreference);
+        launchSecondaryDisplayPreference.setIntent(
+                new Intent(context, SecondaryDisplayLauncher.class));
+
     }
 
     private void addOnboardingPrefsCatergory() {
         PreferenceCategory onboardingCategory = newCategory("Onboarding Flows");
         onboardingCategory.setSummary("Reset these if you want to see the education again.");
-        for (Map.Entry<String, String[]> titleAndKeys : OnboardingPrefs.ALL_PREF_KEYS.entrySet()) {
-            String title = titleAndKeys.getKey();
-            String[] keys = titleAndKeys.getValue();
-            Preference onboardingPref = new Preference(getContext());
-            onboardingPref.setTitle(title);
-            onboardingPref.setSummary("Tap to reset");
-            onboardingPref.setOnPreferenceClickListener(preference -> {
-                SharedPreferences.Editor sharedPrefsEdit = LauncherPrefs.getPrefs(getContext())
-                        .edit();
-                for (String key : keys) {
-                    sharedPrefsEdit.remove(key);
-                }
-                sharedPrefsEdit.apply();
-                Toast.makeText(getContext(), "Reset " + title, Toast.LENGTH_SHORT).show();
-                return true;
-            });
-            onboardingCategory.addPreference(onboardingPref);
-        }
+
+        onboardingCategory.addPreference(createOnboardPref("All Apps Bounce",
+                HOME_BOUNCE_SEEN.getSharedPrefKey(), HOME_BOUNCE_COUNT.getSharedPrefKey()));
+        onboardingCategory.addPreference(createOnboardPref("Hybrid Hotseat Education",
+                HOTSEAT_DISCOVERY_TIP_COUNT.getSharedPrefKey(),
+                HOTSEAT_LONGPRESS_TIP_SEEN.getSharedPrefKey()));
+        onboardingCategory.addPreference(createOnboardPref("Taskbar Education",
+                TASKBAR_EDU_TOOLTIP_STEP.getSharedPrefKey()));
+        onboardingCategory.addPreference(createOnboardPref("All Apps Visited Count",
+                ALL_APPS_VISITED_COUNT.getSharedPrefKey()));
+    }
+
+    private Preference createOnboardPref(String title, String... keys) {
+        Preference onboardingPref = new Preference(getContext());
+        onboardingPref.setTitle(title);
+        onboardingPref.setSummary("Tap to reset");
+        onboardingPref.setOnPreferenceClickListener(preference -> {
+            SharedPreferences.Editor sharedPrefsEdit = LauncherPrefs.getPrefs(getContext())
+                    .edit();
+            for (String key : keys) {
+                sharedPrefsEdit.remove(key);
+            }
+            sharedPrefsEdit.apply();
+            Toast.makeText(getContext(), "Reset " + title, Toast.LENGTH_SHORT).show();
+            return true;
+        });
+        return onboardingPref;
     }
 
     private void addAllAppsFromOverviewCatergory() {
         PreferenceCategory category = newCategory("All Apps from Overview Config");
+        category.addPreference(createSeekBarPreference("Threshold to open All Apps from Overview",
+                105, 500, 100, ALL_APPS_OVERVIEW_THRESHOLD));
+    }
 
-        SeekBarPreference thresholdPref = new SeekBarPreference(getContext());
-        thresholdPref.setTitle("Threshold to open All Apps from Overview");
-        thresholdPref.setSingleLineTitle(false);
+    private void addCustomLpnhCategory() {
+        PreferenceCategory category = newCategory("Long Press Nav Handle Config");
+        if (FeatureFlags.CUSTOM_LPNH_THRESHOLDS.get()) {
+            category.addPreference(createSeekBarPreference("Slop multiplier (applied to edge slop, "
+                            + "which is generally already 50% higher than touch slop)",
+                    25, 200, 100, LONG_PRESS_NAV_HANDLE_SLOP_PERCENTAGE));
+            category.addPreference(createSeekBarPreference("Trigger milliseconds",
+                    100, 500, 1, LONG_PRESS_NAV_HANDLE_TIMEOUT_MS));
+        }
+        if (FeatureFlags.ENABLE_SEARCH_HAPTIC_HINT.get()) {
+            category.addPreference(createSeekBarPreference("Haptic hint start scale",
+                    0, 100, 100, LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_START_SCALE_PERCENT));
+            category.addPreference(createSeekBarPreference("Haptic hint end scale",
+                    0, 100, 100, LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_END_SCALE_PERCENT));
+            category.addPreference(createSeekBarPreference("Haptic hint scale exponent",
+                    1, 5, 1, LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_SCALE_EXPONENT));
+            category.addPreference(createSeekBarPreference("Haptic hint iterations (12 ms each)",
+                    0, 200, 1, LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_ITERATIONS));
+            category.addPreference(createSeekBarPreference("Haptic hint delay (ms)",
+                    0, 400, 1, LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_DELAY));
+        }
+    }
 
-        // These values are 100x swipe up shift value (100 = where overview sits).
-        thresholdPref.setMax(500);
-        thresholdPref.setMin(105);
-        thresholdPref.setUpdatesContinuously(true);
-        thresholdPref.setIconSpaceReserved(false);
+    private void addCustomPrivateAppsCategory() {
+        PreferenceCategory category = newCategory("Apps in Private Space Config");
+        category.addPreference(createSeekBarPreference(
+                "Number of Apps to put in private region", 0, 100, 1, PRIVATE_SPACE_APPS));
+    }
+
+    /**
+     * Create a preference with text and a seek bar. Should be added to a PreferenceCategory.
+     *
+     * @param title text to show for this seek bar
+     * @param min min value for the seek bar
+     * @param max max value for the seek bar
+     * @param scale how much to divide the value to convert int to float
+     * @param launcherPref used to store the current value
+     */
+    private SeekBarPreference createSeekBarPreference(String title, int min, int max, int scale,
+            ConstantItem<Integer> launcherPref) {
+        SeekBarPreference seekBarPref = new SeekBarPreference(getContext());
+        seekBarPref.setTitle(title);
+        seekBarPref.setSingleLineTitle(false);
+
+        seekBarPref.setMax(max);
+        seekBarPref.setMin(min);
+        seekBarPref.setUpdatesContinuously(true);
+        seekBarPref.setIconSpaceReserved(false);
         // Don't directly save to shared prefs, use LauncherPrefs instead.
-        thresholdPref.setPersistent(false);
-        thresholdPref.setOnPreferenceChangeListener((preference, newValue) -> {
-            LauncherPrefs.get(getContext()).put(ALL_APPS_OVERVIEW_THRESHOLD, newValue);
-            preference.setSummary(String.valueOf((int) newValue / 100f));
+        seekBarPref.setPersistent(false);
+        seekBarPref.setOnPreferenceChangeListener((preference, newValue) -> {
+            LauncherPrefs.get(getContext()).put(launcherPref, newValue);
+            preference.setSummary(String.valueOf(scale == 1 ? newValue
+                    : (int) newValue / (float) scale));
             return true;
         });
-        int value = LauncherPrefs.get(getContext()).get(ALL_APPS_OVERVIEW_THRESHOLD);
-        thresholdPref.setValue(value);
+        int value = LauncherPrefs.get(getContext()).get(launcherPref);
+        seekBarPref.setValue(value);
         // For some reason the initial value is not triggering the summary update, so call manually.
-        thresholdPref.getOnPreferenceChangeListener().onPreferenceChange(thresholdPref, value);
-
-        category.addPreference(thresholdPref);
+        seekBarPref.setSummary(String.valueOf(scale == 1 ? value
+                : value / (float) scale));
+        return seekBarPref;
     }
 
     private String toName(String action) {
diff --git a/quickstep/src/com/android/launcher3/uioverrides/flags/DeviceFlag.java b/quickstep/src/com/android/launcher3/uioverrides/flags/DeviceFlag.java
index 035beb4..915f4ae 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/flags/DeviceFlag.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/flags/DeviceFlag.java
@@ -29,6 +29,11 @@
     }
 
     @Override
+    boolean currentValueModified() {
+        return super.currentValueModified() || mDefaultValueInCode != get();
+    }
+
+    @Override
     public String toString() {
         return super.toString() + ", mDefaultValueInCode=" + mDefaultValueInCode;
     }
diff --git a/quickstep/src/com/android/launcher3/uioverrides/flags/FlagTogglerPrefUi.java b/quickstep/src/com/android/launcher3/uioverrides/flags/FlagTogglerPrefUi.java
index 87c836b..ec0566a 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/flags/FlagTogglerPrefUi.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/flags/FlagTogglerPrefUi.java
@@ -19,24 +19,23 @@
 import static com.android.launcher3.config.FeatureFlags.FlagState.TEAMFOOD;
 import static com.android.launcher3.uioverrides.flags.FlagsFactory.TEAMFOOD_FLAG;
 
+import android.app.Activity;
 import android.content.Context;
 import android.os.Handler;
 import android.os.Process;
 import android.text.Html;
 import android.text.TextUtils;
 import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
+import android.view.View;
 import android.widget.Toast;
 
 import androidx.preference.PreferenceDataStore;
-import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceViewHolder;
 import androidx.preference.SwitchPreference;
 
-import com.android.launcher3.R;
 import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.util.ActivityLifecycleCallbacksAdapter;
 
 import java.util.List;
 import java.util.Set;
@@ -44,12 +43,13 @@
 /**
  * Dev-build only UI allowing developers to toggle flag settings. See {@link FeatureFlags}.
  */
-public final class FlagTogglerPrefUi {
+public final class FlagTogglerPrefUi implements ActivityLifecycleCallbacksAdapter {
 
     private static final String TAG = "FlagTogglerPrefFrag";
 
-    private final PreferenceFragmentCompat mFragment;
+    private final View mFlagsApplyButton;
     private final Context mContext;
+
     private final PreferenceDataStore mDataStore = new PreferenceDataStore() {
 
         @Override
@@ -64,9 +64,17 @@
         }
     };
 
-    public FlagTogglerPrefUi(PreferenceFragmentCompat fragment) {
-        mFragment = fragment;
-        mContext = fragment.getActivity();
+    public FlagTogglerPrefUi(Activity activity, View flagsApplyButton) {
+        mFlagsApplyButton = flagsApplyButton;
+        mContext = mFlagsApplyButton.getContext();
+        activity.registerActivityLifecycleCallbacks(this);
+
+        mFlagsApplyButton.setOnClickListener(v -> {
+            FlagsFactory.getSharedPreferences().edit().commit();
+            Log.e(TAG,
+                    "Killing launcher process " + Process.myPid() + " to apply new flag values");
+            System.exit(0);
+        });
     }
 
     public void applyTo(PreferenceGroup parent) {
@@ -137,27 +145,11 @@
     }
 
     private void updateMenu() {
-        mFragment.setHasOptionsMenu(anyChanged());
-        mFragment.getActivity().invalidateOptionsMenu();
+        mFlagsApplyButton.setVisibility(anyChanged() ? View.VISIBLE : View.INVISIBLE);
     }
 
-    public void onCreateOptionsMenu(Menu menu) {
-        if (anyChanged()) {
-            menu.add(0, R.id.menu_apply_flags, 0, "Apply")
-                    .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
-        }
-    }
-
-    public void onOptionsItemSelected(MenuItem item) {
-        if (item.getItemId() == R.id.menu_apply_flags) {
-            FlagsFactory.getSharedPreferences().edit().commit();
-            Log.e(TAG,
-                    "Killing launcher process " + Process.myPid() + " to apply new flag values");
-            System.exit(0);
-        }
-    }
-
-    public void onStop() {
+    @Override
+    public void onActivityStopped(Activity activity) {
         if (anyChanged()) {
             Toast.makeText(mContext, "Flag won't be applied until you restart launcher",
                     Toast.LENGTH_LONG).show();
diff --git a/quickstep/src/com/android/launcher3/uioverrides/flags/FlagsFactory.java b/quickstep/src/com/android/launcher3/uioverrides/flags/FlagsFactory.java
index 6279f63..48d313e 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/flags/FlagsFactory.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/flags/FlagsFactory.java
@@ -57,6 +57,7 @@
     public static final String NAMESPACE_LAUNCHER = "launcher";
 
     private static final List<DebugFlag> sDebugFlags = new ArrayList<>();
+    private static final List<IntFlag> sIntFlags = new ArrayList<>();
     private static SharedPreferences sSharedPreferences;
 
     static final BooleanFlag TEAMFOOD_FLAG = getReleaseFlag(
@@ -132,7 +133,14 @@
     public static IntFlag getIntFlag(
             int bugId, String key, int defaultValueInCode, String description) {
         INSTANCE.mKeySet.add(key);
-        return new IntFlag(DeviceConfig.getInt(NAMESPACE_LAUNCHER, key, defaultValueInCode));
+        int defaultValue = DeviceConfig.getInt(NAMESPACE_LAUNCHER, key, defaultValueInCode);
+        if (IS_DEBUG_DEVICE) {
+            IntDeviceFlag flag = new IntDeviceFlag(key, defaultValue, defaultValueInCode);
+            sIntFlags.add(flag);
+            return flag;
+        } else {
+            return new IntFlag(defaultValue);
+        }
     }
 
     static List<DebugFlag> getDebugFlags() {
@@ -163,18 +171,25 @@
             return;
         }
         pw.println("DeviceFlags:");
+        pw.println("  BooleanFlags:");
         synchronized (sDebugFlags) {
             for (DebugFlag flag : sDebugFlags) {
                 if (flag instanceof DeviceFlag) {
-                    pw.println("  " + flag);
+                    pw.println((flag.currentValueModified() ? "  ->" : "    ") + flag);
                 }
             }
         }
-        pw.println("DebugFlags:");
+        pw.println("  IntFlags:");
+        synchronized (sIntFlags) {
+            for (IntFlag flag : sIntFlags) {
+                pw.println("    " + flag);
+            }
+        }
+        pw.println("  DebugFlags:");
         synchronized (sDebugFlags) {
             for (DebugFlag flag : sDebugFlags) {
                 if (!(flag instanceof DeviceFlag)) {
-                    pw.println("  " + flag);
+                    pw.println((flag.currentValueModified() ? "  ->" : "    ") + flag);
                 }
             }
         }
diff --git a/quickstep/src/com/android/launcher3/uioverrides/flags/IntDeviceFlag.java b/quickstep/src/com/android/launcher3/uioverrides/flags/IntDeviceFlag.java
new file mode 100644
index 0000000..4f3b0ae
--- /dev/null
+++ b/quickstep/src/com/android/launcher3/uioverrides/flags/IntDeviceFlag.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.uioverrides.flags;
+
+import com.android.launcher3.config.FeatureFlags.IntFlag;
+
+public class IntDeviceFlag extends IntFlag {
+    public final String key;
+    private final int mDefaultValueInCode;
+
+    public IntDeviceFlag(String key, int currentValue, int defaultValueInCode) {
+        super(currentValue);
+        this.key = key;
+        mDefaultValueInCode = defaultValueInCode;
+    }
+
+    @Override
+    public String toString() {
+        return key + ": mCurrentValue=" + get() + ", defaultValueInCode=" + mDefaultValueInCode;
+    }
+}
diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java b/quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java
index ed0a0d5..3767cce 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/states/AllAppsState.java
@@ -121,13 +121,13 @@
     @Override
     public int getFloatingSearchBarRestingMarginStart(Launcher launcher) {
         DeviceProfile dp = launcher.getDeviceProfile();
-        return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin();
+        return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin(launcher);
     }
 
     @Override
     public int getFloatingSearchBarRestingMarginEnd(Launcher launcher) {
         DeviceProfile dp = launcher.getDeviceProfile();
-        return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin();
+        return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin(launcher);
     }
 
     @Override
diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/BackgroundAppState.java b/quickstep/src/com/android/launcher3/uioverrides/states/BackgroundAppState.java
index e578720..d11a08b 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/states/BackgroundAppState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/states/BackgroundAppState.java
@@ -17,6 +17,7 @@
 
 import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_BACKGROUND;
 import static com.android.quickstep.TaskAnimationManager.ENABLE_SHELL_TRANSITIONS;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import android.content.Context;
 import android.graphics.Color;
@@ -26,7 +27,6 @@
 import com.android.launcher3.Launcher;
 import com.android.launcher3.allapps.AllAppsTransitionController;
 import com.android.quickstep.util.LayoutUtils;
-import com.android.quickstep.views.DesktopTaskView;
 import com.android.quickstep.views.RecentsView;
 
 /**
@@ -90,7 +90,7 @@
 
     @Override
     protected float getDepthUnchecked(Context context) {
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+        if (isDesktopModeSupported()) {
             if (Launcher.getLauncher(context).areFreeformTasksVisible()) {
                 // Don't blur the background while freeform tasks are visible
                 return 0;
diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java
index b9221ee..856b519 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java
@@ -21,9 +21,9 @@
 import android.graphics.Rect;
 
 import com.android.launcher3.BaseDraggingActivity;
+import com.android.launcher3.Flags;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherState;
-import com.android.launcher3.config.FeatureFlags;
 import com.android.quickstep.views.RecentsView;
 
 /**
@@ -62,17 +62,11 @@
     @Override
     public void onBackPressed(Launcher launcher) {
         launcher.getStateManager().goToState(LauncherState.OVERVIEW);
-        RecentsView recentsView = launcher.<RecentsView>getOverviewPanel();
-        if (recentsView != null) {
-            recentsView.resetModalVisuals();
-        } else {
-            super.onBackPressed(launcher);
-        }
     }
 
     @Override
     public boolean isTaskbarStashed(Launcher launcher) {
-        if (FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get()) {
+        if (Flags.enableGridOnlyOverview()) {
             return true;
         }
         return super.isTaskbarStashed(launcher);
diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/QuickSwitchState.java b/quickstep/src/com/android/launcher3/uioverrides/states/QuickSwitchState.java
index 7392469..ba44d6a 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/states/QuickSwitchState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/states/QuickSwitchState.java
@@ -16,6 +16,7 @@
 package com.android.launcher3.uioverrides.states;
 
 import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_BACKGROUND;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import android.graphics.Color;
 
@@ -23,7 +24,6 @@
 import com.android.launcher3.Launcher;
 import com.android.launcher3.R;
 import com.android.launcher3.util.Themes;
-import com.android.quickstep.views.DesktopTaskView;
 
 /**
  * State to indicate we are about to launch a recent task. Note that this state is only used when
@@ -46,7 +46,7 @@
 
     @Override
     public int getWorkspaceScrimColor(Launcher launcher) {
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+        if (isDesktopModeSupported()) {
             if (launcher.areFreeformTasksVisible()) {
                 // No scrim while freeform tasks are visible
                 return Color.TRANSPARENT;
diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/QuickstepAtomicAnimationFactory.java b/quickstep/src/com/android/launcher3/uioverrides/states/QuickstepAtomicAnimationFactory.java
index 6651c73..0650f9d 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/states/QuickstepAtomicAnimationFactory.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/states/QuickstepAtomicAnimationFactory.java
@@ -110,10 +110,13 @@
                         clampToProgress(LINEAR, 0, 0.33f));
             }
 
+            // We sync the scrim fade with the taskbar animation duration to avoid any flickers for
+            // taskbar icons disappearing before hotseat icons show up.
+            float scrimUpperBoundFromSplit = TASKBAR_TO_HOME_DURATION / (float) config.duration;
             config.setInterpolator(ANIM_OVERVIEW_ACTIONS_FADE, clampToProgress(LINEAR, 0, 0.25f));
             config.setInterpolator(ANIM_SCRIM_FADE,
                     fromState == OVERVIEW_SPLIT_SELECT
-                            ? clampToProgress(LINEAR, 0.33f, 1)
+                            ? clampToProgress(LINEAR, 0.33f, scrimUpperBoundFromSplit)
                             : LINEAR);
             config.setInterpolator(ANIM_WORKSPACE_SCALE, DECELERATE);
             config.setInterpolator(ANIM_WORKSPACE_FADE, ACCELERATE);
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java
index b266bcd..82a9c05 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java
@@ -45,6 +45,7 @@
 import com.android.launcher3.anim.PendingAnimation;
 import com.android.launcher3.compat.AccessibilityManagerCompat;
 import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.statemanager.StateManager;
 import com.android.launcher3.touch.SingleAxisSwipeDetector;
 import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.TouchController;
@@ -194,8 +195,21 @@
             recentsView.switchToScreenshot(null,
                     () -> recentsView.finishRecentsAnimation(true /* toRecents */, null));
             if (mStartState.overviewUi) {
-                new OverviewToHomeAnim(mLauncher, () -> onSwipeInteractionCompleted(mEndState),
-                        FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()
+                Runnable onReachedHome = () -> {
+                    StateManager.StateListener<LauncherState> listener =
+                            new StateManager.StateListener<>() {
+                                @Override
+                                public void onStateTransitionComplete(LauncherState finalState) {
+                                    mLauncher.onStateTransitionCompletedAfterSwipeToHome(
+                                            finalState);
+                                    mLauncher.getStateManager().removeStateListener(this);
+                                }
+                            };
+                    mLauncher.getStateManager().addStateListener(listener);
+                    onSwipeInteractionCompleted(mEndState);
+                };
+                new OverviewToHomeAnim(mLauncher, onReachedHome,
+                        FeatureFlags.enableSplitContextually()
                                 ? mCancelSplitRunnable
                                 : null)
                         .animateWithVelocity(velocity);
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java
index 6f421eb..6d3b60a 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java
@@ -49,6 +49,7 @@
 import static com.android.launcher3.util.NavigationMode.THREE_BUTTONS;
 import static com.android.launcher3.util.VibratorWrapper.OVERVIEW_HAPTIC;
 import static com.android.launcher3.util.window.RefreshRateTracker.getSingleFrameMs;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 import static com.android.quickstep.views.RecentsView.ADJACENT_PAGE_HORIZONTAL_OFFSET;
 import static com.android.quickstep.views.RecentsView.CONTENT_ALPHA;
 import static com.android.quickstep.views.RecentsView.FULLSCREEN_PROGRESS;
@@ -65,6 +66,7 @@
 import android.view.MotionEvent;
 import android.view.animation.Interpolator;
 
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.LauncherState;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
@@ -83,7 +85,6 @@
 import com.android.quickstep.util.LayoutUtils;
 import com.android.quickstep.util.MotionPauseDetector;
 import com.android.quickstep.util.WorkspaceRevealAnim;
-import com.android.quickstep.views.DesktopTaskView;
 import com.android.quickstep.views.LauncherRecentsView;
 import com.android.quickstep.views.RecentsView;
 import com.android.systemui.shared.system.InteractionJankMonitorWrapper;
@@ -177,7 +178,7 @@
         if ((stateFlags & SYSUI_STATE_OVERVIEW_DISABLED) != 0) {
             return false;
         }
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+        if (isDesktopModeSupported()) {
             // TODO(b/268075592): add support for quickswitch to/from desktop
             return false;
         }
@@ -191,8 +192,7 @@
     public void onDragStart(boolean start) {
         mMotionPauseDetector.clear();
         if (start) {
-            InteractionJankMonitorWrapper.begin(mRecentsView,
-                    InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH);
+            InteractionJankMonitorWrapper.begin(mRecentsView, Cuj.CUJ_LAUNCHER_QUICK_SWITCH);
 
             mStartState = mLauncher.getStateManager().getState();
 
@@ -328,7 +328,7 @@
         if (mMotionPauseDetector.isPaused() && noFling) {
             // Going to Overview.
             cancelAnimations();
-            InteractionJankMonitorWrapper.cancel(InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH);
+            InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_QUICK_SWITCH);
 
             StateAnimationConfig config = new StateAnimationConfig();
             config.duration = ATOMIC_DURATION_FROM_PAUSED_TO_OVERVIEW;
@@ -446,7 +446,7 @@
                     RecentsView.SCROLL_VIBRATION_PRIMITIVE_SCALE,
                     RecentsView.SCROLL_VIBRATION_FALLBACK);
         } else {
-            InteractionJankMonitorWrapper.cancel(InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH);
+            InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_QUICK_SWITCH);
         }
 
         nonOverviewAnim.setDuration(Math.max(xDuration, yDuration));
@@ -470,7 +470,7 @@
                                         : LAUNCHER_UNKNOWN_SWIPEDOWN));
 
         if (targetState == QUICK_SWITCH_FROM_HOME) {
-            InteractionJankMonitorWrapper.end(InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH);
+            InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_QUICK_SWITCH);
         }
 
         mLauncher.getStateManager().goToState(targetState, false, forEndCallback(this::clearState));
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java
index e30fe66..5db5d17 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/PortraitStatesTouchController.java
@@ -15,8 +15,7 @@
  */
 package com.android.launcher3.uioverrides.touchcontrollers;
 
-import static com.android.launcher3.AbstractFloatingView.TYPE_ACCESSIBLE;
-import static com.android.launcher3.AbstractFloatingView.TYPE_ALL_APPS_EDU;
+import static com.android.launcher3.AbstractFloatingView.TYPE_TOUCH_CONTROLLER_NO_INTERCEPT;
 import static com.android.launcher3.AbstractFloatingView.getTopOpenViewWithType;
 import static com.android.launcher3.LauncherState.ALL_APPS;
 import static com.android.launcher3.LauncherState.NORMAL;
@@ -25,6 +24,7 @@
 import android.view.MotionEvent;
 
 import com.android.app.animation.Interpolators;
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherState;
@@ -84,7 +84,7 @@
                 return false;
             }
         }
-        if (getTopOpenViewWithType(mLauncher, TYPE_ACCESSIBLE | TYPE_ALL_APPS_EDU) != null) {
+        if (getTopOpenViewWithType(mLauncher, TYPE_TOUCH_CONTROLLER_NO_INTERCEPT) != null) {
             return false;
         }
         return true;
@@ -96,7 +96,7 @@
             return FeatureFlags.ENABLE_ALL_APPS_FROM_OVERVIEW.get()
                     ? mLauncher.getStateManager().getLastState()
                     : NORMAL;
-        } else if (fromState == NORMAL && isDragTowardPositive) {
+        } else if (fromState == NORMAL && shouldOpenAllApps(isDragTowardPositive)) {
             return ALL_APPS;
         }
         return fromState;
@@ -106,7 +106,7 @@
     protected StateAnimationConfig getConfigForStates(
             LauncherState fromState, LauncherState toState) {
         final StateAnimationConfig config = new StateAnimationConfig();
-        config.userControlled = true;
+        config.animProps |= StateAnimationConfig.USER_CONTROLLED;
         if (fromState == NORMAL && toState == ALL_APPS) {
             AllAppsSwipeController.applyNormalToAllAppsAnimConfig(mLauncher, config);
         } else if (fromState == ALL_APPS && toState == NORMAL) {
@@ -186,18 +186,15 @@
         switch (ev.getAction()) {
             case MotionEvent.ACTION_DOWN:
                 InteractionJankMonitorWrapper.begin(
-                        mLauncher.getRootView(), InteractionJankMonitorWrapper.CUJ_OPEN_ALL_APPS);
+                        mLauncher.getRootView(), Cuj.CUJ_LAUNCHER_OPEN_ALL_APPS);
                 InteractionJankMonitorWrapper.begin(
-                        mLauncher.getRootView(),
-                        InteractionJankMonitorWrapper.CUJ_CLOSE_ALL_APPS_SWIPE);
+                        mLauncher.getRootView(), Cuj.CUJ_LAUNCHER_CLOSE_ALL_APPS_SWIPE);
                 break;
 
             case MotionEvent.ACTION_CANCEL:
             case MotionEvent.ACTION_UP:
-                InteractionJankMonitorWrapper.cancel(
-                        InteractionJankMonitorWrapper.CUJ_OPEN_ALL_APPS);
-                InteractionJankMonitorWrapper.cancel(
-                        InteractionJankMonitorWrapper.CUJ_CLOSE_ALL_APPS_SWIPE);
+                InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_OPEN_ALL_APPS);
+                InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_CLOSE_ALL_APPS_SWIPE);
                 break;
         }
         return super.onControllerInterceptTouchEvent(ev);
@@ -208,11 +205,10 @@
     protected void onReinitToState(LauncherState newToState) {
         super.onReinitToState(newToState);
         if (newToState != ALL_APPS) {
-            InteractionJankMonitorWrapper.cancel(InteractionJankMonitorWrapper.CUJ_OPEN_ALL_APPS);
+            InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_OPEN_ALL_APPS);
         }
         if (newToState != NORMAL) {
-            InteractionJankMonitorWrapper.cancel(
-                    InteractionJankMonitorWrapper.CUJ_CLOSE_ALL_APPS_SWIPE);
+            InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_CLOSE_ALL_APPS_SWIPE);
         }
     }
 
@@ -220,18 +216,16 @@
     protected void onReachedFinalState(LauncherState toState) {
         super.onReachedFinalState(toState);
         if (toState == ALL_APPS) {
-            InteractionJankMonitorWrapper.end(InteractionJankMonitorWrapper.CUJ_OPEN_ALL_APPS);
+            InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_OPEN_ALL_APPS);
         } else if (toState == NORMAL) {
-            InteractionJankMonitorWrapper.end(
-                    InteractionJankMonitorWrapper.CUJ_CLOSE_ALL_APPS_SWIPE);
+            InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_CLOSE_ALL_APPS_SWIPE);
         }
     }
 
     @Override
     protected void clearState() {
         super.clearState();
-        InteractionJankMonitorWrapper.cancel(InteractionJankMonitorWrapper.CUJ_OPEN_ALL_APPS);
-        InteractionJankMonitorWrapper.cancel(
-                InteractionJankMonitorWrapper.CUJ_CLOSE_ALL_APPS_SWIPE);
+        InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_OPEN_ALL_APPS);
+        InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_CLOSE_ALL_APPS_SWIPE);
     }
 }
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/QuickSwitchTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/QuickSwitchTouchController.java
index 9a35bb2..ff142fe 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/QuickSwitchTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/QuickSwitchTouchController.java
@@ -30,6 +30,7 @@
 import static com.android.launcher3.states.StateAnimationConfig.ANIM_WORKSPACE_FADE;
 import static com.android.launcher3.states.StateAnimationConfig.ANIM_WORKSPACE_TRANSLATE;
 import static com.android.launcher3.util.SystemUiController.UI_STATE_FULLSCREEN_TASK;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 import static com.android.quickstep.views.RecentsView.ADJACENT_PAGE_HORIZONTAL_OFFSET;
 import static com.android.quickstep.views.RecentsView.RECENTS_SCALE_PROPERTY;
 import static com.android.quickstep.views.RecentsView.UPDATE_SYSUI_FLAGS_THRESHOLD;
@@ -48,7 +49,6 @@
 import com.android.launcher3.util.NavigationMode;
 import com.android.quickstep.SystemUiProxy;
 import com.android.quickstep.TaskUtils;
-import com.android.quickstep.views.DesktopTaskView;
 import com.android.quickstep.views.RecentsView;
 import com.android.quickstep.views.TaskView;
 
@@ -79,7 +79,7 @@
         if ((ev.getEdgeFlags() & Utilities.EDGE_NAV_BAR) == 0) {
             return false;
         }
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+        if (isDesktopModeSupported()) {
             // TODO(b/268075592): add support for quickswitch to/from desktop
             return false;
         }
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java
index 26ab3d6..cda7855 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java
@@ -21,6 +21,7 @@
 import static android.view.MotionEvent.ACTION_UP;
 import static android.view.WindowManager.LayoutParams.FLAG_SLIPPERY;
 
+import static com.android.launcher3.MotionEventsUtils.isTrackpadScroll;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SWIPE_DOWN_WORKSPACE_NOTISHADE_OPEN;
 
 import android.graphics.PointF;
@@ -57,6 +58,8 @@
     /* If {@code false}, this controller should not handle the input {@link MotionEvent}.*/
     private boolean mCanIntercept;
 
+    private boolean mIsTrackpadReverseScroll;
+
     public StatusBarTouchController(Launcher l) {
         mLauncher = l;
         mSystemUiProxy = SystemUiProxy.INSTANCE.get(mLauncher);
@@ -92,6 +95,8 @@
             }
             mDownEvents.clear();
             mDownEvents.put(pid, new PointF(ev.getX(), ev.getY()));
+            mIsTrackpadReverseScroll = !mLauncher.isNaturalScrollingEnabled()
+                    && isTrackpadScroll(ev);
         } else if (ev.getActionMasked() == MotionEvent.ACTION_POINTER_DOWN) {
             // Check!! should only set it only when threshold is not entered.
             mDownEvents.put(pid, new PointF(ev.getX(idx), ev.getY(idx)));
@@ -102,6 +107,9 @@
         if (action == ACTION_MOVE) {
             float dy = ev.getY(idx) - mDownEvents.get(pid).y;
             float dx = ev.getX(idx) - mDownEvents.get(pid).x;
+            if (mIsTrackpadReverseScroll) {
+                dy = -dy;
+            }
             // Currently input dispatcher will not do touch transfer if there are more than
             // one touch pointer. Hence, even if slope passed, only set the slippery flag
             // when there is single touch event. (context: InputDispatcher.cpp line 1445)
@@ -126,6 +134,7 @@
             mLauncher.getStatsLogManager().logger()
                     .log(LAUNCHER_SWIPE_DOWN_WORKSPACE_NOTISHADE_OPEN);
             setWindowSlippery(false);
+            mIsTrackpadReverseScroll = false;
             return true;
         }
         return true;
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java
index 3d94857..19bfe06 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java
@@ -15,7 +15,7 @@
  */
 package com.android.launcher3.uioverrides.touchcontrollers;
 
-import static com.android.launcher3.AbstractFloatingView.TYPE_ACCESSIBLE;
+import static com.android.launcher3.AbstractFloatingView.TYPE_TOUCH_CONTROLLER_NO_INTERCEPT;
 import static com.android.launcher3.LauncherAnimUtils.SUCCESS_TRANSITION_PROGRESS;
 import static com.android.launcher3.touch.SingleAxisSwipeDetector.DIRECTION_BOTH;
 
@@ -112,7 +112,8 @@
             // If we are already animating from a previous state, we can intercept.
             return true;
         }
-        if (AbstractFloatingView.getTopOpenViewWithType(mActivity, TYPE_ACCESSIBLE) != null) {
+        if (AbstractFloatingView.getTopOpenViewWithType(
+                mActivity, TYPE_TOUCH_CONTROLLER_NO_INTERCEPT) != null) {
             return false;
         }
         return isRecentsInteractive();
diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
index 1ef4039..cbf6ad6 100644
--- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
+++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
@@ -24,6 +24,8 @@
 import static com.android.app.animation.Interpolators.ACCELERATE_DECELERATE;
 import static com.android.app.animation.Interpolators.DECELERATE;
 import static com.android.app.animation.Interpolators.OVERSHOOT_1_2;
+import static com.android.launcher3.BaseActivity.EVENT_DESTROYED;
+import static com.android.launcher3.BaseActivity.EVENT_STARTED;
 import static com.android.launcher3.BaseActivity.INVISIBLE_BY_STATE_HANDLER;
 import static com.android.launcher3.BaseActivity.STATE_HANDLER_INVISIBILITY_FLAGS;
 import static com.android.launcher3.LauncherPrefs.ALL_APPS_OVERVIEW_THRESHOLD;
@@ -51,8 +53,10 @@
 import static com.android.quickstep.MultiStateCallback.DEBUG_STATES;
 import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.CANCEL_RECENTS_ANIMATION;
 import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.EXPECTING_TASK_APPEARED;
+import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.INVALID_VELOCITY_ON_SWIPE_UP;
 import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.LAUNCHER_DESTROYED;
 import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.ON_SETTLED_ON_END_TARGET;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 import static com.android.quickstep.views.RecentsView.UPDATE_SYSUI_FLAGS_THRESHOLD;
 import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS;
 
@@ -61,7 +65,6 @@
 import android.animation.AnimatorSet;
 import android.animation.ValueAnimator;
 import android.annotation.TargetApi;
-import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.TaskInfo;
 import android.app.WindowConfiguration;
@@ -78,6 +81,7 @@
 import android.util.Log;
 import android.view.MotionEvent;
 import android.view.RemoteAnimationTarget;
+import android.view.SurfaceControl;
 import android.view.View;
 import android.view.View.OnApplyWindowInsetsListener;
 import android.view.ViewGroup;
@@ -88,9 +92,11 @@
 import android.widget.Toast;
 import android.window.PictureInPictureSurfaceTransaction;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.UiThread;
 
+import com.android.internal.jank.Cuj;
 import com.android.internal.util.LatencyTracker;
 import com.android.launcher3.AbstractFloatingView;
 import com.android.launcher3.DeviceProfile;
@@ -108,7 +114,6 @@
 import com.android.launcher3.taskbar.TaskbarThresholdUtils;
 import com.android.launcher3.taskbar.TaskbarUIController;
 import com.android.launcher3.uioverrides.QuickstepLauncher;
-import com.android.launcher3.util.ActivityLifecycleCallbacksAdapter;
 import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.SafeCloseable;
 import com.android.launcher3.util.TraceHelper;
@@ -131,7 +136,6 @@
 import com.android.quickstep.util.SurfaceTransactionApplier;
 import com.android.quickstep.util.SwipePipToHomeAnimator;
 import com.android.quickstep.util.TaskViewSimulator;
-import com.android.quickstep.views.DesktopTaskView;
 import com.android.quickstep.views.RecentsView;
 import com.android.quickstep.views.TaskView;
 import com.android.quickstep.views.TaskView.TaskIdAttributeContainer;
@@ -177,25 +181,19 @@
     protected @Nullable RecentsAnimationController mRecentsAnimationController;
     protected @Nullable RecentsAnimationController mDeferredCleanupRecentsAnimationController;
     protected RecentsAnimationTargets mRecentsAnimationTargets;
-    protected T mActivity;
+    protected @Nullable T mActivity;
     protected @Nullable Q mRecentsView;
     protected Runnable mGestureEndCallback;
     protected MultiStateCallback mStateCallback;
     protected boolean mCanceled;
     private boolean mRecentsViewScrollLinked = false;
-    private final ActivityLifecycleCallbacksAdapter mLifecycleCallbacks =
-            new ActivityLifecycleCallbacksAdapter() {
-                @Override
-                public void onActivityDestroyed(Activity activity) {
-                    if (mActivity != activity) {
-                        return;
-                    }
-                    ActiveGestureLog.INSTANCE.addLog("Launcher destroyed", LAUNCHER_DESTROYED);
-                    mRecentsView = null;
-                    mActivity = null;
-                    mStateCallback.clearState(STATE_LAUNCHER_PRESENT);
-                }
-            };
+
+    private final Runnable mLauncherOnDestroyCallback = () -> {
+        ActiveGestureLog.INSTANCE.addLog("Launcher destroyed", LAUNCHER_DESTROYED);
+        mRecentsView = null;
+        mActivity = null;
+        mStateCallback.clearState(STATE_LAUNCHER_PRESENT);
+    };
 
     private static int FLAG_COUNT = 0;
     private static int getNextStateFlag(String name) {
@@ -316,8 +314,9 @@
     private final int mSplashMainWindowShiftLength;
 
     private final Runnable mOnDeferredActivityLaunch = this::onDeferredActivityLaunch;
+    private final Runnable mLauncherOnStartCallback = this::onLauncherStart;
 
-    private SwipePipToHomeAnimator mSwipePipToHomeAnimator;
+    @Nullable private SwipePipToHomeAnimator mSwipePipToHomeAnimator;
     protected boolean mIsSwipingPipToHome;
     // TODO(b/195473090) no split PIP for now, remove once we have more clarity
     //  can try to have RectFSpringAnim evaluate multiple rects at once
@@ -355,7 +354,7 @@
                         return ROTATION_0;
                     }
                     return mRecentsView.getPagedViewOrientedState().getRecentsActivityRotation();
-                }, inputConsumer, /* callback = */ () -> {
+                }, inputConsumer, /* onTouchDownCallback = */ () -> {
                     endRunningWindowAnim(mGestureState.getEndTarget() == HOME /* cancel */);
                     endLauncherTransitionController();
                 }, new InputProxyHandlerFactory(mActivityInterface, mGestureState));
@@ -489,6 +488,7 @@
                 mGestureState.setState(STATE_RECENTS_SCROLLING_FINISHED);
                 return true;
             }
+            resetLauncherListeners();
 
             // The launcher may have been recreated as a result of device rotation.
             int oldState = mStateCallback.getState() & ~LAUNCHER_UI_STATES;
@@ -512,7 +512,7 @@
         if (alreadyOnHome) {
             onLauncherStart();
         } else {
-            activity.runOnceOnStart(this::onLauncherStart);
+            activity.addEventCallback(EVENT_STARTED, mLauncherOnStartCallback);
         }
 
         // Set up a entire animation lifecycle callback to notify the current recents view when
@@ -537,9 +537,8 @@
 
         setupRecentsViewUi();
         mRecentsView.runOnPageScrollsInitialized(this::linkRecentsViewScroll);
-        activity.runOnBindToTouchInteractionService(this::onLauncherBindToService);
-
-        mActivity.registerActivityLifecycleCallbacks(mLifecycleCallbacks);
+        mActivity.runOnBindToTouchInteractionService(this::onLauncherBindToService);
+        mActivity.addEventCallback(EVENT_DESTROYED, mLauncherOnDestroyCallback);
         return true;
     }
 
@@ -552,7 +551,7 @@
 
     private void onLauncherStart() {
         final T activity = mActivityInterface.getCreatedActivity();
-        if (mActivity != activity) {
+        if (activity == null || mActivity != activity) {
             return;
         }
         if (mStateCallback.hasStates(STATE_HANDLER_INVALIDATED)) {
@@ -676,6 +675,9 @@
         if (Arrays.stream(runningTasks).anyMatch(Objects::isNull)) {
             return;
         }
+        if (mRecentsView == null) {
+            return;
+        }
         mRecentsView.onGestureAnimationStart(runningTasks, mDeviceState.getRotationTouchHelper());
     }
 
@@ -854,7 +856,9 @@
         if (windowInsets.isVisible(WindowInsets.Type.ime())) {
             return result;
         }
-        buildAnimationController();
+        if (mGestureState.getEndTarget() == null) {
+            buildAnimationController();
+        }
         // Reapply the current shift to ensure it takes new insets into account, e.g. when long
         // pressing to stash taskbar without moving the finger.
         onCurrentShiftUpdated();
@@ -922,6 +926,7 @@
             // needs to be canceled
             mRecentsAnimationController.setWillFinishToHome(swipeUpThresholdPassed);
 
+            if (mActivity == null) return;
             if (swipeUpThresholdPassed) {
                 mActivity.getSystemUiController().updateUiState(UI_STATE_FULLSCREEN_TASK, 0);
             } else {
@@ -935,7 +940,7 @@
     public void onRecentsAnimationStart(RecentsAnimationController controller,
             RecentsAnimationTargets targets) {
         super.onRecentsAnimationStart(controller, targets);
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED && targets.hasDesktopTasks()) {
+        if (isDesktopModeSupported() && targets.hasDesktopTasks()) {
             mRemoteTargetHandles = mTargetGluer.assignTargetsForDesktop(targets);
         } else {
             int untrimmedAppCount = mRemoteTargetHandles.length;
@@ -1020,12 +1025,12 @@
                     }
                     mHandled = true;
 
+                    InteractionJankMonitorWrapper.begin(mRecentsView, Cuj.CUJ_LAUNCHER_QUICK_SWITCH,
+                            2000 /* ms timeout */);
                     InteractionJankMonitorWrapper.begin(mRecentsView,
-                            InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH, 2000 /* ms timeout */);
+                            Cuj.CUJ_LAUNCHER_APP_CLOSE_TO_HOME);
                     InteractionJankMonitorWrapper.begin(mRecentsView,
-                            InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_HOME);
-                    InteractionJankMonitorWrapper.begin(mRecentsView,
-                            InteractionJankMonitorWrapper.CUJ_APP_SWIPE_TO_RECENTS);
+                            Cuj.CUJ_LAUNCHER_APP_SWIPE_TO_RECENTS);
 
                     rv.post(() -> rv.getViewTreeObserver().removeOnDrawListener(this));
                 }
@@ -1141,16 +1146,13 @@
         View postResumeLastTask = mActivityInterface.onSettledOnEndTarget(endTarget);
 
         if (endTarget != NEW_TASK) {
-            InteractionJankMonitorWrapper.cancel(
-                    InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH);
+            InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_QUICK_SWITCH);
         }
         if (endTarget != HOME) {
-            InteractionJankMonitorWrapper.cancel(
-                    InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_HOME);
+            InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_APP_CLOSE_TO_HOME);
         }
         if (endTarget != RECENTS) {
-            InteractionJankMonitorWrapper.cancel(
-                    InteractionJankMonitorWrapper.CUJ_APP_SWIPE_TO_RECENTS);
+            InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_APP_SWIPE_TO_RECENTS);
         }
 
         switch (endTarget) {
@@ -1161,7 +1163,7 @@
                 mStateCallback.setState(STATE_SCALED_CONTROLLER_HOME | STATE_CAPTURE_SCREENSHOT);
                 // Notify the SysUI to use fade-in animation when entering PiP
                 SystemUiProxy.INSTANCE.get(mContext).setPipAnimationTypeToAlpha();
-                if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED) {
+                if (isDesktopModeSupported()) {
                     // Notify the SysUI to stash desktop apps if they are visible
                     DesktopVisibilityController desktopVisibilityController =
                             mActivityInterface.getDesktopVisibilityController();
@@ -1189,7 +1191,8 @@
                 break;
         }
         ActiveGestureLog.INSTANCE.addLog(
-                /* event= */ "onSettledOnEndTarget " + endTarget,
+                new ActiveGestureLog.CompoundString("onSettledOnEndTarget ")
+                        .append(endTarget.name()),
                 /* gestureEvent= */ ON_SETTLED_ON_END_TARGET);
     }
 
@@ -1213,14 +1216,19 @@
 
     private GestureEndTarget calculateEndTarget(
             PointF velocityPxPerMs, float endVelocityPxPerMs, boolean isFlingY, boolean isCancel) {
+
+        ActiveGestureErrorDetector.GestureEvent gestureEvent =
+                velocityPxPerMs.x == 0 && velocityPxPerMs.y == 0
+                        ? INVALID_VELOCITY_ON_SWIPE_UP
+                        : null;
         ActiveGestureLog.INSTANCE.addLog(
                 new ActiveGestureLog.CompoundString("calculateEndTarget: velocities=(x=")
-                        .append(Float.toString(dpiFromPx(velocityPxPerMs.x)))
+                        .append(dpiFromPx(velocityPxPerMs.x))
                         .append("dp/ms, y=")
-                        .append(Float.toString(dpiFromPx(velocityPxPerMs.y)))
+                        .append(dpiFromPx(velocityPxPerMs.y))
                         .append("dp/ms), angle=")
-                        .append(Double.toString(Math.toDegrees(Math.atan2(
-                                -velocityPxPerMs.y, velocityPxPerMs.x)))));
+                        .append(Math.toDegrees(Math.atan2(
+                                -velocityPxPerMs.y, velocityPxPerMs.x))), gestureEvent);
 
         if (mGestureState.isHandlingAtomicEvent()) {
             // Button mode, this is only used to go to recents.
@@ -1240,7 +1248,7 @@
             return LAST_TASK;
         }
 
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED && endTarget == NEW_TASK) {
+        if (isDesktopModeSupported() && endTarget == NEW_TASK) {
             // TODO(b/268075592): add support for quickswitch to/from desktop
             return LAST_TASK;
         }
@@ -1257,8 +1265,8 @@
             return isSwipeUp ? ALL_APPS : LAST_TASK;
         }
         if (!isSwipeUp) {
-            final boolean isCenteredOnNewTask =
-                    mRecentsView.getDestinationPage() != mRecentsView.getRunningTaskIndex();
+            final boolean isCenteredOnNewTask = mRecentsView != null
+                    && mRecentsView.getDestinationPage() != mRecentsView.getRunningTaskIndex();
             return willGoToNewTask || isCenteredOnNewTask ? NEW_TASK : LAST_TASK;
         }
 
@@ -1491,7 +1499,9 @@
         if (mGestureState.getEndTarget().isLauncher) {
             // This is also called when the launcher is resumed, in order to clear the pending
             // widgets that have yet to be configured.
-            DragView.removeAllViews(mActivity);
+            if (mActivity != null) {
+                DragView.removeAllViews(mActivity);
+            }
 
             TaskStackChangeListeners.getInstance().registerTaskStackListener(
                     mActivityRestartListener);
@@ -1534,11 +1544,13 @@
             HomeAnimationFactory homeAnimFactory =
                     createHomeAnimationFactory(cookies, duration, isTranslucent, appCanEnterPip,
                             runningTaskTarget);
-            mIsSwipingPipToHome = !mIsSwipeForSplit && appCanEnterPip;
+            SwipePipToHomeAnimator swipePipToHomeAnimator = !mIsSwipeForSplit && appCanEnterPip
+                    ? createWindowAnimationToPip(homeAnimFactory, runningTaskTarget, start)
+                    : null;
+            mIsSwipingPipToHome = swipePipToHomeAnimator != null;
             final RectFSpringAnim[] windowAnim;
             if (mIsSwipingPipToHome) {
-                mSwipePipToHomeAnimator = createWindowAnimationToPip(
-                        homeAnimFactory, runningTaskTarget, start);
+                mSwipePipToHomeAnimator = swipePipToHomeAnimator;
                 mSwipePipToHomeAnimators[0] = mSwipePipToHomeAnimator;
                 if (mSwipePipToHomeReleaseCheck != null) {
                     mSwipePipToHomeReleaseCheck.setCanRelease(false);
@@ -1546,6 +1558,9 @@
 
                 // grab a screenshot before the PipContentOverlay gets parented on top of the task
                 UI_HELPER_EXECUTOR.execute(() -> {
+                    if (mRecentsAnimationController == null) {
+                        return;
+                    }
                     // Directly use top task, split to pip handled on shell side
                     final int taskId = mGestureState.getTopRunningTaskId();
                     mTaskSnapshotCache.put(taskId,
@@ -1557,7 +1572,8 @@
                         mSwipePipToHomeAnimator.getTaskId(),
                         mSwipePipToHomeAnimator.getComponentName(),
                         mSwipePipToHomeAnimator.getDestinationBounds(),
-                        mSwipePipToHomeAnimator.getContentOverlay());
+                        mSwipePipToHomeAnimator.getContentOverlay(),
+                        mSwipePipToHomeAnimator.getAppBounds());
 
                 windowAnim = mSwipePipToHomeAnimators;
             } else {
@@ -1663,6 +1679,10 @@
     @Nullable
     private SwipePipToHomeAnimator createWindowAnimationToPip(HomeAnimationFactory homeAnimFactory,
             RemoteAnimationTarget runningTaskTarget, float startProgress) {
+        if (mRecentsView == null) {
+            // Overview was destroyed, bail early.
+            return null;
+        }
         // Directly animate the app to PiP (picture-in-picture) mode
         final ActivityManager.RunningTaskInfo taskInfo = runningTaskTarget.taskInfo;
         final RecentsOrientedState orientationState = mRemoteTargetHandles[0].getTaskViewSimulator()
@@ -1803,7 +1823,8 @@
     private void continueComputingRecentsScrollIfNecessary() {
         if (!mGestureState.hasState(STATE_RECENTS_SCROLLING_FINISHED)
                 && !mStateCallback.hasStates(STATE_HANDLER_INVALIDATED)
-                && !mCanceled) {
+                && !mCanceled
+                && mRecentsView != null) {
             computeRecentsScrollIfInvisible();
             mRecentsView.postOnAnimation(this::continueComputingRecentsScrollIfNecessary);
         }
@@ -1844,12 +1865,9 @@
     }
 
     public void onConsumerAboutToBeSwitched() {
-        if (mActivity != null) {
-            // In the off chance that the gesture ends before Launcher is started, we should clear
-            // the callback here so that it doesn't update with the wrong state
-            mActivity.clearRunOnceOnStartCallback();
-            resetLauncherListeners();
-        }
+        // In the off chance that the gesture ends before Launcher is started, we should clear
+        // the callback here so that it doesn't update with the wrong state
+        resetLauncherListeners();
         if (mGestureState.isRecentsAnimationRunning() && mGestureState.getEndTarget() != null
                 && !mGestureState.getEndTarget().isLauncher) {
             // Continued quick switch.
@@ -1913,7 +1931,7 @@
     private void reset() {
         mStateCallback.setStateOnUiThread(STATE_HANDLER_INVALIDATED);
         if (mActivity != null) {
-            mActivity.unregisterActivityLifecycleCallbacks(mLifecycleCallbacks);
+            mActivity.removeEventCallback(EVENT_DESTROYED, mLauncherOnDestroyCallback);
         }
     }
 
@@ -1929,7 +1947,7 @@
         mCurrentShift.cancelAnimation();
 
         // Cleanup when switching handlers
-        mInputConsumerProxy.unregisterCallback();
+        mInputConsumerProxy.unregisterOnTouchDownCallback();
         mActivityInitListener.unregister();
         TaskStackChangeListeners.getInstance().unregisterTaskStackListener(
                 mActivityRestartListener);
@@ -1941,7 +1959,7 @@
             mInputConsumerProxy.destroy();
             mTaskAnimationManager.setLiveTileCleanUpHandler(null);
         }
-        mInputConsumerProxy.unregisterCallback();
+        mInputConsumerProxy.unregisterOnTouchDownCallback();
         endRunningWindowAnim(false /* cancel */);
 
         if (mGestureEndCallback != null) {
@@ -1984,8 +2002,12 @@
      * continued quick switch gesture, which cancels the previous handler but doesn't invalidate it.
      */
     private void resetLauncherListeners() {
-        mActivity.getRootView().setOnApplyWindowInsetsListener(null);
+        if (mActivity != null) {
+            mActivity.removeEventCallback(EVENT_STARTED, mLauncherOnStartCallback);
+            mActivity.removeEventCallback(EVENT_DESTROYED, mLauncherOnDestroyCallback);
 
+            mActivity.getRootView().setOnApplyWindowInsetsListener(null);
+        }
         if (mRecentsView != null) {
             mRecentsView.removeOnScrollChangedListener(mOnRecentsScrollListener);
         }
@@ -2021,10 +2043,12 @@
                 // Update the screenshot of the task
                 if (shouldUpdate) {
                     UI_HELPER_EXECUTOR.execute(() -> {
-                        if (mRecentsAnimationController == null) return;
+                        RecentsAnimationController recentsAnimationController =
+                                mRecentsAnimationController;
+                        if (recentsAnimationController == null) return;
                         for (int id : runningTaskIds) {
                             mTaskSnapshotCache.put(
-                                    id, mRecentsAnimationController.screenshotTask(id));
+                                    id, recentsAnimationController.screenshotTask(id));
                         }
 
                         MAIN_EXECUTOR.execute(() -> {
@@ -2077,18 +2101,9 @@
     }
 
     private void finishCurrentTransitionToRecents() {
-        if (mRecentsView != null
-                && mActivityInterface.getDesktopVisibilityController() != null
-                && mActivityInterface.getDesktopVisibilityController().areFreeformTasksVisible()) {
-            mRecentsView.switchToScreenshot(() -> {
-                mRecentsView.finishRecentsAnimation(true /* toRecents */, false /* shouldPip */,
-                        () -> mStateCallback.setStateOnUiThread(STATE_CURRENT_TASK_FINISHED));
-            });
-        } else {
-            mStateCallback.setStateOnUiThread(STATE_CURRENT_TASK_FINISHED);
-            if (mRecentsAnimationController != null) {
-                mRecentsAnimationController.detachNavigationBarFromApp(true);
-            }
+        mStateCallback.setStateOnUiThread(STATE_CURRENT_TASK_FINISHED);
+        if (mRecentsAnimationController != null) {
+            mRecentsAnimationController.detachNavigationBarFromApp(true);
         }
     }
 
@@ -2114,7 +2129,7 @@
      * from Launcher to WM.
      */
     private void maybeAbortSwipePipToHome() {
-        if (mIsSwipingPipToHome && mSwipePipToHomeAnimators[0] != null) {
+        if (mIsSwipingPipToHome && mSwipePipToHomeAnimator != null) {
             SystemUiProxy.INSTANCE.get(mContext).abortSwipePipToHome(
                     mSwipePipToHomeAnimator.getTaskId(),
                     mSwipePipToHomeAnimator.getComponentName());
@@ -2128,7 +2143,10 @@
      * This should happen before {@link #finishRecentsControllerToHome(Runnable)}.
      */
     private void maybeFinishSwipePipToHome() {
-        if (mIsSwipingPipToHome && mSwipePipToHomeAnimators[0] != null) {
+        if (mRecentsAnimationController == null) {
+            return;
+        }
+        if (mIsSwipingPipToHome && mSwipePipToHomeAnimator != null) {
             mRecentsAnimationController.setFinishTaskTransaction(
                     mSwipePipToHomeAnimator.getTaskId(),
                     mSwipePipToHomeAnimator.getFinishTransaction(),
@@ -2152,7 +2170,7 @@
     protected abstract void finishRecentsControllerToHome(Runnable callback);
 
     private void setupLauncherUiAfterSwipeUpToRecentsAnimation() {
-        if (mStateCallback.hasStates(STATE_HANDLER_INVALIDATED)) {
+        if (mStateCallback.hasStates(STATE_HANDLER_INVALIDATED) || mRecentsView == null) {
             return;
         }
         endLauncherTransitionController();
@@ -2186,6 +2204,9 @@
     }
 
     protected void linkRecentsViewScroll() {
+        if (mRecentsView == null) {
+            return;
+        }
         SurfaceTransactionApplier applier = new SurfaceTransactionApplier(mRecentsView);
         runActionOnRemoteHandles(remoteTargetHandle -> remoteTargetHandle.getTransformParams()
                         .setSyncTransactionApplier(applier));
@@ -2193,9 +2214,13 @@
                 mRecentsAnimationTargets.addReleaseCheck(applier));
 
         mRecentsView.addOnScrollChangedListener(mOnRecentsScrollListener);
-        runOnRecentsAnimationAndLauncherBound(() ->
-                mRecentsView.setRecentsAnimationTargets(mRecentsAnimationController,
-                        mRecentsAnimationTargets));
+        runOnRecentsAnimationAndLauncherBound(() -> {
+            if (mRecentsView == null) {
+                return;
+            }
+            mRecentsView.setRecentsAnimationTargets(
+                    mRecentsAnimationController, mRecentsAnimationTargets);
+        });
 
         // Disable scrolling in RecentsView for trackpad 3-finger swipe up gesture.
         if (!mGestureState.isThreeFingerTrackpadGesture()) {
@@ -2215,7 +2240,8 @@
             TaskView nextTask = mRecentsView == null ? null : mRecentsView.getNextPageTaskView();
             if (nextTask != null) {
                 int[] taskIds = nextTask.getTaskIds();
-                StringBuilder nextTaskLog = new StringBuilder();
+                ActiveGestureLog.CompoundString nextTaskLog = new ActiveGestureLog.CompoundString(
+                        "Launching task: ");
                 for (TaskIdAttributeContainer c : nextTask.getTaskIdAttributeContainers()) {
                     if (c == null) {
                         continue;
@@ -2234,7 +2260,7 @@
                 if (!hasTaskPreviouslyAppeared) {
                     ActiveGestureLog.INSTANCE.trackEvent(EXPECTING_TASK_APPEARED);
                 }
-                ActiveGestureLog.INSTANCE.addLog("Launching task: " + nextTaskLog);
+                ActiveGestureLog.INSTANCE.addLog(nextTaskLog);
                 nextTask.launchTask(success -> {
                     resultCallback.accept(success);
                     if (success) {
@@ -2292,7 +2318,7 @@
     }
 
     @Override
-    public void onRecentsAnimationFinished(RecentsAnimationController controller) {
+    public void onRecentsAnimationFinished(@NonNull RecentsAnimationController controller) {
         mRecentsAnimationController = null;
         mRecentsAnimationTargets = null;
         if (mRecentsView != null) {
@@ -2301,77 +2327,95 @@
     }
 
     @Override
-    public void onTasksAppeared(RemoteAnimationTarget[] appearedTaskTargets) {
-        if (mRecentsAnimationController != null) {
-            boolean hasStartedTaskBefore = Arrays.stream(appearedTaskTargets).anyMatch(
-                    mGestureState.mLastStartedTaskIdPredicate);
-            if (!mStateCallback.hasStates(STATE_GESTURE_COMPLETED) && !hasStartedTaskBefore) {
-                // This is a special case, if a task is started mid-gesture that wasn't a part of a
-                // previous quickswitch task launch, then cancel the animation back to the app
-                RemoteAnimationTarget appearedTaskTarget = appearedTaskTargets[0];
-                TaskInfo taskInfo = appearedTaskTarget.taskInfo;
-                ActiveGestureLog.INSTANCE.addLog("Unexpected task appeared"
-                        + " id=" + taskInfo.taskId
-                        + " pkg=" + taskInfo.baseIntent.getComponent().getPackageName());
-                finishRecentsAnimationOnTasksAppeared(null /* onFinishComplete */);
-            } else if (handleTaskAppeared(appearedTaskTargets)) {
-                Optional<RemoteAnimationTarget> taskTargetOptional =
-                        Arrays.stream(appearedTaskTargets)
-                                .filter(mGestureState.mLastStartedTaskIdPredicate)
-                                .findFirst();
-                if (!taskTargetOptional.isPresent()) {
-                    ActiveGestureLog.INSTANCE.addLog("No appeared task matching started task id");
-                    finishRecentsAnimationOnTasksAppeared(null /* onFinishComplete */);
-                    return;
-                }
-                RemoteAnimationTarget taskTarget = taskTargetOptional.get();
-                TaskView taskView = mRecentsView == null
-                        ? null : mRecentsView.getTaskViewByTaskId(taskTarget.taskId);
-                if (taskView == null || !taskView.getThumbnail().shouldShowSplashView()) {
-                    ActiveGestureLog.INSTANCE.addLog("Invalid task view splash state");
-                    finishRecentsAnimationOnTasksAppeared(null /* onFinishComplete */);
-                    return;
-                }
-
-                ViewGroup splashView = mActivity.getDragLayer();
-                final QuickstepLauncher quickstepLauncher = mActivity instanceof QuickstepLauncher
-                        ? (QuickstepLauncher) mActivity : null;
-                if (quickstepLauncher != null) {
-                    quickstepLauncher.getDepthController().pauseBlursOnWindows(true);
-                }
-
-                // When revealing the app with launcher splash screen, make the app visible
-                // and behind the splash view before the splash is animated away.
-                SurfaceTransactionApplier surfaceApplier =
-                        new SurfaceTransactionApplier(splashView);
-                SurfaceTransaction transaction = new SurfaceTransaction();
-                for (RemoteAnimationTarget target : appearedTaskTargets) {
-                    transaction.forSurface(target.leash).setAlpha(1).setLayer(-1).setShow();
-                }
-                surfaceApplier.scheduleApply(transaction);
-
-                SplashScreenExitAnimationUtils.startAnimations(splashView, taskTarget.leash,
-                        mSplashMainWindowShiftLength, new TransactionPool(), new Rect(),
-                        SPLASH_ANIMATION_DURATION, SPLASH_FADE_OUT_DURATION,
-                        /* iconStartAlpha= */ 0, /* brandingStartAlpha= */ 0,
-                        SPLASH_APP_REVEAL_DELAY, SPLASH_APP_REVEAL_DURATION,
-                        new AnimatorListenerAdapter() {
-                            @Override
-                            public void onAnimationEnd(Animator animation) {
-                                // Hiding launcher which shows the app surface behind, then
-                                // finishing recents to the app. After transition finish, showing
-                                // the views on launcher again, so it can be visible when next
-                                // animation starts.
-                                splashView.setAlpha(0);
-                                if (quickstepLauncher != null) {
-                                    quickstepLauncher.getDepthController()
-                                            .pauseBlursOnWindows(false);
-                                }
-                                finishRecentsAnimationOnTasksAppeared(() -> splashView.setAlpha(1));
-                            }
-                        });
-            }
+    public void onTasksAppeared(@NonNull RemoteAnimationTarget[] appearedTaskTargets) {
+        if (mRecentsAnimationController == null) {
+            return;
         }
+        boolean hasStartedTaskBefore = Arrays.stream(appearedTaskTargets).anyMatch(
+                mGestureState.mLastStartedTaskIdPredicate);
+        if (!mStateCallback.hasStates(STATE_GESTURE_COMPLETED) && !hasStartedTaskBefore) {
+            // This is a special case, if a task is started mid-gesture that wasn't a part of a
+            // previous quickswitch task launch, then cancel the animation back to the app
+            RemoteAnimationTarget appearedTaskTarget = appearedTaskTargets[0];
+            TaskInfo taskInfo = appearedTaskTarget.taskInfo;
+            ActiveGestureLog.INSTANCE.addLog(
+                    new ActiveGestureLog.CompoundString("Unexpected task appeared")
+                            .append(" id=")
+                            .append(taskInfo.taskId)
+                            .append(" pkg=")
+                            .append(taskInfo.baseIntent.getComponent().getPackageName()));
+            finishRecentsAnimationOnTasksAppeared(null /* onFinishComplete */);
+            return;
+        }
+        if (!handleTaskAppeared(appearedTaskTargets)) {
+            return;
+        }
+        Optional<RemoteAnimationTarget> taskTargetOptional =
+                Arrays.stream(appearedTaskTargets)
+                        .filter(mGestureState.mLastStartedTaskIdPredicate)
+                        .findFirst();
+        if (!taskTargetOptional.isPresent()) {
+            ActiveGestureLog.INSTANCE.addLog("No appeared task matching started task id");
+            finishRecentsAnimationOnTasksAppeared(null /* onFinishComplete */);
+            return;
+        }
+        RemoteAnimationTarget taskTarget = taskTargetOptional.get();
+        TaskView taskView = mRecentsView == null
+                ? null : mRecentsView.getTaskViewByTaskId(taskTarget.taskId);
+        if (taskView == null || !taskView.getThumbnail().shouldShowSplashView()) {
+            ActiveGestureLog.INSTANCE.addLog("Invalid task view splash state");
+            finishRecentsAnimationOnTasksAppeared(null /* onFinishComplete */);
+            return;
+        }
+        if (mActivity == null) {
+            ActiveGestureLog.INSTANCE.addLog("Activity destroyed");
+            finishRecentsAnimationOnTasksAppeared(null /* onFinishComplete */);
+            return;
+        }
+        animateSplashScreenExit(mActivity, appearedTaskTargets, taskTarget.leash);
+    }
+
+    private void animateSplashScreenExit(
+            @NonNull T activity,
+            @NonNull RemoteAnimationTarget[] appearedTaskTargets,
+            @NonNull SurfaceControl leash) {
+        ViewGroup splashView = activity.getDragLayer();
+        final QuickstepLauncher quickstepLauncher = activity instanceof QuickstepLauncher
+                ? (QuickstepLauncher) activity : null;
+        if (quickstepLauncher != null) {
+            quickstepLauncher.getDepthController().pauseBlursOnWindows(true);
+        }
+
+        // When revealing the app with launcher splash screen, make the app visible
+        // and behind the splash view before the splash is animated away.
+        SurfaceTransactionApplier surfaceApplier =
+                new SurfaceTransactionApplier(splashView);
+        SurfaceTransaction transaction = new SurfaceTransaction();
+        for (RemoteAnimationTarget target : appearedTaskTargets) {
+            transaction.forSurface(target.leash).setAlpha(1).setLayer(-1).setShow();
+        }
+        surfaceApplier.scheduleApply(transaction);
+
+        SplashScreenExitAnimationUtils.startAnimations(splashView, leash,
+                mSplashMainWindowShiftLength, new TransactionPool(), new Rect(),
+                SPLASH_ANIMATION_DURATION, SPLASH_FADE_OUT_DURATION,
+                /* iconStartAlpha= */ 0, /* brandingStartAlpha= */ 0,
+                SPLASH_APP_REVEAL_DELAY, SPLASH_APP_REVEAL_DURATION,
+                new AnimatorListenerAdapter() {
+                    @Override
+                    public void onAnimationEnd(Animator animation) {
+                        // Hiding launcher which shows the app surface behind, then
+                        // finishing recents to the app. After transition finish, showing
+                        // the views on launcher again, so it can be visible when next
+                        // animation starts.
+                        splashView.setAlpha(0);
+                        if (quickstepLauncher != null) {
+                            quickstepLauncher.getDepthController()
+                                    .pauseBlursOnWindows(false);
+                        }
+                        finishRecentsAnimationOnTasksAppeared(() -> splashView.setAlpha(1));
+                    }
+                });
     }
 
     private void finishRecentsAnimationOnTasksAppeared(Runnable onFinishComplete) {
diff --git a/quickstep/src/com/android/quickstep/BaseActivityInterface.java b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
index 5a9d80d..2dd6a29 100644
--- a/quickstep/src/com/android/quickstep/BaseActivityInterface.java
+++ b/quickstep/src/com/android/quickstep/BaseActivityInterface.java
@@ -25,6 +25,7 @@
 import static com.android.quickstep.GestureState.GestureEndTarget.RECENTS;
 import static com.android.quickstep.util.RecentsAtomicAnimationFactory.INDEX_RECENTS_FADE_ANIM;
 import static com.android.quickstep.util.RecentsAtomicAnimationFactory.INDEX_RECENTS_TRANSLATE_X_ANIM;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 import static com.android.quickstep.views.RecentsView.ADJACENT_PAGE_HORIZONTAL_OFFSET;
 import static com.android.quickstep.views.RecentsView.FULLSCREEN_PROGRESS;
 import static com.android.quickstep.views.RecentsView.RECENTS_SCALE_PROPERTY;
@@ -50,10 +51,10 @@
 import androidx.annotation.UiThread;
 
 import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.Flags;
 import com.android.launcher3.R;
 import com.android.launcher3.anim.AnimatorPlaybackController;
 import com.android.launcher3.anim.PendingAnimation;
-import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.statehandlers.DepthController;
 import com.android.launcher3.statehandlers.DesktopVisibilityController;
 import com.android.launcher3.statemanager.BaseState;
@@ -65,7 +66,6 @@
 import com.android.launcher3.views.ScrimView;
 import com.android.quickstep.util.ActivityInitListener;
 import com.android.quickstep.util.AnimatorControllerWithResistance;
-import com.android.quickstep.views.DesktopTaskView;
 import com.android.quickstep.views.RecentsView;
 import com.android.systemui.shared.recents.model.ThumbnailData;
 
@@ -111,7 +111,7 @@
         if (endTarget != null) {
             // We were on our way to this state when we got canceled, end there instead.
             startState = stateFromGestureEndTarget(endTarget);
-            if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+            if (isDesktopModeSupported()) {
                 DesktopVisibilityController controller = getDesktopVisibilityController();
                 if (controller != null && controller.areFreeformTasksVisible()
                         && endTarget == LAST_TASK) {
@@ -191,8 +191,11 @@
     public abstract boolean allowAllAppsFromOverview();
 
     public boolean deferStartingActivity(RecentsAnimationDeviceState deviceState, MotionEvent ev) {
+        TaskbarUIController controller = getTaskbarController();
+        boolean isEventOverBubbleBarStashHandle =
+                controller != null && controller.isEventOverBubbleBarStashHandle(ev);
         return deviceState.isInDeferredGestureRegion(ev) || deviceState.isImeRenderingNavButtons()
-                || isTrackpadMultiFingerSwipe(ev);
+                || isTrackpadMultiFingerSwipe(ev) || isEventOverBubbleBarStashHandle;
     }
 
     /**
@@ -239,7 +242,7 @@
     public final void calculateTaskSize(Context context, DeviceProfile dp, Rect outRect,
             PagedOrientationHandler orientedState) {
         if (dp.isTablet) {
-            if (FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get()) {
+            if (Flags.enableGridOnlyOverview()) {
                 calculateGridTaskSize(context, dp, outRect, orientedState);
             } else {
                 calculateFocusTaskSize(context, dp, outRect);
@@ -264,7 +267,7 @@
         Resources res = context.getResources();
         float maxScale = res.getFloat(R.dimen.overview_max_scale);
         Rect gridRect = new Rect();
-        calculateGridSize(dp, gridRect);
+        calculateGridSize(dp, context, gridRect);
         calculateTaskSizeInternal(context, dp, gridRect, maxScale, Gravity.CENTER, outRect);
     }
 
@@ -318,10 +321,16 @@
     /**
      * Calculates the overview grid size for the provided device configuration.
      */
-    public final void calculateGridSize(DeviceProfile dp, Rect outRect) {
+    public final void calculateGridSize(DeviceProfile dp, Context context, Rect outRect) {
         Rect insets = dp.getInsets();
         int topMargin = dp.overviewTaskThumbnailTopMarginPx;
         int bottomMargin = dp.getOverviewActionsClaimedSpace();
+        if (dp.isTaskbarPresent && Flags.enableGridOnlyOverview()) {
+            topMargin += context.getResources().getDimensionPixelSize(
+                    R.dimen.overview_top_margin_grid_only);
+            bottomMargin += context.getResources().getDimensionPixelSize(
+                    R.dimen.overview_bottom_margin_grid_only);
+        }
         int sideMargin = dp.overviewGridSideMargin;
 
         outRect.set(0, 0, dp.widthPx, dp.heightPx);
@@ -336,8 +345,8 @@
             PagedOrientationHandler orientedState) {
         Resources res = context.getResources();
         Rect potentialTaskRect = new Rect();
-        if (FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get()) {
-            calculateGridSize(dp, potentialTaskRect);
+        if (Flags.enableGridOnlyOverview()) {
+            calculateGridSize(dp, context, potentialTaskRect);
         } else {
             calculateFocusTaskSize(context, dp, potentialTaskRect);
         }
@@ -368,7 +377,7 @@
     public final void calculateModalTaskSize(Context context, DeviceProfile dp, Rect outRect,
             PagedOrientationHandler orientedState) {
         calculateTaskSize(context, dp, outRect, orientedState);
-        boolean isGridOnlyOverview = dp.isTablet && FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get();
+        boolean isGridOnlyOverview = dp.isTablet && Flags.enableGridOnlyOverview();
         int claimedSpaceBelow = isGridOnlyOverview
                 ? dp.overviewActionsTopMarginPx + dp.overviewActionsHeight + dp.stashedTaskbarHeight
                 : (dp.heightPx - outRect.bottom - dp.getInsets().bottom);
@@ -437,11 +446,13 @@
     }
 
     protected void runOnInitBackgroundStateUI(Runnable callback) {
-        mOnInitBackgroundStateUICallback = callback;
         ACTIVITY_TYPE activity = getCreatedActivity();
         if (activity != null && activity.getStateManager().getState() == mBackgroundState) {
+            callback.run();
             onInitBackgroundStateUI();
+            return;
         }
+        mOnInitBackgroundStateUICallback = callback;
     }
 
     private void onInitBackgroundStateUI() {
diff --git a/quickstep/src/com/android/quickstep/BootAwarePreloader.kt b/quickstep/src/com/android/quickstep/BootAwarePreloader.kt
index 35404a9..2fc4d04 100644
--- a/quickstep/src/com/android/quickstep/BootAwarePreloader.kt
+++ b/quickstep/src/com/android/quickstep/BootAwarePreloader.kt
@@ -19,7 +19,7 @@
 import android.util.Log
 import com.android.launcher3.LauncherAppState
 import com.android.launcher3.LauncherPrefs
-import com.android.launcher3.isBootAwareStartupDataEnabled
+import com.android.launcher3.moveStartupDataToDeviceProtectedStorageIsEnabled
 import com.android.launcher3.util.LockedUserState
 
 /**
@@ -33,7 +33,8 @@
     fun start(context: Context) {
         val lp = LauncherPrefs.get(context)
         when {
-            LockedUserState.get(context).isUserUnlocked || !isBootAwareStartupDataEnabled -> {
+            LockedUserState.get(context).isUserUnlocked ||
+                !moveStartupDataToDeviceProtectedStorageIsEnabled -> {
                 /* No-Op */
             }
             lp.isStartupDataMigrated -> {
diff --git a/quickstep/src/com/android/quickstep/FallbackSwipeHandler.java b/quickstep/src/com/android/quickstep/FallbackSwipeHandler.java
index c5a88bc..57b9a39 100644
--- a/quickstep/src/com/android/quickstep/FallbackSwipeHandler.java
+++ b/quickstep/src/com/android/quickstep/FallbackSwipeHandler.java
@@ -66,6 +66,7 @@
 import com.android.launcher3.util.DisplayController;
 import com.android.quickstep.fallback.FallbackRecentsView;
 import com.android.quickstep.fallback.RecentsState;
+import com.android.quickstep.util.ActiveGestureLog;
 import com.android.quickstep.util.RectFSpringAnim;
 import com.android.quickstep.util.SurfaceTransaction.SurfaceProperties;
 import com.android.quickstep.util.TransformParams;
@@ -151,19 +152,20 @@
             return new FallbackPipToHomeAnimationFactory();
         }
         mActiveAnimationFactory = new FallbackHomeAnimationFactory(duration);
-        startHomeIntent(mActiveAnimationFactory, runningTaskTarget);
+        startHomeIntent(mActiveAnimationFactory, runningTaskTarget, "FallbackSwipeHandler-home");
         return mActiveAnimationFactory;
     }
 
     private void startHomeIntent(
             @Nullable FallbackHomeAnimationFactory gestureContractAnimationFactory,
-            @Nullable RemoteAnimationTarget runningTaskTarget) {
+            @Nullable RemoteAnimationTarget runningTaskTarget,
+            @NonNull String reason) {
         ActivityOptions options = ActivityOptions.makeCustomAnimation(mContext, 0, 0);
         Intent intent = new Intent(mGestureState.getHomeIntent());
         if (gestureContractAnimationFactory != null && runningTaskTarget != null) {
             gestureContractAnimationFactory.addGestureContract(intent, runningTaskTarget.taskInfo);
         }
-        startHomeIntentSafely(mContext, intent, options.toBundle());
+        startHomeIntentSafely(mContext, intent, options.toBundle(), reason);
     }
 
     @Override
@@ -185,8 +187,8 @@
             // the PiP task appearing.
             recentsCallback = () -> {
                 callback.run();
-                startHomeIntent(
-                        null /* gestureContractAnimationFactory */, null /* runningTaskTarget */);
+                startHomeIntent(null /* gestureContractAnimationFactory */,
+                        null /* runningTaskTarget */, "FallbackSwipeHandler-resumeLauncher");
             };
         } else {
             recentsCallback = callback;
diff --git a/quickstep/src/com/android/quickstep/GestureState.java b/quickstep/src/com/android/quickstep/GestureState.java
index c2d8c62..575be5f 100644
--- a/quickstep/src/com/android/quickstep/GestureState.java
+++ b/quickstep/src/com/android/quickstep/GestureState.java
@@ -29,13 +29,15 @@
 import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.SET_END_TARGET_HOME;
 import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.SET_END_TARGET_NEW_TASK;
 
-import android.annotation.Nullable;
 import android.annotation.TargetApi;
 import android.content.Intent;
 import android.os.Build;
 import android.view.MotionEvent;
 import android.view.RemoteAnimationTarget;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 import com.android.launcher3.statemanager.BaseState;
 import com.android.launcher3.statemanager.StatefulActivity;
 import com.android.quickstep.TopTaskTracker.CachedTaskInfo;
@@ -303,6 +305,7 @@
     /**
      * @return the running task for this gesture.
      */
+    @Nullable
     public CachedTaskInfo getRunningTask() {
         return mRunningTask;
     }
@@ -336,7 +339,7 @@
     /**
      * Updates the running task for the gesture to be the given {@param runningTask}.
      */
-    public void updateRunningTask(CachedTaskInfo runningTask) {
+    public void updateRunningTask(@NonNull CachedTaskInfo runningTask) {
         mRunningTask = runningTask;
     }
 
@@ -410,7 +413,8 @@
         mEndTarget = target;
         mStateCallback.setState(STATE_END_TARGET_SET);
         ActiveGestureLog.INSTANCE.addLog(
-                /* event= */ "setEndTarget " + mEndTarget,
+                new ActiveGestureLog.CompoundString("setEndTarget ")
+                        .append(mEndTarget.name()),
                 /* gestureEvent= */ SET_END_TARGET);
         switch (mEndTarget) {
             case HOME:
diff --git a/quickstep/src/com/android/quickstep/InputConsumer.java b/quickstep/src/com/android/quickstep/InputConsumer.java
index 23def14..f898e2f 100644
--- a/quickstep/src/com/android/quickstep/InputConsumer.java
+++ b/quickstep/src/com/android/quickstep/InputConsumer.java
@@ -126,4 +126,14 @@
         }
         return name.toString();
     }
+
+    /**
+     * Returns an input consumer of the given class type, or null if none is found.
+     */
+    default <T extends InputConsumer> T getInputConsumerOfClass(Class<T> c) {
+        if (getClass().equals(c)) {
+            return c.cast(this);
+        }
+        return null;
+    }
 }
diff --git a/quickstep/src/com/android/quickstep/LauncherActivityInterface.java b/quickstep/src/com/android/quickstep/LauncherActivityInterface.java
index 5784c37..feaa063 100644
--- a/quickstep/src/com/android/quickstep/LauncherActivityInterface.java
+++ b/quickstep/src/com/android/quickstep/LauncherActivityInterface.java
@@ -276,8 +276,11 @@
     @Override
     public boolean isInLiveTileMode() {
         Launcher launcher = getCreatedActivity();
-        return launcher != null && launcher.getStateManager().getState() == OVERVIEW &&
-                launcher.isStarted();
+
+        return launcher != null
+                && launcher.getStateManager().getState() == OVERVIEW
+                && launcher.isStarted()
+                && TopTaskTracker.INSTANCE.get(launcher).getCachedTopTask(false).isHomeTask();
     }
 
     @Override
diff --git a/quickstep/src/com/android/quickstep/LauncherBackAnimationController.java b/quickstep/src/com/android/quickstep/LauncherBackAnimationController.java
index f1660ee..5772450 100644
--- a/quickstep/src/com/android/quickstep/LauncherBackAnimationController.java
+++ b/quickstep/src/com/android/quickstep/LauncherBackAnimationController.java
@@ -17,6 +17,7 @@
 package com.android.quickstep;
 
 import static android.view.RemoteAnimationTarget.MODE_CLOSING;
+import static android.view.RemoteAnimationTarget.MODE_OPENING;
 import static android.view.WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS;
 
 import static com.android.launcher3.AbstractFloatingView.TYPE_REBIND_SAFE;
@@ -28,6 +29,8 @@
 import android.animation.AnimatorListenerAdapter;
 import android.animation.AnimatorSet;
 import android.animation.ValueAnimator;
+import android.content.ComponentCallbacks;
+import android.content.res.Configuration;
 import android.graphics.Matrix;
 import android.graphics.PointF;
 import android.graphics.Rect;
@@ -41,8 +44,8 @@
 import android.view.RemoteAnimationTarget;
 import android.view.SurfaceControl;
 import android.view.View;
-import android.view.ViewRootImpl;
 import android.view.animation.AnimationUtils;
+import android.view.animation.DecelerateInterpolator;
 import android.view.animation.Interpolator;
 import android.window.BackEvent;
 import android.window.BackMotionEvent;
@@ -51,13 +54,18 @@
 
 import com.android.internal.view.AppearanceRegion;
 import com.android.launcher3.AbstractFloatingView;
+import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.QuickstepTransitionManager;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.taskbar.LauncherTaskbarUIController;
 import com.android.launcher3.uioverrides.QuickstepLauncher;
+import com.android.launcher3.widget.LauncherAppWidgetHostView;
 import com.android.quickstep.util.RectFSpringAnim;
 import com.android.systemui.shared.system.QuickStepContract;
 
+import java.lang.ref.WeakReference;
+
 /**
  * Controls the animation of swiping back and returning to launcher.
  *
@@ -92,42 +100,46 @@
     private final RectF mCurrentRect = new RectF();
     private final QuickstepLauncher mLauncher;
     private final int mWindowScaleMarginX;
-    /** Max window translation in the Y axis. */
-    private final int mWindowMaxDeltaY;
-    private final float mWindowScaleEndCornerRadius;
-    private final float mWindowScaleStartCornerRadius;
+    private float mWindowScaleEndCornerRadius;
+    private float mWindowScaleStartCornerRadius;
     private final Interpolator mCancelInterpolator;
+    private final Interpolator mProgressInterpolator = new DecelerateInterpolator();
     private final PointF mInitialTouchPos = new PointF();
 
     private RemoteAnimationTarget mBackTarget;
-    private SurfaceControl.Transaction mTransaction = new SurfaceControl.Transaction();
+    private RemoteAnimationTarget mLauncherTarget;
+    private View mLauncherTargetView;
+    private final SurfaceControl.Transaction mTransaction = new SurfaceControl.Transaction();
     private boolean mSpringAnimationInProgress = false;
     private boolean mAnimatorSetInProgress = false;
     private float mBackProgress = 0;
     private boolean mBackInProgress = false;
-    private IOnBackInvokedCallback mBackCallback;
+    private OnBackInvokedCallbackStub mBackCallback;
     private IRemoteAnimationFinishedCallback mAnimationFinishedCallback;
-    private BackProgressAnimator mProgressAnimator = new BackProgressAnimator();
+    private final BackProgressAnimator mProgressAnimator = new BackProgressAnimator();
     private SurfaceControl mScrimLayer;
     private ValueAnimator mScrimAlphaAnimator;
     private float mScrimAlpha;
     private boolean mOverridingStatusBarFlags;
 
+    private final ComponentCallbacks mComponentCallbacks = new ComponentCallbacks() {
+        @Override
+        public void onConfigurationChanged(Configuration newConfig) {
+            loadCornerRadius();
+        }
+
+        @Override
+        public void onLowMemory() {}
+    };
+
     public LauncherBackAnimationController(
             QuickstepLauncher launcher,
             QuickstepTransitionManager quickstepTransitionManager) {
         mLauncher = launcher;
         mQuickstepTransitionManager = quickstepTransitionManager;
-        mWindowScaleEndCornerRadius = QuickStepContract.supportsRoundedCornersOnWindows(
-                mLauncher.getResources())
-                ? mLauncher.getResources().getDimensionPixelSize(
-                        R.dimen.swipe_back_window_corner_radius)
-                : 0;
-        mWindowScaleStartCornerRadius = QuickStepContract.getWindowCornerRadius(mLauncher);
+        loadCornerRadius();
         mWindowScaleMarginX = mLauncher.getResources().getDimensionPixelSize(
                 R.dimen.swipe_back_window_scale_x_margin);
-        mWindowMaxDeltaY = mLauncher.getResources().getDimensionPixelSize(
-                R.dimen.swipe_back_window_max_delta_y);
         mCancelInterpolator =
                 AnimationUtils.loadInterpolator(mLauncher, R.interpolator.standard_interpolator);
     }
@@ -137,65 +149,115 @@
      * @param handler Handler to the thread to run the animations on.
      */
     public void registerBackCallbacks(Handler handler) {
-        mBackCallback = new IOnBackInvokedCallback.Stub() {
-            @Override
-            public void onBackCancelled() {
-                handler.post(() -> {
+        mBackCallback = new OnBackInvokedCallbackStub(handler, mProgressAnimator,
+                mProgressInterpolator, this);
+        SystemUiProxy.INSTANCE.get(mLauncher).setBackToLauncherCallback(mBackCallback,
+                new RemoteAnimationRunnerStub(this));
+    }
+
+    private static class OnBackInvokedCallbackStub extends IOnBackInvokedCallback.Stub {
+        private Handler mHandler;
+        private BackProgressAnimator mProgressAnimator;
+        private final Interpolator mProgressInterpolator;
+        // LauncherBackAnimationController has strong reference to Launcher activity, the binder
+        // callback should not hold strong reference to it to avoid memory leak.
+        private WeakReference<LauncherBackAnimationController> mControllerRef;
+
+        private OnBackInvokedCallbackStub(
+                Handler handler,
+                BackProgressAnimator progressAnimator,
+                Interpolator progressInterpolator,
+                LauncherBackAnimationController controller) {
+            mHandler = handler;
+            mProgressAnimator = progressAnimator;
+            mProgressInterpolator = progressInterpolator;
+            mControllerRef = new WeakReference<>(controller);
+        }
+
+        @Override
+        public void onBackCancelled() {
+            mHandler.post(() -> {
+                LauncherBackAnimationController controller = mControllerRef.get();
+                if (controller != null) {
                     mProgressAnimator.onBackCancelled(
-                            LauncherBackAnimationController.this::resetPositionAnimated);
-                });
-            }
-
-            @Override
-            public void onBackInvoked() {
-                handler.post(() -> {
-                    startTransition();
-                    mProgressAnimator.reset();
-                });
-            }
-
-            @Override
-            public void onBackProgressed(BackMotionEvent backEvent) {
-                handler.post(() -> {
-                    mProgressAnimator.onBackProgressed(backEvent);
-                });
-            }
-
-            @Override
-            public void onBackStarted(BackMotionEvent backEvent) {
-                handler.post(() -> {
-                    startBack(backEvent);
-                    mProgressAnimator.onBackStarted(backEvent, event -> {
-                        mBackProgress = event.getProgress();
-                        // TODO: Update once the interpolation curve spec is finalized.
-                        mBackProgress =
-                                1 - (1 - mBackProgress) * (1 - mBackProgress) * (1
-                                        - mBackProgress);
-                        updateBackProgress(mBackProgress, event);
-                    });
-                });
-            }
-        };
-
-        final IRemoteAnimationRunner runner = new IRemoteAnimationRunner.Stub() {
-            @Override
-            public void onAnimationStart(int transit, RemoteAnimationTarget[] apps,
-                    RemoteAnimationTarget[] wallpapers, RemoteAnimationTarget[] nonApps,
-                    IRemoteAnimationFinishedCallback finishedCallback) {
-                for (final RemoteAnimationTarget target : apps) {
-                    if (MODE_CLOSING == target.mode) {
-                        mBackTarget = target;
-                        break;
-                    }
+                            controller::resetPositionAnimated);
                 }
-                mAnimationFinishedCallback = finishedCallback;
+            });
+        }
+
+        @Override
+        public void onBackInvoked() {
+            mHandler.post(() -> {
+                LauncherBackAnimationController controller = mControllerRef.get();
+                if (controller != null) {
+                    controller.startTransition();
+                }
+                mProgressAnimator.reset();
+            });
+        }
+
+        @Override
+        public void onBackProgressed(BackMotionEvent backMotionEvent) {
+            mHandler.post(() -> {
+                LauncherBackAnimationController controller = mControllerRef.get();
+                if (controller == null
+                        || controller.mLauncher == null
+                        || !controller.mLauncher.isStarted()) {
+                    // Skip animating back progress if Launcher isn't visible yet.
+                    return;
+                }
+                mProgressAnimator.onBackProgressed(backMotionEvent);
+            });
+        }
+
+        @Override
+        public void onBackStarted(BackMotionEvent backEvent) {
+            mHandler.post(() -> {
+                LauncherBackAnimationController controller = mControllerRef.get();
+                if (controller != null) {
+                    controller.startBack(backEvent);
+                    mProgressAnimator.onBackStarted(backEvent, event -> {
+                        float backProgress = event.getProgress();
+                        controller.mBackProgress =
+                                mProgressInterpolator.getInterpolation(backProgress);
+                        controller.updateBackProgress(controller.mBackProgress, event);
+                    });
+                }
+            });
+        }
+    }
+
+    private static class RemoteAnimationRunnerStub extends IRemoteAnimationRunner.Stub {
+
+        // LauncherBackAnimationController has strong reference to Launcher activity, the binder
+        // callback should not hold strong reference to it to avoid memory leak.
+        private WeakReference<LauncherBackAnimationController> mControllerRef;
+
+        private RemoteAnimationRunnerStub(LauncherBackAnimationController controller) {
+            mControllerRef = new WeakReference<>(controller);
+        }
+
+        @Override
+        public void onAnimationStart(int transit, RemoteAnimationTarget[] apps,
+                RemoteAnimationTarget[] wallpapers, RemoteAnimationTarget[] nonApps,
+                IRemoteAnimationFinishedCallback finishedCallback) {
+            LauncherBackAnimationController controller = mControllerRef.get();
+            if (controller == null) {
+                return;
             }
+            for (final RemoteAnimationTarget target : apps) {
+                if (MODE_CLOSING == target.mode) {
+                    controller.mBackTarget = target;
+                }
+                if (MODE_OPENING == target.mode) {
+                    controller.mLauncherTarget = target;
+                }
+            }
+            controller.mAnimationFinishedCallback = finishedCallback;
+        }
 
-            @Override
-            public void onAnimationCancelled() {}
-        };
-
-        SystemUiProxy.INSTANCE.get(mLauncher).setBackToLauncherCallback(mBackCallback, runner);
+        @Override
+        public void onAnimationCancelled() {}
     }
 
     private void resetPositionAnimated() {
@@ -231,7 +293,7 @@
         mBackInProgress = true;
         RemoteAnimationTarget appTarget = backEvent.getDepartingAnimationTarget();
 
-        if (appTarget == null) {
+        if (appTarget == null || appTarget.leash == null || !appTarget.leash.isValid()) {
             return;
         }
 
@@ -241,18 +303,33 @@
         mBackTarget = appTarget;
         mInitialTouchPos.set(backEvent.getTouchX(), backEvent.getTouchY());
 
-        // TODO(b/218916755): Offset start rectangle in multiwindow mode.
         mStartRect.set(appTarget.windowConfiguration.getMaxBounds());
+
+        // inset bottom in case of pinned taskbar being present
+        mStartRect.inset(0, 0, 0, appTarget.contentInsets.bottom);
+
+        mLauncherTargetView = mQuickstepTransitionManager.findLauncherView(
+                new RemoteAnimationTarget[]{ mBackTarget });
+        setLauncherTargetViewVisible(false);
         mCurrentRect.set(mStartRect);
         addScrimLayer();
         mTransaction.apply();
     }
 
+    private void setLauncherTargetViewVisible(boolean isVisible) {
+        if (mLauncherTargetView instanceof BubbleTextView) {
+            ((BubbleTextView) mLauncherTargetView).setIconVisible(isVisible);
+        } else if (mLauncherTargetView instanceof LauncherAppWidgetHostView) {
+            mLauncherTargetView.setAlpha(isVisible ? 1f : 0f);
+        }
+    }
+
     void addScrimLayer() {
-        ViewRootImpl viewRootImpl = mLauncher.getDragLayer().getViewRootImpl();
-        SurfaceControl parent = viewRootImpl != null
-                ? viewRootImpl.getSurfaceControl()
-                : null;
+        SurfaceControl parent = mLauncherTarget != null ? mLauncherTarget.leash : null;
+        if (parent == null || !parent.isValid()) {
+            // Parent surface is not ready at the moment. Retry later.
+            return;
+        }
         boolean isDarkTheme = Utilities.isDarkTheme(mLauncher);
         mScrimLayer = new SurfaceControl.Builder()
                 .setName("Back to launcher background scrim")
@@ -285,13 +362,24 @@
         if (!mBackInProgress || mBackTarget == null) {
             return;
         }
+        if (mScrimLayer == null) {
+            // Scrim hasn't been attached yet. Let's attach it.
+            addScrimLayer();
+        }
         float screenWidth = mStartRect.width();
         float screenHeight = mStartRect.height();
         float width = Utilities.mapRange(progress, 1, MIN_WINDOW_SCALE) * screenWidth;
         float height = screenHeight / screenWidth * width;
-        float deltaYRatio = (event.getTouchY() - mInitialTouchPos.y) / screenHeight;
+
         // Base the window movement in the Y axis on the touch movement in the Y axis.
-        float deltaY = (float) Math.sin(deltaYRatio * Math.PI * 0.5f) * mWindowMaxDeltaY * progress;
+        float rawYDelta = event.getTouchY() - mInitialTouchPos.y;
+        float yDirection = rawYDelta < 0 ? -1 : 1;
+        // limit yDelta interpretation to 1/2 of screen height in either direction
+        float deltaYRatio = Math.min(screenHeight / 2f, Math.abs(rawYDelta)) / (screenHeight / 2f);
+        float interpolatedYRatio = mProgressInterpolator.getInterpolation(deltaYRatio);
+        // limit y-shift so surface never passes 8dp screen margin
+        float deltaY = yDirection * interpolatedYRatio * Math.max(0f, (screenHeight - height)
+                / 2f - mWindowScaleMarginX);
         // Move the window along the Y axis.
         float top = (screenHeight - height) * 0.5f + deltaY;
         // Move the window along the X axis.
@@ -349,6 +437,10 @@
         if (mLauncher.isDestroyed()) {
             return;
         }
+        LauncherTaskbarUIController taskbarUIController = mLauncher.getTaskbarUIController();
+        if (taskbarUIController != null) {
+            taskbarUIController.onLauncherVisibilityChanged(true);
+        }
         // TODO: Catch the moment when launcher becomes visible after the top app un-occludes
         //  launcher and start animating afterwards. Currently we occasionally get a flicker from
         //  animating when launcher is still invisible.
@@ -357,26 +449,34 @@
             mLauncher.getStateManager().moveToRestState();
         }
 
+        setLauncherTargetViewVisible(true);
+
         // Explicitly close opened floating views (which is typically called from
         // Launcher#onResumed, but in the predictive back flow launcher is not resumed until
         // the transition is fully finished.)
         AbstractFloatingView.closeAllOpenViewsExcept(mLauncher, false, TYPE_REBIND_SAFE);
         float cornerRadius = Utilities.mapRange(
                 mBackProgress, mWindowScaleStartCornerRadius, mWindowScaleEndCornerRadius);
+        final RectF resolveRectF = new RectF();
+        mQuickstepTransitionManager.transferRectToTargetCoordinate(
+                mBackTarget, mCurrentRect, true, resolveRectF);
+
         Pair<RectFSpringAnim, AnimatorSet> pair =
                 mQuickstepTransitionManager.createWallpaperOpenAnimations(
                     new RemoteAnimationTarget[]{mBackTarget},
                     new RemoteAnimationTarget[0],
                     false /* fromUnlock */,
-                    mCurrentRect,
+                    resolveRectF,
                     cornerRadius,
                     mBackInProgress /* fromPredictiveBack */);
         startTransitionAnimations(pair.first, pair.second);
         mLauncher.clearForceInvisibleFlag(INVISIBLE_ALL);
+        customizeStatusBarAppearance(true);
     }
 
     private void finishAnimation() {
         mBackTarget = null;
+        mLauncherTarget = null;
         mBackInProgress = false;
         mBackProgress = 0;
         mTransformMatrix.reset();
@@ -386,6 +486,8 @@
         mInitialTouchPos.set(0, 0);
         mAnimatorSetInProgress = false;
         mSpringAnimationInProgress = false;
+        setLauncherTargetViewVisible(true);
+        mLauncherTargetView = null;
         // We don't call customizeStatusBarAppearance here to prevent the status bar update with
         // the legacy appearance. It should be refreshed after the transition done.
         mOverridingStatusBarFlags = false;
@@ -401,6 +503,9 @@
             mScrimAlphaAnimator.cancel();
             mScrimAlphaAnimator = null;
         }
+        if (mScrimLayer != null) {
+            removeScrimLayer();
+        }
     }
 
     private void startTransitionAnimations(RectFSpringAnim springAnim, AnimatorSet anim) {
@@ -424,10 +529,14 @@
                 tryFinishBackAnimation();
             }
         });
+        if (mScrimLayer == null) {
+            // Scrim hasn't been attached yet. Let's attach it.
+            addScrimLayer();
+        }
         mScrimAlphaAnimator = new ValueAnimator().ofFloat(1, 0);
         mScrimAlphaAnimator.addUpdateListener(animation -> {
             float value = (Float) animation.getAnimatedValue();
-            if (mScrimLayer.isValid()) {
+            if (mScrimLayer != null && mScrimLayer.isValid()) {
                 mTransaction.setAlpha(mScrimLayer, value * mScrimAlpha);
                 mTransaction.apply();
             }
@@ -442,6 +551,30 @@
         anim.start();
     }
 
+    private void loadCornerRadius() {
+        mWindowScaleEndCornerRadius = QuickStepContract.supportsRoundedCornersOnWindows(
+                mLauncher.getResources())
+                ? mLauncher.getResources().getDimensionPixelSize(
+                R.dimen.swipe_back_window_corner_radius)
+                : 0;
+        mWindowScaleStartCornerRadius = QuickStepContract.getWindowCornerRadius(mLauncher);
+    }
+
+    /**
+     * Called when launcher is destroyed. Unregisters component callbacks to avoid memory leaks.
+     */
+    public void unregisterComponentCallbacks() {
+        mLauncher.unregisterComponentCallbacks(mComponentCallbacks);
+    }
+
+    /**
+     * Registers component callbacks with the launcher to receive configuration change events.
+     */
+    public void registerComponentCallbacks() {
+        mLauncher.registerComponentCallbacks(mComponentCallbacks);
+    }
+
+
     private void resetScrim() {
         removeScrimLayer();
         mScrimAlpha = 0;
diff --git a/quickstep/src/com/android/quickstep/LauncherRestoreEventLoggerImpl.kt b/quickstep/src/com/android/quickstep/LauncherRestoreEventLoggerImpl.kt
new file mode 100644
index 0000000..27bd03d
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/LauncherRestoreEventLoggerImpl.kt
@@ -0,0 +1,148 @@
+package com.android.quickstep
+
+import android.app.backup.BackupManager
+import android.app.backup.BackupRestoreEventLogger
+import android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType
+import android.app.backup.BackupRestoreEventLogger.BackupRestoreError
+import android.content.Context
+import com.android.launcher3.Flags.enableLauncherBrMetricsFixed
+import com.android.launcher3.LauncherSettings.Favorites
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger
+
+/**
+ * Concrete implementation for wrapper to log Restore event metrics for both success and failure to
+ * restore Launcher workspace from a backup. This implementation accesses SystemApis so is only
+ * available to QuickStep/NexusLauncher.
+ */
+class LauncherRestoreEventLoggerImpl(val context: Context) : LauncherRestoreEventLogger() {
+    companion object {
+        const val TAG = "LauncherRestoreEventLoggerImpl"
+
+        // Generic type for any possible workspace items, when specific type is not known.
+        @BackupRestoreDataType private const val DATA_TYPE_LAUNCHER_ITEM = "launcher_item"
+        // Specific workspace item types, based off of Favorites Table.
+        @BackupRestoreDataType private const val DATA_TYPE_APPLICATION = "application"
+        @BackupRestoreDataType private const val DATA_TYPE_FOLDER = "folder"
+        @BackupRestoreDataType private const val DATA_TYPE_APPWIDGET = "widget"
+        @BackupRestoreDataType private const val DATA_TYPE_CUSTOM_APPWIDGET = "custom_widget"
+        @BackupRestoreDataType private const val DATA_TYPE_DEEP_SHORTCUT = "deep_shortcut"
+        @BackupRestoreDataType private const val DATA_TYPE_APP_PAIR = "app_pair"
+    }
+
+    private val restoreEventLogger: BackupRestoreEventLogger =
+        BackupManager(context).delayedRestoreLogger
+
+    /**
+     * For logging when multiple items of a given data type failed to restore.
+     *
+     * @param dataType The data type that was not restored.
+     * @param count the number of data items that were not restored.
+     * @param error error type for why the data was not restored.
+     */
+    override fun logLauncherItemsRestoreFailed(
+        @BackupRestoreDataType dataType: String,
+        count: Int,
+        @BackupRestoreError error: String?
+    ) {
+        if (enableLauncherBrMetricsFixed()) {
+            restoreEventLogger.logItemsRestoreFailed(dataType, count, error)
+        }
+    }
+
+    /**
+     * For logging when multiple items of a given data type were successfully restored.
+     *
+     * @param dataType The data type that was restored.
+     * @param count the number of data items restored.
+     */
+    override fun logLauncherItemsRestored(@BackupRestoreDataType dataType: String, count: Int) {
+        if (enableLauncherBrMetricsFixed()) {
+            restoreEventLogger.logItemsRestored(dataType, count)
+        }
+    }
+
+    /**
+     * Helper to log successfully restoring a single item from the Favorites table.
+     *
+     * @param favoritesId The id of the item type from [Favorites] that was restored.
+     */
+    override fun logSingleFavoritesItemRestored(favoritesId: Int) {
+        if (enableLauncherBrMetricsFixed()) {
+            restoreEventLogger.logItemsRestored(favoritesIdToDataType(favoritesId), 1)
+        }
+    }
+
+    /**
+     * Helper to log successfully restoring multiple items from the Favorites table.
+     *
+     * @param favoritesId The id of the item type from [Favorites] that was restored.
+     * @param count number of items that restored.
+     */
+    override fun logFavoritesItemsRestored(favoritesId: Int, count: Int) {
+        if (enableLauncherBrMetricsFixed()) {
+            restoreEventLogger.logItemsRestored(favoritesIdToDataType(favoritesId), count)
+        }
+    }
+
+    /**
+     * Helper to log a failure to restore a single item from the Favorites table.
+     *
+     * @param favoritesId The id of the item type from [Favorites] that was not restored.
+     * @param error error type for why the data was not restored.
+     */
+    override fun logSingleFavoritesItemRestoreFailed(
+        favoritesId: Int,
+        @BackupRestoreError error: String?
+    ) {
+        if (enableLauncherBrMetricsFixed()) {
+            restoreEventLogger.logItemsRestoreFailed(favoritesIdToDataType(favoritesId), 1, error)
+        }
+    }
+
+    /**
+     * Helper to log a failure to restore items from the Favorites table.
+     *
+     * @param favoritesId The id of the item type from [Favorites] that was not restored.
+     * @param count number of items that failed to restore.
+     * @param error error type for why the data was not restored.
+     */
+    override fun logFavoritesItemsRestoreFailed(
+        favoritesId: Int,
+        count: Int,
+        @BackupRestoreError error: String?
+    ) {
+        if (enableLauncherBrMetricsFixed()) {
+            restoreEventLogger.logItemsRestoreFailed(
+                favoritesIdToDataType(favoritesId),
+                count,
+                error
+            )
+        }
+    }
+
+    /**
+     * Uses the current [restoreEventLogger] to report its results to the [backupManager]. Use when
+     * done restoring items for Launcher.
+     */
+    override fun reportLauncherRestoreResults() {
+        if (enableLauncherBrMetricsFixed()) {
+            BackupManager(context).reportDelayedRestoreResult(restoreEventLogger)
+        }
+    }
+
+    /**
+     * Helper method to convert item types from [Favorites] to B&R data types for logging. Also to
+     * avoid direct usage of @BackupRestoreDataType which is protected under @SystemApi.
+     */
+    @BackupRestoreDataType
+    private fun favoritesIdToDataType(favoritesId: Int): String =
+        when (favoritesId) {
+            Favorites.ITEM_TYPE_APPLICATION -> DATA_TYPE_APPLICATION
+            Favorites.ITEM_TYPE_FOLDER -> DATA_TYPE_FOLDER
+            Favorites.ITEM_TYPE_APPWIDGET -> DATA_TYPE_APPWIDGET
+            Favorites.ITEM_TYPE_CUSTOM_APPWIDGET -> DATA_TYPE_CUSTOM_APPWIDGET
+            Favorites.ITEM_TYPE_DEEP_SHORTCUT -> DATA_TYPE_DEEP_SHORTCUT
+            Favorites.ITEM_TYPE_APP_PAIR -> DATA_TYPE_APP_PAIR
+            else -> DATA_TYPE_LAUNCHER_ITEM
+        }
+}
diff --git a/quickstep/src/com/android/quickstep/NavHandle.java b/quickstep/src/com/android/quickstep/NavHandle.java
new file mode 100644
index 0000000..da3311f
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/NavHandle.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep;
+
+import android.content.Context;
+
+import com.android.launcher3.R;
+
+/**
+ * Control and get information about the gesture nav bar at the bottom of the screen, which has
+ * historically been drawn by SysUI, but is also emulated by the stashed Taskbar on large screens.
+ */
+public interface NavHandle {
+
+    /**
+     * Animate the nav bar being long-pressed.
+     *
+     * @param isTouchDown {@code true} if the button is starting to be pressed ({@code false} if
+     *                                released or canceled)
+     * @param shrink {@code true} if the handle should shrink, {@code false} if it should grow
+     * @param durationMs how long the animation should take (for the {@code isTouchDown} case, this
+     *                   should be the same as the amount of time to trigger a long-press)
+     */
+    void animateNavBarLongPress(boolean isTouchDown, boolean shrink, long durationMs);
+
+    /** @return {@code true} if this nav handle is actually the stashed taskbar */
+    default boolean isNavHandleStashedTaskbar() {
+        return false;
+    }
+
+    /** @return {@code true} if this nav handle can currently accept long presses */
+    default boolean canNavHandleBeLongPressed() {
+        return true;
+    }
+
+    /** @return the width of this nav handle, in pixels */
+    default int getNavHandleWidth(Context context) {
+        return context.getResources().getDimensionPixelSize(R.dimen.navigation_home_handle_width);
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java
index 42bf1ac..b2429ad 100644
--- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java
+++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java
@@ -31,12 +31,14 @@
 import androidx.annotation.Nullable;
 import androidx.annotation.UiThread;
 
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.statemanager.StatefulActivity;
 import com.android.launcher3.taskbar.TaskbarUIController;
 import com.android.launcher3.util.RunnableList;
 import com.android.quickstep.RecentsAnimationCallbacks.RecentsAnimationListener;
+import com.android.quickstep.util.ActiveGestureLog;
 import com.android.quickstep.views.RecentsView;
 import com.android.quickstep.views.TaskView;
 import com.android.systemui.shared.recents.model.ThumbnailData;
@@ -78,6 +80,14 @@
      */
     private int mTaskFocusIndexOverride = -1;
 
+    /**
+     * Whether we should incoming toggle commands while a previous toggle command is still ongoing.
+     * This serves as a rate-limiter to prevent overlapping animations that can clobber each other
+     * and prevent clean-up callbacks from running. This thus prevents a recurring set of bugs with
+     * janky recents animations and unresponsive home and overview buttons.
+     */
+    private boolean mWaitForToggleCommandComplete = false;
+
     public OverviewCommandHelper(TouchInteractionService service,
             OverviewComponentObserver observer,
             TaskAnimationManager taskAnimationManager) {
@@ -160,15 +170,20 @@
     private boolean launchTask(RecentsView recents, @Nullable TaskView taskView, CommandInfo cmd) {
         RunnableList callbackList = null;
         if (taskView != null) {
+            mWaitForToggleCommandComplete = true;
             taskView.setEndQuickswitchCuj(true);
             callbackList = taskView.launchTasks();
         }
 
         if (callbackList != null) {
-            callbackList.add(() -> scheduleNextTask(cmd));
+            callbackList.add(() -> {
+                scheduleNextTask(cmd);
+                mWaitForToggleCommandComplete = false;
+            });
             return false;
         } else {
             recents.startHome();
+            mWaitForToggleCommandComplete = false;
             return true;
         }
     }
@@ -178,6 +193,9 @@
      * task is deferred until {@link #scheduleNextTask} is called
      */
     private <T extends StatefulActivity<?>> boolean executeCommand(CommandInfo cmd) {
+        if (mWaitForToggleCommandComplete && cmd.type == TYPE_TOGGLE) {
+            return true;
+        }
         BaseActivityInterface<?, T> activityInterface =
                 mOverviewComponentObserver.getActivityInterface();
         RecentsView recents = activityInterface.getVisibleRecentsView();
@@ -204,6 +222,7 @@
                 return true;
             }
             if (cmd.type == TYPE_HOME) {
+                ActiveGestureLog.INSTANCE.addLog("OverviewCommandHelper.executeCommand(TYPE_HOME)");
                 mService.startActivity(mOverviewComponentObserver.getHomeIntent());
                 return true;
             }
@@ -244,7 +263,7 @@
         if (activity != null) {
             InteractionJankMonitorWrapper.begin(
                     activity.getRootView(),
-                    InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH);
+                    Cuj.CUJ_LAUNCHER_QUICK_SWITCH);
         }
 
         GestureState gestureState = mService.createGestureState(GestureState.DEFAULT_STATE,
@@ -359,6 +378,7 @@
             pw.println("    pendingCommandType=" + mPendingCommands.get(0).type);
         }
         pw.println("  mTaskFocusIndexOverride=" + mTaskFocusIndexOverride);
+        pw.println("  mWaitForToggleCommandComplete=" + mWaitForToggleCommandComplete);
     }
 
     private static class CommandInfo {
diff --git a/quickstep/src/com/android/quickstep/OverviewComponentObserver.java b/quickstep/src/com/android/quickstep/OverviewComponentObserver.java
index 60713cf..0a02e99 100644
--- a/quickstep/src/com/android/quickstep/OverviewComponentObserver.java
+++ b/quickstep/src/com/android/quickstep/OverviewComponentObserver.java
@@ -39,6 +39,7 @@
 
 import com.android.launcher3.R;
 import com.android.launcher3.util.SimpleBroadcastReceiver;
+import com.android.quickstep.util.ActiveGestureLog;
 import com.android.systemui.shared.system.PackageManagerWrapper;
 
 import java.io.PrintWriter;
@@ -276,20 +277,24 @@
     /**
      * Starts the intent for the current home activity.
      */
-    public static void startHomeIntentSafely(@NonNull Context context, @Nullable Bundle options) {
+    public static void startHomeIntentSafely(@NonNull Context context, @Nullable Bundle options,
+            @NonNull String reason) {
         RecentsAnimationDeviceState deviceState = new RecentsAnimationDeviceState(context);
         OverviewComponentObserver observer = new OverviewComponentObserver(context, deviceState);
         Intent intent = observer.getHomeIntent();
         observer.onDestroy();
         deviceState.destroy();
-        startHomeIntentSafely(context, intent, options);
+        startHomeIntentSafely(context, intent, options, reason);
     }
 
     /**
      * Starts the intent for the current home activity.
      */
     public static void startHomeIntentSafely(
-            @NonNull Context context, @NonNull Intent homeIntent, @Nullable Bundle options) {
+            @NonNull Context context, @NonNull Intent homeIntent, @Nullable Bundle options,
+            @NonNull String reason) {
+        ActiveGestureLog.INSTANCE.addLog(new ActiveGestureLog.CompoundString(
+                "OverviewComponentObserver.startHomeIntent: ").append(reason));
         try {
             context.startActivity(homeIntent, options);
         } catch (NullPointerException | ActivityNotFoundException | SecurityException e) {
diff --git a/quickstep/src/com/android/quickstep/QuickstepTestInformationHandler.java b/quickstep/src/com/android/quickstep/QuickstepTestInformationHandler.java
index 031d409..65c8662 100644
--- a/quickstep/src/com/android/quickstep/QuickstepTestInformationHandler.java
+++ b/quickstep/src/com/android/quickstep/QuickstepTestInformationHandler.java
@@ -1,5 +1,6 @@
 package com.android.quickstep;
 
+import static com.android.launcher3.taskbar.TaskbarThresholdUtils.getFromNavThreshold;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 
 import android.app.Activity;
@@ -10,7 +11,6 @@
 
 import androidx.annotation.Nullable;
 
-import com.android.launcher3.R;
 import com.android.launcher3.taskbar.TaskbarActivityContext;
 import com.android.launcher3.testing.TestInformationHandler;
 import com.android.launcher3.testing.shared.TestProtocol;
@@ -18,6 +18,7 @@
 import com.android.launcher3.util.DisplayController;
 import com.android.quickstep.util.LayoutUtils;
 import com.android.quickstep.util.TISBindHelper;
+import com.android.quickstep.views.RecentsView;
 
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutionException;
@@ -44,9 +45,7 @@
             }
 
             case TestProtocol.REQUEST_BACKGROUND_TO_OVERVIEW_SWIPE_HEIGHT: {
-                final float swipeHeight =
-                        LayoutUtils.getShelfTrackingDistance(mContext, mDeviceProfile,
-                                PagedOrientationHandler.PORTRAIT);
+                final float swipeHeight = mDeviceProfile.heightPx / 2f;
                 response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, (int) swipeHeight);
                 return response;
             }
@@ -79,39 +78,28 @@
                 return response;
             }
 
+            case TestProtocol.REQUEST_GET_OVERVIEW_CURRENT_PAGE_INDEX: {
+                return getLauncherUIProperty(Bundle::putInt,
+                        launcher -> launcher.<RecentsView>getOverviewPanel().getCurrentPage());
+            }
+
             case TestProtocol.REQUEST_HAS_TIS: {
                 response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD, true);
                 return response;
             }
 
-            case TestProtocol.REQUEST_ENABLE_MANUAL_TASKBAR_STASHING:
-                runOnTISBinder(tisBinder -> {
-                    enableManualTaskbarStashing(tisBinder, true);
-                });
-                return response;
-
-            case TestProtocol.REQUEST_DISABLE_MANUAL_TASKBAR_STASHING:
-                runOnTISBinder(tisBinder -> {
-                    enableManualTaskbarStashing(tisBinder, false);
-                });
-                return response;
-
             case TestProtocol.REQUEST_UNSTASH_TASKBAR_IF_STASHED:
                 runOnTISBinder(tisBinder -> {
-                    enableManualTaskbarStashing(tisBinder, true);
-
                     // Allow null-pointer to catch illegal states.
                     tisBinder.getTaskbarManager().getCurrentActivityContext()
                             .unstashTaskbarIfStashed();
-
-                    enableManualTaskbarStashing(tisBinder, false);
                 });
                 return response;
 
-            case TestProtocol.REQUEST_STASHED_TASKBAR_HEIGHT: {
+            case TestProtocol.REQUEST_TASKBAR_FROM_NAV_THRESHOLD: {
                 final Resources resources = mContext.getResources();
                 response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD,
-                        resources.getDimensionPixelSize(R.dimen.taskbar_stashed_size));
+                        getFromNavThreshold(resources, mDeviceProfile));
                 return response;
             }
 
@@ -163,6 +151,23 @@
                 response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD,
                         SystemUiProxy.INSTANCE.get(mContext).isDragAndDropReady());
                 return response;
+
+            case TestProtocol.REQUEST_REFRESH_OVERVIEW_TARGET:
+                runOnTISBinder(TouchInteractionService.TISBinder::refreshOverviewTarget);
+                return response;
+
+            case TestProtocol.REQUEST_RECREATE_TASKBAR:
+                // Allow null-pointer to catch illegal states.
+                runOnTISBinder(tisBinder -> tisBinder.getTaskbarManager().recreateTaskbar());
+                return response;
+
+            case TestProtocol.REQUEST_UNSTASH_BUBBLE_BAR_IF_STASHED:
+                runOnTISBinder(tisBinder -> {
+                    // Allow null-pointer to catch illegal states.
+                    tisBinder.getTaskbarManager().getCurrentActivityContext()
+                            .unstashBubbleBarIfStashed();
+                });
+                return response;
         }
 
         return super.call(method, arg, extras);
@@ -185,13 +190,6 @@
         return super.isLauncherInitialized() && TouchInteractionService.isInitialized();
     }
 
-    private void enableManualTaskbarStashing(
-            TouchInteractionService.TISBinder tisBinder, boolean enable) {
-        // Allow null-pointer to catch illegal states.
-        tisBinder.getTaskbarManager().getCurrentActivityContext().enableManualStashingDuringTests(
-                enable);
-    }
-
     private void enableBlockingTimeout(
             TouchInteractionService.TISBinder tisBinder, boolean enable) {
         TaskbarActivityContext context = tisBinder.getTaskbarManager().getCurrentActivityContext();
diff --git a/quickstep/src/com/android/quickstep/RecentTasksList.java b/quickstep/src/com/android/quickstep/RecentTasksList.java
index 0a6fefa..7c263b8 100644
--- a/quickstep/src/com/android/quickstep/RecentTasksList.java
+++ b/quickstep/src/com/android/quickstep/RecentTasksList.java
@@ -19,7 +19,8 @@
 import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
 
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
-import static com.android.quickstep.views.DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED;
+import static com.android.quickstep.util.SplitScreenUtils.convertShellSplitBoundsToLauncher;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 import static com.android.wm.shell.util.GroupedRecentTaskInfo.TYPE_FREEFORM;
 
 import android.annotation.TargetApi;
@@ -41,7 +42,6 @@
 import com.android.systemui.shared.recents.model.Task;
 import com.android.wm.shell.recents.IRecentTasksListener;
 import com.android.wm.shell.util.GroupedRecentTaskInfo;
-import com.android.wm.shell.util.SplitBounds;
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -273,7 +273,7 @@
 
         int numVisibleTasks = 0;
         for (GroupedRecentTaskInfo rawTask : rawTasks) {
-            if (DESKTOP_IS_PROTO2_ENABLED && rawTask.getType() == TYPE_FREEFORM) {
+            if (isDesktopModeSupported() && rawTask.getType() == TYPE_FREEFORM) {
                 GroupTask desktopTask = createDesktopTask(rawTask);
                 allTasks.add(desktopTask);
                 continue;
@@ -311,7 +311,7 @@
                 numVisibleTasks++;
             }
             final SplitConfigurationOptions.SplitBounds launcherSplitBounds =
-                    convertSplitBounds(rawTask.getSplitBounds());
+                    convertShellSplitBoundsToLauncher(rawTask.getSplitBounds());
             allTasks.add(new GroupTask(task1, task2, launcherSplitBounds));
         }
 
@@ -331,15 +331,6 @@
         return new DesktopTask(tasks);
     }
 
-    private SplitConfigurationOptions.SplitBounds convertSplitBounds(
-            SplitBounds shellSplitBounds) {
-        return shellSplitBounds == null ?
-                null :
-                new SplitConfigurationOptions.SplitBounds(
-                        shellSplitBounds.leftTopBounds, shellSplitBounds.rightBottomBounds,
-                        shellSplitBounds.leftTopTaskId, shellSplitBounds.rightBottomTaskId);
-    }
-
     private ArrayList<GroupTask> copyOf(ArrayList<GroupTask> tasks) {
         ArrayList<GroupTask> newTasks = new ArrayList<>();
         for (int i = 0; i < tasks.size(); i++) {
@@ -380,7 +371,8 @@
         writer.println(prefix + "  ]");
     }
 
-    private static class TaskLoadResult extends ArrayList<GroupTask> {
+    @VisibleForTesting
+    static class TaskLoadResult extends ArrayList<GroupTask> {
 
         final int mRequestId;
 
diff --git a/quickstep/src/com/android/quickstep/RecentsActivity.java b/quickstep/src/com/android/quickstep/RecentsActivity.java
index 72439de..22163b9 100644
--- a/quickstep/src/com/android/quickstep/RecentsActivity.java
+++ b/quickstep/src/com/android/quickstep/RecentsActivity.java
@@ -22,10 +22,12 @@
 import static com.android.launcher3.QuickstepTransitionManager.RECENTS_LAUNCH_DURATION;
 import static com.android.launcher3.QuickstepTransitionManager.STATUS_BAR_TRANSITION_DURATION;
 import static com.android.launcher3.QuickstepTransitionManager.STATUS_BAR_TRANSITION_PRE_DELAY;
+import static com.android.launcher3.testing.shared.TestProtocol.LAUNCHER_ACTIVITY_STOPPED_MESSAGE;
 import static com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_STATE_ORDINAL;
 import static com.android.quickstep.OverviewComponentObserver.startHomeIntentSafely;
 import static com.android.quickstep.TaskUtils.taskIsATargetWithMode;
 import static com.android.quickstep.TaskViewUtils.createRecentsWindowAnimator;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -37,7 +39,6 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Trace;
-import android.util.Log;
 import android.view.Display;
 import android.view.RemoteAnimationAdapter;
 import android.view.RemoteAnimationTarget;
@@ -60,6 +61,7 @@
 import com.android.launcher3.anim.AnimatorPlaybackController;
 import com.android.launcher3.anim.PendingAnimation;
 import com.android.launcher3.compat.AccessibilityManagerCompat;
+import com.android.launcher3.desktop.DesktopRecentsTransitionController;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.statemanager.StateManager;
 import com.android.launcher3.statemanager.StateManager.AtomicAnimationFactory;
@@ -67,7 +69,6 @@
 import com.android.launcher3.statemanager.StatefulActivity;
 import com.android.launcher3.taskbar.FallbackTaskbarUIController;
 import com.android.launcher3.taskbar.TaskbarManager;
-import com.android.launcher3.testing.shared.TestProtocol;
 import com.android.launcher3.util.ActivityOptionsWrapper;
 import com.android.launcher3.util.ActivityTracker;
 import com.android.launcher3.util.RunnableList;
@@ -95,6 +96,7 @@
  * See {@link com.android.quickstep.views.RecentsView}.
  */
 public final class RecentsActivity extends StatefulActivity<RecentsState> {
+    private static final String TAG = "RecentsActivity";
 
     public static final ActivityTracker<RecentsActivity> ACTIVITY_TRACKER =
             new ActivityTracker<>();
@@ -121,6 +123,8 @@
     private final Handler mHandler = new Handler();
     private final Runnable mAnimationStartTimeoutRunnable = this::onAnimationStartTimeout;
     private SplitSelectStateController mSplitSelectStateController;
+    @Nullable
+    private DesktopRecentsTransitionController mDesktopRecentsTransitionController;
 
     /**
      * Init drag layer and overview panel views.
@@ -133,12 +137,21 @@
         mFallbackRecentsView = findViewById(R.id.overview_panel);
         mActionsView = findViewById(R.id.overview_actions_view);
         getRootView().getSysUiScrim().getSysUIProgress().updateValue(0);
+        SystemUiProxy systemUiProxy = SystemUiProxy.INSTANCE.get(this);
         mSplitSelectStateController =
                 new SplitSelectStateController(this, mHandler, getStateManager(),
                         null /* depthController */, getStatsLogManager(),
-                        SystemUiProxy.INSTANCE.get(this), RecentsModel.INSTANCE.get(this));
+                        systemUiProxy, RecentsModel.INSTANCE.get(this),
+                        null /*activityBackCallback*/);
         mDragLayer.recreateControllers();
-        mFallbackRecentsView.init(mActionsView, mSplitSelectStateController);
+        if (isDesktopModeSupported()) {
+            mDesktopRecentsTransitionController = new DesktopRecentsTransitionController(
+                    getStateManager(), systemUiProxy, getIApplicationThread(),
+                    null /* depthController */
+            );
+        }
+        mFallbackRecentsView.init(mActionsView, mSplitSelectStateController,
+                mDesktopRecentsTransitionController);
 
         mTISBindHelper = new TISBindHelper(this, this::onTISConnected);
     }
@@ -333,6 +346,8 @@
         // Workaround for b/78520668, explicitly trim memory once UI is hidden
         onTrimMemory(TRIM_MEMORY_UI_HIDDEN);
         mFallbackRecentsView.updateLocusId();
+        AccessibilityManagerCompat.sendTestProtocolEventToTest(
+                this, LAUNCHER_ACTIVITY_STOPPED_MESSAGE);
     }
 
     @Override
@@ -405,7 +420,6 @@
     }
 
     public void startHome() {
-        Log.d(TestProtocol.INCORRECT_HOME_STATE, "start home from recents activity");
         RecentsView recentsView = getOverviewPanel();
         recentsView.switchToScreenshot(() -> recentsView.finishRecentsAnimation(true,
                 this::startHomeInternal));
@@ -418,7 +432,7 @@
                 new RemoteAnimationAdapter(runner, HOME_APPEAR_DURATION, 0),
                 new RemoteTransition(runner.toRemoteTransition(), getIApplicationThread(),
                         "StartHomeFromRecents"));
-        startHomeIntentSafely(this, options.toBundle());
+        startHomeIntentSafely(this, options.toBundle(), TAG);
     }
 
     private final RemoteAnimationFactory mAnimationToHomeFactory =
diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java b/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java
index 2256cbf..5d26ec0 100644
--- a/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java
+++ b/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java
@@ -19,10 +19,12 @@
 import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER;
 
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
-import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.CANCEL_RECENTS_ANIMATION;
-import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.START_RECENTS_ANIMATION;
+import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.ON_CANCEL_RECENTS_ANIMATION;
+import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.ON_FINISH_RECENTS_ANIMATION;
+import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.ON_START_RECENTS_ANIMATION;
 
 import android.graphics.Rect;
+import android.os.Bundle;
 import android.util.ArraySet;
 import android.view.RemoteAnimationTarget;
 
@@ -92,9 +94,9 @@
     @Deprecated
     public final void onAnimationStart(RecentsAnimationControllerCompat controller,
             RemoteAnimationTarget[] appTargets, Rect homeContentInsets,
-            Rect minimizedHomeBounds) {
+            Rect minimizedHomeBounds, Bundle extras) {
         onAnimationStart(controller, appTargets, new RemoteAnimationTarget[0],
-                homeContentInsets, minimizedHomeBounds);
+                homeContentInsets, minimizedHomeBounds, extras);
     }
 
     // Called only in R+ platform
@@ -102,7 +104,7 @@
     public final void onAnimationStart(RecentsAnimationControllerCompat animationController,
             RemoteAnimationTarget[] appTargets,
             RemoteAnimationTarget[] wallpaperTargets,
-            Rect homeContentInsets, Rect minimizedHomeBounds) {
+            Rect homeContentInsets, Rect minimizedHomeBounds, Bundle extras) {
         long appCount = Arrays.stream(appTargets)
                 .filter(app -> app.mode == MODE_CLOSING)
                 .count();
@@ -111,9 +113,10 @@
             ActiveGestureLog.INSTANCE.addLog(
                     /* event= */ "RecentsAnimationCallbacks.onAnimationStart (canceled)",
                     /* extras= */ 0,
-                    /* gestureEvent= */ START_RECENTS_ANIMATION);
+                    /* gestureEvent= */ ON_START_RECENTS_ANIMATION);
             notifyAnimationCanceled();
-            animationController.finish(false /* toHome */, false /* sendUserLeaveHint */);
+            animationController.finish(false /* toHome */, false /* sendUserLeaveHint */,
+                    null /* finishCb */);
             return;
         }
 
@@ -137,13 +140,14 @@
                 nonAppTargets = new RemoteAnimationTarget[0];
             }
             final RecentsAnimationTargets targets = new RecentsAnimationTargets(appTargets,
-                    wallpaperTargets, nonAppTargets, homeContentInsets, minimizedHomeBounds);
+                    wallpaperTargets, nonAppTargets, homeContentInsets, minimizedHomeBounds,
+                    extras);
 
             Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(), () -> {
                 ActiveGestureLog.INSTANCE.addLog(
                         /* event= */ "RecentsAnimationCallbacks.onAnimationStart",
                         /* extras= */ targets.apps.length,
-                        /* gestureEvent= */ START_RECENTS_ANIMATION);
+                        /* gestureEvent= */ ON_START_RECENTS_ANIMATION);
                 for (RecentsAnimationListener listener : getListeners()) {
                     listener.onRecentsAnimationStart(mController, targets);
                 }
@@ -157,7 +161,7 @@
         Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(), () -> {
             ActiveGestureLog.INSTANCE.addLog(
                     /* event= */ "RecentsAnimationCallbacks.onAnimationCanceled",
-                    /* gestureEvent= */ CANCEL_RECENTS_ANIMATION);
+                    /* gestureEvent= */ ON_CANCEL_RECENTS_ANIMATION);
             for (RecentsAnimationListener listener : getListeners()) {
                 listener.onRecentsAnimationCanceled(thumbnailDatas);
             }
@@ -191,7 +195,8 @@
     private final void onAnimationFinished(RecentsAnimationController controller) {
         Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(), () -> {
             ActiveGestureLog.INSTANCE.addLog(
-                    /* event= */ "RecentsAnimationCallbacks.onAnimationFinished");
+                    /* event= */ "RecentsAnimationCallbacks.onAnimationFinished",
+                    ON_FINISH_RECENTS_ANIMATION);
             for (RecentsAnimationListener listener : getListeners()) {
                 listener.onRecentsAnimationFinished(controller);
             }
diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationController.java b/quickstep/src/com/android/quickstep/RecentsAnimationController.java
index 8972dc8..06a442b 100644
--- a/quickstep/src/com/android/quickstep/RecentsAnimationController.java
+++ b/quickstep/src/com/android/quickstep/RecentsAnimationController.java
@@ -21,17 +21,18 @@
 import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.FINISH_RECENTS_ANIMATION;
 
 import android.content.Context;
+import android.os.Bundle;
 import android.os.RemoteException;
 import android.util.Log;
 import android.view.IRecentsAnimationController;
-import android.view.RemoteAnimationTarget;
 import android.view.SurfaceControl;
 import android.view.WindowManagerGlobal;
 import android.window.PictureInPictureSurfaceTransaction;
 
-import androidx.annotation.NonNull;
 import androidx.annotation.UiThread;
 
+import com.android.internal.jank.Cuj;
+import com.android.internal.os.IResultReceiver;
 import com.android.launcher3.util.Preconditions;
 import com.android.launcher3.util.RunnableList;
 import com.android.quickstep.util.ActiveGestureErrorDetector;
@@ -172,12 +173,18 @@
         mFinishTargetIsLauncher = toRecents;
         mOnFinishedListener.accept(this);
         Runnable finishCb = () -> {
-            mController.finish(toRecents, sendUserLeaveHint);
-            InteractionJankMonitorWrapper.end(InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH);
-            InteractionJankMonitorWrapper.end(InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_HOME);
-            InteractionJankMonitorWrapper.end(
-                    InteractionJankMonitorWrapper.CUJ_APP_SWIPE_TO_RECENTS);
-            MAIN_EXECUTOR.execute(mPendingFinishCallbacks::executeAllAndDestroy);
+            mController.finish(toRecents, sendUserLeaveHint, new IResultReceiver.Stub() {
+                @Override
+                public void send(int i, Bundle bundle) throws RemoteException {
+                    ActiveGestureLog.INSTANCE.addLog("finishRecentsAnimation-callback");
+                    MAIN_EXECUTOR.execute(() -> {
+                        mPendingFinishCallbacks.executeAllAndDestroy();
+                    });
+                }
+            });
+            InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_QUICK_SWITCH);
+            InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_APP_CLOSE_TO_HOME);
+            InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_APP_SWIPE_TO_RECENTS);
         };
         if (forceFinish) {
             finishCb.run();
diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java b/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java
index 1448a52..179612b 100644
--- a/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java
+++ b/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java
@@ -19,12 +19,13 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
 import static android.view.Display.DEFAULT_DISPLAY;
 
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_SLOP_PERCENTAGE;
 import static com.android.launcher3.util.DisplayController.CHANGE_ALL;
 import static com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE;
 import static com.android.launcher3.util.DisplayController.CHANGE_ROTATION;
+import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
 import static com.android.launcher3.util.NavigationMode.NO_BUTTON;
 import static com.android.launcher3.util.NavigationMode.THREE_BUTTONS;
-import static com.android.launcher3.util.NavigationMode.TWO_BUTTONS;
 import static com.android.launcher3.util.SettingsCache.ONE_HANDED_ENABLED;
 import static com.android.launcher3.util.SettingsCache.ONE_HANDED_SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED;
 import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE;
@@ -54,23 +55,30 @@
 import android.os.RemoteException;
 import android.os.SystemProperties;
 import android.provider.Settings;
+import android.util.Log;
+import android.view.ISystemGestureExclusionListener;
+import android.view.IWindowManager;
 import android.view.MotionEvent;
 import android.view.ViewConfiguration;
+import android.view.WindowManagerGlobal;
 
 import androidx.annotation.BinderThread;
 import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
 
+import com.android.launcher3.LauncherPrefs;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.DisplayController.DisplayInfoChangeListener;
 import com.android.launcher3.util.DisplayController.Info;
 import com.android.launcher3.util.NavigationMode;
 import com.android.launcher3.util.SettingsCache;
 import com.android.quickstep.TopTaskTracker.CachedTaskInfo;
+import com.android.quickstep.util.ActiveGestureLog;
 import com.android.quickstep.util.NavBarPosition;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
 import com.android.systemui.shared.system.QuickStepContract;
 import com.android.systemui.shared.system.QuickStepContract.SystemUiStateFlags;
-import com.android.systemui.shared.system.SystemGestureExclusionListenerCompat;
 import com.android.systemui.shared.system.TaskStackChangeListener;
 import com.android.systemui.shared.system.TaskStackChangeListeners;
 
@@ -82,15 +90,36 @@
  */
 public class RecentsAnimationDeviceState implements DisplayInfoChangeListener {
 
+    private static final String TAG = "RecentsAnimationDeviceState";
+
     static final String SUPPORT_ONE_HANDED_MODE = "ro.support_one_handed_mode";
 
     // TODO: Move to quickstep contract
-    private static final float QUICKSTEP_TOUCH_SLOP_RATIO_TWO_BUTTON = 9;
-    private static final float QUICKSTEP_TOUCH_SLOP_RATIO_GESTURAL = 2;
+    private static final float QUICKSTEP_TOUCH_SLOP_RATIO_TWO_BUTTON = 3f;
+    private static final float QUICKSTEP_TOUCH_SLOP_RATIO_GESTURAL = 1.414f;
 
     private final Context mContext;
     private final DisplayController mDisplayController;
-    private final int mDisplayId;
+
+    private final IWindowManager mIWindowManager;
+
+    @VisibleForTesting
+    final ISystemGestureExclusionListener mGestureExclusionListener =
+            new ISystemGestureExclusionListener.Stub() {
+                @BinderThread
+                @Override
+                public void onSystemGestureExclusionChanged(int displayId,
+                        Region systemGestureExclusionRegion, Region unrestrictedOrNull) {
+                    if (displayId != DEFAULT_DISPLAY) {
+                        return;
+                    }
+                    // Assignments are atomic, it should be safe on binder thread. Also we don't
+                    // think systemGestureExclusionRegion can be null but just in case, don't
+                    // let mExclusionRegion be null.
+                    mExclusionRegion = systemGestureExclusionRegion != null
+                            ? systemGestureExclusionRegion : new Region();
+                }
+            };
     private final RotationTouchHelper mRotationTouchHelper;
     private final TaskStackChangeListener mPipListener;
     // Cache for better performance since it doesn't change at runtime.
@@ -114,20 +143,31 @@
 
     private int mGestureBlockingTaskId = -1;
     private @NonNull Region mExclusionRegion = new Region();
-    private SystemGestureExclusionListenerCompat mExclusionListener;
+    private boolean mExclusionListenerRegistered;
 
     public RecentsAnimationDeviceState(Context context) {
-        this(context, false);
+        this(context, false, WindowManagerGlobal.getWindowManagerService());
+    }
+
+    public RecentsAnimationDeviceState(Context context, boolean isInstanceForTouches) {
+        this(context, isInstanceForTouches, WindowManagerGlobal.getWindowManagerService());
+    }
+
+    @VisibleForTesting
+    RecentsAnimationDeviceState(Context context, IWindowManager windowManager) {
+        this(context, false, windowManager);
     }
 
     /**
      * @param isInstanceForTouches {@code true} if this is the persistent instance being used for
      *                                   gesture touch handling
      */
-    public RecentsAnimationDeviceState(Context context, boolean isInstanceForTouches) {
+    RecentsAnimationDeviceState(
+            Context context, boolean isInstanceForTouches,
+            IWindowManager windowManager) {
         mContext = context;
         mDisplayController = DisplayController.INSTANCE.get(context);
-        mDisplayId = DEFAULT_DISPLAY;
+        mIWindowManager = windowManager;
         mIsOneHandedModeSupported = SystemProperties.getBoolean(SUPPORT_ONE_HANDED_MODE, false);
         mRotationTouchHelper = RotationTouchHelper.INSTANCE.get(context);
         if (isInstanceForTouches) {
@@ -138,19 +178,7 @@
         }
 
         // Register for exclusion updates
-        mExclusionListener = new SystemGestureExclusionListenerCompat(mDisplayId) {
-            @Override
-            @BinderThread
-            public void onExclusionChanged(Region region) {
-                if (region == null) {
-                    // Don't think this is possible but just in case, don't let it be null.
-                    region = new Region();
-                }
-                // Assignments are atomic, it should be safe on binder thread
-                mExclusionRegion = region;
-            }
-        };
-        runOnDestroy(mExclusionListener::unregister);
+        runOnDestroy(() -> unregisterExclusionListener());
 
         // Register for display changes changes
         mDisplayController.addChangeListener(this);
@@ -238,17 +266,57 @@
     @Override
     public void onDisplayInfoChanged(Context context, Info info, int flags) {
         if ((flags & (CHANGE_ROTATION | CHANGE_NAVIGATION_MODE)) != 0) {
-            mMode = info.navigationMode;
+            mMode = info.getNavigationMode();
+            ActiveGestureLog.INSTANCE.setIsFullyGesturalNavMode(isFullyGesturalNavMode());
             mNavBarPosition = new NavBarPosition(mMode, info);
 
             if (mMode == NO_BUTTON) {
-                mExclusionListener.register();
+                registerExclusionListener();
             } else {
-                mExclusionListener.unregister();
+                unregisterExclusionListener();
             }
         }
     }
 
+    /**
+     * Registers {@link mGestureExclusionListener} for getting exclusion rect changes. Note that we
+     * make binder call on {@link UI_HELPER_EXECUTOR} to avoid jank.
+     */
+    public void registerExclusionListener() {
+        UI_HELPER_EXECUTOR.execute(() -> {
+            if (mExclusionListenerRegistered) {
+                return;
+            }
+            try {
+                mIWindowManager.registerSystemGestureExclusionListener(
+                        mGestureExclusionListener, DEFAULT_DISPLAY);
+                mExclusionListenerRegistered = true;
+            } catch (RemoteException e) {
+                Log.e(TAG, "Failed to register window manager callbacks", e);
+            }
+        });
+    }
+
+    /**
+     * Unregisters {@link mGestureExclusionListener} if previously registered. We make binder call
+     * on same {@link UI_HELPER_EXECUTOR} as in {@link #registerExclusionListener()} so that
+     * read/write {@link mExclusionListenerRegistered} field is thread safe.
+     */
+    public void unregisterExclusionListener() {
+        UI_HELPER_EXECUTOR.execute(() -> {
+            if (!mExclusionListenerRegistered) {
+                return;
+            }
+            try {
+                mIWindowManager.unregisterSystemGestureExclusionListener(
+                        mGestureExclusionListener, DEFAULT_DISPLAY);
+                mExclusionListenerRegistered = false;
+            } catch (RemoteException e) {
+                Log.e(TAG, "Failed to unregister window manager callbacks", e);
+            }
+        });
+    }
+
     public void onOneHandedModeChanged(int newGesturalHeight) {
         mRotationTouchHelper.setGesturalHeight(newGesturalHeight);
     }
@@ -275,13 +343,6 @@
     }
 
     /**
-     * @return whether the current nav mode is 2-button-based.
-     */
-    public boolean isTwoButtonNavMode() {
-        return mMode == TWO_BUTTONS;
-    }
-
-    /**
      * @return whether the current nav mode is button-based.
      */
     public boolean isButtonNavMode() {
@@ -292,7 +353,7 @@
      * @return the display id for the display that Launcher is running on.
      */
     public int getDisplayId() {
-        return mDisplayId;
+        return DEFAULT_DISPLAY;
     }
 
     /**
@@ -386,13 +447,6 @@
     }
 
     /**
-     * @return whether notification panel is expanded
-     */
-    public boolean isNotificationPanelExpanded() {
-        return (mSystemUiStateFlags & SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED) != 0;
-    }
-
-    /**
      * @return whether the global actions dialog is showing
      */
     public boolean isSystemUiDialogShowing() {
@@ -544,15 +598,31 @@
 
     /**
      * Returns the touch slop for {@link InputConsumer}s to compare against before pilfering
-     * pointers. Note that this is squared because it expects to be compared against
-     * {@link com.android.launcher3.Utilities#squaredHypot} (to avoid square root on each event).
+     * pointers.
      */
-    public float getSquaredTouchSlop() {
+    public float getTouchSlop() {
         float slopMultiplier = isFullyGesturalNavMode()
                 ? QUICKSTEP_TOUCH_SLOP_RATIO_GESTURAL
                 : QUICKSTEP_TOUCH_SLOP_RATIO_TWO_BUTTON;
         float touchSlop = ViewConfiguration.get(mContext).getScaledTouchSlop();
-        return slopMultiplier * touchSlop * touchSlop;
+
+        if (FeatureFlags.CUSTOM_LPNH_THRESHOLDS.get()) {
+            float customSlopMultiplier =
+                    LauncherPrefs.get(mContext).get(LONG_PRESS_NAV_HANDLE_SLOP_PERCENTAGE) / 100f;
+            return customSlopMultiplier * slopMultiplier * touchSlop;
+        } else {
+            return slopMultiplier * touchSlop;
+        }
+    }
+
+    /**
+     * Returns the squared touch slop for {@link InputConsumer}s to compare against before pilfering
+     * pointers. Note that this is squared because it expects to be compared against
+     * {@link com.android.launcher3.Utilities#squaredHypot} (to avoid square root on each event).
+     */
+    public float getSquaredTouchSlop() {
+        float touchSlop = getTouchSlop();
+        return touchSlop * touchSlop;
     }
 
     public String getSystemUiStateString() {
diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationTargets.java b/quickstep/src/com/android/quickstep/RecentsAnimationTargets.java
index 15e1365..556dd7e 100644
--- a/quickstep/src/com/android/quickstep/RecentsAnimationTargets.java
+++ b/quickstep/src/com/android/quickstep/RecentsAnimationTargets.java
@@ -17,13 +17,13 @@
 
 import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.view.RemoteAnimationTarget.MODE_CLOSING;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import android.app.WindowConfiguration;
 import android.graphics.Rect;
+import android.os.Bundle;
 import android.view.RemoteAnimationTarget;
 
-import com.android.quickstep.views.DesktopTaskView;
-
 /**
  * Extension of {@link RemoteAnimationTargets} with additional information about swipe
  * up animation
@@ -35,8 +35,8 @@
 
     public RecentsAnimationTargets(RemoteAnimationTarget[] apps,
             RemoteAnimationTarget[] wallpapers, RemoteAnimationTarget[] nonApps,
-            Rect homeContentInsets, Rect minimizedHomeBounds) {
-        super(apps, wallpapers, nonApps, MODE_CLOSING);
+            Rect homeContentInsets, Rect minimizedHomeBounds, Bundle extras) {
+        super(apps, wallpapers, nonApps, MODE_CLOSING, extras);
         this.homeContentInsets = homeContentInsets;
         this.minimizedHomeBounds = minimizedHomeBounds;
     }
@@ -52,7 +52,7 @@
      * @return {@code true} if at least one target app is a desktop task
      */
     public boolean hasDesktopTasks() {
-        if (!DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+        if (!isDesktopModeSupported()) {
             return false;
         }
         for (RemoteAnimationTarget target : apps) {
diff --git a/quickstep/src/com/android/quickstep/RecentsModel.java b/quickstep/src/com/android/quickstep/RecentsModel.java
index d798e62..89351aa 100644
--- a/quickstep/src/com/android/quickstep/RecentsModel.java
+++ b/quickstep/src/com/android/quickstep/RecentsModel.java
@@ -17,15 +17,18 @@
 
 import static android.os.Process.THREAD_PRIORITY_BACKGROUND;
 
+import static com.android.launcher3.Flags.enableGridOnlyOverview;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId;
 
 import android.annotation.TargetApi;
 import android.app.ActivityManager;
 import android.app.KeyguardManager;
+import android.content.ComponentCallbacks;
 import android.content.ComponentCallbacks2;
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.Configuration;
 import android.os.Build;
 import android.os.Process;
 import android.os.UserHandle;
@@ -36,6 +39,7 @@
 import com.android.launcher3.icons.IconProvider.IconChangeListener;
 import com.android.launcher3.util.Executors.SimpleThreadFactory;
 import com.android.launcher3.util.MainThreadInitializedObject;
+import com.android.launcher3.util.SafeCloseable;
 import com.android.quickstep.util.GroupTask;
 import com.android.quickstep.util.TaskVisualsChangeListener;
 import com.android.systemui.shared.recents.model.Task;
@@ -57,7 +61,7 @@
  */
 @TargetApi(Build.VERSION_CODES.O)
 public class RecentsModel implements IconChangeListener, TaskStackChangeListener,
-        TaskVisualsChangeListener {
+        TaskVisualsChangeListener, SafeCloseable {
 
     // We do not need any synchronization for this variable as its only written on UI thread.
     public static final MainThreadInitializedObject<RecentsModel> INSTANCE =
@@ -72,19 +76,52 @@
     private final RecentTasksList mTaskList;
     private final TaskIconCache mIconCache;
     private final TaskThumbnailCache mThumbnailCache;
+    private final ComponentCallbacks mCallbacks;
+
+    private final TaskStackChangeListeners mTaskStackChangeListeners;
 
     private RecentsModel(Context context) {
+        this(context, new IconProvider(context));
+    }
+
+    private RecentsModel(Context context, IconProvider iconProvider) {
+        this(context,
+                new RecentTasksList(MAIN_EXECUTOR,
+                        context.getSystemService(KeyguardManager.class),
+                        SystemUiProxy.INSTANCE.get(context)),
+                new TaskIconCache(context, RECENTS_MODEL_EXECUTOR, iconProvider),
+                new TaskThumbnailCache(context, RECENTS_MODEL_EXECUTOR),
+                iconProvider,
+                TaskStackChangeListeners.getInstance());
+    }
+
+    @VisibleForTesting
+    RecentsModel(Context context, RecentTasksList taskList, TaskIconCache iconCache,
+            TaskThumbnailCache thumbnailCache, IconProvider iconProvider,
+            TaskStackChangeListeners taskStackChangeListeners) {
         mContext = context;
-        mTaskList = new RecentTasksList(MAIN_EXECUTOR,
-                context.getSystemService(KeyguardManager.class),
-                SystemUiProxy.INSTANCE.get(context));
-
-        IconProvider iconProvider = new IconProvider(context);
-        mIconCache = new TaskIconCache(context, RECENTS_MODEL_EXECUTOR, iconProvider);
+        mTaskList = taskList;
+        mIconCache = iconCache;
         mIconCache.registerTaskVisualsChangeListener(this);
-        mThumbnailCache = new TaskThumbnailCache(context, RECENTS_MODEL_EXECUTOR);
+        mThumbnailCache = thumbnailCache;
+        if (enableGridOnlyOverview()) {
+            mCallbacks = new ComponentCallbacks() {
+                @Override
+                public void onConfigurationChanged(Configuration configuration) {
+                    updateCacheSizeAndPreloadIfNeeded();
+                }
 
-        TaskStackChangeListeners.getInstance().registerTaskStackListener(this);
+                @Override
+                public void onLowMemory() {
+                }
+            };
+            context.registerComponentCallbacks(mCallbacks);
+        } else {
+            mCallbacks = null;
+        }
+
+        mTaskStackChangeListeners = taskStackChangeListeners;
+        mTaskStackChangeListeners.registerTaskStackListener(this);
         iconProvider.registerIconChangeListener(this, MAIN_EXECUTOR.getHandler());
     }
 
@@ -109,7 +146,6 @@
                 RecentsFilterState.DEFAULT_FILTER);
     }
 
-
     /**
      * Fetches the list of recent tasks, based on a filter
      *
@@ -183,8 +219,8 @@
                     // time the user next enters overview
                     continue;
                 }
-                mThumbnailCache.updateThumbnailInCache(group.task1);
-                mThumbnailCache.updateThumbnailInCache(group.task2);
+                mThumbnailCache.updateThumbnailInCache(group.task1, /* lowResolution= */ true);
+                mThumbnailCache.updateThumbnailInCache(group.task2, /* lowResolution= */ true);
             }
         });
     }
@@ -281,6 +317,56 @@
     }
 
     /**
+     * Preloads cache if enableGridOnlyOverview is true, preloading is enabled and
+     * highResLoadingState is enabled
+     */
+    public void preloadCacheIfNeeded() {
+        if (!enableGridOnlyOverview()) {
+            return;
+        }
+
+        if (!mThumbnailCache.isPreloadingEnabled()) {
+            // Skip if we aren't preloading.
+            return;
+        }
+
+        if (!mThumbnailCache.getHighResLoadingState().isEnabled()) {
+            // Skip if high-res loading state is disabled.
+            return;
+        }
+
+        mTaskList.getTaskKeys(mThumbnailCache.getCacheSize(), taskGroups -> {
+            for (GroupTask group : taskGroups) {
+                mThumbnailCache.updateThumbnailInCache(group.task1, /* lowResolution= */ false);
+                mThumbnailCache.updateThumbnailInCache(group.task2, /* lowResolution= */ false);
+            }
+        });
+    }
+
+    /**
+     * Updates cache size and preloads more tasks if cache size increases
+     */
+    public void updateCacheSizeAndPreloadIfNeeded() {
+        if (!enableGridOnlyOverview()) {
+            return;
+        }
+
+        // If new size is larger than original size, preload more cache to fill the gap
+        if (mThumbnailCache.updateCacheSizeAndRemoveExcess()) {
+            preloadCacheIfNeeded();
+        }
+    }
+
+    @Override
+    public void close() {
+        if (mCallbacks != null) {
+            mContext.unregisterComponentCallbacks(mCallbacks);
+        }
+        mIconCache.removeTaskVisualsChangeListener();
+        mTaskStackChangeListeners.unregisterTaskStackListener(this);
+    }
+
+    /**
      * Listener for receiving running tasks changes
      */
     public interface RunningTasksListener {
diff --git a/quickstep/src/com/android/quickstep/RemoteAnimationTargets.java b/quickstep/src/com/android/quickstep/RemoteAnimationTargets.java
index 80aaad0..e0c7403 100644
--- a/quickstep/src/com/android/quickstep/RemoteAnimationTargets.java
+++ b/quickstep/src/com/android/quickstep/RemoteAnimationTargets.java
@@ -19,6 +19,7 @@
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_RECENTS;
 import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR;
 
+import android.os.Bundle;
 import android.view.RemoteAnimationTarget;
 
 import java.util.ArrayList;
@@ -35,6 +36,7 @@
     public final RemoteAnimationTarget[] apps;
     public final RemoteAnimationTarget[] wallpapers;
     public final RemoteAnimationTarget[] nonApps;
+    public final Bundle extras;
     public final int targetMode;
     public final boolean hasRecents;
 
@@ -42,7 +44,7 @@
 
     public RemoteAnimationTargets(RemoteAnimationTarget[] apps,
             RemoteAnimationTarget[] wallpapers, RemoteAnimationTarget[] nonApps,
-            int targetMode) {
+            int targetMode, Bundle extras) {
         ArrayList<RemoteAnimationTarget> filteredApps = new ArrayList<>();
         boolean hasRecents = false;
         if (apps != null) {
@@ -61,6 +63,13 @@
         this.targetMode = targetMode;
         this.hasRecents = hasRecents;
         this.nonApps = nonApps;
+        this.extras = extras;
+    }
+
+    public RemoteAnimationTargets(RemoteAnimationTarget[] apps,
+            RemoteAnimationTarget[] wallpapers, RemoteAnimationTarget[] nonApps,
+            int targetMode) {
+        this(apps, wallpapers, nonApps, targetMode, new Bundle());
     }
 
     public RemoteAnimationTarget findTask(int taskId) {
diff --git a/quickstep/src/com/android/quickstep/RemoteTargetGluer.java b/quickstep/src/com/android/quickstep/RemoteTargetGluer.java
index 84246e9..98d0ece 100644
--- a/quickstep/src/com/android/quickstep/RemoteTargetGluer.java
+++ b/quickstep/src/com/android/quickstep/RemoteTargetGluer.java
@@ -16,7 +16,10 @@
 
 package com.android.quickstep;
 
-import android.app.WindowConfiguration;
+import static com.android.quickstep.util.SplitScreenUtils.convertShellSplitBoundsToLauncher;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
+import static com.android.wm.shell.util.SplitBounds.KEY_EXTRA_SPLIT_BOUNDS;
+
 import android.content.Context;
 import android.graphics.Rect;
 import android.util.Log;
@@ -24,11 +27,11 @@
 
 import androidx.annotation.Nullable;
 
-import com.android.launcher3.util.SplitConfigurationOptions.SplitBounds;
+import com.android.launcher3.util.SplitConfigurationOptions;
 import com.android.quickstep.util.AnimatorControllerWithResistance;
 import com.android.quickstep.util.TaskViewSimulator;
 import com.android.quickstep.util.TransformParams;
-import com.android.quickstep.views.DesktopTaskView;
+import com.android.wm.shell.util.SplitBounds;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -43,7 +46,7 @@
     private static final int DEFAULT_NUM_HANDLES = 2;
 
     private RemoteTargetHandle[] mRemoteTargetHandles;
-    private SplitBounds mSplitBounds;
+    private SplitConfigurationOptions.SplitBounds mSplitBounds;
 
     /**
      * Use this constructor if remote targets are split-screen independent
@@ -58,7 +61,7 @@
      * running tasks
      */
     public RemoteTargetGluer(Context context, BaseActivityInterface sizingStrategy) {
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+        if (isDesktopModeSupported()) {
             // TODO(279931899): binder call, only for prototyping. Creating the gluer should be
             //  postponed so we can create it when we have the remote animation targets ready.
             int desktopTasks = SystemUiProxy.INSTANCE.get(context).getVisibleDesktopTaskCount(
@@ -111,6 +114,16 @@
     }
 
     /**
+     * Calls {@link #assignTargetsForSplitScreen(RemoteAnimationTargets)} with SplitBounds
+     * information specified.
+     */
+    public RemoteTargetHandle[] assignTargetsForSplitScreen(RemoteAnimationTargets targets,
+            SplitConfigurationOptions.SplitBounds splitBounds) {
+        mSplitBounds = splitBounds;
+        return assignTargetsForSplitScreen(targets);
+    }
+
+    /**
      * Similar to {@link #assignTargets(RemoteAnimationTargets)}, except this assigns the
      * apps in {@code targets.apps} to the {@link #mRemoteTargetHandles} with index 0 will being
      * the left/top task, index 1 right/bottom.
@@ -129,10 +142,17 @@
             mRemoteTargetHandles = newHandles;
         }
 
-        boolean containsSplitTargets = Arrays.stream(targets.apps)
-                .anyMatch(remoteAnimationTarget ->
-                        remoteAnimationTarget.windowConfiguration.getWindowingMode()
-                                == WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW);
+        // If we are in a true split screen case (2 apps running on screen), either:
+        //     a) mSplitBounds was already set (from the clicked GroupedTaskView)
+        //     b) A SplitBounds was passed up from shell (via AbsSwipeUpHandler)
+        // If both of these are null, we are in a 1-app or 1-app-plus-assistant case.
+        if (mSplitBounds == null) {
+            SplitBounds shellSplitBounds = targets.extras.getParcelable(KEY_EXTRA_SPLIT_BOUNDS,
+                    SplitBounds.class);
+            mSplitBounds = convertShellSplitBoundsToLauncher(shellSplitBounds);
+        }
+
+        boolean containsSplitTargets = mSplitBounds != null;
         Log.d(TAG, "containsSplitTargets? " + containsSplitTargets + " handleLength: " +
                 mRemoteTargetHandles.length + " appsLength: " + targets.apps.length);
 
@@ -154,40 +174,12 @@
             }
         } else {
             // Split apps (+ maybe assistant)
-            RemoteAnimationTarget topLeftTarget = Arrays.stream(targets.apps)
-                    .filter(remoteAnimationTarget ->
-                            remoteAnimationTarget.windowConfiguration.getWindowingMode()
-                                    == WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW)
-                    .findFirst().get();
-
-            // Fetch the adjacent target for split screen.
-            RemoteAnimationTarget bottomRightTarget = null;
-            for (int i = 0; i < targets.apps.length; i++) {
-                final RemoteAnimationTarget target = targets.apps[i];
-                if (target.windowConfiguration.getWindowingMode() !=
-                        WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW ||
-                        target == topLeftTarget) {
-                    continue;
-                }
-                Rect topLeftBounds = getStartBounds(topLeftTarget);
-                Rect bounds = getStartBounds(target);
-                if (topLeftBounds.left > bounds.right || topLeftBounds.top > bounds.bottom) {
-                    bottomRightTarget = topLeftTarget;
-                    topLeftTarget = target;
-                    break;
-                } else if (topLeftBounds.right < bounds.left || topLeftBounds.bottom < bounds.top) {
-                    bottomRightTarget = target;
-                    break;
-                }
-            }
+            RemoteAnimationTarget topLeftTarget = targets.findTask(mSplitBounds.leftTopTaskId);
+            RemoteAnimationTarget bottomRightTarget = targets.findTask(
+                    mSplitBounds.rightBottomTaskId);
 
             // remoteTargetHandle[0] denotes topLeft task, so we pass in the bottomRight to exclude,
             // vice versa
-            mSplitBounds = new SplitBounds(
-                    getStartBounds(topLeftTarget),
-                    getStartBounds(bottomRightTarget),
-                    topLeftTarget.taskId,
-                    bottomRightTarget.taskId);
             mRemoteTargetHandles[0].mTransformParams.setTargetSet(
                     createRemoteAnimationTargetsForTarget(targets, bottomRightTarget));
             mRemoteTargetHandles[0].mTaskViewSimulator.setPreview(topLeftTarget,
@@ -291,7 +283,7 @@
         return mRemoteTargetHandles;
     }
 
-    public SplitBounds getSplitBounds() {
+    public SplitConfigurationOptions.SplitBounds getSplitBounds() {
         return mSplitBounds;
     }
 
diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java
index fae929a..723af43 100644
--- a/quickstep/src/com/android/quickstep/SystemUiProxy.java
+++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java
@@ -19,6 +19,8 @@
 
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
+import static com.android.launcher3.util.SplitConfigurationOptions.StagePosition;
+import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.RECENT_TASKS_MISSING;
 import static com.android.quickstep.util.LogUtils.splitFailureMessage;
 
 import android.app.ActivityManager;
@@ -31,6 +33,7 @@
 import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ShortcutInfo;
+import android.graphics.Point;
 import android.graphics.Rect;
 import android.os.Bundle;
 import android.os.Handler;
@@ -59,9 +62,10 @@
 import com.android.internal.logging.InstanceId;
 import com.android.internal.util.ScreenshotRequest;
 import com.android.internal.view.AppearanceRegion;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.util.MainThreadInitializedObject;
 import com.android.launcher3.util.Preconditions;
-import com.android.launcher3.util.SplitConfigurationOptions;
+import com.android.quickstep.util.ActiveGestureLog;
 import com.android.quickstep.util.AssistUtils;
 import com.android.systemui.shared.recents.ISystemUiProxy;
 import com.android.systemui.shared.recents.model.ThumbnailData;
@@ -75,6 +79,7 @@
 import com.android.wm.shell.back.IBackAnimation;
 import com.android.wm.shell.bubbles.IBubbles;
 import com.android.wm.shell.bubbles.IBubblesListener;
+import com.android.wm.shell.common.split.SplitScreenConstants.PersistentSnapPosition;
 import com.android.wm.shell.desktopmode.IDesktopMode;
 import com.android.wm.shell.desktopmode.IDesktopTaskListener;
 import com.android.wm.shell.draganddrop.IDragAndDrop;
@@ -88,17 +93,20 @@
 import com.android.wm.shell.splitscreen.ISplitSelectListener;
 import com.android.wm.shell.startingsurface.IStartingWindow;
 import com.android.wm.shell.startingsurface.IStartingWindowListener;
+import com.android.wm.shell.transition.IHomeTransitionListener;
 import com.android.wm.shell.transition.IShellTransitions;
 import com.android.wm.shell.util.GroupedRecentTaskInfo;
 
+import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.LinkedHashMap;
+import java.util.List;
 
 /**
  * Holds the reference to SystemUI.
  */
-public class SystemUiProxy implements ISystemUiProxy {
+public class SystemUiProxy implements ISystemUiProxy, NavHandle {
     private static final String TAG = SystemUiProxy.class.getSimpleName();
 
     public static final MainThreadInitializedObject<SystemUiProxy> INSTANCE =
@@ -133,15 +141,20 @@
     private ISplitSelectListener mSplitSelectListener;
     private IStartingWindowListener mStartingWindowListener;
     private ILauncherUnlockAnimationController mLauncherUnlockAnimationController;
+    private String mLauncherActivityClass;
     private IRecentTasksListener mRecentTasksListener;
     private IUnfoldTransitionListener mUnfoldAnimationListener;
     private IDesktopTaskListener mDesktopTaskListener;
     private final LinkedHashMap<RemoteTransition, TransitionFilter> mRemoteTransitions =
             new LinkedHashMap<>();
+
+    private final List<Runnable> mStateChangeCallbacks = new ArrayList<>();
+
     private IBinder mOriginalTransactionToken = null;
     private IOnBackInvokedCallback mBackToLauncherCallback;
     private IRemoteAnimationRunner mBackToLauncherRunner;
     private IDragAndDrop mDragAndDrop;
+    private IHomeTransitionListener mHomeTransitionListener;
 
     // Used to dedupe calls to SystemUI
     private int mLastShelfHeight;
@@ -168,9 +181,12 @@
         mContext = context;
         mAsyncHandler = new Handler(UI_HELPER_EXECUTOR.getLooper(), this::handleMessageAsync);
         final Intent baseIntent = new Intent().setPackage(mContext.getPackageName());
+        final ActivityOptions options = ActivityOptions.makeBasic()
+                .setPendingIntentCreatorBackgroundActivityStartMode(
+                        ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED);
         mRecentsPendingIntent = PendingIntent.getActivity(mContext, 0, baseIntent,
                 PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT
-                        | Intent.FILL_IN_COMPONENT);
+                        | Intent.FILL_IN_COMPONENT, options.toBundle());
     }
 
     @Override
@@ -243,8 +259,10 @@
         setBubblesListener(mBubblesListener);
         registerSplitScreenListener(mSplitScreenListener);
         registerSplitSelectListener(mSplitSelectListener);
+        setHomeTransitionListener(mHomeTransitionListener);
         setStartingWindowListener(mStartingWindowListener);
-        setLauncherUnlockAnimationController(mLauncherUnlockAnimationController);
+        setLauncherUnlockAnimationController(
+                mLauncherActivityClass, mLauncherUnlockAnimationController);
         new LinkedHashMap<>(mRemoteTransitions).forEach(this::registerRemoteTransition);
         setupTransactionQueue();
         registerRecentTasksListener(mRecentTasksListener);
@@ -253,6 +271,7 @@
         setDesktopTaskListener(mDesktopTaskListener);
         setAssistantOverridesRequested(
                 AssistUtils.newInstance(mContext).getSysUiAssistOverrideInvocationTypes());
+        mStateChangeCallbacks.forEach(Runnable::run);
     }
 
     /**
@@ -263,6 +282,20 @@
         setProxy(null, null, null, null, null, null, null, null, null, null, null, null, null);
     }
 
+    /**
+     * Adds a callback to be notified whenever the active state changes
+     */
+    public void addOnStateChangeListener(Runnable callback) {
+        mStateChangeCallbacks.add(callback);
+    }
+
+    /**
+     * Removes a previously added state change callback
+     */
+    public void removeOnStateChangeListener(Runnable callback) {
+        mStateChangeCallbacks.remove(callback);
+    }
+
     // TODO(141886704): Find a way to remove this
     public void setLastSystemUiStateFlags(int stateFlags) {
         mLastSystemUiStateFlags = stateFlags;
@@ -388,6 +421,17 @@
     }
 
     @Override
+    public void animateNavBarLongPress(boolean isTouchDown, boolean shrink, long durationMs) {
+        if (mSystemUiProxy != null) {
+            try {
+                mSystemUiProxy.animateNavBarLongPress(isTouchDown, shrink, durationMs);
+            } catch (RemoteException e) {
+                Log.w(TAG, "Failed call animateNavBarLongPress", e);
+            }
+        }
+    }
+
+    @Override
     public void notifyAccessibilityButtonClicked(int displayId) {
         if (mSystemUiProxy != null) {
             try {
@@ -586,10 +630,11 @@
      * should be responsible for cleaning up the overlay.
      */
     public void stopSwipePipToHome(int taskId, ComponentName componentName, Rect destinationBounds,
-            SurfaceControl overlay) {
+            SurfaceControl overlay, Rect appBounds) {
         if (mPip != null) {
             try {
-                mPip.stopSwipePipToHome(taskId, componentName, destinationBounds, overlay);
+                mPip.stopSwipePipToHome(taskId, componentName, destinationBounds, overlay,
+                        appBounds);
             } catch (RemoteException e) {
                 Log.w(TAG, "Failed call stopSwipePipToHome");
             }
@@ -731,6 +776,18 @@
         }
     }
 
+    /**
+     * Tells SysUI to show user education relative to the reference point provided.
+     * @param position the bubble bar top center position in Screen coordinates.
+     */
+    public void showUserEducation(Point position) {
+        try {
+            mBubbles.showUserEducation(position.x, position.y);
+        } catch (RemoteException e) {
+            Log.w(TAG, "Failed call showUserEducation");
+        }
+    }
+
     //
     // Splitscreen
     //
@@ -781,12 +838,12 @@
 
     /** Start multiple tasks in split-screen simultaneously. */
     public void startTasks(int taskId1, Bundle options1, int taskId2, Bundle options2,
-            @SplitConfigurationOptions.StagePosition int splitPosition, float splitRatio,
+            @StagePosition int splitPosition, @PersistentSnapPosition int snapPosition,
             RemoteTransition remoteTransition, InstanceId instanceId) {
         if (mSystemUiProxy != null) {
             try {
                 mSplitScreen.startTasks(taskId1, options1, taskId2, options2, splitPosition,
-                        splitRatio, remoteTransition, instanceId);
+                        snapPosition, remoteTransition, instanceId);
             } catch (RemoteException e) {
                 Log.w(TAG, splitFailureMessage("startTasks", "RemoteException"), e);
             }
@@ -794,12 +851,13 @@
     }
 
     public void startIntentAndTask(PendingIntent pendingIntent, int userId1, Bundle options1,
-            int taskId, Bundle options2, @SplitConfigurationOptions.StagePosition int splitPosition,
-            float splitRatio, RemoteTransition remoteTransition, InstanceId instanceId) {
+            int taskId, Bundle options2, @StagePosition int splitPosition,
+            @PersistentSnapPosition int snapPosition, RemoteTransition remoteTransition,
+            InstanceId instanceId) {
         if (mSystemUiProxy != null) {
             try {
                 mSplitScreen.startIntentAndTask(pendingIntent, userId1, options1, taskId, options2,
-                        splitPosition, splitRatio, remoteTransition, instanceId);
+                        splitPosition, snapPosition, remoteTransition, instanceId);
             } catch (RemoteException e) {
                 Log.w(TAG, splitFailureMessage("startIntentAndTask", "RemoteException"), e);
             }
@@ -809,13 +867,13 @@
     public void startIntents(PendingIntent pendingIntent1, int userId1,
             @Nullable ShortcutInfo shortcutInfo1, Bundle options1, PendingIntent pendingIntent2,
             int userId2, @Nullable ShortcutInfo shortcutInfo2, Bundle options2,
-            @SplitConfigurationOptions.StagePosition int splitPosition, float splitRatio,
+            @StagePosition int splitPosition, @PersistentSnapPosition int snapPosition,
             RemoteTransition remoteTransition, InstanceId instanceId) {
         if (mSystemUiProxy != null) {
             try {
                 mSplitScreen.startIntents(pendingIntent1, userId1, shortcutInfo1, options1,
-                        pendingIntent2, userId2, shortcutInfo2, options2, splitPosition, splitRatio,
-                        remoteTransition, instanceId);
+                        pendingIntent2, userId2, shortcutInfo2, options2, splitPosition,
+                        snapPosition, remoteTransition, instanceId);
             } catch (RemoteException e) {
                 Log.w(TAG, splitFailureMessage("startIntents", "RemoteException"), e);
             }
@@ -823,12 +881,13 @@
     }
 
     public void startShortcutAndTask(ShortcutInfo shortcutInfo, Bundle options1, int taskId,
-            Bundle options2, @SplitConfigurationOptions.StagePosition int splitPosition,
-            float splitRatio, RemoteTransition remoteTransition, InstanceId instanceId) {
+            Bundle options2, @StagePosition int splitPosition,
+            @PersistentSnapPosition int snapPosition, RemoteTransition remoteTransition,
+            InstanceId instanceId) {
         if (mSystemUiProxy != null) {
             try {
                 mSplitScreen.startShortcutAndTask(shortcutInfo, options1, taskId, options2,
-                        splitPosition, splitRatio, remoteTransition, instanceId);
+                        splitPosition, snapPosition, remoteTransition, instanceId);
             } catch (RemoteException e) {
                 Log.w(TAG, splitFailureMessage("startShortcutAndTask", "RemoteException"), e);
             }
@@ -839,12 +898,13 @@
      * Start multiple tasks in split-screen simultaneously.
      */
     public void startTasksWithLegacyTransition(int taskId1, Bundle options1, int taskId2,
-            Bundle options2, @SplitConfigurationOptions.StagePosition int splitPosition,
-            float splitRatio, RemoteAnimationAdapter adapter, InstanceId instanceId) {
+            Bundle options2, @StagePosition int splitPosition,
+            @PersistentSnapPosition int snapPosition, RemoteAnimationAdapter adapter,
+            InstanceId instanceId) {
         if (mSystemUiProxy != null) {
             try {
                 mSplitScreen.startTasksWithLegacyTransition(taskId1, options1, taskId2, options2,
-                        splitPosition, splitRatio, adapter, instanceId);
+                        splitPosition, snapPosition, adapter, instanceId);
             } catch (RemoteException e) {
                 Log.w(TAG, splitFailureMessage(
                         "startTasksWithLegacyTransition", "RemoteException"), e);
@@ -853,13 +913,14 @@
     }
 
     public void startIntentAndTaskWithLegacyTransition(PendingIntent pendingIntent, int userId1,
-            Bundle options1, int taskId, Bundle options2,
-            @SplitConfigurationOptions.StagePosition int splitPosition, float splitRatio,
-            RemoteAnimationAdapter adapter, InstanceId instanceId) {
+            Bundle options1, int taskId, Bundle options2, @StagePosition int splitPosition,
+            @PersistentSnapPosition int snapPosition, RemoteAnimationAdapter adapter,
+            InstanceId instanceId) {
         if (mSystemUiProxy != null) {
             try {
                 mSplitScreen.startIntentAndTaskWithLegacyTransition(pendingIntent, userId1,
-                        options1, taskId, options2, splitPosition, splitRatio, adapter, instanceId);
+                        options1, taskId, options2, splitPosition, snapPosition, adapter,
+                        instanceId);
             } catch (RemoteException e) {
                 Log.w(TAG, splitFailureMessage(
                         "startIntentAndTaskWithLegacyTransition", "RemoteException"), e);
@@ -868,12 +929,13 @@
     }
 
     public void startShortcutAndTaskWithLegacyTransition(ShortcutInfo shortcutInfo, Bundle options1,
-            int taskId, Bundle options2, @SplitConfigurationOptions.StagePosition int splitPosition,
-            float splitRatio, RemoteAnimationAdapter adapter, InstanceId instanceId) {
+            int taskId, Bundle options2, @StagePosition int splitPosition,
+            @PersistentSnapPosition int snapPosition, RemoteAnimationAdapter adapter,
+            InstanceId instanceId) {
         if (mSystemUiProxy != null) {
             try {
                 mSplitScreen.startShortcutAndTaskWithLegacyTransition(shortcutInfo, options1,
-                        taskId, options2, splitPosition, splitRatio, adapter, instanceId);
+                        taskId, options2, splitPosition, snapPosition, adapter, instanceId);
             } catch (RemoteException e) {
                 Log.w(TAG, splitFailureMessage(
                         "startShortcutAndTaskWithLegacyTransition", "RemoteException"), e);
@@ -888,13 +950,14 @@
     public void startIntentsWithLegacyTransition(PendingIntent pendingIntent1, int userId1,
             @Nullable ShortcutInfo shortcutInfo1, @Nullable Bundle options1,
             PendingIntent pendingIntent2, int userId2, @Nullable ShortcutInfo shortcutInfo2,
-            @Nullable Bundle options2, @SplitConfigurationOptions.StagePosition int sidePosition,
-            float splitRatio, RemoteAnimationAdapter adapter, InstanceId instanceId) {
+            @Nullable Bundle options2, @StagePosition int sidePosition,
+            @PersistentSnapPosition int snapPosition, RemoteAnimationAdapter adapter,
+            InstanceId instanceId) {
         if (mSystemUiProxy != null) {
             try {
                 mSplitScreen.startIntentsWithLegacyTransition(pendingIntent1, userId1,
                         shortcutInfo1, options1, pendingIntent2, userId2, shortcutInfo2, options2,
-                        sidePosition, splitRatio, adapter, instanceId);
+                        sidePosition, snapPosition, adapter, instanceId);
             } catch (RemoteException e) {
                 Log.w(TAG, splitFailureMessage(
                         "startIntentsWithLegacyTransition", "RemoteException"), e);
@@ -1019,6 +1082,43 @@
         mRemoteTransitions.remove(remoteTransition);
     }
 
+    public void setHomeTransitionListener(IHomeTransitionListener listener) {
+        if (!FeatureFlags.enableHomeTransitionListener()) {
+            return;
+        }
+
+        mHomeTransitionListener = listener;
+
+        if (mShellTransitions != null) {
+            try {
+                mShellTransitions.setHomeTransitionListener(listener);
+            } catch (RemoteException e) {
+                Log.w(TAG, "Failed call setHomeTransitionListener", e);
+            }
+        } else  {
+            Log.w(TAG, "Unable to call setHomeTransitionListener because ShellTransitions is null");
+        }
+    }
+
+    /**
+     * Returns a surface which can be used to attach overlays to home task or null if
+     * the task doesn't exist or sysui is not connected
+     */
+    @Nullable
+    public SurfaceControl getHomeTaskOverlayContainer() {
+        // Use a local reference as this method can be called on a worker thread, which can lead
+        // to NullPointer exceptions if mShellTransitions is modified on the main thread.
+        IShellTransitions shellTransitions = mShellTransitions;
+        if (shellTransitions != null) {
+            try {
+                return mShellTransitions.getHomeTaskOverlayContainer();
+            } catch (RemoteException e) {
+                Log.w(TAG, "Failed call getOverlayContainerForTask", e);
+            }
+        }
+        return null;
+    }
+
     /**
      * Use SystemUI's transaction-queue instead of Launcher's independent one. This is necessary
      * if Launcher and SystemUI need to coordinate transactions (eg. for shell transitions).
@@ -1092,11 +1192,11 @@
      * changes).
      */
     public void setLauncherUnlockAnimationController(
-            ILauncherUnlockAnimationController controller) {
+            String activityClass, ILauncherUnlockAnimationController controller) {
         if (mSysuiUnlockAnimationController != null) {
             try {
-                mSysuiUnlockAnimationController.setLauncherUnlockController(controller);
-
+                mSysuiUnlockAnimationController.setLauncherUnlockController(
+                        activityClass, controller);
                 if (controller != null) {
                     controller.dispatchSmartspaceStateToSysui();
                 }
@@ -1104,7 +1204,7 @@
                 Log.w(TAG, "Failed call setLauncherUnlockAnimationController", e);
             }
         }
-
+        mLauncherActivityClass = activityClass;
         mLauncherUnlockAnimationController = controller;
     }
 
@@ -1163,7 +1263,7 @@
         }
         try {
             mBackAnimation.setBackToLauncherCallback(callback, runner);
-        } catch (RemoteException e) {
+        } catch (RemoteException | SecurityException e) {
             Log.e(TAG, "Failed call setBackToLauncherCallback", e);
         }
     }
@@ -1203,19 +1303,21 @@
     }
 
     public ArrayList<GroupedRecentTaskInfo> getRecentTasks(int numTasks, int userId) {
-        if (mRecentTasks != null) {
-            try {
-                final GroupedRecentTaskInfo[] rawTasks = mRecentTasks.getRecentTasks(numTasks,
-                        RECENT_IGNORE_UNAVAILABLE, userId);
-                if (rawTasks == null) {
-                    return new ArrayList<>();
-                }
-                return new ArrayList<>(Arrays.asList(rawTasks));
-            } catch (RemoteException e) {
-                Log.w(TAG, "Failed call getRecentTasks", e);
-            }
+        if (mRecentTasks == null) {
+            Log.w(TAG, "getRecentTasks() failed due to null mRecentTasks");
+            return new ArrayList<>();
         }
-        return new ArrayList<>();
+        try {
+            final GroupedRecentTaskInfo[] rawTasks = mRecentTasks.getRecentTasks(numTasks,
+                    RECENT_IGNORE_UNAVAILABLE, userId);
+            if (rawTasks == null) {
+                return new ArrayList<>();
+            }
+            return new ArrayList<>(Arrays.asList(rawTasks));
+        } catch (RemoteException e) {
+            Log.w(TAG, "Failed call getRecentTasks", e);
+            return new ArrayList<>();
+        }
     }
 
     /**
@@ -1251,10 +1353,10 @@
     //
 
     /** Call shell to show all apps active on the desktop */
-    public void showDesktopApps(int displayId) {
+    public void showDesktopApps(int displayId, @Nullable RemoteTransition transition) {
         if (mDesktopMode != null) {
             try {
-                mDesktopMode.showDesktopApps(displayId);
+                mDesktopMode.showDesktopApps(displayId, transition);
             } catch (RemoteException e) {
                 Log.w(TAG, "Failed call showDesktopApps", e);
             }
@@ -1359,15 +1461,21 @@
     public boolean startRecentsActivity(Intent intent, ActivityOptions options,
             RecentsAnimationListener listener) {
         if (mRecentTasks == null) {
+            ActiveGestureLog.INSTANCE.addLog("Null mRecentTasks", RECENT_TASKS_MISSING);
             return false;
         }
         final IRecentsAnimationRunner runner = new IRecentsAnimationRunner.Stub() {
             @Override
             public void onAnimationStart(IRecentsAnimationController controller,
                     RemoteAnimationTarget[] apps, RemoteAnimationTarget[] wallpapers,
-                    Rect homeContentInsets, Rect minimizedHomeBounds) {
+                    Rect homeContentInsets, Rect minimizedHomeBounds, Bundle extras) {
+                // Aidl bundles need to explicitly set class loader
+                // https://developer.android.com/guide/components/aidl#Bundles
+                if (extras != null) {
+                    extras.setClassLoader(getClass().getClassLoader());
+                }
                 listener.onAnimationStart(new RecentsAnimationControllerCompat(controller), apps,
-                        wallpapers, homeContentInsets, minimizedHomeBounds);
+                        wallpapers, homeContentInsets, minimizedHomeBounds, extras);
             }
 
             @Override
@@ -1411,4 +1519,35 @@
             return false;
         }
     }
+
+    public void dump(PrintWriter pw) {
+        pw.println(TAG + ":");
+
+        pw.println("\tmSystemUiProxy=" + mSystemUiProxy);
+        pw.println("\tmPip=" + mPip);
+        pw.println("\tmPipAnimationListener=" + mPipAnimationListener);
+        pw.println("\tmBubbles=" + mBubbles);
+        pw.println("\tmBubblesListener=" + mBubblesListener);
+        pw.println("\tmSplitScreen=" + mSplitScreen);
+        pw.println("\tmSplitScreenListener=" + mSplitScreenListener);
+        pw.println("\tmSplitSelectListener=" + mSplitSelectListener);
+        pw.println("\tmOneHanded=" + mOneHanded);
+        pw.println("\tmShellTransitions=" + mShellTransitions);
+        pw.println("\tmHomeTransitionListener=" + mHomeTransitionListener);
+        pw.println("\tmStartingWindow=" + mStartingWindow);
+        pw.println("\tmStartingWindowListener=" + mStartingWindowListener);
+        pw.println("\tmSysuiUnlockAnimationController=" + mSysuiUnlockAnimationController);
+        pw.println("\tmLauncherActivityClass=" + mLauncherActivityClass);
+        pw.println("\tmLauncherUnlockAnimationController=" + mLauncherUnlockAnimationController);
+        pw.println("\tmRecentTasks=" + mRecentTasks);
+        pw.println("\tmRecentTasksListener=" + mRecentTasksListener);
+        pw.println("\tmBackAnimation=" + mBackAnimation);
+        pw.println("\tmBackToLauncherCallback=" + mBackToLauncherCallback);
+        pw.println("\tmBackToLauncherRunner=" + mBackToLauncherRunner);
+        pw.println("\tmDesktopMode=" + mDesktopMode);
+        pw.println("\tmDesktopTaskListener=" + mDesktopTaskListener);
+        pw.println("\tmUnfoldAnimation=" + mUnfoldAnimation);
+        pw.println("\tmUnfoldAnimationListener=" + mUnfoldAnimationListener);
+        pw.println("\tmDragAndDrop=" + mDragAndDrop);
+    }
 }
diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java
index 2896fe0..4f885af 100644
--- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java
+++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java
@@ -21,6 +21,7 @@
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
 import static com.android.launcher3.util.NavigationMode.NO_BUTTON;
 import static com.android.quickstep.GestureState.GestureEndTarget.RECENTS;
+import static com.android.quickstep.GestureState.STATE_END_TARGET_ANIMATION_FINISHED;
 import static com.android.quickstep.GestureState.STATE_RECENTS_ANIMATION_INITIALIZED;
 import static com.android.quickstep.GestureState.STATE_RECENTS_ANIMATION_STARTED;
 import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.START_RECENTS_ANIMATION;
@@ -33,16 +34,15 @@
 import android.util.Log;
 import android.view.RemoteAnimationTarget;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.UiThread;
 
+import com.android.internal.util.ArrayUtils;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.config.FeatureFlags;
-import com.android.launcher3.testing.shared.TestProtocol;
 import com.android.launcher3.util.DisplayController;
-import com.android.quickstep.TopTaskTracker.CachedTaskInfo;
 import com.android.quickstep.util.ActiveGestureLog;
-import com.android.quickstep.views.DesktopTaskView;
 import com.android.quickstep.views.RecentsView;
 import com.android.systemui.shared.recents.model.ThumbnailData;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
@@ -104,7 +104,7 @@
      * Starts a new recents animation for the activity with the given {@param intent}.
      */
     @UiThread
-    public RecentsAnimationCallbacks startRecentsAnimation(GestureState gestureState,
+    public RecentsAnimationCallbacks startRecentsAnimation(@NonNull GestureState gestureState,
             Intent intent, RecentsAnimationCallbacks.RecentsAnimationListener listener) {
         ActiveGestureLog.INSTANCE.addLog(
                 /* event= */ "startRecentsAnimation",
@@ -119,7 +119,8 @@
             }
         }
         // But force-finish it anyways
-        finishRunningRecentsAnimation(false /* toHome */, true /* forceFinish */);
+        finishRunningRecentsAnimation(false /* toHome */, true /* forceFinish */,
+                null /* forceFinishCb */);
 
         if (mCallbacks != null) {
             // If mCallbacks still != null, that means we are getting this startRecentsAnimation()
@@ -154,6 +155,25 @@
                     mLastAppearedTaskTargets[i] = task;
                 }
                 mLastGestureState.updateLastAppearedTaskTargets(mLastAppearedTaskTargets);
+
+                if (ENABLE_SHELL_TRANSITIONS && mTargets.hasRecents
+                        // The filtered (MODE_CLOSING) targets only contain 1 home activity.
+                        && mTargets.apps.length == 1
+                        && mTargets.apps[0].windowConfiguration.getActivityType()
+                        == ACTIVITY_TYPE_HOME) {
+                    // This is launching RecentsActivity on top of a 3p launcher. There are no
+                    // other apps need to keep visible so finish the animating state after the
+                    // enter animation of overview is done. Then 3p launcher can be stopped.
+                    mLastGestureState.runOnceAtState(STATE_END_TARGET_ANIMATION_FINISHED, () -> {
+                        if (mLastGestureState != gestureState) return;
+                        // Only finish if the end target is RECENTS. Otherwise, if the target is
+                        // NEW_TASK, startActivityFromRecents will be skipped.
+                        if (mLastGestureState.getEndTarget() == RECENTS) {
+                            finishRunningRecentsAnimation(false /* toHome */,
+                                    true /* forceFinish */, null /* forceFinishCb */);
+                        }
+                    });
+                }
             }
 
             @Override
@@ -166,6 +186,16 @@
                 cleanUpRecentsAnimation(newCallbacks);
             }
 
+            private boolean isNonRecentsStartedTasksAppeared(
+                    RemoteAnimationTarget[] appearedTaskTargets) {
+                // For example, right after swiping from task X to task Y (e.g. from
+                // AbsSwipeUpHandler#startNewTask), and then task Y starts X immediately
+                // (e.g. in Y's onResume). The case will be: lastStartedTask=Y and appearedTask=X.
+                return mLastGestureState.getEndTarget() == GestureState.GestureEndTarget.NEW_TASK
+                        && ArrayUtils.find(appearedTaskTargets,
+                                mLastGestureState.mLastStartedTaskIdPredicate) == null;
+            }
+
             @Override
             public void onTasksAppeared(RemoteAnimationTarget[] appearedTaskTargets) {
                 RemoteAnimationTarget appearedTaskTarget = appearedTaskTargets[0];
@@ -181,28 +211,28 @@
                         RecentsView recentsView =
                                 activityInterface.getCreatedActivity().getOverviewPanel();
                         if (recentsView != null) {
-                            Log.d(TestProtocol.INCORRECT_HOME_STATE,
-                                    "finish recents animation on "
-                                            + compat.taskInfo.description);
                             recentsView.finishRecentsAnimation(true, null);
                         }
                         return;
                     }
                 }
 
-                RemoteAnimationTarget[] nonAppTargets = SystemUiProxy.INSTANCE.get(mCtx)
-                        .onStartingSplitLegacy(appearedTaskTargets);
+                RemoteAnimationTarget[] nonAppTargets = ENABLE_SHELL_TRANSITIONS
+                        ? null : SystemUiProxy.INSTANCE.get(mCtx).onStartingSplitLegacy(
+                                appearedTaskTargets);
                 if (nonAppTargets == null) {
                     nonAppTargets = new RemoteAnimationTarget[0];
                 }
                 if ((activityInterface.isInLiveTileMode()
-                            || mLastGestureState.getEndTarget() == RECENTS)
+                            || mLastGestureState.getEndTarget() == RECENTS
+                            || isNonRecentsStartedTasksAppeared(appearedTaskTargets))
                         && activityInterface.getCreatedActivity() != null) {
                     RecentsView recentsView =
                             activityInterface.getCreatedActivity().getOverviewPanel();
                     if (recentsView != null) {
-                        ActiveGestureLog.INSTANCE.addLog("Launching side task id="
-                                + appearedTaskTarget.taskId);
+                        ActiveGestureLog.INSTANCE.addLog(
+                                new ActiveGestureLog.CompoundString("Launching side task id=")
+                                        .append(appearedTaskTarget.taskId));
                         recentsView.launchSideTaskInLiveTileMode(appearedTaskTarget.taskId,
                                 appearedTaskTargets,
                                 new RemoteAnimationTarget[0] /* wallpaper */,
@@ -255,21 +285,8 @@
 
         if (ENABLE_SHELL_TRANSITIONS) {
             final ActivityOptions options = ActivityOptions.makeBasic();
-            // Allowing to pause Home if Home is top activity and Recents is not Home. So when user
-            // start home when recents animation is playing, the home activity can be resumed again
-            // to let the transition controller collect Home activity.
-            CachedTaskInfo cti = gestureState.getRunningTask();
-            boolean homeIsOnTop = cti != null && cti.isHomeTask();
-            if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
-                if (cti != null && cti.isFreeformTask()) {
-                    // No transient launch when desktop task is on top
-                    homeIsOnTop = true;
-                }
-            }
-            if (activityInterface.allowAllAppsFromOverview()) {
-                homeIsOnTop = true;
-            }
-            if (!homeIsOnTop) {
+            // Use regular (non-transient) launch for all apps page to control IME.
+            if (!activityInterface.allowAllAppsFromOverview()) {
                 options.setTransientLaunch();
             }
             options.setSourceInfo(ActivityOptions.SourceInfo.TYPE_RECENTS_ANIMATION, eventTime);
@@ -324,19 +341,20 @@
      * Finishes the running recents animation.
      */
     public void finishRunningRecentsAnimation(boolean toHome) {
-        finishRunningRecentsAnimation(toHome, false /* forceFinish */);
+        finishRunningRecentsAnimation(toHome, false /* forceFinish */, null /* forceFinishCb */);
     }
 
     /**
      * Finishes the running recents animation.
      * @param forceFinish will synchronously finish the controller
      */
-    public void finishRunningRecentsAnimation(boolean toHome, boolean forceFinish) {
+    public void finishRunningRecentsAnimation(boolean toHome, boolean forceFinish,
+            Runnable forceFinishCb) {
         if (mController != null) {
             ActiveGestureLog.INSTANCE.addLog(
                     /* event= */ "finishRunningRecentsAnimation", toHome);
             if (forceFinish) {
-                mController.finishController(toHome, null, false /* sendUserLeaveHint */,
+                mController.finishController(toHome, forceFinishCb, false /* sendUserLeaveHint */,
                         true /* forceFinish */);
             } else {
                 Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(), toHome
diff --git a/quickstep/src/com/android/quickstep/TaskIconCache.java b/quickstep/src/com/android/quickstep/TaskIconCache.java
index 164a366..1b3f598 100644
--- a/quickstep/src/com/android/quickstep/TaskIconCache.java
+++ b/quickstep/src/com/android/quickstep/TaskIconCache.java
@@ -15,6 +15,7 @@
  */
 package com.android.quickstep;
 
+import static com.android.launcher3.Flags.enableOverviewIconMenu;
 import static com.android.launcher3.util.DisplayController.CHANGE_DENSITY;
 
 import android.annotation.Nullable;
@@ -30,7 +31,6 @@
 import android.os.UserHandle;
 import android.text.TextUtils;
 import android.util.SparseArray;
-import android.view.accessibility.AccessibilityManager;
 
 import androidx.annotation.WorkerThread;
 
@@ -40,9 +40,11 @@
 import com.android.launcher3.icons.BaseIconFactory.IconOptions;
 import com.android.launcher3.icons.BitmapInfo;
 import com.android.launcher3.icons.IconProvider;
+import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.DisplayController.DisplayInfoChangeListener;
 import com.android.launcher3.util.DisplayController.Info;
+import com.android.launcher3.util.FlagOp;
 import com.android.launcher3.util.Preconditions;
 import com.android.quickstep.util.CancellableTask;
 import com.android.quickstep.util.TaskKeyLruCache;
@@ -60,7 +62,6 @@
 public class TaskIconCache implements DisplayInfoChangeListener {
 
     private final Executor mBgExecutor;
-    private final AccessibilityManager mAccessibilityManager;
 
     private final Context mContext;
     private final TaskKeyLruCache<TaskCacheEntry> mIconCache;
@@ -77,7 +78,6 @@
     public TaskIconCache(Context context, Executor bgExecutor, IconProvider iconProvider) {
         mContext = context;
         mBgExecutor = bgExecutor;
-        mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
         mIconProvider = iconProvider;
 
         Resources res = context.getResources();
@@ -119,6 +119,7 @@
             public void handleResult(TaskCacheEntry result) {
                 task.icon = result.icon;
                 task.titleDescription = result.contentDescription;
+                task.title = result.title;
                 callback.accept(task);
                 dispatchIconUpdate(task.key.id);
             }
@@ -189,6 +190,10 @@
         if (activityInfo != null) {
             entry.contentDescription = getBadgedContentDescription(
                     activityInfo, task.key.userId, task.taskDescription);
+            if (enableOverviewIconMenu()) {
+                entry.title = Utilities.trim(
+                        activityInfo.applicationInfo.loadLabel(mContext.getPackageManager()));
+            }
         }
 
         mIconCache.put(task.key, entry);
@@ -231,12 +236,11 @@
             if ((index = mDefaultIcons.indexOfKey(userId)) >= 0) {
                 return mDefaultIcons.valueAt(index).newIcon(mContext);
             } else {
-                try (BaseIconFactory li = getIconFactory()) {
-                    BitmapInfo info = mDefaultIconBase.withFlags(
-                            li.getBitmapFlagOp(new IconOptions().setUser(UserHandle.of(userId))));
-                    mDefaultIcons.put(userId, info);
-                    return info.newIcon(mContext);
-                }
+                BitmapInfo info = mDefaultIconBase.withFlags(
+                        UserCache.INSTANCE.get(mContext).getUserInfo(UserHandle.of(userId))
+                                .applyBitmapInfoFlags(FlagOp.NO_OP));
+                mDefaultIcons.put(userId, info);
+                return info.newIcon(mContext);
             }
         }
     }
@@ -249,7 +253,9 @@
 
             // User version code O, so that the icon is always wrapped in an adaptive icon container
             return bif.createBadgedIconBitmap(drawable,
-                    new IconOptions().setUser(UserHandle.of(userId))
+                    new IconOptions()
+                            .setUser(UserCache.INSTANCE.get(mContext)
+                                    .getUserInfo(UserHandle.of(userId)))
                             .setInstantApp(isInstantApp)
                             .setExtractedColor(0));
         }
@@ -275,6 +281,7 @@
     private static class TaskCacheEntry {
         public Drawable icon;
         public String contentDescription = "";
+        public String title = "";
     }
 
     void registerTaskVisualsChangeListener(TaskVisualsChangeListener newListener) {
diff --git a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java
index 076f4b1..312cdc9 100644
--- a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java
+++ b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java
@@ -34,8 +34,8 @@
 
 import com.android.launcher3.BaseActivity;
 import com.android.launcher3.BaseDraggingActivity;
+import com.android.launcher3.Flags;
 import com.android.launcher3.R;
-import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
 import com.android.launcher3.popup.SystemShortcut;
@@ -80,7 +80,7 @@
         boolean isInLandscape = orientedState.getTouchRotation() != ROTATION_0;
         boolean isTablet = activity.getDeviceProfile().isTablet;
 
-        boolean isGridOnlyOverview = isTablet && FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get();
+        boolean isGridOnlyOverview = isTablet && Flags.enableGridOnlyOverview();
         // Add overview actions to the menu when in in-place rotate landscape mode, or in
         // grid-only overview.
         if ((!canLauncherRotate && isInLandscape) || isGridOnlyOverview) {
@@ -190,6 +190,8 @@
          */
         public void endLiveTileMode(@NonNull Runnable callback) {
             RecentsView recentsView = mThumbnailView.getTaskView().getRecentsView();
+            // Task has already been dismissed
+            if (recentsView == null) return;
             recentsView.switchToScreenshot(
                     () -> recentsView.finishRecentsAnimation(true /* toRecents */,
                             false /* shouldPip */, callback));
@@ -210,6 +212,8 @@
 
         private void enterSplitSelect() {
             RecentsView overviewPanel = mThumbnailView.getTaskView().getRecentsView();
+            // Task has already been dismissed
+            if (overviewPanel == null) return;
             overviewPanel.initiateSplitSelect(mThumbnailView.getTaskView());
         }
 
diff --git a/quickstep/src/com/android/quickstep/TaskShortcutFactory.java b/quickstep/src/com/android/quickstep/TaskShortcutFactory.java
index 901690b..73b786f 100644
--- a/quickstep/src/com/android/quickstep/TaskShortcutFactory.java
+++ b/quickstep/src/com/android/quickstep/TaskShortcutFactory.java
@@ -20,6 +20,7 @@
 import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
 
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SYSTEM_SHORTCUT_FREE_FORM_TAP;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import android.app.Activity;
 import android.app.ActivityOptions;
@@ -29,7 +30,7 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.RemoteException;
-import android.os.SystemProperties;
+import android.provider.Settings;
 import android.util.Log;
 import android.view.View;
 import android.view.WindowInsets;
@@ -49,6 +50,7 @@
 import com.android.launcher3.touch.PagedOrientationHandler;
 import com.android.launcher3.util.InstantAppResolver;
 import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption;
+import com.android.quickstep.views.GroupedTaskView;
 import com.android.quickstep.views.RecentsView;
 import com.android.quickstep.views.TaskThumbnailView;
 import com.android.quickstep.views.TaskView;
@@ -127,12 +129,12 @@
 
     /**
      * A menu item, "Save app pair", that allows the user to preserve the current app combination as
-     * a single persistent icon on the Home screen, allowing for quick split screen initialization.
+     * one persistent icon on the Home screen, allowing for quick split screen launching.
      */
     class SaveAppPairSystemShortcut extends SystemShortcut<BaseDraggingActivity> {
-        private final TaskView mTaskView;
+        private final GroupedTaskView mTaskView;
 
-        public SaveAppPairSystemShortcut(BaseDraggingActivity activity, TaskView taskView) {
+        public SaveAppPairSystemShortcut(BaseDraggingActivity activity, GroupedTaskView taskView) {
             super(R.drawable.ic_save_app_pair, R.string.save_app_pair, activity,
                     taskView.getItemInfo(), taskView);
             mTaskView = taskView;
@@ -172,7 +174,7 @@
             dismissTaskMenuView(mTarget);
             RecentsView rv = mTarget.getOverviewPanel();
             rv.switchToScreenshot(() -> {
-                rv.finishRecentsAnimation(true /* toHome */, () -> {
+                rv.finishRecentsAnimation(true /* toRecents */, false /* shouldPip */, () -> {
                     mTarget.returnToHomescreen();
                     rv.getHandler().post(this::startActivity);
                 });
@@ -188,7 +190,7 @@
             }
             if (options != null
                     && ActivityManagerWrapper.getInstance().startActivityFromRecents(taskId,
-                            options)) {
+                    options)) {
                 final Runnable animStartedListener = () -> {
                     // Hide the task view and wait for the window to be resized
                     // TODO: Consider animating in launcher and do an in-place start activity
@@ -214,12 +216,13 @@
 
                 AppTransitionAnimationSpecsFuture future =
                         new AppTransitionAnimationSpecsFuture(mHandler) {
-                    @Override
-                    public List<AppTransitionAnimationSpecCompat> composeSpecs() {
-                        return Collections.singletonList(new AppTransitionAnimationSpecCompat(
-                                taskId, thumbnail, taskBounds));
-                    }
-                };
+                            @Override
+                            public List<AppTransitionAnimationSpecCompat> composeSpecs() {
+                                return Collections.singletonList(
+                                        new AppTransitionAnimationSpecCompat(
+                                                taskId, thumbnail, taskBounds));
+                            }
+                        };
                 overridePendingAppTransitionMultiThumbFuture(
                         future, animStartedListener, mHandler, true /* scaleUp */,
                         taskKey.displayId);
@@ -262,38 +265,35 @@
 
     /**
      * Does NOT add split options in the following scenarios:
-     * * The taskView to add split options is already showing split screen tasks
-     * * There aren't at least 2 tasks in overview to show split options for
-     * * Split isn't supported by the task itself (non resizable activity)
-     * * We aren't currently in multi-window
-     * * The taskView to show split options for is the focused task AND we haven't started
-     * scrolling in overview (if we haven't scrolled, there's a split overview action button so
-     * we don't need this menu option)
+     * * 1. Taskbar is not present AND aren't at least 2 tasks in overview to show split options for
+     * * 2. Split isn't supported by the task itself (non resizable activity)
+     * * 3. We aren't currently in multi-window
+     * * 4. The taskView to show split options for is the focused task AND we haven't started
+     * * scrolling in overview (if we haven't scrolled, there's a split overview action button so
+     * * we don't need this menu option)
      */
     TaskShortcutFactory SPLIT_SELECT = new TaskShortcutFactory() {
         @Override
         public List<SystemShortcut> getShortcuts(BaseDraggingActivity activity,
                 TaskIdAttributeContainer taskContainer) {
             DeviceProfile deviceProfile = activity.getDeviceProfile();
-            final Task task  = taskContainer.getTask();
+            final Task task = taskContainer.getTask();
             final int intentFlags = task.key.baseIntent.getFlags();
             final TaskView taskView = taskContainer.getTaskView();
             final RecentsView recentsView = taskView.getRecentsView();
             final PagedOrientationHandler orientationHandler =
                     recentsView.getPagedOrientationHandler();
 
-            boolean notEnoughTasksToSplit = recentsView.getTaskViewCount() < 2;
-            boolean isFocusedTask = deviceProfile.isTablet && taskView.isFocusedTask();
-            boolean isTaskInExpectedScrollPosition =
-                    recentsView.isTaskInExpectedScrollPosition(recentsView.indexOfChild(taskView));
+            boolean notEnoughTasksToSplit =
+                    !deviceProfile.isTaskbarPresent && recentsView.getTaskViewCount() < 2;
             boolean isTaskSplitNotSupported = !task.isDockable ||
                     (intentFlags & FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) != 0;
             boolean hideForExistingMultiWindow = activity.getDeviceProfile().isMultiWindowMode;
+            boolean isFocusedTask = deviceProfile.isTablet && taskView.isFocusedTask();
+            boolean isTaskInExpectedScrollPosition =
+                    recentsView.isTaskInExpectedScrollPosition(recentsView.indexOfChild(taskView));
 
-            if (taskView.containsMultipleTasks()
-                    || notEnoughTasksToSplit
-                    || isTaskSplitNotSupported
-                    || hideForExistingMultiWindow
+            if (notEnoughTasksToSplit || isTaskSplitNotSupported || hideForExistingMultiWindow
                     || (isFocusedTask && isTaskInExpectedScrollPosition)) {
                 return null;
             }
@@ -313,11 +313,12 @@
                 TaskIdAttributeContainer taskContainer) {
             final TaskView taskView = taskContainer.getTaskView();
 
-            if (!FeatureFlags.ENABLE_APP_PAIRS.get() || !taskView.containsMultipleTasks()) {
+            if (!FeatureFlags.enableAppPairs() || !taskView.containsMultipleTasks()) {
                 return null;
             }
 
-            return Collections.singletonList(new SaveAppPairSystemShortcut(activity, taskView));
+            return Collections.singletonList(
+                    new SaveAppPairSystemShortcut(activity, (GroupedTaskView) taskView));
         }
 
         @Override
@@ -330,7 +331,7 @@
         @Override
         public List<SystemShortcut> getShortcuts(BaseDraggingActivity activity,
                 TaskIdAttributeContainer taskContainer) {
-            final Task task  = taskContainer.getTask();
+            final Task task = taskContainer.getTask();
             if (!task.isDockable) {
                 return null;
             }
@@ -345,9 +346,10 @@
         }
 
         private boolean isAvailable(BaseDraggingActivity activity, int displayId) {
-            return ActivityManagerWrapper.getInstance().supportsFreeformMultiWindow(activity)
-                    && !SystemProperties.getBoolean("persist.wm.debug.desktop_mode", false)
-                    && !SystemProperties.getBoolean("persist.wm.debug.desktop_mode_2", false);
+            return Settings.Global.getInt(
+                    activity.getContentResolver(),
+                    Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, 0) != 0
+                    && !isDesktopModeSupported();
         }
     };
 
@@ -385,7 +387,8 @@
         @Override
         public void onClick(View view) {
             if (mTaskView.launchTaskAnimated() != null) {
-                SystemUiProxy.INSTANCE.get(mTarget).startScreenPinning(mTaskView.getTask().key.id);
+                SystemUiProxy.INSTANCE.get(mTarget).startScreenPinning(
+                        mTaskView.getTask().key.id);
             }
             dismissTaskMenuView(mTarget);
             mTarget.getStatsLogManager().logger().withItemInfo(mTaskView.getItemInfo())
@@ -401,7 +404,7 @@
             return InstantAppResolver.newInstance(activity).isInstantApp(
                     t.getTopComponent().getPackageName(), t.getKey().userId)
                     ? Collections.singletonList(new SystemShortcut.Install(activity,
-                            taskContainer.getItemInfo(), taskContainer.getTaskView()))
+                    taskContainer.getItemInfo(), taskContainer.getTaskView()))
                     : null;
         }
     };
@@ -421,9 +424,10 @@
         @Override
         public List<SystemShortcut> getShortcuts(BaseDraggingActivity activity,
                 TaskIdAttributeContainer taskContainer) {
-            SystemShortcut screenshotShortcut = taskContainer.getThumbnailView().getTaskOverlay()
-                    .getScreenshotShortcut(activity, taskContainer.getItemInfo(),
-                            taskContainer.getTaskView());
+            SystemShortcut screenshotShortcut =
+                    taskContainer.getThumbnailView().getTaskOverlay()
+                            .getScreenshotShortcut(activity, taskContainer.getItemInfo(),
+                                    taskContainer.getTaskView());
             return createSingletonShortcutList(screenshotShortcut);
         }
     };
diff --git a/quickstep/src/com/android/quickstep/TaskThumbnailCache.java b/quickstep/src/com/android/quickstep/TaskThumbnailCache.java
index 3175ba8..9e21595 100644
--- a/quickstep/src/com/android/quickstep/TaskThumbnailCache.java
+++ b/quickstep/src/com/android/quickstep/TaskThumbnailCache.java
@@ -15,12 +15,18 @@
  */
 package com.android.quickstep;
 
+import static com.android.launcher3.Flags.enableGridOnlyOverview;
+
 import android.content.Context;
 import android.content.res.Resources;
 
+import androidx.annotation.VisibleForTesting;
+
 import com.android.launcher3.R;
 import com.android.launcher3.util.Preconditions;
 import com.android.quickstep.util.CancellableTask;
+import com.android.quickstep.util.TaskKeyByLastActiveTimeCache;
+import com.android.quickstep.util.TaskKeyCache;
 import com.android.quickstep.util.TaskKeyLruCache;
 import com.android.systemui.shared.recents.model.Task;
 import com.android.systemui.shared.recents.model.Task.TaskKey;
@@ -34,11 +40,10 @@
 public class TaskThumbnailCache {
 
     private final Executor mBgExecutor;
-
-    private final int mCacheSize;
-    private final TaskKeyLruCache<ThumbnailData> mCache;
+    private final TaskKeyCache<ThumbnailData> mCache;
     private final HighResLoadingState mHighResLoadingState;
     private final boolean mEnableTaskSnapshotPreloading;
+    private final Context mContext;
 
     public static class HighResLoadingState {
         private boolean mForceHighResThumbnails;
@@ -91,26 +96,39 @@
     }
 
     public TaskThumbnailCache(Context context, Executor bgExecutor) {
+        this(context, bgExecutor,
+                context.getResources().getInteger(R.integer.recentsThumbnailCacheSize));
+    }
+
+    private TaskThumbnailCache(Context context, Executor bgExecutor, int cacheSize) {
+        this(context, bgExecutor,
+                enableGridOnlyOverview() ? new TaskKeyByLastActiveTimeCache<>(cacheSize)
+                        : new TaskKeyLruCache<>(cacheSize));
+    }
+
+    @VisibleForTesting
+    TaskThumbnailCache(Context context, Executor bgExecutor, TaskKeyCache<ThumbnailData> cache) {
         mBgExecutor = bgExecutor;
         mHighResLoadingState = new HighResLoadingState(context);
+        mContext = context;
 
         Resources res = context.getResources();
-        mCacheSize = res.getInteger(R.integer.recentsThumbnailCacheSize);
         mEnableTaskSnapshotPreloading = res.getBoolean(R.bool.config_enableTaskSnapshotPreloading);
-        mCache = new TaskKeyLruCache<>(mCacheSize);
+        mCache = cache;
     }
 
     /**
-     * Synchronously fetches the thumbnail for the given {@param task} and puts it in the cache.
+     * Synchronously fetches the thumbnail for the given task at the specified resolution level, and
+     * puts it in the cache.
      */
-    public void updateThumbnailInCache(Task task) {
+    public void updateThumbnailInCache(Task task, boolean lowResolution) {
         if (task == null) {
             return;
         }
         Preconditions.assertUIThread();
         // Fetch the thumbnail for this task and put it in the cache
         if (task.thumbnail == null) {
-            updateThumbnailInBackground(task.key, true /* lowResolution */,
+            updateThumbnailInBackground(task.key, lowResolution,
                     t -> task.thumbnail = t);
         }
     }
@@ -148,6 +166,23 @@
         });
     }
 
+    /**
+     * Updates cache size and remove excess entries if current size is more than new cache size.
+     *
+     * @return whether cache size has increased
+     */
+    public boolean updateCacheSizeAndRemoveExcess() {
+        int newSize = mContext.getResources().getInteger(R.integer.recentsThumbnailCacheSize);
+        int oldSize = mCache.getMaxSize();
+        if (newSize == oldSize) {
+            // Return if no change in size
+            return false;
+        }
+
+        mCache.updateCacheSizeAndRemoveExcess(newSize);
+        return newSize > oldSize;
+    }
+
     private CancellableTask updateThumbnailInBackground(TaskKey key, boolean lowResolution,
             Consumer<ThumbnailData> callback) {
         Preconditions.assertUIThread();
@@ -160,15 +195,29 @@
             return null;
         }
 
-        CancellableTask<ThumbnailData> request = new CancellableTask<ThumbnailData>() {
+        CancellableTask<ThumbnailData> request = new CancellableTask<>() {
             @Override
             public ThumbnailData getResultOnBg() {
-                return ActivityManagerWrapper.getInstance().getTaskThumbnail(
+                ThumbnailData thumbnailData = ActivityManagerWrapper.getInstance().getTaskThumbnail(
                         key.id, lowResolution);
+                if (thumbnailData.thumbnail != null) {
+                    return thumbnailData;
+                }
+                return ActivityManagerWrapper.getInstance().takeTaskThumbnail(key.id);
             }
 
             @Override
             public void handleResult(ThumbnailData result) {
+                // Avoid an async timing issue that a low res entry replaces an existing high res
+                // entry in high res enabled state, so we check before putting it to cache
+                if (enableGridOnlyOverview() && result.reducedResolution
+                        && getHighResLoadingState().isEnabled()) {
+                    ThumbnailData cachedThumbnail = mCache.getAndInvalidateIfModified(key);
+                    if (cachedThumbnail != null && cachedThumbnail.thumbnail != null
+                            && !cachedThumbnail.reducedResolution) {
+                        return;
+                    }
+                }
                 mCache.put(key, result);
                 callback.accept(result);
             }
@@ -195,7 +244,7 @@
      * @return The cache size.
      */
     public int getCacheSize() {
-        return mCacheSize;
+        return mCache.getMaxSize();
     }
 
     /**
diff --git a/quickstep/src/com/android/quickstep/TaskViewUtils.java b/quickstep/src/com/android/quickstep/TaskViewUtils.java
index af49774..4e84f4a 100644
--- a/quickstep/src/com/android/quickstep/TaskViewUtils.java
+++ b/quickstep/src/com/android/quickstep/TaskViewUtils.java
@@ -18,8 +18,6 @@
 import static android.view.RemoteAnimationTarget.MODE_CLOSING;
 import static android.view.RemoteAnimationTarget.MODE_OPENING;
 import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER;
-import static android.view.WindowManager.TRANSIT_OPEN;
-import static android.view.WindowManager.TRANSIT_TO_FRONT;
 
 import static com.android.app.animation.Interpolators.LINEAR;
 import static com.android.app.animation.Interpolators.TOUCH_RESPONSE;
@@ -38,10 +36,8 @@
 import static com.android.launcher3.QuickstepTransitionManager.SPLIT_DIVIDER_ANIM_DURATION;
 import static com.android.launcher3.QuickstepTransitionManager.SPLIT_LAUNCH_DURATION;
 import static com.android.launcher3.Utilities.getDescendantCoordRelativeToAncestor;
-import static com.android.launcher3.testing.shared.TestProtocol.LAUNCH_SPLIT_PAIR;
-import static com.android.launcher3.testing.shared.TestProtocol.testLogD;
 import static com.android.launcher3.util.MultiPropertyFactory.MULTI_PROPERTY_VALUE;
-import static com.android.quickstep.views.DesktopTaskView.DESKTOP_MODE_SUPPORTED;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -64,6 +60,7 @@
 import androidx.annotation.Nullable;
 
 import com.android.app.animation.Interpolators;
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.BaseActivity;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.anim.AnimatedFloat;
@@ -187,18 +184,23 @@
             // Re-use existing handles
             remoteTargetHandles = recentsViewHandles;
         } else {
-            boolean forDesktop = DESKTOP_MODE_SUPPORTED && v instanceof DesktopTaskView;
+            boolean forDesktop = isDesktopModeSupported() && v instanceof DesktopTaskView;
             RemoteTargetGluer gluer = new RemoteTargetGluer(v.getContext(),
                     recentsView.getSizeStrategy(), targets, forDesktop);
             if (forDesktop) {
                 remoteTargetHandles = gluer.assignTargetsForDesktop(targets);
             } else if (v.containsMultipleTasks()) {
-                remoteTargetHandles = gluer.assignTargetsForSplitScreen(targets);
+                remoteTargetHandles = gluer.assignTargetsForSplitScreen(targets,
+                        ((GroupedTaskView) v).getSplitBoundsConfig());
             } else {
                 remoteTargetHandles = gluer.assignTargets(targets);
             }
         }
+        final int recentsActivityRotation =
+                recentsView.getPagedViewOrientedState().getRecentsActivityRotation();
         for (RemoteTargetHandle remoteTargetGluer : remoteTargetHandles) {
+            remoteTargetGluer.getTaskViewSimulator().getOrientationState().setRecentsRotation(
+                    recentsActivityRotation);
             remoteTargetGluer.getTransformParams().setSyncTransactionApplier(applier);
         }
 
@@ -394,8 +396,7 @@
             @Override
             public void onAnimationSuccess(Animator animator) {
                 if (isQuickSwitch) {
-                    InteractionJankMonitorWrapper.end(
-                            InteractionJankMonitorWrapper.CUJ_QUICK_SWITCH);
+                    InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_QUICK_SWITCH);
                 }
             }
 
@@ -418,108 +419,34 @@
      * Technically this case should be taken care of by
      * {@link #composeRecentsSplitLaunchAnimatorLegacy} below, but the way we launch tasks whether
      * it's a single task or multiple tasks results in different entry-points.
-     *
-     * If it is null, then it will simply fade in the starting apps and fade out launcher (for the
-     * case where launcher handles animating starting split tasks from app icon)
      */
     public static void composeRecentsSplitLaunchAnimator(GroupedTaskView launchingTaskView,
             @NonNull StateManager stateManager, @Nullable DepthController depthController,
-            int initialTaskId, int secondTaskId, @NonNull TransitionInfo transitionInfo,
-            SurfaceControl.Transaction t, @NonNull Runnable finishCallback) {
-        if (launchingTaskView != null) {
-            testLogD(LAUNCH_SPLIT_PAIR, "composeRecentsSplitLaunchAnimator taskView not-null");
-            AnimatorSet animatorSet = new AnimatorSet();
-            animatorSet.addListener(new AnimatorListenerAdapter() {
-                @Override
-                public void onAnimationEnd(Animator animation) {
-                    finishCallback.run();
-                }
-            });
-
-            final RemoteAnimationTarget[] appTargets =
-                    RemoteAnimationTargetCompat.wrapApps(transitionInfo, t, null /* leashMap */);
-            final RemoteAnimationTarget[] wallpaperTargets =
-                    RemoteAnimationTargetCompat.wrapNonApps(
-                            transitionInfo, true /* wallpapers */, t, null /* leashMap */);
-            final RemoteAnimationTarget[] nonAppTargets =
-                    RemoteAnimationTargetCompat.wrapNonApps(
-                            transitionInfo, false /* wallpapers */, t, null /* leashMap */);
-            final RecentsView recentsView = launchingTaskView.getRecentsView();
-            composeRecentsLaunchAnimator(animatorSet, launchingTaskView,
-                    appTargets, wallpaperTargets, nonAppTargets,
-                    true, stateManager,
-                    recentsView, depthController);
-
-            t.apply();
-            animatorSet.start();
-            return;
-        }
-
-        TransitionInfo.Change splitRoot1 = null;
-        TransitionInfo.Change splitRoot2 = null;
-        final ArrayList<SurfaceControl> openingTargets = new ArrayList<>();
-        for (int i = 0; i < transitionInfo.getChanges().size(); ++i) {
-            final TransitionInfo.Change change = transitionInfo.getChanges().get(i);
-            if (change.getTaskInfo() == null) {
-                testLogD(LAUNCH_SPLIT_PAIR, "changeTaskInfo null; change: " + change);
-                continue;
-            }
-            final int taskId = change.getTaskInfo().taskId;
-            final int mode = change.getMode();
-
-            // Find the target tasks' root tasks since those are the split stages that need to
-            // be animated (the tasks themselves are children and thus inherit animation).
-            if (taskId == initialTaskId || taskId == secondTaskId) {
-                if (!(mode == TRANSIT_OPEN || mode == TRANSIT_TO_FRONT)) {
-                    throw new IllegalStateException(
-                            "Expected task to be showing, but it is " + mode);
-                }
-            }
-            if (taskId == initialTaskId) {
-                splitRoot1 = change.getParent() == null ? change :
-                        transitionInfo.getChange(change.getParent());
-                openingTargets.add(splitRoot1.getLeash());
-            }
-            if (taskId == secondTaskId) {
-                splitRoot2 = change.getParent() == null ? change :
-                        transitionInfo.getChange(change.getParent());
-                openingTargets.add(splitRoot2.getLeash());
-            }
-        }
-
-        SurfaceControl.Transaction animTransaction = new SurfaceControl.Transaction();
-        ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f);
-        animator.setDuration(SPLIT_LAUNCH_DURATION);
-        animator.addUpdateListener(valueAnimator -> {
-            float progress = valueAnimator.getAnimatedFraction();
-            for (SurfaceControl leash: openingTargets) {
-                animTransaction.setAlpha(leash, progress);
-            }
-            animTransaction.apply();
-        });
-        animator.addListener(new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationStart(Animator animation) {
-                for (SurfaceControl leash: openingTargets) {
-                    animTransaction.show(leash)
-                            .setAlpha(leash, 0.0f);
-                }
-                animTransaction.apply();
-            }
-
+            @NonNull TransitionInfo transitionInfo, SurfaceControl.Transaction t,
+            @NonNull Runnable finishCallback) {
+        AnimatorSet animatorSet = new AnimatorSet();
+        animatorSet.addListener(new AnimatorListenerAdapter() {
             @Override
             public void onAnimationEnd(Animator animation) {
                 finishCallback.run();
             }
         });
 
-        if (splitRoot1 != null && splitRoot1.getParent() != null) {
-            // Set the highest level split root alpha; we could technically use the parent of either
-            // splitRoot1 or splitRoot2
-            t.setAlpha(transitionInfo.getChange(splitRoot1.getParent()).getLeash(), 1f);
-        }
+        final RemoteAnimationTarget[] appTargets =
+                RemoteAnimationTargetCompat.wrapApps(transitionInfo, t, null /* leashMap */);
+        final RemoteAnimationTarget[] wallpaperTargets =
+                RemoteAnimationTargetCompat.wrapNonApps(
+                        transitionInfo, true /* wallpapers */, t, null /* leashMap */);
+        final RemoteAnimationTarget[] nonAppTargets =
+                RemoteAnimationTargetCompat.wrapNonApps(
+                        transitionInfo, false /* wallpapers */, t, null /* leashMap */);
+        final RecentsView recentsView = launchingTaskView.getRecentsView();
+        composeRecentsLaunchAnimator(animatorSet, launchingTaskView, appTargets, wallpaperTargets,
+                nonAppTargets, /* launcherClosing */ true, stateManager, recentsView,
+                depthController);
+
         t.apply();
-        animator.start();
+        animatorSet.start();
     }
 
     /**
@@ -616,6 +543,42 @@
         animator.start();
     }
 
+    /**
+     * Start recents to desktop animation
+     */
+    public static void composeRecentsDesktopLaunchAnimator(
+            @NonNull DesktopTaskView launchingTaskView,
+            @NonNull StateManager stateManager, @Nullable DepthController depthController,
+            @NonNull TransitionInfo transitionInfo,
+            SurfaceControl.Transaction t, @NonNull Runnable finishCallback) {
+
+        AnimatorSet animatorSet = new AnimatorSet();
+        animatorSet.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationStart(Animator animation) {
+                t.apply();
+            }
+
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                finishCallback.run();
+            }
+        });
+
+        final RemoteAnimationTarget[] apps = RemoteAnimationTargetCompat.wrapApps(
+                transitionInfo, t, null /* leashMap */);
+        final RemoteAnimationTarget[] wallpaper = RemoteAnimationTargetCompat.wrapNonApps(
+                transitionInfo, true /* wallpapers */, t, null /* leashMap */);
+        final RemoteAnimationTarget[] nonApps = RemoteAnimationTargetCompat.wrapNonApps(
+                transitionInfo, false /* wallpapers */, t, null /* leashMap */);
+
+        composeRecentsLaunchAnimator(animatorSet, launchingTaskView, apps, wallpaper, nonApps,
+                true /* launcherClosing */, stateManager, launchingTaskView.getRecentsView(),
+                depthController);
+
+        animatorSet.start();
+    }
+
     public static void composeRecentsLaunchAnimator(@NonNull AnimatorSet anim, @NonNull View v,
             @NonNull RemoteAnimationTarget[] appTargets,
             @NonNull RemoteAnimationTarget[] wallpaperTargets,
@@ -660,15 +623,17 @@
             launcherAnim.setInterpolator(Interpolators.TOUCH_RESPONSE);
             launcherAnim.setDuration(RECENTS_LAUNCH_DURATION);
 
-            windowAnimEndListener = new AnimatorListenerAdapter() {
+            windowAnimEndListener = new AnimationSuccessListener() {
                 @Override
                 public void onAnimationStart(Animator animation) {
                     recentsView.onTaskLaunchedInLiveTileMode();
                 }
 
                 // Make sure recents gets fixed up by resetting task alphas and scales, etc.
+                // This should only be run onAnimationSuccess, otherwise finishRecentsAnimation will
+                // interfere with a rapid swipe up to home in the live tile + running task case.
                 @Override
-                public void onAnimationEnd(Animator animation) {
+                public void onAnimationSuccess(Animator animation) {
                     recentsView.finishRecentsAnimation(false /* toRecents */, () -> {
                         recentsView.post(() -> {
                             stateManager.moveToRestState();
diff --git a/quickstep/src/com/android/quickstep/TopTaskTracker.java b/quickstep/src/com/android/quickstep/TopTaskTracker.java
index f1af2ed..a2a6dde 100644
--- a/quickstep/src/com/android/quickstep/TopTaskTracker.java
+++ b/quickstep/src/com/android/quickstep/TopTaskTracker.java
@@ -29,6 +29,7 @@
 import android.app.ActivityManager.RunningTaskInfo;
 import android.content.Context;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.UiThread;
 
@@ -178,6 +179,7 @@
     /**
      * Returns the CachedTaskInfo for the top most task
      */
+    @NonNull
     @UiThread
     public CachedTaskInfo getCachedTopTask(boolean filterOnlyVisibleRecents) {
         if (filterOnlyVisibleRecents) {
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java
index 5cbc7ff..647ff90 100644
--- a/quickstep/src/com/android/quickstep/TouchInteractionService.java
+++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -23,12 +23,14 @@
 import static android.view.MotionEvent.ACTION_POINTER_UP;
 import static android.view.MotionEvent.ACTION_UP;
 
+import static com.android.launcher3.Flags.enableCursorHoverStates;
 import static com.android.launcher3.Launcher.INTENT_ACTION_ALL_APPS_TOGGLE;
+import static com.android.launcher3.LauncherPrefs.backedUpItem;
 import static com.android.launcher3.MotionEventsUtils.isTrackpadMotionEvent;
 import static com.android.launcher3.MotionEventsUtils.isTrackpadMultiFingerSwipe;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_CURSOR_HOVER_STATES;
 import static com.android.launcher3.config.FeatureFlags.ENABLE_TRACKPAD_GESTURE;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
+import static com.android.launcher3.util.OnboardingPrefs.HOME_BOUNCE_SEEN;
 import static com.android.launcher3.util.window.WindowManagerProxy.MIN_TABLET_WIDTH;
 import static com.android.quickstep.GestureState.DEFAULT_STATE;
 import static com.android.quickstep.GestureState.TrackpadGestureType.getTrackpadGestureType;
@@ -61,7 +63,6 @@
 import android.content.IIntentReceiver;
 import android.content.IIntentSender;
 import android.content.Intent;
-import android.content.SharedPreferences;
 import android.content.res.Configuration;
 import android.graphics.Region;
 import android.graphics.drawable.Icon;
@@ -85,7 +86,8 @@
 import androidx.annotation.UiThread;
 
 import com.android.launcher3.BaseDraggingActivity;
-import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.ConstantItem;
+import com.android.launcher3.EncryptionType;
 import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.R;
 import com.android.launcher3.anim.AnimatedFloat;
@@ -100,9 +102,10 @@
 import com.android.launcher3.uioverrides.flags.FlagsFactory;
 import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
 import com.android.launcher3.util.DisplayController;
+import com.android.launcher3.util.Executors;
 import com.android.launcher3.util.LockedUserState;
-import com.android.launcher3.util.OnboardingPrefs;
 import com.android.launcher3.util.SafeCloseable;
+import com.android.launcher3.util.ScreenOnTracker;
 import com.android.launcher3.util.TraceHelper;
 import com.android.quickstep.inputconsumers.AccessibilityInputConsumer;
 import com.android.quickstep.inputconsumers.AssistantInputConsumer;
@@ -158,7 +161,8 @@
 
     private static final String TAG = "TouchInteractionService";
 
-    private static final String HAS_ENABLED_QUICKSTEP_ONCE = "launcher.has_enabled_quickstep_once";
+    private static final ConstantItem<Boolean> HAS_ENABLED_QUICKSTEP_ONCE = backedUpItem(
+            "launcher.has_enabled_quickstep_once", false, EncryptionType.ENCRYPTED);
 
     private final TISBinder mTISBinder = new TISBinder(this);
 
@@ -302,6 +306,10 @@
         @Override
         public void onNavigationBarSurface(SurfaceControl surface) {
             // TODO: implement
+            if (surface != null) {
+                surface.release();
+                surface = null;
+            }
         }
 
         @BinderThread
@@ -365,6 +373,12 @@
                     taskbarManager.onNavButtonsDarkIntensityChanged(darkIntensity));
         }
 
+        @Override
+        public void onNavigationBarLumaSamplingEnabled(int displayId, boolean enable) {
+            executeForTaskbarManager(taskbarManager ->
+                    taskbarManager.onNavigationBarLumaSamplingEnabled(displayId, enable));
+        }
+
         private void executeForTouchInteractionService(
                 @NonNull Consumer<TouchInteractionService> tisConsumer) {
             TouchInteractionService tis = mTis.get();
@@ -409,18 +423,16 @@
          * Sets a proxy to bypass swipe up behavior
          */
         public void setSwipeUpProxy(Function<GestureState, AnimatedFloat> proxy) {
-            TouchInteractionService tis = mTis.get();
-            if (tis == null) return;
-            tis.mSwipeUpProxyProvider = proxy != null ? proxy : (i -> null);
+            executeForTouchInteractionService(
+                    tis -> tis.mSwipeUpProxyProvider = proxy != null ? proxy : (i -> null));
         }
 
         /**
          * Sets the task id where gestures should be blocked
          */
         public void setGestureBlockedTaskId(int taskId) {
-            TouchInteractionService tis = mTis.get();
-            if (tis == null) return;
-            tis.mDeviceState.setGestureBlockingTaskId(taskId);
+            executeForTouchInteractionService(
+                    tis -> tis.mDeviceState.setGestureBlockingTaskId(taskId));
         }
 
         /** Sets a listener to be run on Overview Target updates. */
@@ -434,6 +446,12 @@
                 mOnOverviewTargetChangeListener = null;
             }
         }
+
+        /** Refreshes the current overview target. */
+        public void refreshOverviewTarget() {
+            executeForTouchInteractionService(tis -> tis.onOverviewTargetChange(
+                    tis.mOverviewComponentObserver.isHomeAndOverviewSame()));
+        }
     }
 
     private static boolean sConnected = false;
@@ -453,6 +471,8 @@
     private final AbsSwipeUpHandler.Factory mFallbackSwipeHandlerFactory =
             this::createFallbackSwipeHandler;
 
+    private final ScreenOnTracker.ScreenOnListener mScreenOnListener = this::onScreenOnChanged;
+
     private ActivityManagerWrapper mAM;
     private OverviewCommandHelper mOverviewCommandHelper;
     private OverviewComponentObserver mOverviewComponentObserver;
@@ -489,6 +509,8 @@
         LockedUserState.get(this).runOnUserUnlocked(mTaskbarManager::onUserUnlocked);
         mDeviceState.addNavigationModeChangedCallback(this::onNavigationModeChanged);
         sConnected = true;
+
+        ScreenOnTracker.INSTANCE.get(this).addListener(mScreenOnListener);
     }
 
     private void disposeEventHandlers(String reason) {
@@ -561,23 +583,25 @@
         }
 
         // Reset home bounce seen on quick step enabled for first time
-        SharedPreferences sharedPrefs = LauncherPrefs.getPrefs(this);
-        if (!sharedPrefs.getBoolean(HAS_ENABLED_QUICKSTEP_ONCE, true)) {
-            sharedPrefs.edit()
-                    .putBoolean(HAS_ENABLED_QUICKSTEP_ONCE, true)
-                    .putBoolean(OnboardingPrefs.HOME_BOUNCE_SEEN, false)
-                    .apply();
+        LauncherPrefs prefs = LauncherPrefs.get(this);
+        if (!prefs.get(HAS_ENABLED_QUICKSTEP_ONCE)) {
+            prefs.put(
+                    HAS_ENABLED_QUICKSTEP_ONCE.to(true),
+                    HOME_BOUNCE_SEEN.to(false));
         }
     }
 
     private void onOverviewTargetChange(boolean isHomeAndOverviewSame) {
-        AccessibilityManager am = getSystemService(AccessibilityManager.class);
+        Executors.UI_HELPER_EXECUTOR.execute(() -> {
+            AccessibilityManager am = getSystemService(AccessibilityManager.class);
 
-        if (isHomeAndOverviewSame) {
-            am.registerSystemAction(createAllAppsAction(), GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS);
-        } else {
-            am.unregisterSystemAction(GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS);
-        }
+            if (isHomeAndOverviewSame) {
+                am.registerSystemAction(
+                        createAllAppsAction(), GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS);
+            } else {
+                am.unregisterSystemAction(GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS);
+            }
+        });
 
         StatefulActivity newOverviewActivity = mOverviewComponentObserver.getActivityInterface()
                 .getCreatedActivity();
@@ -661,6 +685,8 @@
 
         mTaskbarManager.destroy();
         sConnected = false;
+
+        ScreenOnTracker.INSTANCE.get(this).removeListener(mScreenOnListener);
         super.onDestroy();
     }
 
@@ -670,9 +696,22 @@
         return mTISBinder;
     }
 
+    protected void onScreenOnChanged(boolean isOn) {
+        if (isOn) {
+            return;
+        }
+        long currentTime = SystemClock.uptimeMillis();
+        MotionEvent cancelEvent = MotionEvent.obtain(
+                currentTime, currentTime, ACTION_CANCEL, 0f, 0f, 0);
+        onInputEvent(cancelEvent);
+        cancelEvent.recycle();
+    }
+
     private void onInputEvent(InputEvent ev) {
         if (!(ev instanceof MotionEvent)) {
-            Log.e(TAG, "Unknown event " + ev);
+            ActiveGestureLog.INSTANCE.addLog(new CompoundString("TIS.onInputEvent: ")
+                    .append("Cannot process input event, received unknown event ")
+                    .append(ev.toString()));
             return;
         }
         MotionEvent event = (MotionEvent) ev;
@@ -680,8 +719,14 @@
         TestLogging.recordMotionEvent(
                 TestProtocol.SEQUENCE_TIS, "TouchInteractionService.onInputEvent", event);
 
-        if (!LockedUserState.get(this).isUserUnlocked() || (mDeviceState.isButtonNavMode()
+        boolean isUserUnlocked = LockedUserState.get(this).isUserUnlocked();
+        if (!isUserUnlocked || (mDeviceState.isButtonNavMode()
                 && !isTrackpadMotionEvent(event))) {
+            ActiveGestureLog.INSTANCE.addLog(new CompoundString("TIS.onInputEvent: ")
+                    .append("Cannot process input event, ")
+                    .append(!isUserUnlocked
+                            ? "user is locked"
+                            : "using 3-button nav and event is not a trackpad event"));
             return;
         }
 
@@ -690,14 +735,21 @@
         final int action = event.getActionMasked();
         // Note this will create a new consumer every mouse click, as after ACTION_UP from the click
         // an ACTION_HOVER_ENTER will fire as well.
-        boolean isHoverActionWithoutConsumer = ENABLE_CURSOR_HOVER_STATES.get()
-                && event.isHoverEvent() && (mUncheckedConsumer.getType() & TYPE_CURSOR_HOVER) == 0;
+        boolean isHoverActionWithoutConsumer = enableCursorHoverStates()
+                && isHoverActionWithoutConsumer(event);
+        CompoundString reasonString = action == ACTION_DOWN
+                ? new CompoundString("onMotionEvent: ") : CompoundString.NO_OP;
         if (action == ACTION_DOWN || isHoverActionWithoutConsumer) {
             mRotationTouchHelper.setOrientationTransformIfNeeded(event);
 
-            if ((!mDeviceState.isOneHandedModeActive()
-                    && mRotationTouchHelper.isInSwipeUpTouchRegion(event))
+            boolean isOneHandedModeActive = mDeviceState.isOneHandedModeActive();
+            boolean isInSwipeUpTouchRegion = mRotationTouchHelper.isInSwipeUpTouchRegion(event);
+            if ((!isOneHandedModeActive && isInSwipeUpTouchRegion)
                     || isHoverActionWithoutConsumer) {
+                reasonString.append(!isOneHandedModeActive && isInSwipeUpTouchRegion
+                                ? "one handed mode is not active and event is in swipe up region"
+                                : "isHoverActionWithoutConsumer == true")
+                        .append(", creating new input consumer");
                 // Clone the previous gesture state since onConsumerAboutToBeSwitched might trigger
                 // onConsumerInactive and wipe the previous gesture state
                 GestureState prevGestureState = new GestureState(mGestureState);
@@ -708,9 +760,13 @@
                 mGestureState = newGestureState;
                 mConsumer = newConsumer(prevGestureState, mGestureState, event);
                 mUncheckedConsumer = mConsumer;
-            } else if (LockedUserState.get(this).isUserUnlocked()
-                    && (mDeviceState.isFullyGesturalNavMode() || isTrackpadMultiFingerSwipe(event))
+            } else if ((mDeviceState.isFullyGesturalNavMode() || isTrackpadMultiFingerSwipe(event))
                     && mDeviceState.canTriggerAssistantAction(event)) {
+                reasonString.append(mDeviceState.isFullyGesturalNavMode()
+                                ? "using fully gestural nav"
+                                : "event is a trackpad multi-finger swipe")
+                        .append(" and event can trigger assistant action")
+                        .append(", consuming gesture for assistant action");
                 mGestureState = createGestureState(mGestureState,
                         getTrackpadGestureType(event));
                 // Do not change mConsumer as if there is an ongoing QuickSwitch gesture, we
@@ -718,6 +774,8 @@
                 // happen if the next gesture is also quick switch.
                 mUncheckedConsumer = tryCreateAssistantInputConsumer(mGestureState, event);
             } else if (mDeviceState.canTriggerOneHandedAction(event)) {
+                reasonString.append("event can trigger one-handed action")
+                                .append(", consuming gesture for one-handed action");
                 // Consume gesture event for triggering one handed feature.
                 mUncheckedConsumer = new OneHandedModeInputConsumer(this, mDeviceState,
                         InputConsumer.NO_OP, mInputMonitorCompat);
@@ -733,29 +791,43 @@
         }
 
         if (mUncheckedConsumer != InputConsumer.NO_OP) {
-            switch (event.getActionMasked()) {
+            switch (action) {
                 case ACTION_DOWN:
+                    ActiveGestureLog.INSTANCE.addLog(reasonString);
                     // fall through
                 case ACTION_UP:
                     ActiveGestureLog.INSTANCE.addLog(
-                            /* event= */ "onMotionEvent(" + (int) event.getRawX() + ", "
-                                    + (int) event.getRawY() + "): "
-                                    + MotionEvent.actionToString(event.getActionMasked()) + ", "
-                                    + MotionEvent.classificationToString(event.getClassification()),
-                            /* gestureEvent= */ event.getActionMasked() == ACTION_DOWN
+                            new CompoundString("onMotionEvent(")
+                                    .append((int) event.getRawX())
+                                    .append(", ")
+                                    .append((int) event.getRawY())
+                                    .append("): ")
+                                    .append(MotionEvent.actionToString(action))
+                                    .append(", ")
+                                    .append(MotionEvent.classificationToString(
+                                            event.getClassification())),
+                            /* gestureEvent= */ action == ACTION_DOWN
                                     ? MOTION_DOWN
                                     : MOTION_UP);
                     break;
                 case ACTION_MOVE:
-                    ActiveGestureLog.INSTANCE.addLog("onMotionEvent: "
-                            + MotionEvent.actionToString(event.getActionMasked()) + ","
-                            + MotionEvent.classificationToString(event.getClassification())
-                            + ", pointerCount: " + event.getPointerCount(), MOTION_MOVE);
+                    ActiveGestureLog.INSTANCE.addLog(
+                            new CompoundString("onMotionEvent: ")
+                                    .append(MotionEvent.actionToString(action))
+                                    .append(",")
+                                    .append(MotionEvent.classificationToString(
+                                            event.getClassification()))
+                                    .append(", pointerCount: ")
+                                    .append(event.getPointerCount()),
+                            MOTION_MOVE);
                     break;
                 default: {
-                    ActiveGestureLog.INSTANCE.addLog("onMotionEvent: "
-                            + MotionEvent.actionToString(event.getActionMasked()) + ","
-                            + MotionEvent.classificationToString(event.getClassification()));
+                    ActiveGestureLog.INSTANCE.addLog(
+                            new CompoundString("onMotionEvent: ")
+                                    .append(MotionEvent.actionToString(action))
+                                    .append(",")
+                                    .append(MotionEvent.classificationToString(
+                                            event.getClassification())));
                 }
             }
         }
@@ -784,6 +856,15 @@
         traceToken.close();
     }
 
+    private boolean isHoverActionWithoutConsumer(MotionEvent event) {
+        // Only process these events when taskbar is present.
+        TaskbarActivityContext tac = mTaskbarManager.getCurrentActivityContext();
+        boolean isTaskbarPresent = tac != null && tac.getDeviceProfile().isTaskbarPresent
+                && !tac.isPhoneMode();
+        return event.isHoverEvent() && (mUncheckedConsumer.getType() & TYPE_CURSOR_HOVER) == 0
+                && isTaskbarPresent;
+    }
+
     // Talkback generates hover events on touch, which we do not want to consume.
     private boolean isCursorHoverEvent(MotionEvent event) {
         return event.isHoverEvent() && event.getSource() == InputDevice.SOURCE_MOUSE;
@@ -818,7 +899,11 @@
         if (mTaskAnimationManager.isRecentsAnimationRunning()) {
             gestureState = new GestureState(mOverviewComponentObserver,
                     ActiveGestureLog.INSTANCE.getLogId());
-            taskInfo = previousGestureState.getRunningTask();
+            TopTaskTracker.CachedTaskInfo previousTaskInfo = previousGestureState.getRunningTask();
+            // previousTaskInfo can be null iff previousGestureState == GestureState.DEFAULT_STATE
+            taskInfo = previousTaskInfo != null
+                    ? previousTaskInfo
+                    : TopTaskTracker.INSTANCE.get(this).getCachedTopTask(false);
             gestureState.updateRunningTask(taskInfo);
             gestureState.updateLastStartedTaskIds(previousGestureState.getLastStartedTaskIds());
             gestureState.updatePreviouslyAppearedTaskIds(
@@ -833,7 +918,7 @@
 
         // Log initial state for the gesture.
         ActiveGestureLog.INSTANCE.addLog(new CompoundString("Current running task package name=")
-                .append(taskInfo == null ? "no running task" : taskInfo.getPackageName()));
+                .append(taskInfo.getPackageName()));
         ActiveGestureLog.INSTANCE.addLog(new CompoundString("Current SystemUi state flags=")
                 .append(mDeviceState.getSystemUiStateString()));
         return gestureState;
@@ -893,8 +978,8 @@
             handleOrientationSetup(base);
         }
         if (mDeviceState.isFullyGesturalNavMode() || newGestureState.isTrackpadGesture()) {
-            String reasonPrefix = "device is in gesture navigation mode or 3-button mode with a"
-                    + " trackpad gesture";
+            String reasonPrefix =
+                    "device is in gesture navigation mode or 3-button mode with a trackpad gesture";
             if (mDeviceState.canTriggerAssistantAction(event)) {
                 reasonString.append(NEWLINE_PREFIX)
                         .append(reasonPrefix)
@@ -908,26 +993,34 @@
             TaskbarActivityContext tac = mTaskbarManager.getCurrentActivityContext();
             if (tac != null && !(base instanceof AssistantInputConsumer)) {
                 // Present always on large screen or on small screen w/ flag
-                DeviceProfile dp = tac.getDeviceProfile();
-                boolean useTaskbarConsumer = dp.isTaskbarPresent && !TaskbarManager.isPhoneMode(dp)
+                boolean useTaskbarConsumer = tac.getDeviceProfile().isTaskbarPresent
+                        && !tac.isPhoneMode()
                         && !tac.isInStashedLauncherState();
                 if (canStartSystemGesture && useTaskbarConsumer) {
                     reasonString.append(NEWLINE_PREFIX)
                             .append(reasonPrefix)
                             .append(SUBSTRING_PREFIX)
-                            .append("TaskbarActivityContext != null, "
-                                    + "using TaskbarUnstashInputConsumer");
+                            .append("TaskbarActivityContext != null, ")
+                            .append("using TaskbarUnstashInputConsumer");
                     base = new TaskbarUnstashInputConsumer(this, base, mInputMonitorCompat, tac,
                             mOverviewCommandHelper);
                 }
-            } else if (canStartSystemGesture && FeatureFlags.ENABLE_LONG_PRESS_NAV_HANDLE.get()
-                    && !previousGestureState.isRecentsAnimationRunning()) {
+            }
+
+            NavHandle navHandle = tac != null ? tac.getNavHandle()
+                    : SystemUiProxy.INSTANCE.get(this);
+            if (canStartSystemGesture && !previousGestureState.isRecentsAnimationRunning()
+                    && navHandle.canNavHandleBeLongPressed()) {
                 reasonString.append(NEWLINE_PREFIX)
                         .append(reasonPrefix)
                         .append(SUBSTRING_PREFIX)
-                        .append("Long press nav handle enabled, "
-                                + "using NavHandleLongPressInputConsumer");
-                base = new NavHandleLongPressInputConsumer(this, base, mInputMonitorCompat);
+                        .append("Not running recents animation, ");
+                if (tac != null && tac.getNavHandle().canNavHandleBeLongPressed()) {
+                    reasonString.append("stashed handle is long-pressable, ");
+                }
+                reasonString.append("using NavHandleLongPressInputConsumer");
+                base = new NavHandleLongPressInputConsumer(this, base, mInputMonitorCompat,
+                        mDeviceState, navHandle);
             }
 
             if (mDeviceState.isBubblesExpanded()) {
@@ -1041,21 +1134,22 @@
 
         reasonString.append(SUBSTRING_PREFIX).append("keyguard is not showing occluded");
 
+        TopTaskTracker.CachedTaskInfo runningTask = gestureState.getRunningTask();
         // Use overview input consumer for sharesheets on top of home.
         boolean forceOverviewInputConsumer = gestureState.getActivityInterface().isStarted()
-                && gestureState.getRunningTask() != null
-                && gestureState.getRunningTask().isRootChooseActivity();
+                && runningTask != null
+                && runningTask.isRootChooseActivity();
 
         // In the case where we are in an excluded, translucent overlay, ignore it and treat the
         // running activity as the task behind the overlay.
-        TopTaskTracker.CachedTaskInfo otherVisibleTask = gestureState.getRunningTask() == null
+        TopTaskTracker.CachedTaskInfo otherVisibleTask = runningTask == null
                 ? null
-                : gestureState.getRunningTask().otherVisibleTaskThisIsExcludedOver();
+                : runningTask.otherVisibleTaskThisIsExcludedOver();
         if (otherVisibleTask != null) {
             ActiveGestureLog.INSTANCE.addLog(new CompoundString("Changing active task to ")
                     .append(otherVisibleTask.getPackageName())
                     .append(" because the previous task running on top of this one (")
-                    .append(gestureState.getRunningTask().getPackageName())
+                    .append(runningTask.getPackageName())
                     .append(") was excluded from recents"));
             gestureState.updateRunningTask(otherVisibleTask);
         }
@@ -1075,7 +1169,7 @@
                     forceOverviewInputConsumer,
                     reasonString.append(SUBSTRING_PREFIX)
                             .append("is in live tile mode, trying to use overview input consumer"));
-        } else if (gestureState.getRunningTask() == null) {
+        } else if (runningTask == null) {
             return getDefaultInputConsumer(reasonString.append(SUBSTRING_PREFIX)
                     .append("running task == null"));
         } else if (previousGestureAnimatedToLauncher
@@ -1093,7 +1187,7 @@
                                             ? "launcher resumed through a shell transition"
                                             : "forceOverviewInputConsumer == true"))
                             .append(", trying to use overview input consumer"));
-        } else if (mDeviceState.isGestureBlockedTask(gestureState.getRunningTask())) {
+        } else if (mDeviceState.isGestureBlockedTask(runningTask)) {
             return getDefaultInputConsumer(reasonString.append(SUBSTRING_PREFIX)
                     .append("is gesture-blocked task, trying to use default input consumer"));
         } else {
@@ -1125,8 +1219,8 @@
         if ((mDeviceState.isFullyGesturalNavMode() || gestureState.isTrackpadGesture())
                 && gestureState.getRunningTask() != null) {
             reasonString.append(SUBSTRING_PREFIX)
-                    .append("device is in gesture nav mode or 3-button mode with a trackpad gesture"
-                            + "and running task != null")
+                    .append("device is in gesture nav mode or 3-button mode with a trackpad")
+                    .append(" gesture and running task != null")
                     .append(", using DeviceLockedInputConsumer");
             return new DeviceLockedInputConsumer(
                     this, mDeviceState, mTaskAnimationManager, gestureState, mInputMonitorCompat);
@@ -1262,6 +1356,7 @@
         Log.i(TAG, "preloadOverview: forSUWAllSet=" + forSUWAllSet
                 + ", isHomeAndOverviewSame=" + mOverviewComponentObserver.isHomeAndOverviewSame());
 
+        ActiveGestureLog.INSTANCE.addLog("preloadRecentsAnimation");
         mTaskAnimationManager.preloadRecentsAnimation(overviewIntent);
     }
 
@@ -1336,6 +1431,7 @@
         mTaskbarManager.dumpLogs("", pw);
         pw.println("AssistStateManager:");
         AssistStateManager.INSTANCE.get(this).dump("  ", pw);
+        SystemUiProxy.INSTANCE.get(this).dump(pw);
     }
 
     private AbsSwipeUpHandler createLauncherSwipeHandler(
diff --git a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java
index 95d88cd..1008da3 100644
--- a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java
+++ b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java
@@ -36,6 +36,7 @@
 import com.android.launcher3.anim.AnimatorPlaybackController;
 import com.android.launcher3.anim.PendingAnimation;
 import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.desktop.DesktopRecentsTransitionController;
 import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.statemanager.StateManager.StateListener;
 import com.android.launcher3.util.SplitConfigurationOptions;
@@ -73,8 +74,9 @@
     }
 
     @Override
-    public void init(OverviewActionsView actionsView, SplitSelectStateController splitController) {
-        super.init(actionsView, splitController);
+    public void init(OverviewActionsView actionsView, SplitSelectStateController splitController,
+            @Nullable DesktopRecentsTransitionController desktopRecentsTransitionController) {
+        super.init(actionsView, splitController, desktopRecentsTransitionController);
         setOverviewStateEnabled(true);
         setOverlayEnabled(true);
     }
@@ -215,7 +217,6 @@
         } else {
             if (mActivity.isInState(RecentsState.MODAL_TASK)) {
                 mActivity.getStateManager().goToState(DEFAULT, animate);
-                resetModalVisuals();
             }
         }
     }
@@ -235,7 +236,15 @@
         setOverviewFullscreenEnabled(toState.isFullScreen());
         if (toState == MODAL_TASK) {
             setOverviewSelectEnabled(true);
+        } else {
+            resetModalVisuals();
         }
+
+        // Set border after select mode changes to avoid showing border during state transition
+        if (!toState.overviewUi() || toState == MODAL_TASK) {
+            setTaskBorderEnabled(false);
+        }
+
         setFreezeViewVisibility(true);
     }
 
@@ -251,8 +260,13 @@
         if (finalState != MODAL_TASK) {
             setOverviewSelectEnabled(false);
         }
+
+        if (finalState.overviewUi() && finalState != MODAL_TASK) {
+            setTaskBorderEnabled(true);
+        }
+
         if (finalState != OVERVIEW_SPLIT_SELECT) {
-            if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+            if (FeatureFlags.enableSplitContextually()) {
                 mSplitSelectStateController.resetState();
             } else {
                 resetFromSplitSelectionState();
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/DelegateInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/DelegateInputConsumer.java
index 63771f0..5557639 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/DelegateInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/DelegateInputConsumer.java
@@ -48,6 +48,14 @@
      */
     protected abstract String getDelegatorName();
 
+    @Override
+    public <T extends InputConsumer> T getInputConsumerOfClass(Class<T> c) {
+        if (getClass().equals(c)) {
+            return c.cast(this);
+        }
+        return mDelegate.getInputConsumerOfClass(c);
+    }
+
     protected void setActive(MotionEvent ev) {
         ActiveGestureLog.INSTANCE.addLog(new ActiveGestureLog.CompoundString(getDelegatorName())
                 .append(" became active"));
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/DeviceLockedInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/DeviceLockedInputConsumer.java
index 2a35584..f264364 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/DeviceLockedInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/DeviceLockedInputConsumer.java
@@ -68,6 +68,7 @@
  */
 public class DeviceLockedInputConsumer implements InputConsumer,
         RecentsAnimationCallbacks.RecentsAnimationListener, BuilderProxy {
+    private final String TAG = "DeviceLockedInputConsumer";
 
     private static final String[] STATE_NAMES = DEBUG_STATES ? new String[2] : null;
     private static int getFlagForIndex(int index, String name) {
@@ -207,7 +208,12 @@
             animator.addListener(new AnimatorListenerAdapter() {
                 @Override
                 public void onAnimationEnd(Animator animation) {
-                    if (ENABLE_SHELL_TRANSITIONS) {
+                    if (dismissTask) {
+                        // Just start the home intent so the user is prompted to unlock the device.
+                        // This will come back and cancel the interaction.
+                        startHomeIntentSafely(mContext, mGestureState.getHomeIntent(), null, TAG);
+                        mHomeLaunched = true;
+                    } else if (ENABLE_SHELL_TRANSITIONS) {
                         if (mTaskAnimationManager.getCurrentCallbacks() != null) {
                             if (mRecentsAnimationController != null) {
                                 finishRecentsAnimationForShell(dismissTask);
@@ -217,11 +223,6 @@
                                 mDismissTask = dismissTask;
                             }
                         }
-                    } else if (dismissTask) {
-                        // For now, just start the home intent so user is prompted to
-                        // unlock the device.
-                        startHomeIntentSafely(mContext, mGestureState.getHomeIntent(), null);
-                        mHomeLaunched = true;
                     }
                     mStateCallback.setState(STATE_HANDLER_INVALIDATED);
                 }
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java
index 7a2b343..1d00e53 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java
@@ -22,6 +22,7 @@
 
 import com.android.launcher3.R;
 import com.android.launcher3.util.ResourceBasedOverride;
+import com.android.quickstep.NavHandle;
 
 /**
  * Class for extending nav handle long press behavior
@@ -42,8 +43,26 @@
      * A Runnable is returned here to ensure the InputConsumer can call
      * {@link android.view.InputMonitor#pilferPointers()} before invoking the long press behavior
      * since pilfering can break the long press behavior.
+     *
+     * @param navHandle to handle this long press
      */
-    public @Nullable Runnable getLongPressRunnable() {
+    public @Nullable Runnable getLongPressRunnable(NavHandle navHandle) {
         return null;
     }
+
+    /**
+     * Called when nav handle gesture starts.
+     *
+     * @param navHandle to handle the animation for this touch
+     */
+    public void onTouchStarted(NavHandle navHandle) {}
+
+    /**
+     * Called when nav handle gesture is finished by the user lifting their finger or the system
+     * cancelling the touch for some other reason.
+     *
+     * @param navHandle to handle the animation for this touch
+     * @param reason why the touch ended
+     */
+    public void onTouchFinished(NavHandle navHandle, String reason) {}
 }
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumer.java
index f824210..4c0b550 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumer.java
@@ -15,16 +15,25 @@
  */
 package com.android.quickstep.inputconsumers;
 
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_TIMEOUT_MS;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_DEEP_PRESS_NAVBAR;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_DEEP_PRESS_STASHED_TASKBAR;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_LONG_PRESS_NAVBAR;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_LONG_PRESS_STASHED_TASKBAR;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 
 import android.content.Context;
-import android.view.GestureDetector;
-import android.view.GestureDetector.SimpleOnGestureListener;
 import android.view.MotionEvent;
+import android.view.ViewConfiguration;
 
-import com.android.launcher3.R;
+import com.android.launcher3.LauncherPrefs;
+import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.util.DisplayController;
 import com.android.quickstep.InputConsumer;
+import com.android.quickstep.NavHandle;
+import com.android.quickstep.RecentsAnimationDeviceState;
+import com.android.quickstep.TopTaskTracker;
 import com.android.systemui.shared.system.InputMonitorCompat;
 
 /**
@@ -32,33 +41,38 @@
  */
 public class NavHandleLongPressInputConsumer extends DelegateInputConsumer {
 
-    private final GestureDetector mLongPressDetector;
     private final NavHandleLongPressHandler mNavHandleLongPressHandler;
     private final float mNavHandleWidth;
     private final float mScreenWidth;
 
+    private final Runnable mTriggerLongPress = this::triggerLongPress;
+    private final float mTouchSlopSquared;
+    private final int mLongPressTimeout;
+    private final boolean mDeepPressEnabled;
+    private final NavHandle mNavHandle;
+    private final StatsLogManager mStatsLogManager;
+    private final TopTaskTracker mTopTaskTracker;
+
+    private MotionEvent mCurrentDownEvent;
+    private boolean mDeepPressLogged;  // Whether deep press has been logged for the current touch.
+
     public NavHandleLongPressInputConsumer(Context context, InputConsumer delegate,
-            InputMonitorCompat inputMonitor) {
+            InputMonitorCompat inputMonitor, RecentsAnimationDeviceState deviceState,
+            NavHandle navHandle) {
         super(delegate, inputMonitor);
-        mNavHandleWidth = context.getResources().getDimensionPixelSize(
-                R.dimen.navigation_home_handle_width);
         mScreenWidth = DisplayController.INSTANCE.get(context).getInfo().currentSize.x;
-
+        mDeepPressEnabled = FeatureFlags.ENABLE_LPNH_DEEP_PRESS.get();
+        if (FeatureFlags.CUSTOM_LPNH_THRESHOLDS.get()) {
+            mLongPressTimeout = LauncherPrefs.get(context).get(LONG_PRESS_NAV_HANDLE_TIMEOUT_MS);
+        } else {
+            mLongPressTimeout = ViewConfiguration.getLongPressTimeout();
+        }
+        mTouchSlopSquared = deviceState.getSquaredTouchSlop();
+        mNavHandle = navHandle;
+        mNavHandleWidth = navHandle.getNavHandleWidth(context);
         mNavHandleLongPressHandler = NavHandleLongPressHandler.newInstance(context);
-
-        mLongPressDetector = new GestureDetector(context, new SimpleOnGestureListener() {
-            @Override
-            public void onLongPress(MotionEvent motionEvent) {
-                if (isInArea(motionEvent.getRawX())) {
-                    Runnable longPressRunnable = mNavHandleLongPressHandler.getLongPressRunnable();
-                    if (longPressRunnable != null) {
-                        setActive(motionEvent);
-
-                        MAIN_EXECUTOR.getHandler().postDelayed(longPressRunnable, 50);
-                    }
-                }
-            }
-        });
+        mStatsLogManager = StatsLogManager.newInstance(context);
+        mTopTaskTracker = TopTaskTracker.INSTANCE.get(context);
     }
 
     @Override
@@ -68,13 +82,100 @@
 
     @Override
     public void onMotionEvent(MotionEvent ev) {
-        mLongPressDetector.onTouchEvent(ev);
+        if (mDelegate.allowInterceptByParent()) {
+            handleMotionEvent(ev);
+        } else if (MAIN_EXECUTOR.getHandler().hasCallbacks(mTriggerLongPress)) {
+            cancelLongPress("intercept disallowed by child input consumer");
+        }
+
         if (mState != STATE_ACTIVE) {
             mDelegate.onMotionEvent(ev);
         }
     }
 
-    protected boolean isInArea(float x) {
+    @Override
+    public void onHoverEvent(MotionEvent ev) {
+        mDelegate.onHoverEvent(ev);
+    }
+
+    private void handleMotionEvent(MotionEvent ev) {
+        switch (ev.getAction()) {
+            case MotionEvent.ACTION_DOWN -> {
+                if (mCurrentDownEvent != null) {
+                    mCurrentDownEvent.recycle();
+                }
+                mCurrentDownEvent = MotionEvent.obtain(ev);
+                mDeepPressLogged = false;
+                if (isInNavBarHorizontalArea(ev.getRawX())) {
+                    mNavHandleLongPressHandler.onTouchStarted(mNavHandle);
+                    MAIN_EXECUTOR.getHandler().postDelayed(mTriggerLongPress, mLongPressTimeout);
+                }
+            }
+            case MotionEvent.ACTION_MOVE -> {
+                if (!MAIN_EXECUTOR.getHandler().hasCallbacks(mTriggerLongPress)) {
+                    break;
+                }
+
+                float touchSlopSquared = mTouchSlopSquared;
+                float dx = ev.getX() - mCurrentDownEvent.getX();
+                float dy = ev.getY() - mCurrentDownEvent.getY();
+                double distanceSquared = (dx * dx) + (dy * dy);
+                if (distanceSquared > touchSlopSquared) {
+                    cancelLongPress("touch slop passed");
+                }
+            }
+            case MotionEvent.ACTION_UP -> cancelLongPress("touch action up");
+            case MotionEvent.ACTION_CANCEL -> cancelLongPress("touch action cancel");
+        }
+
+        // If the gesture is deep press then trigger long press asap
+        if (MAIN_EXECUTOR.getHandler().hasCallbacks(mTriggerLongPress)
+                && ev.getClassification() == MotionEvent.CLASSIFICATION_DEEP_PRESS
+                && !mDeepPressLogged) {
+            // Log deep press even if feature is disabled.
+            String runningPackage = mTopTaskTracker.getCachedTopTask(
+                    /* filterOnlyVisibleRecents */ true).getPackageName();
+            mStatsLogManager.logger().withPackageName(runningPackage).log(
+                    mNavHandle.isNavHandleStashedTaskbar() ? LAUNCHER_DEEP_PRESS_STASHED_TASKBAR
+                            : LAUNCHER_DEEP_PRESS_NAVBAR);
+            mDeepPressLogged = true;
+
+            // But only trigger if the feature is enabled.
+            if (mDeepPressEnabled) {
+                MAIN_EXECUTOR.getHandler().removeCallbacks(mTriggerLongPress);
+                MAIN_EXECUTOR.getHandler().post(mTriggerLongPress);
+            }
+        }
+    }
+
+    private void triggerLongPress() {
+        String runningPackage = mTopTaskTracker.getCachedTopTask(
+                /* filterOnlyVisibleRecents */ true).getPackageName();
+        mStatsLogManager.logger().withPackageName(runningPackage).log(
+                mNavHandle.isNavHandleStashedTaskbar() ? LAUNCHER_LONG_PRESS_STASHED_TASKBAR
+                        : LAUNCHER_LONG_PRESS_NAVBAR);
+
+        Runnable longPressRunnable = mNavHandleLongPressHandler.getLongPressRunnable(mNavHandle);
+        if (longPressRunnable == null) {
+            return;
+        }
+
+        OtherActivityInputConsumer oaic = getInputConsumerOfClass(OtherActivityInputConsumer.class);
+        if (oaic != null && oaic.hasStartedTouchTracking()) {
+            oaic.setForceFinishRecentsTransitionCallback(longPressRunnable);
+            setActive(mCurrentDownEvent);
+        } else {
+            setActive(mCurrentDownEvent);
+            MAIN_EXECUTOR.post(longPressRunnable);
+        }
+    }
+
+    private void cancelLongPress(String reason) {
+        MAIN_EXECUTOR.getHandler().removeCallbacks(mTriggerLongPress);
+        mNavHandleLongPressHandler.onTouchFinished(mNavHandle, reason);
+    }
+
+    private boolean isInNavBarHorizontalArea(float x) {
         float areaFromMiddle = mNavHandleWidth / 2.0f;
         float distFromMiddle = Math.abs(mScreenWidth / 2.0f - x);
 
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java
index 7e61167..eedd204 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java
@@ -40,7 +40,6 @@
 import android.util.Log;
 import android.view.MotionEvent;
 import android.view.VelocityTracker;
-import android.view.ViewConfiguration;
 
 import androidx.annotation.UiThread;
 
@@ -125,6 +124,9 @@
     // Might be displacement in X or Y, depending on the direction we are swiping from the nav bar.
     private float mStartDisplacement;
 
+    // The callback called upon finishing the recents transition if it was force-canceled
+    private Runnable mForceFinishRecentsTransitionCallback;
+
     public OtherActivityInputConsumer(Context base, RecentsAnimationDeviceState deviceState,
             TaskAnimationManager taskAnimationManager, GestureState gestureState,
             boolean isDeferredDownTarget, Consumer<OtherActivityInputConsumer> onCompleteCallback,
@@ -151,7 +153,7 @@
         boolean continuingPreviousGesture = mTaskAnimationManager.isRecentsAnimationRunning();
         mIsDeferredDownTarget = !continuingPreviousGesture && isDeferredDownTarget;
 
-        mTouchSlop = ViewConfiguration.get(this).getScaledTouchSlop();
+        mTouchSlop = mDeviceState.getTouchSlop();
         mSquaredTouchSlop = mDeviceState.getSquaredTouchSlop();
 
         mPassedPilferInputSlop = mPassedWindowMoveSlop = continuingPreviousGesture;
@@ -411,6 +413,14 @@
     }
 
     /**
+     * Returns whether this input consumer has started touch tracking (if touch tracking is not
+     * deferred).
+     */
+    public boolean hasStartedTouchTracking() {
+        return mInteractionHandler != null;
+    }
+
+    /**
      * Called when the gesture has ended. Does not correlate to the completion of the interaction as
      * the animation can still be running.
      */
@@ -444,7 +454,7 @@
                     // animateToProgress so we have to manually finish here. In the case of
                     // ACTION_CANCEL, someone else may be doing something so finish synchronously.
                     mTaskAnimationManager.finishRunningRecentsAnimation(false /* toHome */,
-                            isCanceled /* forceFinish */);
+                            isCanceled /* forceFinish */, mForceFinishRecentsTransitionCallback);
                 } else {
                     // The animation hasn't started yet, so insert a replacement handler into the
                     // callbacks which immediately finishes the animation after it starts.
@@ -513,6 +523,14 @@
     }
 
     /**
+     * Sets a callback to be called when the recents transition is force-canceled by another input
+     * consumer being made active.
+     */
+    public void setForceFinishRecentsTransitionCallback(Runnable r) {
+        mForceFinishRecentsTransitionCallback = r;
+    }
+
+    /**
      * A listener which just finishes the animation immediately after starting. Replaces
      * AbsSwipeUpHandler if the gesture itself finishes before the animation even starts.
      */
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/OverviewInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/OverviewInputConsumer.java
index 3388642..7d3a860 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/OverviewInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/OverviewInputConsumer.java
@@ -21,7 +21,9 @@
 import android.media.session.MediaSessionManager;
 import android.view.KeyEvent;
 import android.view.MotionEvent;
+import android.view.View;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.launcher3.Utilities;
@@ -52,6 +54,7 @@
     private final boolean mStartingInActivityBounds;
     private boolean mTargetHandledTouch;
     private boolean mHasSetTouchModeForFirstDPadEvent;
+    private boolean mIsWaitingForAttachToWindow;
 
     public OverviewInputConsumer(GestureState gestureState, T activity,
             @Nullable InputMonitorCompat inputMonitor, boolean startingInActivityBounds) {
@@ -118,21 +121,47 @@
                 break;
             case KeyEvent.KEYCODE_DPAD_LEFT:
             case KeyEvent.KEYCODE_DPAD_RIGHT:
-                if (!mHasSetTouchModeForFirstDPadEvent) {
-                    // When Overview is launched via meta+tab or swipe up from an app, the touch
-                    // mode somehow is not changed to false by the Android framework. The subsequent
-                    // key events (e.g. DPAD_LEFT, DPAD_RIGHT) can only be dispatched to focused
-                    // views, while focus can only be requested in
-                    // {@link View#requestFocusNoSearch(int, Rect)} when touch mode is false. To
-                    // note, here we launch overview with live tile.
-                    mHasSetTouchModeForFirstDPadEvent = true;
-                    mActivity.getRootView().getViewRootImpl().touchModeChanged(false);
+                if (mHasSetTouchModeForFirstDPadEvent) {
+                    break;
                 }
+                View viewRoot = mActivity.getRootView();
+                if (viewRoot.isAttachedToWindow()) {
+                    setTouchModeChanged(viewRoot);
+                    break;
+                }
+                if (mIsWaitingForAttachToWindow) {
+                    break;
+                }
+                mIsWaitingForAttachToWindow = true;
+                viewRoot.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
+                    @Override
+                    public void onViewAttachedToWindow(View view) {
+                        view.removeOnAttachStateChangeListener(this);
+                        mIsWaitingForAttachToWindow = false;
+                        setTouchModeChanged(viewRoot);
+                    }
+
+                    @Override
+                    public void onViewDetachedFromWindow(View view) {
+                        // Do nothing
+                    }
+                });
                 break;
             default:
                 break;
         }
         mActivity.dispatchKeyEvent(ev);
     }
+
+    private void setTouchModeChanged(@NonNull View viewRoot) {
+        // When Overview is launched via meta+tab or swipe up from an app, the touch
+        // mode somehow is not changed to false by the Android framework. The
+        // subsequent key events (e.g. DPAD_LEFT, DPAD_RIGHT) can only be dispatched
+        // to focused views, while focus can only be requested in
+        // {@link View#requestFocusNoSearch(int, Rect)} when touch mode is false. To
+        // note, here we launch overview with live tile.
+        mHasSetTouchModeForFirstDPadEvent = true;
+        viewRoot.getViewRootImpl().touchModeChanged(false);
+    }
 }
 
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/OverviewWithoutFocusInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/OverviewWithoutFocusInputConsumer.java
index b70fe8e..41730bb 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/OverviewWithoutFocusInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/OverviewWithoutFocusInputConsumer.java
@@ -37,6 +37,7 @@
 
 public class OverviewWithoutFocusInputConsumer implements InputConsumer,
         TriggerSwipeUpTouchTracker.OnSwipeUpListener {
+    private static final String TAG = "OverviewWithoutFocusInputConsumer";
 
     private final Context mContext;
     private final InputMonitorCompat mInputMonitor;
@@ -77,7 +78,7 @@
 
     @Override
     public void onSwipeUp(boolean wasFling, PointF finalVelocity) {
-        startHomeIntentSafely(mContext, mGestureState.getHomeIntent(), null);
+        startHomeIntentSafely(mContext, mGestureState.getHomeIntent(), null, TAG);
         BaseActivity activity = BaseDraggingActivity.fromContext(mContext);
         int state = (mGestureState != null && mGestureState.getEndTarget() != null)
                 ? mGestureState.getEndTarget().containerType
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/ProgressDelegateInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/ProgressDelegateInputConsumer.java
index c9c64b6..6dcb7bc 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/ProgressDelegateInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/ProgressDelegateInputConsumer.java
@@ -53,6 +53,7 @@
 public class ProgressDelegateInputConsumer implements InputConsumer,
         RecentsAnimationCallbacks.RecentsAnimationListener,
         SingleAxisSwipeDetector.Listener {
+    private static final String TAG = "ProgressDelegateInputConsumer";
 
     private static final float SWIPE_DISTANCE_THRESHOLD = 0.2f;
 
@@ -165,7 +166,7 @@
             mRecentsAnimationController.finishController(endToRecents /* toRecents */,
                     null /* callback */, false /* sendUserLeaveHint */);
         } else if (endToRecents) {
-            startHomeIntentSafely(mContext, null);
+            startHomeIntentSafely(mContext, null, TAG);
         }
     }
 
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/TaskbarUnstashInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/TaskbarUnstashInputConsumer.java
index 28ac65b..cd180ba 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/TaskbarUnstashInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/TaskbarUnstashInputConsumer.java
@@ -15,27 +15,27 @@
  */
 package com.android.quickstep.inputconsumers;
 
+import static android.view.MotionEvent.ACTION_CANCEL;
+import static android.view.MotionEvent.ACTION_MOVE;
+import static android.view.MotionEvent.ACTION_UP;
 import static android.view.MotionEvent.INVALID_POINTER_ID;
 
+import static com.android.launcher3.Flags.enableCursorHoverStates;
 import static com.android.launcher3.MotionEventsUtils.isTrackpadMotionEvent;
-import static com.android.launcher3.Utilities.squaredHypot;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_CURSOR_HOVER_STATES;
 import static com.android.launcher3.taskbar.TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_TOUCHING;
 
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.PointF;
 import android.graphics.Rect;
-import android.view.GestureDetector;
-import android.view.GestureDetector.SimpleOnGestureListener;
 import android.view.InputDevice;
 import android.view.MotionEvent;
+import android.view.ViewConfiguration;
 
 import androidx.annotation.Nullable;
 
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.R;
-import com.android.launcher3.Utilities;
 import com.android.launcher3.taskbar.TaskbarActivityContext;
 import com.android.launcher3.taskbar.TaskbarThresholdUtils;
 import com.android.launcher3.taskbar.TaskbarTranslationController.TransitionCallback;
@@ -47,27 +47,21 @@
 import com.android.systemui.shared.system.InputMonitorCompat;
 
 /**
- * Listens for touch and hover events to unstash the Taskbar.
- *
- * <p>Cancels the current gesture if the long press causes the Taskbar to be unstashed.
+ * Listens for touch (swipe) and hover events to unstash the Taskbar.
  */
 public class TaskbarUnstashInputConsumer extends DelegateInputConsumer {
 
     private final TaskbarActivityContext mTaskbarActivityContext;
     private final OverviewCommandHelper mOverviewCommandHelper;
-    private final GestureDetector mLongPressDetector;
-    private final float mSquaredTouchSlop;
-
-    private float mLongPressDownX, mLongPressDownY;
-    private boolean mCanceledUnstashHint;
     private final float mUnstashArea;
-    private final float mScreenWidth;
-
     private final int mTaskbarNavThreshold;
     private final int mTaskbarNavThresholdY;
     private final boolean mIsTaskbarAllAppsOpen;
     private boolean mHasPassedTaskbarNavThreshold;
     private boolean mIsInBubbleBarArea;
+    private boolean mIsVerticalGestureOverBubbleBar;
+    private boolean mIsPassedBubbleBarSlop;
+    private final int mTouchSlop;
 
     private final PointF mDownPos = new PointF();
     private final PointF mLastPos = new PointF();
@@ -89,9 +83,7 @@
         super(delegate, inputMonitor);
         mTaskbarActivityContext = taskbarActivityContext;
         mOverviewCommandHelper = overviewCommandHelper;
-        // TODO(b/270395798): remove this when cleaning up old Persistent Taskbar code.
-        mSquaredTouchSlop = Utilities.squaredTouchSlop(context);
-        mScreenWidth = taskbarActivityContext.getDeviceProfile().widthPx;
+        mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
 
         Resources res = context.getResources();
         mUnstashArea = res.getDimensionPixelSize(R.dimen.taskbar_unstash_input_area);
@@ -99,18 +91,10 @@
                 taskbarActivityContext.getDeviceProfile());
         mTaskbarNavThresholdY = taskbarActivityContext.getDeviceProfile().heightPx
                 - mTaskbarNavThreshold;
-        mIsTaskbarAllAppsOpen =
-                mTaskbarActivityContext != null && mTaskbarActivityContext.isTaskbarAllAppsOpen();
+        mIsTaskbarAllAppsOpen = mTaskbarActivityContext.isTaskbarAllAppsOpen();
 
         mIsTransientTaskbar = DisplayController.isTransientTaskbar(context);
 
-        mLongPressDetector = new GestureDetector(context, new SimpleOnGestureListener() {
-            @Override
-            public void onLongPress(MotionEvent motionEvent) {
-                onLongPressDetected(motionEvent);
-            }
-        });
-
         mBottomScreenEdge = res.getDimensionPixelSize(
                 R.dimen.taskbar_stashed_screen_edge_hover_deadzone_height);
         mStashedTaskbarBottomEdge =
@@ -128,16 +112,11 @@
 
     @Override
     public void onMotionEvent(MotionEvent ev) {
-        mLongPressDetector.onTouchEvent(ev);
         if (mState != STATE_ACTIVE) {
             boolean isStashedTaskbarHovered = isMouseEvent(ev)
                     && isStashedTaskbarHovered((int) ev.getX(), (int) ev.getY());
-            if (!isStashedTaskbarHovered) {
-                mDelegate.onMotionEvent(ev);
-            }
-
             // Only show the transient task bar if the touch events are on the screen.
-            if (mTaskbarActivityContext != null && !isTrackpadMotionEvent(ev)) {
+            if (!isTrackpadMotionEvent(ev)) {
                 final float x = ev.getRawX();
                 final float y = ev.getRawY();
                 switch (ev.getAction()) {
@@ -149,15 +128,6 @@
                         mHasPassedTaskbarNavThreshold = false;
                         mTaskbarActivityContext.setAutohideSuspendFlag(
                                 FLAG_AUTOHIDE_SUSPEND_TOUCHING, true);
-                        if (isInTaskbarArea(x)) {
-                            if (!mIsTransientTaskbar) {
-                                mLongPressDownX = x;
-                                mLongPressDownY = y;
-                                mTaskbarActivityContext.startTaskbarUnstashHint(
-                                        /* animateForward = */ true);
-                                mCanceledUnstashHint = false;
-                            }
-                        }
                         if (mTransitionCallback != null && !mIsTaskbarAllAppsOpen) {
                             mTransitionCallback.onActionDown();
                         }
@@ -178,29 +148,34 @@
                         }
                         break;
                     case MotionEvent.ACTION_MOVE:
-                        if (!mIsTransientTaskbar
-                                && !mCanceledUnstashHint
-                                && squaredHypot(mLongPressDownX - x, mLongPressDownY - y)
-                                > mSquaredTouchSlop) {
-                            mTaskbarActivityContext.startTaskbarUnstashHint(
-                                    /* animateForward = */ false);
-                            mCanceledUnstashHint = true;
-                        }
-
                         int pointerIndex = ev.findPointerIndex(mActivePointerId);
                         if (pointerIndex == INVALID_POINTER_ID) {
                             break;
                         }
                         mLastPos.set(ev.getX(pointerIndex), ev.getY(pointerIndex));
 
+                        float dX = mLastPos.x - mDownPos.x;
+                        float dY = mLastPos.y - mDownPos.y;
+
+                        if (!mIsPassedBubbleBarSlop && mIsInBubbleBarArea) {
+                            boolean passedSlop =
+                                    Math.abs(dY) > mTouchSlop || Math.abs(dX) > mTouchSlop;
+                            if (passedSlop) {
+                                mIsPassedBubbleBarSlop = true;
+                                mIsVerticalGestureOverBubbleBar = Math.abs(dY) > Math.abs(dX);
+                                if (mIsVerticalGestureOverBubbleBar) {
+                                    setActive(ev);
+                                }
+                            }
+                        }
+
                         if (mIsTransientTaskbar) {
-                            float dY = mLastPos.y - mDownPos.y;
                             boolean passedTaskbarNavThreshold = dY < 0
                                     && Math.abs(dY) >= mTaskbarNavThreshold;
 
                             if (!mHasPassedTaskbarNavThreshold && passedTaskbarNavThreshold) {
                                 mHasPassedTaskbarNavThreshold = true;
-                                if (mIsInBubbleBarArea) {
+                                if (mIsInBubbleBarArea && mIsVerticalGestureOverBubbleBar) {
                                     mTaskbarActivityContext.onSwipeToOpenBubblebar();
                                 } else {
                                     mTaskbarActivityContext.onSwipeToUnstashTaskbar();
@@ -217,17 +192,7 @@
                         break;
                     case MotionEvent.ACTION_UP:
                     case MotionEvent.ACTION_CANCEL:
-                        if (!mIsTransientTaskbar && !mCanceledUnstashHint) {
-                            mTaskbarActivityContext.startTaskbarUnstashHint(
-                                    /* animateForward = */ false);
-                        }
-                        mTaskbarActivityContext.setAutohideSuspendFlag(
-                                FLAG_AUTOHIDE_SUSPEND_TOUCHING, false);
-                        if (mTransitionCallback != null) {
-                            mTransitionCallback.onActionEnd();
-                        }
-                        mHasPassedTaskbarNavThreshold = false;
-                        mIsInBubbleBarArea = false;
+                        cleanupAfterMotionEvent();
                         break;
                     case MotionEvent.ACTION_BUTTON_RELEASE:
                         if (isStashedTaskbarHovered) {
@@ -236,34 +201,71 @@
                         break;
                 }
             }
+            boolean isMovingInBubbleBarArea = mIsInBubbleBarArea && ev.getAction() == ACTION_MOVE;
+            if (!isStashedTaskbarHovered) {
+                // if we're moving in the bubble bar area but we haven't passed the slop yet, don't
+                // propagate to the delegate, until we can determine the direction of the gesture.
+                if (!isMovingInBubbleBarArea || mIsPassedBubbleBarSlop) {
+                    mDelegate.onMotionEvent(ev);
+                }
+            }
+        } else if (mIsVerticalGestureOverBubbleBar) {
+            // if we get here then this gesture is a vertical swipe over the bubble bar.
+            // we're also active and there's no need to delegate any additional motion events. the
+            // rest of the gesture will be handled here.
+            switch (ev.getAction()) {
+                case ACTION_MOVE:
+                    int pointerIndex = ev.findPointerIndex(mActivePointerId);
+                    if (pointerIndex == INVALID_POINTER_ID) {
+                        break;
+                    }
+                    mLastPos.set(ev.getX(pointerIndex), ev.getY(pointerIndex));
+
+                    float dY = mLastPos.y - mDownPos.y;
+
+                    // bubble bar swipe gesture uses the same threshold as the taskbar.
+                    boolean passedTaskbarNavThreshold = dY < 0
+                            && Math.abs(dY) >= mTaskbarNavThreshold;
+
+                    if (!mHasPassedTaskbarNavThreshold && passedTaskbarNavThreshold) {
+                        mHasPassedTaskbarNavThreshold = true;
+                        mTaskbarActivityContext.onSwipeToOpenBubblebar();
+                    }
+                    break;
+                case ACTION_UP:
+                case ACTION_CANCEL:
+                    cleanupAfterMotionEvent();
+                    break;
+            }
         }
     }
 
-    private boolean isInTaskbarArea(float x) {
-        float areaFromMiddle = mUnstashArea / 2.0f;
-        float distFromMiddle = Math.abs(mScreenWidth / 2.0f - x);
-        return distFromMiddle < areaFromMiddle;
+    private void cleanupAfterMotionEvent() {
+        mTaskbarActivityContext.setAutohideSuspendFlag(
+                FLAG_AUTOHIDE_SUSPEND_TOUCHING, false);
+        if (mTransitionCallback != null) {
+            mTransitionCallback.onActionEnd();
+        }
+        mHasPassedTaskbarNavThreshold = false;
+        mIsInBubbleBarArea = false;
+        mIsVerticalGestureOverBubbleBar = false;
+        mIsPassedBubbleBarSlop = false;
     }
 
     private boolean isInBubbleBarArea(float x) {
-        if (mTaskbarActivityContext != null && mIsTransientTaskbar) {
-            BubbleControllers controllers = mTaskbarActivityContext.getBubbleControllers();
-            if (controllers == null) return false;
+        if (mTaskbarActivityContext == null || !mIsTransientTaskbar) {
+            return false;
+        }
+        BubbleControllers controllers = mTaskbarActivityContext.getBubbleControllers();
+        if (controllers == null) {
+            return false;
+        }
+        if (controllers.bubbleStashController.isStashed()) {
+            return controllers.bubbleStashedHandleViewController.containsX((int) x);
+        } else {
             Rect bubbleBarBounds = controllers.bubbleBarViewController.getBubbleBarBounds();
             return x >= bubbleBarBounds.left && x <= bubbleBarBounds.right;
         }
-        return false;
-    }
-
-    private void onLongPressDetected(MotionEvent motionEvent) {
-        if (mTaskbarActivityContext != null
-                && isInTaskbarArea(motionEvent.getRawX())
-                && !mIsTransientTaskbar) {
-            boolean taskBarPressed = mTaskbarActivityContext.onLongPressToUnstashTaskbar();
-            if (taskBarPressed) {
-                setActive(motionEvent);
-            }
-        }
     }
 
     /**
@@ -276,7 +278,7 @@
      */
     @Override
     public void onHoverEvent(MotionEvent ev) {
-        if (!ENABLE_CURSOR_HOVER_STATES.get() || mTaskbarActivityContext == null
+        if (!enableCursorHoverStates() || mTaskbarActivityContext == null
                 || !mTaskbarActivityContext.isTaskbarStashed()) {
             return;
         }
@@ -324,14 +326,14 @@
     }
 
     private void startStashedTaskbarHover(boolean isHovered) {
-        mTaskbarActivityContext.startTaskbarUnstashHint(isHovered, /* forceUnstash = */ true);
+        mTaskbarActivityContext.startTaskbarUnstashHint(isHovered);
         mIsStashedTaskbarHovered = isHovered;
     }
 
     private boolean isStashedTaskbarHovered(int x, int y) {
         if (!mTaskbarActivityContext.isTaskbarStashed()
                 || mTaskbarActivityContext.isTaskbarAllAppsOpen()
-                || !ENABLE_CURSOR_HOVER_STATES.get()) {
+                || !enableCursorHoverStates()) {
             return false;
         }
         DeviceProfile dp = mTaskbarActivityContext.getDeviceProfile();
diff --git a/quickstep/src/com/android/quickstep/interaction/AllSetActivity.java b/quickstep/src/com/android/quickstep/interaction/AllSetActivity.java
index 6e06f38..1bec970 100644
--- a/quickstep/src/com/android/quickstep/interaction/AllSetActivity.java
+++ b/quickstep/src/com/android/quickstep/interaction/AllSetActivity.java
@@ -83,6 +83,7 @@
  * for the gestural system navigation.
  */
 public class AllSetActivity extends Activity {
+    private static final String TAG = "AllSetActivity";
 
     private static final String LOG_TAG = "AllSetActivity";
     private static final String URI_SYSTEM_NAVIGATION_SETTING =
@@ -183,7 +184,7 @@
         mAnimatedBackground.setAnimation(resources.openRawResource(R.raw.all_set_page_bg),
                 null);
 
-        LottieAnimationColorUtils.updateColors(
+        LottieAnimationColorUtils.updateToColorResources(
                 mAnimatedBackground,
                 Map.of(LOTTIE_PRIMARY_COLOR_TOKEN, R.color.all_set_bg_primary,
                         LOTTIE_TERTIARY_COLOR_TOKEN, R.color.all_set_bg_tertiary),
@@ -374,7 +375,7 @@
         @Override
         public boolean performAccessibilityAction(View host, int action, Bundle args) {
             if (action == AccessibilityAction.ACTION_CLICK.getId()) {
-                startHomeIntentSafely(AllSetActivity.this, null);
+                startHomeIntentSafely(AllSetActivity.this, null, TAG);
                 finish();
                 return true;
             }
diff --git a/quickstep/src/com/android/quickstep/interaction/BackGestureTutorialController.java b/quickstep/src/com/android/quickstep/interaction/BackGestureTutorialController.java
index 631cff7..404bca9 100644
--- a/quickstep/src/com/android/quickstep/interaction/BackGestureTutorialController.java
+++ b/quickstep/src/com/android/quickstep/interaction/BackGestureTutorialController.java
@@ -41,13 +41,13 @@
         super(fragment, tutorialType);
         // Set the Lottie animation colors specifically for the Back gesture
         if (ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()) {
-            LottieAnimationColorUtils.updateColors(
+            LottieAnimationColorUtils.updateToArgbColors(
                     mAnimatedGestureDemonstration,
                     Map.of(".onSurfaceBack", fragment.mRootView.mColorOnSurfaceBack,
                             ".surfaceBack", fragment.mRootView.mColorSurfaceBack,
                             ".secondaryBack", fragment.mRootView.mColorSecondaryBack));
 
-            LottieAnimationColorUtils.updateColors(
+            LottieAnimationColorUtils.updateToArgbColors(
                     mCheckmarkAnimation,
                     Map.of(".checkmark",
                             Utilities.isDarkTheme(mContext)
diff --git a/quickstep/src/com/android/quickstep/interaction/GestureSandboxActivity.java b/quickstep/src/com/android/quickstep/interaction/GestureSandboxActivity.java
index d102502..a36f501 100644
--- a/quickstep/src/com/android/quickstep/interaction/GestureSandboxActivity.java
+++ b/quickstep/src/com/android/quickstep/interaction/GestureSandboxActivity.java
@@ -19,6 +19,7 @@
 import android.content.pm.ActivityInfo;
 import android.content.res.Configuration;
 import android.graphics.Color;
+import android.graphics.Insets;
 import android.graphics.Rect;
 import android.os.Bundle;
 import android.text.TextUtils;
@@ -26,6 +27,7 @@
 import android.view.Display;
 import android.view.View;
 import android.view.Window;
+import android.view.WindowInsets;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -41,6 +43,7 @@
 import com.android.quickstep.interaction.TutorialController.TutorialType;
 import com.android.quickstep.util.TISBindHelper;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 
 /** Shows the gesture interactive sandbox in full screen mode. */
@@ -101,8 +104,11 @@
             correctUserOrientation();
         }
         mTISBindHelper = new TISBindHelper(this, this::onTISConnected);
+
+        initWindowInsets();
     }
 
+
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
@@ -113,6 +119,42 @@
         }
     }
 
+    private void initWindowInsets() {
+        View root = findViewById(android.R.id.content);
+        root.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
+            @Override
+            public void onLayoutChange(View v, int left, int top, int right, int bottom,
+                    int oldLeft, int oldTop, int oldRight, int oldBottom) {
+                updateExclusionRects(root);
+            }
+        });
+
+        // Return CONSUMED if you don't want want the window insets to keep being
+        // passed down to descendant views.
+        root.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
+            @Override
+            public WindowInsets onApplyWindowInsets(View v, WindowInsets insets) {
+                return WindowInsets.CONSUMED;
+            }
+        });
+    }
+
+    private void updateExclusionRects(View rootView) {
+        Insets gestureInsets = rootView.getRootWindowInsets()
+                .getInsets(WindowInsets.Type.systemGestures());
+        ArrayList<Rect> exclusionRects = new ArrayList<>();
+        // Add rect for left
+        exclusionRects.add(new Rect(0, 0, gestureInsets.left, rootView.getHeight()));
+        // Add rect for right
+        exclusionRects.add(new Rect(
+                rootView.getWidth() - gestureInsets.right,
+                0,
+                rootView.getWidth(),
+                rootView.getHeight()
+        ));
+        rootView.setSystemGestureExclusionRects(exclusionRects);
+    }
+
     /**
      * Gesture animations are only in landscape for large screens and portrait for mobile. This
      * method enforces the following flows:
diff --git a/quickstep/src/com/android/quickstep/interaction/HomeGestureTutorialController.java b/quickstep/src/com/android/quickstep/interaction/HomeGestureTutorialController.java
index daac99b..df552cf 100644
--- a/quickstep/src/com/android/quickstep/interaction/HomeGestureTutorialController.java
+++ b/quickstep/src/com/android/quickstep/interaction/HomeGestureTutorialController.java
@@ -38,13 +38,13 @@
 
         // Set the Lottie animation colors specifically for the Home gesture
         if (ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()) {
-            LottieAnimationColorUtils.updateColors(
+            LottieAnimationColorUtils.updateToArgbColors(
                     mAnimatedGestureDemonstration,
                     Map.of(".onSurfaceHome", fragment.mRootView.mColorOnSurfaceHome,
                             ".surfaceHome", fragment.mRootView.mColorSurfaceHome,
                             ".secondaryHome", fragment.mRootView.mColorSecondaryHome));
 
-            LottieAnimationColorUtils.updateColors(
+            LottieAnimationColorUtils.updateToArgbColors(
                     mCheckmarkAnimation,
                     Map.of(".checkmark",
                             Utilities.isDarkTheme(mContext)
diff --git a/quickstep/src/com/android/quickstep/interaction/OverviewGestureTutorialController.java b/quickstep/src/com/android/quickstep/interaction/OverviewGestureTutorialController.java
index afdc1e5..65f3a01 100644
--- a/quickstep/src/com/android/quickstep/interaction/OverviewGestureTutorialController.java
+++ b/quickstep/src/com/android/quickstep/interaction/OverviewGestureTutorialController.java
@@ -53,13 +53,13 @@
 
         // Set the Lottie animation colors specifically for the Overview gesture
         if (ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()) {
-            LottieAnimationColorUtils.updateColors(
+            LottieAnimationColorUtils.updateToArgbColors(
                     mAnimatedGestureDemonstration,
                     Map.of(".onSurfaceOverview", fragment.mRootView.mColorOnSurfaceOverview,
                             ".surfaceOverview", fragment.mRootView.mColorSurfaceOverview,
                             ".secondaryOverview", fragment.mRootView.mColorSecondaryOverview));
 
-            LottieAnimationColorUtils.updateColors(
+            LottieAnimationColorUtils.updateToArgbColors(
                     mCheckmarkAnimation,
                     Map.of(".checkmark",
                             Utilities.isDarkTheme(mContext)
diff --git a/quickstep/src/com/android/quickstep/interaction/TutorialFragment.java b/quickstep/src/com/android/quickstep/interaction/TutorialFragment.java
index a28cf58..c91ee81 100644
--- a/quickstep/src/com/android/quickstep/interaction/TutorialFragment.java
+++ b/quickstep/src/com/android/quickstep/interaction/TutorialFragment.java
@@ -25,6 +25,7 @@
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.graphics.Insets;
@@ -84,6 +85,9 @@
     private DeviceProfile mDeviceProfile;
     private boolean mIsLargeScreen;
     private boolean mIsFoldable;
+    private boolean mOnAttachedToWindowPendingCreate;
+
+    @Nullable private Runnable mOnAttachedOnGlobalLayoutCallback = null;
 
     public static TutorialFragment newInstance(
             TutorialType tutorialType, boolean gestureComplete, boolean fromTutorialMenu) {
@@ -174,6 +178,11 @@
                 .getDeviceProfile(getContext());
         mIsLargeScreen = mDeviceProfile.isTablet;
         mIsFoldable = mDeviceProfile.isTwoPanels;
+
+        if (mOnAttachedToWindowPendingCreate) {
+            mOnAttachedToWindowPendingCreate = false;
+            onAttachedToWindow();
+        }
     }
 
     public boolean isLargeScreen() {
@@ -343,13 +352,27 @@
                     new ViewTreeObserver.OnGlobalLayoutListener() {
                         @Override
                         public void onGlobalLayout() {
-                            changeController(mTutorialType);
+                            runOnAttached(() -> changeController(mTutorialType));
                             mRootView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                         }
                     });
         }
     }
 
+    private void runOnAttached(Runnable callback) {
+        mOnAttachedOnGlobalLayoutCallback = callback;
+        if (getContext() != null) {
+            onAttached();
+        }
+    }
+
+    private void onAttached() {
+        if (mOnAttachedOnGlobalLayoutCallback != null) {
+            mOnAttachedOnGlobalLayoutCallback.run();
+            mOnAttachedOnGlobalLayoutCallback = null;
+        }
+    }
+
     @Override
     public boolean onTouch(View view, MotionEvent motionEvent) {
         if (mTutorialController != null && !isGestureComplete()) {
@@ -372,7 +395,17 @@
     }
 
     @Override
+    public void onAttach(@NonNull Context context) {
+        super.onAttach(context);
+        onAttached();
+    }
+
+    @Override
     void onAttachedToWindow() {
+        if (mEdgeBackGestureHandler == null) {
+            mOnAttachedToWindowPendingCreate = true;
+            return;
+        }
         StatsLogManager statsLogManager = getStatsLogManager();
         if (statsLogManager != null) {
             logTutorialStepShown(statsLogManager);
@@ -382,6 +415,7 @@
 
     @Override
     void onDetachedFromWindow() {
+        mOnAttachedToWindowPendingCreate = false;
         mEdgeBackGestureHandler.setViewGroupParent(null);
     }
 
diff --git a/quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java b/quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java
index d3a01f2..f8d695c 100644
--- a/quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java
+++ b/quickstep/src/com/android/quickstep/logging/SettingsChangeLogger.java
@@ -26,7 +26,7 @@
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_THEMED_ICON_DISABLED;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_THEMED_ICON_ENABLED;
 import static com.android.launcher3.model.DeviceGridState.KEY_WORKSPACE_SIZE;
-import static com.android.launcher3.model.QuickstepModelDelegate.LAST_PREDICTION_ENABLED_STATE;
+import static com.android.launcher3.model.PredictionUpdateTask.LAST_PREDICTION_ENABLED;
 import static com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE;
 import static com.android.launcher3.util.SettingsCache.NOTIFICATION_BADGING_URI;
 import static com.android.launcher3.util.Themes.KEY_THEMED_ICONS;
@@ -155,13 +155,12 @@
 
     @Override
     public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
-        if (LAST_PREDICTION_ENABLED_STATE.equals(key)
+        if (LAST_PREDICTION_ENABLED.getSharedPrefKey().equals(key)
                 || KEY_WORKSPACE_SIZE.equals(key)
                 || KEY_THEMED_ICONS.equals(key)
                 || mLoggablePrefs.containsKey(key)) {
 
-            mHomeScreenSuggestionEvent = getDevicePrefs(mContext)
-                    .getBoolean(LAST_PREDICTION_ENABLED_STATE, true)
+            mHomeScreenSuggestionEvent = LauncherPrefs.get(mContext).get(LAST_PREDICTION_ENABLED)
                     ? LAUNCHER_HOME_SCREEN_SUGGESTIONS_ENABLED
                     : LAUNCHER_HOME_SCREEN_SUGGESTIONS_DISABLED;
 
diff --git a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java
index b1daac4..cf9fc74 100644
--- a/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java
+++ b/quickstep/src/com/android/quickstep/logging/StatsLogCompatManager.java
@@ -32,6 +32,7 @@
 import static com.android.systemui.shared.system.SysUiStatsLog.LAUNCHER_UICHANGED__DST_STATE__OVERVIEW;
 
 import android.content.Context;
+import android.text.TextUtils;
 import android.util.Log;
 import android.util.StatsEvent;
 import android.view.View;
@@ -41,6 +42,7 @@
 import androidx.annotation.WorkerThread;
 import androidx.slice.SliceItem;
 
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.logger.LauncherAtom;
@@ -104,6 +106,8 @@
     private static final int SEARCH_ATTRIBUTES_DIRECT_MATCH = 1 << 1;
     private static final int SEARCH_ATTRIBUTES_ENTRY_STATE_ALL_APPS = 1 << 2;
     private static final int SEARCH_ATTRIBUTES_ENTRY_STATE_QSB = 1 << 3;
+    private static final int SEARCH_ATTRIBUTES_ENTRY_STATE_OVERVIEW = 1 << 4;
+    private static final int SEARCH_ATTRIBUTES_ENTRY_STATE_TASKBAR = 1 << 5;
 
     public static final CopyOnWriteArrayList<StatsLogConsumer> LOGS_CONSUMER =
             new CopyOnWriteArrayList<>();
@@ -224,6 +228,8 @@
         private LauncherAtom.Slice mSlice;
         private Optional<Integer> mCardinality = Optional.empty();
         private int mInputType = SysUiStatsLog.LAUNCHER_UICHANGED__INPUT_TYPE__UNKNOWN;
+        private Optional<Integer> mFeatures = Optional.empty();
+        private Optional<String> mPackageName = Optional.empty();
 
         StatsCompatLogger(Context context, ActivityContext activityContext) {
             mContext = context;
@@ -323,6 +329,18 @@
         }
 
         @Override
+        public StatsLogger withFeatures(int feature) {
+            this.mFeatures = Optional.of(feature);
+            return this;
+        }
+
+        @Override
+        public StatsLogger withPackageName(@Nullable String packageName) {
+            mPackageName = Optional.ofNullable(packageName);
+            return this;
+        }
+
+        @Override
         public void log(EventEnum event) {
             if (!Utilities.ATLEAST_R) {
                 return;
@@ -384,11 +402,10 @@
                 case LAUNCHER_ALLAPPS_VERTICAL_SWIPE_BEGIN:
                     InteractionJankMonitorWrapper.begin(
                             view,
-                            InteractionJankMonitorWrapper.CUJ_ALL_APPS_SCROLL);
+                            Cuj.CUJ_LAUNCHER_ALL_APPS_SCROLL);
                     break;
                 case LAUNCHER_ALLAPPS_VERTICAL_SWIPE_END:
-                    InteractionJankMonitorWrapper.end(
-                            InteractionJankMonitorWrapper.CUJ_ALL_APPS_SCROLL);
+                    InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_ALL_APPS_SCROLL);
                     break;
                 default:
                     break;
@@ -422,6 +439,7 @@
             int srcState = mSrcState;
             int dstState = mDstState;
             int inputType = mInputType;
+            String packageName = mPackageName.orElseGet(() -> getPackageName(atomInfo));
             if (IS_VERBOSE) {
                 String name = (event instanceof Enum) ? ((Enum) event).name() :
                         event.getId() + "";
@@ -439,6 +457,9 @@
                 if (atomInfo.hasContainerInfo()) {
                     logStringBuilder.append("\n").append(atomInfo);
                 }
+                if (!TextUtils.isEmpty(packageName)) {
+                    logStringBuilder.append(String.format("\nPackage name: %s", packageName));
+                }
                 Log.d(TAG, logStringBuilder.toString());
             }
 
@@ -451,6 +472,7 @@
                 return;
             }
             int cardinality = mCardinality.orElseGet(() -> getCardinality(atomInfo));
+            int features = mFeatures.orElseGet(() -> getFeatures(atomInfo));
             SysUiStatsLog.write(
                     SysUiStatsLog.LAUNCHER_EVENT,
                     SysUiStatsLog.LAUNCHER_UICHANGED__ACTION__DEFAULT_ACTION /* deprecated */,
@@ -462,7 +484,7 @@
                     atomInfo.getItemCase().getNumber() /* target_id */,
                     instanceId.getId() /* instance_id TODO */,
                     0 /* uid TODO */,
-                    getPackageName(atomInfo) /* package_name */,
+                    packageName /* package_name */,
                     getComponentName(atomInfo) /* component_name */,
                     getGridX(atomInfo, false) /* grid_x */,
                     getGridY(atomInfo, false) /* grid_y */,
@@ -471,17 +493,17 @@
                     getGridY(atomInfo, true) /* grid_y_parent */,
                     getParentPageId(atomInfo) /* page_id_parent */,
                     getHierarchy(atomInfo) /* hierarchy */,
-                    atomInfo.getIsWork() /* is_work_profile */,
+                    false /* is_work_profile, deprecated */,
                     atomInfo.getRank() /* rank */,
                     atomInfo.getFolderIcon().getFromLabelState().getNumber() /* fromState */,
                     atomInfo.getFolderIcon().getToLabelState().getNumber() /* toState */,
                     atomInfo.getFolderIcon().getLabelInfo() /* edittext */,
                     cardinality /* cardinality */,
-                    getFeatures(atomInfo) /* features */,
+                    features /* features */,
                     getSearchAttributes(atomInfo) /* searchAttributes */,
                     getAttributes(atomInfo) /* attributes */,
-                    inputType /* input_type */
-            );
+                    inputType /* input_type */,
+                    atomInfo.getUserType() /* user_type */);
         }
     }
 
@@ -848,6 +870,10 @@
             response = response | SEARCH_ATTRIBUTES_ENTRY_STATE_ALL_APPS;
         } else if (searchAttributes.getEntryState() == SearchAttributes.EntryState.QSB) {
             response = response | SEARCH_ATTRIBUTES_ENTRY_STATE_QSB;
+        } else if (searchAttributes.getEntryState() == SearchAttributes.EntryState.OVERVIEW) {
+            response = response | SEARCH_ATTRIBUTES_ENTRY_STATE_OVERVIEW;
+        } else if (searchAttributes.getEntryState() == SearchAttributes.EntryState.TASKBAR) {
+            response = response | SEARCH_ATTRIBUTES_ENTRY_STATE_TASKBAR;
         }
 
         return response;
diff --git a/quickstep/src/com/android/quickstep/util/ActiveGestureErrorDetector.java b/quickstep/src/com/android/quickstep/util/ActiveGestureErrorDetector.java
index 8335523..4359294 100644
--- a/quickstep/src/com/android/quickstep/util/ActiveGestureErrorDetector.java
+++ b/quickstep/src/com/android/quickstep/util/ActiveGestureErrorDetector.java
@@ -34,10 +34,12 @@
     public enum GestureEvent {
         MOTION_DOWN, MOTION_UP, MOTION_MOVE, SET_END_TARGET, SET_END_TARGET_HOME,
         SET_END_TARGET_NEW_TASK, SET_END_TARGET_ALL_APPS, ON_SETTLED_ON_END_TARGET,
+        ON_START_RECENTS_ANIMATION, ON_FINISH_RECENTS_ANIMATION, ON_CANCEL_RECENTS_ANIMATION,
         START_RECENTS_ANIMATION, FINISH_RECENTS_ANIMATION, CANCEL_RECENTS_ANIMATION,
         SET_ON_PAGE_TRANSITION_END_CALLBACK, CANCEL_CURRENT_ANIMATION, CLEANUP_SCREENSHOT,
         SCROLLER_ANIMATION_ABORTED, TASK_APPEARED, EXPECTING_TASK_APPEARED,
-        FLAG_USING_OTHER_ACTIVITY_INPUT_CONSUMER, LAUNCHER_DESTROYED,
+        FLAG_USING_OTHER_ACTIVITY_INPUT_CONSUMER, LAUNCHER_DESTROYED, RECENT_TASKS_MISSING,
+        INVALID_VELOCITY_ON_SWIPE_UP,
 
         /**
          * These GestureEvents are specifically associated to state flags that get set in
@@ -65,16 +67,24 @@
 
     private ActiveGestureErrorDetector() {}
 
+    private static final long ON_START_RECENT_ANIMATION_TIME_LIMIT = 500;
+
     protected static void analyseAndDump(
             @NonNull String prefix,
             @NonNull PrintWriter writer,
             @NonNull ActiveGestureLog.EventLog eventLog) {
         writer.println(prefix + "Error messages for gesture ID: " + eventLog.logId);
+        if (!eventLog.mIsFullyGesturalNavMode) {
+            writer.println(prefix
+                    + "\tSkipping gesture error detection because gesture navigation not enabled");
+            return;
+        }
 
         boolean errorDetected = false;
         // Use a Set since the order is inherently checked in the loop.
         final Set<GestureEvent> encounteredEvents = new ArraySet<>();
         // Set flags and check order of operations.
+        long lastStartRecentAnimationEventEntryTime = 0;
         for (ActiveGestureLog.EventEntry eventEntry : eventLog.eventEntries) {
             GestureEvent gestureEvent = eventEntry.getGestureEvent();
             if (gestureEvent == null) {
@@ -137,24 +147,15 @@
                     break;
                 case TASK_APPEARED:
                     errorDetected |= printErrorIfTrue(
-                            !encounteredEvents.contains(GestureEvent.SET_END_TARGET_NEW_TASK),
-                            prefix,
-                            /* errorMessage= */ "onTasksAppeared called "
-                                    + "before/without setting end target to new task",
-                            writer);
-                    errorDetected |= printErrorIfTrue(
                             !encounteredEvents.contains(GestureEvent.EXPECTING_TASK_APPEARED),
                             prefix,
                             /* errorMessage= */ "onTasksAppeared was not expected to be called",
                             writer);
-                    break;
-                case EXPECTING_TASK_APPEARED:
-                    errorDetected |= printErrorIfTrue(
-                            !encounteredEvents.contains(GestureEvent.SET_END_TARGET_NEW_TASK),
-                            prefix,
-                            /* errorMessage= */ "expecting onTasksAppeared to be called "
-                                    + "before/without setting end target to new task",
-                            writer);
+                    if (encounteredEvents.contains(GestureEvent.EXPECTING_TASK_APPEARED)) {
+                        // Remove both events so that we can properly detect following errors.
+                        encounteredEvents.remove(GestureEvent.EXPECTING_TASK_APPEARED);
+                        encounteredEvents.remove(GestureEvent.TASK_APPEARED);
+                    }
                     break;
                 case LAUNCHER_DESTROYED:
                     errorDetected |= printErrorIfTrue(
@@ -218,12 +219,66 @@
                                     + "set before/without startRecentsAnimation.",
                             writer);
                     break;
+                case RECENT_TASKS_MISSING:
+                    errorDetected |= printErrorIfTrue(
+                            true,
+                            prefix,
+                            /* errorMessage= */ "SystemUiProxy.mRecentTasks missing,"
+                                    + " couldn't start the recents activity",
+                            writer);
+                    break;
+                case ON_START_RECENTS_ANIMATION:
+                    errorDetected |= printErrorIfTrue(
+                            !encounteredEvents.contains(GestureEvent.START_RECENTS_ANIMATION),
+                            prefix,
+                            /* errorMessage= */ "ON_START_RECENTS_ANIMATION "
+                                    + "onAnimationStart callback ran before startRecentsAnimation",
+                            writer);
+                    errorDetected |= printErrorIfTrue(
+                            eventEntry.getTime() - lastStartRecentAnimationEventEntryTime
+                                    > ON_START_RECENT_ANIMATION_TIME_LIMIT,
+                            prefix,
+                            /* errorMessage= */"ON_START_RECENTS_ANIMATION "
+                                    + "startRecentsAnimation was never called or onAnimationStart "
+                                    + "callback was called more than 500 ms after "
+                                    + "startRecentsAnimation.",
+                            writer);
+                    lastStartRecentAnimationEventEntryTime = 0;
+                    break;
+                case ON_CANCEL_RECENTS_ANIMATION:
+                    errorDetected |= printErrorIfTrue(
+                            !encounteredEvents.contains(GestureEvent.ON_START_RECENTS_ANIMATION),
+                            prefix,
+                            /* errorMessage= */ "ON_CANCEL_RECENTS_ANIMATION "
+                                    + "onAnimationCanceled callback ran before onAnimationStart "
+                                    + "callback",
+                            writer);
+                    break;
+                case ON_FINISH_RECENTS_ANIMATION:
+                    errorDetected |= printErrorIfTrue(
+                            !encounteredEvents.contains(GestureEvent.ON_START_RECENTS_ANIMATION),
+                            prefix,
+                            /* errorMessage= */ "ON_FINISH_RECENTS_ANIMATION "
+                                    + "onAnimationFinished callback ran before onAnimationStart "
+                                    + "callback",
+                            writer);
+                    break;
+                case INVALID_VELOCITY_ON_SWIPE_UP:
+                    errorDetected |= printErrorIfTrue(
+                            true,
+                            prefix,
+                            /* errorMessage= */ "invalid velocity on swipe up gesture.",
+                            writer);
+                    break;
+                case START_RECENTS_ANIMATION:
+                    lastStartRecentAnimationEventEntryTime = eventEntry.getTime();
+                    break;
+                case EXPECTING_TASK_APPEARED:
                 case MOTION_DOWN:
                 case SET_END_TARGET:
                 case SET_END_TARGET_HOME:
                 case SET_END_TARGET_ALL_APPS:
                 case SET_END_TARGET_NEW_TASK:
-                case START_RECENTS_ANIMATION:
                 case SET_ON_PAGE_TRANSITION_END_CALLBACK:
                 case CANCEL_CURRENT_ANIMATION:
                 case FLAG_USING_OTHER_ACTIVITY_INPUT_CONSUMER:
@@ -349,6 +404,30 @@
                 /* errorMessage= */ "onTaskAppeared was expected to be called but wasn't.",
                 writer);
 
+        errorDetected |= printErrorIfTrue(
+                /* condition= */ encounteredEvents.contains(GestureEvent.START_RECENTS_ANIMATION)
+                        && !encounteredEvents.contains(GestureEvent.ON_START_RECENTS_ANIMATION),
+                prefix,
+                /* errorMessage= */
+                "startRecentAnimation was called but onAnimationStart callback was not",
+                writer);
+        errorDetected |= printErrorIfTrue(
+                /* condition= */
+                encounteredEvents.contains(GestureEvent.FINISH_RECENTS_ANIMATION)
+                        && !encounteredEvents.contains(GestureEvent.ON_FINISH_RECENTS_ANIMATION),
+                prefix,
+                /* errorMessage= */
+                "finishController was called but onAnimationFinished callback was not",
+                writer);
+        errorDetected |= printErrorIfTrue(
+                /* condition= */
+                encounteredEvents.contains(GestureEvent.CANCEL_RECENTS_ANIMATION)
+                        && !encounteredEvents.contains(GestureEvent.ON_CANCEL_RECENTS_ANIMATION),
+                prefix,
+                /* errorMessage= */
+                "onRecentsAnimationCanceled was called but onAnimationCanceled was not",
+                writer);
+
         if (!errorDetected) {
             writer.println(prefix + "\tNo errors detected.");
         }
diff --git a/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java b/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java
index cca4d52..278ca56 100644
--- a/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java
+++ b/quickstep/src/com/android/quickstep/util/ActiveGestureLog.java
@@ -18,6 +18,8 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
+import com.android.launcher3.util.Preconditions;
+
 import java.io.PrintWriter;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -31,24 +33,18 @@
  */
 public class ActiveGestureLog {
 
-    private static final int MAX_GESTURES_TRACKED = 10;
+    private static final int MAX_GESTURES_TRACKED = 15;
 
     public static final ActiveGestureLog INSTANCE = new ActiveGestureLog();
 
+    private boolean mIsFullyGesturalNavMode;
+
     /**
      * NOTE: This value should be kept same as
      * ActivityTaskManagerService#INTENT_EXTRA_LOG_TRACE_ID in platform
      */
     public static final String INTENT_EXTRA_LOG_TRACE_ID = "INTENT_EXTRA_LOG_TRACE_ID";
 
-    private static final int TYPE_ONE_OFF = 0;
-    private static final int TYPE_FLOAT = 1;
-    private static final int TYPE_INTEGER = 2;
-    private static final int TYPE_BOOL_TRUE = 3;
-    private static final int TYPE_BOOL_FALSE = 4;
-    private static final int TYPE_INPUT_CONSUMER = 5;
-    private static final int TYPE_GESTURE_EVENT = 6;
-
     private final EventLog[] logs;
     private int nextIndex;
     private int mCurrentLogId = 100;
@@ -65,9 +61,12 @@
      *                   execution.
      */
     public void trackEvent(@Nullable ActiveGestureErrorDetector.GestureEvent gestureEvent) {
-        addLog(TYPE_GESTURE_EVENT, "", 0, CompoundString.NO_OP, gestureEvent);
+        addLog(CompoundString.NO_OP, gestureEvent);
     }
 
+    /**
+     * Adds a log to be printed at log-dump-time.
+     */
     public void addLog(String event) {
         addLog(event, null);
     }
@@ -80,51 +79,43 @@
         addLog(event, extras, null);
     }
 
-    public void addLog(CompoundString compoundString) {
-        addLog(TYPE_INPUT_CONSUMER, "", 0, compoundString, null);
-    }
-
     /**
-     * Adds a log and track the associated event for error detection.
+     * Adds a log to be printed at log-dump-time and track the associated event for error detection.
      *
      * @param gestureEvent GestureEvent representing the event being logged.
      */
     public void addLog(
             String event, @Nullable ActiveGestureErrorDetector.GestureEvent gestureEvent) {
-        addLog(TYPE_ONE_OFF, event, 0, CompoundString.NO_OP, gestureEvent);
+        addLog(new CompoundString(event), gestureEvent);
     }
 
     public void addLog(
             String event,
             int extras,
             @Nullable ActiveGestureErrorDetector.GestureEvent gestureEvent) {
-        addLog(TYPE_INTEGER, event, extras, CompoundString.NO_OP, gestureEvent);
+        addLog(new CompoundString(event).append(": ").append(extras), gestureEvent);
     }
 
     public void addLog(
             String event,
             boolean extras,
             @Nullable ActiveGestureErrorDetector.GestureEvent gestureEvent) {
-        addLog(
-                extras ? TYPE_BOOL_TRUE : TYPE_BOOL_FALSE,
-                event,
-                0,
-                CompoundString.NO_OP,
-                gestureEvent);
+        addLog(new CompoundString(event).append(": ").append(extras), gestureEvent);
     }
 
-    private void addLog(
-            int type,
-            String event,
-            float extras,
+    public void addLog(CompoundString compoundString) {
+        addLog(compoundString, null);
+    }
+
+    public void addLog(
             CompoundString compoundString,
             @Nullable ActiveGestureErrorDetector.GestureEvent gestureEvent) {
         EventLog lastEventLog = logs[(nextIndex + logs.length - 1) % logs.length];
         if (lastEventLog == null || mCurrentLogId != lastEventLog.logId) {
-            EventLog eventLog = new EventLog(mCurrentLogId);
+            EventLog eventLog = new EventLog(mCurrentLogId, mIsFullyGesturalNavMode);
             EventEntry eventEntry = new EventEntry();
 
-            eventEntry.update(type, event, extras, compoundString, gestureEvent);
+            eventEntry.update(compoundString, gestureEvent);
             eventLog.eventEntries.add(eventEntry);
             logs[nextIndex] = eventLog;
             nextIndex = (nextIndex + 1) % logs.length;
@@ -133,17 +124,17 @@
 
         // Update the last EventLog
         List<EventEntry> lastEventEntries = lastEventLog.eventEntries;
-        EventEntry lastEntry = lastEventEntries.size() > 0
+        EventEntry lastEntry = !lastEventEntries.isEmpty()
                 ? lastEventEntries.get(lastEventEntries.size() - 1) : null;
 
         // Update the last EventEntry if it's a duplicate
-        if (isEntrySame(lastEntry, type, event, extras, compoundString, gestureEvent)) {
+        if (isEntrySame(lastEntry, compoundString, gestureEvent)) {
             lastEntry.duplicateCount++;
             return;
         }
         EventEntry eventEntry = new EventEntry();
 
-        eventEntry.update(type, event, extras, compoundString, gestureEvent);
+        eventEntry.update(compoundString, gestureEvent);
         lastEventEntries.add(eventEntry);
     }
 
@@ -168,30 +159,14 @@
 
             writer.println(prefix + "\tLogs for logId: " + eventLog.logId);
             for (EventEntry eventEntry : eventLog.eventEntries) {
+                if (eventEntry.mCompoundString.mIsNoOp) {
+                    continue;
+                }
                 date.setTime(eventEntry.time);
 
-                StringBuilder msg = new StringBuilder(prefix + "\t\t").append(sdf.format(date))
-                        .append(eventEntry.event);
-                switch (eventEntry.type) {
-                    case TYPE_BOOL_FALSE:
-                        msg.append(": false");
-                        break;
-                    case TYPE_BOOL_TRUE:
-                        msg.append(": true");
-                        break;
-                    case TYPE_FLOAT:
-                        msg.append(": ").append(eventEntry.extras);
-                        break;
-                    case TYPE_INTEGER:
-                        msg.append(": ").append((int) eventEntry.extras);
-                        break;
-                    case TYPE_INPUT_CONSUMER:
-                        msg.append(eventEntry.mCompoundString);
-                        break;
-                    case TYPE_GESTURE_EVENT:
-                        continue;
-                    default: // fall out
-                }
+                StringBuilder msg = new StringBuilder(prefix + "\t\t")
+                        .append(sdf.format(date))
+                        .append(eventEntry.mCompoundString);
                 if (eventEntry.duplicateCount > 0) {
                     msg.append(" & ").append(eventEntry.duplicateCount).append(" similar events");
                 }
@@ -208,6 +183,10 @@
         return mCurrentLogId++;
     }
 
+    public void setIsFullyGesturalNavMode(boolean isFullyGesturalNavMode) {
+        mIsFullyGesturalNavMode = isFullyGesturalNavMode;
+    }
+
     /** Returns the current log ID. This should be used when a log trace is being reused. */
     public int getLogId() {
         return mCurrentLogId;
@@ -215,15 +194,9 @@
 
     private boolean isEntrySame(
             EventEntry entry,
-            int type,
-            String event,
-            float extras,
             CompoundString compoundString,
             ActiveGestureErrorDetector.GestureEvent gestureEvent) {
         return entry != null
-                && entry.type == type
-                && entry.event.equals(event)
-                && Float.compare(entry.extras, extras) == 0
                 && entry.mCompoundString.equals(compoundString)
                 && entry.gestureEvent == gestureEvent;
     }
@@ -231,9 +204,6 @@
     /** A single event entry. */
     protected static class EventEntry {
 
-        private int type;
-        private String event;
-        private float extras;
         @NonNull private CompoundString mCompoundString;
         private ActiveGestureErrorDetector.GestureEvent gestureEvent;
         private long time;
@@ -247,19 +217,17 @@
         }
 
         private void update(
-                int type,
-                String event,
-                float extras,
                 @NonNull CompoundString compoundString,
                 ActiveGestureErrorDetector.GestureEvent gestureEvent) {
-            this.type = type;
-            this.event = event;
-            this.extras = extras;
             this.mCompoundString = compoundString;
             this.gestureEvent = gestureEvent;
             time = System.currentTimeMillis();
             duplicateCount = 0;
         }
+
+        public long getTime() {
+            return time;
+        }
     }
 
     /** An entire log of entries associated with a single log ID */
@@ -267,9 +235,11 @@
 
         protected final List<EventEntry> eventEntries = new ArrayList<>();
         protected final int logId;
+        protected final boolean mIsFullyGesturalNavMode;
 
-        private EventLog(int logId) {
+        private EventLog(int logId, boolean isFullyGesturalNavMode) {
             this.logId = logId;
+            mIsFullyGesturalNavMode = isFullyGesturalNavMode;
         }
     }
 
@@ -279,6 +249,7 @@
         public static final CompoundString NO_OP = new CompoundString();
 
         private final List<String> mSubstrings;
+        private final List<Object> mArgs;
 
         private final boolean mIsNoOp;
 
@@ -290,10 +261,12 @@
             mIsNoOp = substring == null;
             if (mIsNoOp) {
                 mSubstrings = null;
+                mArgs = null;
                 return;
             }
             mSubstrings = new ArrayList<>();
             mSubstrings.add(substring);
+            mArgs = new ArrayList<>();
         }
 
         public CompoundString append(CompoundString substring) {
@@ -314,11 +287,42 @@
             return this;
         }
 
+        public CompoundString append(int num) {
+            mArgs.add(num);
+
+            return append("%d");
+        }
+
+        public CompoundString append(float num) {
+            mArgs.add(num);
+
+            return append("%.2f");
+        }
+
+        public CompoundString append(double num) {
+            mArgs.add(num);
+
+            return append("%.2f");
+        }
+
+        public CompoundString append(boolean bool) {
+            mArgs.add(bool);
+
+            return append("%b");
+        }
+
+        public Object[] getArgs() {
+            return mArgs.toArray();
+        }
+
         @Override
         public String toString() {
-            if (mIsNoOp) {
-                return "ERROR: cannot use No-Op compound string";
-            }
+            return String.format(toUnformattedString(), getArgs());
+        }
+
+        public String toUnformattedString() {
+            Preconditions.assertTrue(!mIsNoOp);
+
             StringBuilder sb = new StringBuilder();
             for (String substring : mSubstrings) {
                 sb.append(substring);
diff --git a/quickstep/src/com/android/quickstep/util/AnimUtils.java b/quickstep/src/com/android/quickstep/util/AnimUtils.java
index b7b7825..7fbbb6e 100644
--- a/quickstep/src/com/android/quickstep/util/AnimUtils.java
+++ b/quickstep/src/com/android/quickstep/util/AnimUtils.java
@@ -39,4 +39,13 @@
                 ? SplitAnimationTimings.TABLET_SPLIT_TO_CONFIRM
                 : SplitAnimationTimings.PHONE_SPLIT_TO_CONFIRM;
     }
+
+    /**
+     * Fetches device-specific timings for the app pair launch animation.
+     */
+    public static SplitAnimationTimings getDeviceAppPairLaunchTimings(boolean isTablet) {
+        return isTablet
+                ? SplitAnimationTimings.TABLET_APP_PAIR_LAUNCH
+                : SplitAnimationTimings.PHONE_APP_PAIR_LAUNCH;
+    }
 }
diff --git a/quickstep/src/com/android/quickstep/util/AppPairLaunchTimings.kt b/quickstep/src/com/android/quickstep/util/AppPairLaunchTimings.kt
new file mode 100644
index 0000000..086c8af
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/util/AppPairLaunchTimings.kt
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep.util
+
+import com.android.app.animation.Interpolators
+
+/** Timings for the app pair launch animation. */
+abstract class AppPairLaunchTimings : SplitAnimationTimings {
+    protected abstract val STAGED_RECT_SLIDE_DURATION: Int
+
+    // Common timings that apply to app pair launches on any type of device
+    override fun getStagedRectSlideStart() = 0
+    override fun getStagedRectSlideEnd() = stagedRectSlideStart + STAGED_RECT_SLIDE_DURATION
+    override fun getPlaceholderFadeInStart() = 0
+    override fun getPlaceholderFadeInEnd() = 0
+    override fun getPlaceholderIconFadeInStart() = 0
+    override fun getPlaceholderIconFadeInEnd() = 0
+
+    private val iconFadeStart: Int
+        get() = getStagedRectSlideEnd()
+    private val iconFadeEnd: Int
+        get() = iconFadeStart + 83
+    private val appRevealStart: Int
+        get() = getStagedRectSlideEnd() + 67
+    private val appRevealEnd: Int
+        get() = appRevealStart + 217
+    private val cellSplitStart: Int
+        get() = (getStagedRectSlideEnd() * 0.83f).toInt()
+    private val cellSplitEnd: Int
+        get() = cellSplitStart + 500
+
+    override fun getStagedRectXInterpolator() = Interpolators.EMPHASIZED_COMPLEMENT
+    override fun getStagedRectYInterpolator() = Interpolators.EMPHASIZED
+    override fun getStagedRectScaleXInterpolator() = Interpolators.EMPHASIZED
+    override fun getStagedRectScaleYInterpolator() = Interpolators.EMPHASIZED
+    override fun getCellSplitInterpolator() = Interpolators.EMPHASIZED
+    override fun getIconFadeInterpolator() = Interpolators.LINEAR
+
+    override fun getCellSplitStartOffset(): Float {
+        return cellSplitStart.toFloat() / getDuration()
+    }
+    override fun getCellSplitEndOffset(): Float {
+        return cellSplitEnd.toFloat() / getDuration()
+    }
+    override fun getIconFadeStartOffset(): Float {
+        return iconFadeStart.toFloat() / getDuration()
+    }
+    override fun getIconFadeEndOffset(): Float {
+        return iconFadeEnd.toFloat() / getDuration()
+    }
+    override fun getAppRevealStartOffset(): Float {
+        return appRevealStart.toFloat() / getDuration()
+    }
+    override fun getAppRevealEndOffset(): Float {
+        return appRevealEnd.toFloat() / getDuration()
+    }
+    abstract override fun getDuration(): Int
+}
diff --git a/quickstep/src/com/android/quickstep/util/AppPairsController.java b/quickstep/src/com/android/quickstep/util/AppPairsController.java
index 1a7099d..0f3c029 100644
--- a/quickstep/src/com/android/quickstep/util/AppPairsController.java
+++ b/quickstep/src/com/android/quickstep/util/AppPairsController.java
@@ -20,48 +20,49 @@
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_APP_PAIR_LAUNCH;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
+import static com.android.wm.shell.common.split.SplitScreenConstants.SPLIT_POSITION_BOTTOM_OR_RIGHT;
+import static com.android.wm.shell.common.split.SplitScreenConstants.SPLIT_POSITION_TOP_OR_LEFT;
+import static com.android.wm.shell.common.split.SplitScreenConstants.isPersistentSnapPosition;
 
 import android.app.ActivityTaskManager;
 import android.content.Context;
 import android.content.Intent;
 
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 
 import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.LauncherSettings;
+import com.android.launcher3.R;
 import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
+import com.android.launcher3.apppairs.AppPairIcon;
 import com.android.launcher3.icons.IconCache;
 import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.model.data.FolderInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
 import com.android.launcher3.util.ComponentKey;
-import com.android.launcher3.util.SplitConfigurationOptions;
+import com.android.quickstep.views.GroupedTaskView;
 import com.android.quickstep.views.TaskView;
 import com.android.systemui.shared.recents.model.Task;
+import com.android.wm.shell.common.split.SplitScreenConstants.PersistentSnapPosition;
 
 import java.util.Arrays;
 
 /**
- * Mini controller class that handles app pair interactions: saving, modifying, deleting, etc.
+ * Controller class that handles app pair interactions: saving, modifying, deleting, etc.
+ * <br>
+ * App pairs contain two "member" apps, which are determined at the time of app pair creation
+ * and never modified. The member apps are WorkspaceItemInfos, but use the "rank" attribute
+ * differently from other ItemInfos -- we use it to store information about the split position and
+ * ratio.
  */
 public class AppPairsController {
+    // Used for encoding and decoding the "rank" attribute
+    private static final int BITMASK_SIZE = 16;
+    private static final int BITMASK_FOR_SNAP_POSITION = (1 << BITMASK_SIZE) - 1;
 
-    private static final int POINT_THREE_RATIO = 0;
-    private static final int POINT_FIVE_RATIO = 1;
-    private static final int POINT_SEVEN_RATIO = 2;
-    /**
-     * Used to calculate {@link #complement(int)}
-     */
-    private static final int FULL_RATIO = 2;
-
-    private static final int LEFT_TOP = 0;
-    private static final int RIGHT_BOTTOM = 1 << 2;
-
-    // TODO (jeremysim b/274189428): Support saving different ratios in future.
-    public int DEFAULT_RATIO = POINT_FIVE_RATIO;
-
-    private final Context mContext;
+    private Context mContext;
     private final SplitSelectStateController mSplitSelectStateController;
     private final StatsLogManager mStatsLogManager;
     public AppPairsController(Context context,
@@ -72,20 +73,28 @@
         mStatsLogManager = statsLogManager;
     }
 
+    void onDestroy() {
+        mContext = null;
+    }
+
     /**
      * Creates a new app pair ItemInfo and adds it to the workspace
      */
-    public void saveAppPair(TaskView taskView) {
-        TaskView.TaskIdAttributeContainer[] attributes = taskView.getTaskIdAttributeContainers();
+    public void saveAppPair(GroupedTaskView gtv) {
+        TaskView.TaskIdAttributeContainer[] attributes = gtv.getTaskIdAttributeContainers();
         WorkspaceItemInfo app1 = attributes[0].getItemInfo().clone();
         WorkspaceItemInfo app2 = attributes[1].getItemInfo().clone();
         app1.itemType = LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
         app2.itemType = LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
-        app1.rank = DEFAULT_RATIO + LEFT_TOP;
-        app2.rank = complement(DEFAULT_RATIO) + RIGHT_BOTTOM;
+
+        @PersistentSnapPosition int snapPosition = gtv.getSnapPosition();
+        if (!isPersistentSnapPosition(snapPosition)) {
+            throw new RuntimeException("tried to save an app pair with illegal snapPosition");
+        }
+
+        app1.rank = encodeRank(SPLIT_POSITION_TOP_OR_LEFT, snapPosition);
+        app2.rank = encodeRank(SPLIT_POSITION_BOTTOM_OR_RIGHT, snapPosition);
         FolderInfo newAppPair = FolderInfo.createAppPair(app1, app2);
-        // TODO (jeremysim b/274189428): Generate default title here.
-        newAppPair.title = "App pair 1";
 
         IconCache iconCache = LauncherAppState.getInstance(mContext).getIconCache();
         MODEL_EXECUTOR.execute(() -> {
@@ -94,6 +103,8 @@
                 member.bitmap = iconCache.getDefaultIcon(newAppPair.user);
                 iconCache.getTitleAndIcon(member, member.usingLowResIcon());
             });
+            newAppPair.title = getDefaultTitle(newAppPair.contents.get(0).title,
+                    newAppPair.contents.get(1).title);
             MAIN_EXECUTOR.execute(() -> {
                 LauncherAccessibilityDelegate delegate =
                         Launcher.getLauncher(mContext).getAccessibilityDelegate();
@@ -110,13 +121,16 @@
      * Launches an app pair by searching the RecentsModel for running instances of each app, and
      * staging either those running instances or launching the apps as new Intents.
      */
-    public void launchAppPair(WorkspaceItemInfo app1, WorkspaceItemInfo app2) {
+    public void launchAppPair(AppPairIcon appPairIcon) {
+        WorkspaceItemInfo app1 = appPairIcon.getInfo().contents.get(0);
+        WorkspaceItemInfo app2 = appPairIcon.getInfo().contents.get(1);
         ComponentKey app1Key = new ComponentKey(app1.getTargetComponent(), app1.user);
         ComponentKey app2Key = new ComponentKey(app2.getTargetComponent(), app2.user);
         mSplitSelectStateController.findLastActiveTasksAndRunCallback(
                 Arrays.asList(app1Key, app2Key),
+                false /* findExactPairMatch */,
                 foundTasks -> {
-                    @Nullable Task foundTask1 = foundTasks.get(0);
+                    @Nullable Task foundTask1 = foundTasks[0];
                     Intent task1Intent;
                     int task1Id;
                     if (foundTask1 != null) {
@@ -128,12 +142,12 @@
                     }
 
                     mSplitSelectStateController.setInitialTaskSelect(task1Intent,
-                            SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT,
+                            AppPairsController.convertRankToStagePosition(app1.rank),
                             app1,
                             LAUNCHER_APP_PAIR_LAUNCH,
                             task1Id);
 
-                    @Nullable Task foundTask2 = foundTasks.get(1);
+                    @Nullable Task foundTask2 = foundTasks[1];
                     if (foundTask2 != null) {
                         mSplitSelectStateController.setSecondTask(foundTask2);
                     } else {
@@ -141,18 +155,45 @@
                                 app2.intent, app2.user);
                     }
 
-                    mSplitSelectStateController.launchSplitTasks();
-                });
+                    mSplitSelectStateController.setLaunchingIconView(appPairIcon);
+
+                    mSplitSelectStateController.launchSplitTasks(
+                            AppPairsController.convertRankToSnapPosition(app1.rank));
+                }
+        );
     }
 
     /**
-     * Used to calculate the "opposite" side of the split ratio, so we can know how big the split
-     * apps are supposed to be. This math works because POINT_THREE_RATIO is internally represented
-     * by 0, POINT_FIVE_RATIO is represented by 1, and POINT_SEVEN_RATIO is represented by 2. There
-     * are no other supported ratios for now.
+     * App pair members have a "rank" attribute that contains information about the split position
+     * and ratio. We implement this by splitting the int in half (e.g. 16 bits each), then use one
+     * half to store splitPosition (left vs right) and the other half to store snapPosition
+     * (30-70 split vs 50-50 split)
      */
-    private int complement(int ratio1) {
-        int ratio2 = FULL_RATIO - ratio1;
-        return ratio2;
+    @VisibleForTesting
+    public int encodeRank(int splitPosition, int snapPosition) {
+        return (splitPosition << BITMASK_SIZE) + snapPosition;
+    }
+
+    /**
+     * Returns the desired stage position for the app pair to be launched in (decoded from the
+     * "rank" integer).
+     */
+    public static int convertRankToStagePosition(int rank) {
+        return rank >> BITMASK_SIZE;
+    }
+
+    /**
+     * Returns the desired split ratio for the app pair to be launched in (decoded from the "rank"
+     * integer).
+     */
+    public static int convertRankToSnapPosition(int rank) {
+        return rank & BITMASK_FOR_SNAP_POSITION;
+    }
+
+    /**
+     * Returns a formatted default title for the app pair.
+     */
+    public String getDefaultTitle(CharSequence app1, CharSequence app2) {
+        return mContext.getString(R.string.app_pair_default_title, app1, app2);
     }
 }
diff --git a/quickstep/src/com/android/quickstep/util/AssistStateManager.java b/quickstep/src/com/android/quickstep/util/AssistStateManager.java
index e8c1a78..f7437eb 100644
--- a/quickstep/src/com/android/quickstep/util/AssistStateManager.java
+++ b/quickstep/src/com/android/quickstep/util/AssistStateManager.java
@@ -31,11 +31,31 @@
 
     public AssistStateManager() {}
 
+    /** Whether search supports haptic on invocation. */
+    public boolean supportsCommitHaptic() {
+        return false;
+    }
+
     /** Whether search is available. */
     public boolean isSearchAvailable() {
         return false;
     }
 
+    /** Whether search recovery is available. */
+    public boolean isVisRecoveryEnabled() {
+        return false;
+    }
+
+    /** Whether search recovery is available. */
+    public boolean isOseRecoveryEnabled() {
+        return false;
+    }
+
+    /** Whether search recovery is available. */
+    public boolean isOseShowSessionEnabled() {
+        return false;
+    }
+
     /** Return {@code true} if the Settings toggle is enabled. */
     public boolean isSettingsNavHandleEnabled() {
         return false;
diff --git a/quickstep/src/com/android/quickstep/util/AsyncClockEventDelegate.java b/quickstep/src/com/android/quickstep/util/AsyncClockEventDelegate.java
index 0dee5b3..cda87c0 100644
--- a/quickstep/src/com/android/quickstep/util/AsyncClockEventDelegate.java
+++ b/quickstep/src/com/android/quickstep/util/AsyncClockEventDelegate.java
@@ -32,6 +32,8 @@
 
 import androidx.annotation.WorkerThread;
 
+import com.android.launcher3.util.MainThreadInitializedObject;
+import com.android.launcher3.util.SafeCloseable;
 import com.android.launcher3.util.SettingsCache;
 import com.android.launcher3.util.SettingsCache.OnChangeListener;
 import com.android.launcher3.util.SimpleBroadcastReceiver;
@@ -42,7 +44,11 @@
 /**
  * Extension of {@link ClockEventDelegate} to support async event registration
  */
-public class AsyncClockEventDelegate extends ClockEventDelegate implements OnChangeListener {
+public class AsyncClockEventDelegate extends ClockEventDelegate
+        implements OnChangeListener, SafeCloseable {
+
+    public static final MainThreadInitializedObject<AsyncClockEventDelegate> INSTANCE =
+            new MainThreadInitializedObject<>(AsyncClockEventDelegate::new);
 
     private final Context mContext;
     private final SimpleBroadcastReceiver mReceiver =
@@ -55,7 +61,7 @@
     private boolean mFormatRegistered = false;
     private boolean mDestroyed = false;
 
-    public AsyncClockEventDelegate(Context context) {
+    private AsyncClockEventDelegate(Context context) {
         super(context);
         mContext = context;
 
@@ -79,6 +85,9 @@
 
     @Override
     public void registerFormatChangeObserver(ContentObserver observer, int userHandle) {
+        if (mDestroyed) {
+            return;
+        }
         synchronized (mFormatObservers) {
             if (!mFormatRegistered && !mDestroyed) {
                 SettingsCache.INSTANCE.get(mContext).register(mFormatUri, this);
@@ -114,10 +123,8 @@
         }
     }
 
-    /**
-     * Unregisters all system callbacks and destroys this delegate
-     */
-    public void onDestroy() {
+    @Override
+    public void close() {
         mDestroyed = true;
         SettingsCache.INSTANCE.get(mContext).unregister(mFormatUri, this);
         UI_HELPER_EXECUTOR.execute(() -> mReceiver.unregisterReceiverSafely(mContext));
diff --git a/quickstep/src/com/android/quickstep/util/BorderAnimator.java b/quickstep/src/com/android/quickstep/util/BorderAnimator.java
deleted file mode 100644
index 7563187..0000000
--- a/quickstep/src/com/android/quickstep/util/BorderAnimator.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.quickstep.util;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.annotation.ColorInt;
-import android.annotation.Nullable;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.view.View;
-import android.view.animation.Interpolator;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Px;
-
-import com.android.app.animation.Interpolators;
-import com.android.launcher3.anim.AnimatedFloat;
-import com.android.launcher3.anim.AnimatorListeners;
-
-/**
- * Utility class for drawing a rounded-rect border around a view.
- * <p>
- * To use this class:
- * 1. Create an instance in the target view. NOTE: The border will animate outwards from the
- *      provided border bounds. See {@link SimpleParams} and {@link ScalingParams} to determine
- *      which would be best for your target view.
- * 2. Override the target view's {@link android.view.View#draw(Canvas)} method and call
- *      {@link BorderAnimator#drawBorder(Canvas)} after {@code super.draw(canvas)}.
- * 3. Call {@link BorderAnimator#buildAnimator(boolean)} and start the animation or call
- *      {@link BorderAnimator#setBorderVisible(boolean)} where appropriate.
- */
-public final class BorderAnimator {
-
-    public static final int DEFAULT_BORDER_COLOR = Color.WHITE;
-
-    private static final long DEFAULT_APPEARANCE_ANIMATION_DURATION_MS = 300;
-    private static final long DEFAULT_DISAPPEARANCE_ANIMATION_DURATION_MS = 133;
-    private static final Interpolator DEFAULT_INTERPOLATOR = Interpolators.EMPHASIZED_DECELERATE;
-
-    @NonNull private final AnimatedFloat mBorderAnimationProgress = new AnimatedFloat(
-            this::updateOutline);
-    @Px private final int mBorderRadiusPx;
-    @NonNull private final BorderAnimationParams mBorderAnimationParams;
-    private final long mAppearanceDurationMs;
-    private final long mDisappearanceDurationMs;
-    @NonNull private final Interpolator mInterpolator;
-    @NonNull private final Paint mBorderPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
-
-    @Nullable private Animator mRunningBorderAnimation;
-
-    public BorderAnimator(
-            @Px int borderRadiusPx,
-            @ColorInt int borderColor,
-            @NonNull BorderAnimationParams borderAnimationParams) {
-        this(borderRadiusPx,
-                borderColor,
-                borderAnimationParams,
-                DEFAULT_APPEARANCE_ANIMATION_DURATION_MS,
-                DEFAULT_DISAPPEARANCE_ANIMATION_DURATION_MS,
-                DEFAULT_INTERPOLATOR);
-    }
-
-    /**
-     * @param borderRadiusPx the radius of the border's corners, in pixels
-     * @param borderColor the border's color
-     * @param borderAnimationParams params for handling different target view layout situation.
-     * @param appearanceDurationMs appearance animation duration, in milliseconds
-     * @param disappearanceDurationMs disappearance animation duration, in milliseconds
-     * @param interpolator animation interpolator
-     */
-    public BorderAnimator(
-            @Px int borderRadiusPx,
-            @ColorInt int borderColor,
-            @NonNull BorderAnimationParams borderAnimationParams,
-            long appearanceDurationMs,
-            long disappearanceDurationMs,
-            @NonNull Interpolator interpolator) {
-        mBorderRadiusPx = borderRadiusPx;
-        mBorderAnimationParams = borderAnimationParams;
-        mAppearanceDurationMs = appearanceDurationMs;
-        mDisappearanceDurationMs = disappearanceDurationMs;
-        mInterpolator = interpolator;
-
-        mBorderPaint.setColor(borderColor);
-        mBorderPaint.setStyle(Paint.Style.STROKE);
-        mBorderPaint.setAlpha(0);
-    }
-
-    private void updateOutline() {
-        float interpolatedProgress = mInterpolator.getInterpolation(
-                mBorderAnimationProgress.value);
-
-        mBorderAnimationParams.setProgress(interpolatedProgress);
-        mBorderPaint.setAlpha(Math.round(255 * interpolatedProgress));
-        mBorderPaint.setStrokeWidth(mBorderAnimationParams.getBorderWidth());
-        mBorderAnimationParams.mTargetView.invalidate();
-    }
-
-    /**
-     * Draws the border on the given canvas.
-     * <p>
-     * Call this method in the target view's {@link android.view.View#draw(Canvas)} method after
-     * calling super.
-     */
-    public void drawBorder(Canvas canvas) {
-        float alignmentAdjustment = mBorderAnimationParams.getAlignmentAdjustment();
-        canvas.drawRoundRect(
-                /* left= */ mBorderAnimationParams.mBorderBounds.left + alignmentAdjustment,
-                /* top= */ mBorderAnimationParams.mBorderBounds.top + alignmentAdjustment,
-                /* right= */ mBorderAnimationParams.mBorderBounds.right - alignmentAdjustment,
-                /* bottom= */ mBorderAnimationParams.mBorderBounds.bottom - alignmentAdjustment,
-                /* rx= */ mBorderRadiusPx + mBorderAnimationParams.getRadiusAdjustment(),
-                /* ry= */ mBorderRadiusPx + mBorderAnimationParams.getRadiusAdjustment(),
-                /* paint= */ mBorderPaint);
-    }
-
-    /**
-     * Builds the border appearance/disappearance animation.
-     */
-    @NonNull
-    public Animator buildAnimator(boolean isAppearing) {
-        mRunningBorderAnimation = mBorderAnimationProgress.animateToValue(isAppearing ? 1f : 0f);
-        mRunningBorderAnimation.setDuration(
-                isAppearing ? mAppearanceDurationMs : mDisappearanceDurationMs);
-
-        mRunningBorderAnimation.addListener(new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationStart(Animator animation) {
-                mBorderAnimationParams.onShowBorder();
-            }
-        });
-        mRunningBorderAnimation.addListener(
-                AnimatorListeners.forEndCallback(() -> {
-                    mRunningBorderAnimation = null;
-                    if (isAppearing) {
-                        return;
-                    }
-                    mBorderAnimationParams.onHideBorder();
-                }));
-
-        return mRunningBorderAnimation;
-    }
-
-    /**
-     * Immediately shows/hides the border without an animation.
-     * <p>
-     * To animate the appearance/disappearance, see {@link BorderAnimator#buildAnimator(boolean)}
-     */
-    public void setBorderVisible(boolean visible) {
-        if (mRunningBorderAnimation != null) {
-            mRunningBorderAnimation.end();
-        }
-        if (visible) {
-            mBorderAnimationParams.onShowBorder();
-        }
-        mBorderAnimationProgress.updateValue(visible ? 1f : 0f);
-        if (!visible) {
-            mBorderAnimationParams.onHideBorder();
-        }
-    }
-
-    /**
-     * Callback to update the border bounds when building this animation.
-     */
-    public interface BorderBoundsBuilder {
-
-        /**
-         * Sets the given rect to the most up-to-date bounds.
-         */
-        void updateBorderBounds(Rect rect);
-    }
-
-    /**
-     * Params for handling different target view layout situation.
-     */
-    private abstract static class BorderAnimationParams {
-
-        @NonNull private final Rect mBorderBounds = new Rect();
-        @NonNull private final BorderBoundsBuilder mBoundsBuilder;
-
-        @NonNull final View mTargetView;
-        @Px final int mBorderWidthPx;
-
-        private float mAnimationProgress = 0f;
-        @Nullable private View.OnLayoutChangeListener mLayoutChangeListener;
-
-        /**
-         * @param borderWidthPx the width of the border, in pixels
-         * @param boundsBuilder callback to update the border bounds
-         * @param targetView the view that will be drawing the border
-         */
-        private BorderAnimationParams(
-                @Px int borderWidthPx,
-                @NonNull BorderBoundsBuilder boundsBuilder,
-                @NonNull View targetView) {
-            mBorderWidthPx = borderWidthPx;
-            mBoundsBuilder = boundsBuilder;
-            mTargetView = targetView;
-        }
-
-        private void setProgress(float progress) {
-            mAnimationProgress = progress;
-        }
-
-        private float getBorderWidth() {
-            return mBorderWidthPx * mAnimationProgress;
-        }
-
-        float getAlignmentAdjustment() {
-            // Outset the border by half the width to create an outwards-growth animation
-            return (-getBorderWidth() / 2f) + getAlignmentAdjustmentInset();
-        }
-
-
-        void onShowBorder() {
-            if (mLayoutChangeListener == null) {
-                mLayoutChangeListener =
-                        (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
-                            onShowBorder();
-                            mTargetView.invalidate();
-                        };
-                mTargetView.addOnLayoutChangeListener(mLayoutChangeListener);
-            }
-            mBoundsBuilder.updateBorderBounds(mBorderBounds);
-        }
-
-        void onHideBorder() {
-            if (mLayoutChangeListener != null) {
-                mTargetView.removeOnLayoutChangeListener(mLayoutChangeListener);
-                mLayoutChangeListener = null;
-            }
-        }
-
-        abstract int getAlignmentAdjustmentInset();
-
-        abstract float getRadiusAdjustment();
-    }
-
-    /**
-     * Use an instance of this {@link BorderAnimationParams} if the border can be drawn outside the
-     * target view's bounds without any additional logic.
-     */
-    public static final class SimpleParams extends BorderAnimationParams {
-
-        public SimpleParams(
-                @Px int borderWidthPx,
-                @NonNull BorderBoundsBuilder boundsBuilder,
-                @NonNull View targetView) {
-            super(borderWidthPx, boundsBuilder, targetView);
-        }
-
-        @Override
-        int getAlignmentAdjustmentInset() {
-            return 0;
-        }
-
-        @Override
-        float getRadiusAdjustment() {
-            return -getAlignmentAdjustment();
-        }
-    }
-
-    /**
-     * Use an instance of this {@link BorderAnimationParams} if the border would other be clipped by
-     * the target view's bound.
-     * <p>
-     * Note: using these params will set the scales and pivots of the
-     * container and content views, however will only reset the scales back to 1.
-     */
-    public static final class ScalingParams extends BorderAnimationParams {
-
-        @NonNull private final View mContentView;
-
-        /**
-         * @param targetView the view that will be drawing the border. this view will be scaled up
-         *                   to make room for the border
-         * @param contentView the view around which the border will be drawn. this view will be
-         *                    scaled down reciprocally to keep its original size and location.
-         */
-        public ScalingParams(
-                @Px int borderWidthPx,
-                @NonNull BorderBoundsBuilder boundsBuilder,
-                @NonNull View targetView,
-                @NonNull View contentView) {
-            super(borderWidthPx, boundsBuilder, targetView);
-            mContentView = contentView;
-        }
-
-        @Override
-        void onShowBorder() {
-            super.onShowBorder();
-            float width = mTargetView.getWidth();
-            float height = mTargetView.getHeight();
-            // Scale up just enough to make room for the border. Fail fast and fix the scaling
-            // onLayout.
-            float scaleX = width == 0 ? 1f : 1f + ((2 * mBorderWidthPx) / width);
-            float scaleY = height == 0 ? 1f : 1f + ((2 * mBorderWidthPx) / height);
-
-            mTargetView.setPivotX(width / 2);
-            mTargetView.setPivotY(height / 2);
-            mTargetView.setScaleX(scaleX);
-            mTargetView.setScaleY(scaleY);
-
-            mContentView.setPivotX(mContentView.getWidth() / 2f);
-            mContentView.setPivotY(mContentView.getHeight() / 2f);
-            mContentView.setScaleX(1f / scaleX);
-            mContentView.setScaleY(1f / scaleY);
-        }
-
-        @Override
-        void onHideBorder() {
-            super.onHideBorder();
-            mTargetView.setPivotX(mTargetView.getWidth());
-            mTargetView.setPivotY(mTargetView.getHeight());
-            mTargetView.setScaleX(1f);
-            mTargetView.setScaleY(1f);
-
-            mContentView.setPivotX(mContentView.getWidth() / 2f);
-            mContentView.setPivotY(mContentView.getHeight() / 2f);
-            mContentView.setScaleX(1f);
-            mContentView.setScaleY(1f);
-        }
-
-        @Override
-        int getAlignmentAdjustmentInset() {
-            // Inset the border since we are scaling the container up
-            return mBorderWidthPx;
-        }
-
-        @Override
-        float getRadiusAdjustment() {
-            // Increase the radius since we are scaling the container up
-            return getAlignmentAdjustment();
-        }
-    }
-}
diff --git a/quickstep/src/com/android/quickstep/util/BorderAnimator.kt b/quickstep/src/com/android/quickstep/util/BorderAnimator.kt
new file mode 100644
index 0000000..44eb070
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/util/BorderAnimator.kt
@@ -0,0 +1,315 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.util
+
+import android.animation.Animator
+import android.annotation.ColorInt
+import android.graphics.Canvas
+import android.graphics.Color
+import android.graphics.Paint
+import android.graphics.Rect
+import android.view.View
+import android.view.View.OnLayoutChangeListener
+import android.view.animation.Interpolator
+import androidx.annotation.Px
+import androidx.core.animation.doOnEnd
+import androidx.core.animation.doOnStart
+import com.android.app.animation.Interpolators
+import com.android.launcher3.anim.AnimatedFloat
+import kotlin.math.roundToInt
+
+/**
+ * Utility class for drawing a rounded-rect border around a view.
+ *
+ * To use this class:
+ * 1. Create an instance in the target view. NOTE: The border will animate outwards from the
+ *    provided border bounds.
+ * 2. Override the target view's [View.draw] method and call [drawBorder] after
+ *    `super.draw(canvas)`.
+ * 3. Call [buildAnimator] and start the animation or call [setBorderVisibility] where appropriate.
+ */
+class BorderAnimator
+private constructor(
+    @field:Px @param:Px private val borderRadiusPx: Int,
+    @ColorInt borderColor: Int,
+    private val borderAnimationParams: BorderAnimationParams,
+    private val appearanceDurationMs: Long,
+    private val disappearanceDurationMs: Long,
+    private val interpolator: Interpolator,
+) {
+    private val borderAnimationProgress = AnimatedFloat { updateOutline() }
+    private val borderPaint =
+        Paint(Paint.ANTI_ALIAS_FLAG).apply {
+            color = borderColor
+            style = Paint.Style.STROKE
+            alpha = 0
+        }
+    private var runningBorderAnimation: Animator? = null
+
+    companion object {
+        const val DEFAULT_BORDER_COLOR = Color.WHITE
+        private const val DEFAULT_APPEARANCE_ANIMATION_DURATION_MS = 300L
+        private const val DEFAULT_DISAPPEARANCE_ANIMATION_DURATION_MS = 133L
+        private val DEFAULT_INTERPOLATOR = Interpolators.EMPHASIZED_DECELERATE
+
+        /**
+         * Creates a BorderAnimator that simply draws the border outside the bound of the target
+         * view.
+         *
+         * Use this method if the border can be drawn outside the target view's bounds without any
+         * additional logic.
+         *
+         * @param borderRadiusPx the radius of the border's corners, in pixels
+         * @param borderWidthPx the width of the border, in pixels
+         * @param boundsBuilder callback to update the border bounds
+         * @param targetView the view that will be drawing the border
+         * @param borderColor the border's color
+         * @param appearanceDurationMs appearance animation duration, in milliseconds
+         * @param disappearanceDurationMs disappearance animation duration, in milliseconds
+         * @param interpolator animation interpolator
+         */
+        @JvmOverloads
+        @JvmStatic
+        fun createSimpleBorderAnimator(
+            @Px borderRadiusPx: Int,
+            @Px borderWidthPx: Int,
+            boundsBuilder: (rect: Rect?) -> Unit,
+            targetView: View,
+            @ColorInt borderColor: Int = DEFAULT_BORDER_COLOR,
+            appearanceDurationMs: Long = DEFAULT_APPEARANCE_ANIMATION_DURATION_MS,
+            disappearanceDurationMs: Long = DEFAULT_DISAPPEARANCE_ANIMATION_DURATION_MS,
+            interpolator: Interpolator = DEFAULT_INTERPOLATOR,
+        ): BorderAnimator {
+            return BorderAnimator(
+                borderRadiusPx,
+                borderColor,
+                SimpleParams(borderWidthPx, boundsBuilder, targetView),
+                appearanceDurationMs,
+                disappearanceDurationMs,
+                interpolator,
+            )
+        }
+
+        /**
+         * Creates a BorderAnimator that scales the target and content views to draw the border
+         * within the target's bounds without obscuring the content.
+         *
+         * Use this method if the border would otherwise be clipped by the target view's bound.
+         *
+         * Note: using this method will set the scales and pivots of the container and content
+         * views, however will only reset the scales back to 1.
+         *
+         * @param borderRadiusPx the radius of the border's corners, in pixels
+         * @param borderWidthPx the width of the border, in pixels
+         * @param boundsBuilder callback to update the border bounds
+         * @param targetView the view that will be drawing the border
+         * @param contentView the view around which the border will be drawn. this view will be
+         *   scaled down reciprocally to keep its original size and location.
+         * @param borderColor the border's color
+         * @param appearanceDurationMs appearance animation duration, in milliseconds
+         * @param disappearanceDurationMs disappearance animation duration, in milliseconds
+         * @param interpolator animation interpolator
+         */
+        @JvmOverloads
+        @JvmStatic
+        fun createScalingBorderAnimator(
+            @Px borderRadiusPx: Int,
+            @Px borderWidthPx: Int,
+            boundsBuilder: (rect: Rect?) -> Unit,
+            targetView: View,
+            contentView: View,
+            @ColorInt borderColor: Int = DEFAULT_BORDER_COLOR,
+            appearanceDurationMs: Long = DEFAULT_APPEARANCE_ANIMATION_DURATION_MS,
+            disappearanceDurationMs: Long = DEFAULT_DISAPPEARANCE_ANIMATION_DURATION_MS,
+            interpolator: Interpolator = DEFAULT_INTERPOLATOR,
+        ): BorderAnimator {
+            return BorderAnimator(
+                borderRadiusPx,
+                borderColor,
+                ScalingParams(borderWidthPx, boundsBuilder, targetView, contentView),
+                appearanceDurationMs,
+                disappearanceDurationMs,
+                interpolator,
+            )
+        }
+    }
+
+    private fun updateOutline() {
+        val interpolatedProgress = interpolator.getInterpolation(borderAnimationProgress.value)
+        borderAnimationParams.animationProgress = interpolatedProgress
+        borderPaint.alpha = (255 * interpolatedProgress).roundToInt()
+        borderPaint.strokeWidth = borderAnimationParams.borderWidth
+        borderAnimationParams.targetView.invalidate()
+    }
+
+    /**
+     * Draws the border on the given canvas.
+     *
+     * Call this method in the target view's [View.draw] method after calling super.
+     */
+    fun drawBorder(canvas: Canvas) {
+        with(borderAnimationParams) {
+            val radius = borderRadiusPx + radiusAdjustment
+            canvas.drawRoundRect(
+                /* left= */ borderBounds.left + alignmentAdjustment,
+                /* top= */ borderBounds.top + alignmentAdjustment,
+                /* right= */ borderBounds.right - alignmentAdjustment,
+                /* bottom= */ borderBounds.bottom - alignmentAdjustment,
+                /* rx= */ radius,
+                /* ry= */ radius,
+                /* paint= */ borderPaint
+            )
+        }
+    }
+
+    /** Builds the border appearance/disappearance animation. */
+    fun buildAnimator(isAppearing: Boolean): Animator {
+        return borderAnimationProgress.animateToValue(if (isAppearing) 1f else 0f).apply {
+            duration = if (isAppearing) appearanceDurationMs else disappearanceDurationMs
+            doOnStart {
+                runningBorderAnimation?.cancel()
+                runningBorderAnimation = this
+                borderAnimationParams.onShowBorder()
+            }
+            doOnEnd {
+                runningBorderAnimation = null
+                if (!isAppearing) {
+                    borderAnimationParams.onHideBorder()
+                }
+            }
+        }
+    }
+
+    /** Shows/hides the border, optionally with an animation. */
+    fun setBorderVisibility(visible: Boolean, animated: Boolean) {
+        if (animated) {
+            buildAnimator(visible).start()
+            return
+        }
+        runningBorderAnimation?.end()
+        if (visible) {
+            borderAnimationParams.onShowBorder()
+        }
+        borderAnimationProgress.updateValue(if (visible) 1f else 0f)
+        if (!visible) {
+            borderAnimationParams.onHideBorder()
+        }
+    }
+
+    /** Params for handling different target view layout situations. */
+    private abstract class BorderAnimationParams(
+        @field:Px @param:Px val borderWidthPx: Int,
+        private val boundsBuilder: (rect: Rect) -> Unit,
+        val targetView: View,
+    ) {
+        val borderBounds = Rect()
+        var animationProgress = 0f
+        private var layoutChangeListener: OnLayoutChangeListener? = null
+
+        abstract val alignmentAdjustmentInset: Int
+        abstract val radiusAdjustment: Float
+
+        val borderWidth: Float
+            get() = borderWidthPx * animationProgress
+        val alignmentAdjustment: Float
+            // Outset the border by half the width to create an outwards-growth animation
+            get() = -borderWidth / 2f + alignmentAdjustmentInset
+
+        open fun onShowBorder() {
+            if (layoutChangeListener == null) {
+                layoutChangeListener = OnLayoutChangeListener { _, _, _, _, _, _, _, _, _ ->
+                    onShowBorder()
+                    targetView.invalidate()
+                }
+                targetView.addOnLayoutChangeListener(layoutChangeListener)
+            }
+            boundsBuilder(borderBounds)
+        }
+
+        open fun onHideBorder() {
+            if (layoutChangeListener != null) {
+                targetView.removeOnLayoutChangeListener(layoutChangeListener)
+                layoutChangeListener = null
+            }
+        }
+    }
+
+    /** BorderAnimationParams that simply draws the border outside the bounds of the target view. */
+    private class SimpleParams(
+        @Px borderWidthPx: Int,
+        boundsBuilder: (rect: Rect?) -> Unit,
+        targetView: View,
+    ) : BorderAnimationParams(borderWidthPx, boundsBuilder, targetView) {
+        override val alignmentAdjustmentInset = 0
+        override val radiusAdjustment: Float
+            get() = -alignmentAdjustment
+    }
+
+    /**
+     * BorderAnimationParams that scales the target and content views to draw the border within the
+     * target's bounds without obscuring the content.
+     */
+    private class ScalingParams(
+        @Px borderWidthPx: Int,
+        boundsBuilder: (rect: Rect?) -> Unit,
+        targetView: View,
+        private val contentView: View,
+    ) : BorderAnimationParams(borderWidthPx, boundsBuilder, targetView) {
+        // Inset the border since we are scaling the container up
+        override val alignmentAdjustmentInset = borderWidthPx
+        override val radiusAdjustment: Float
+            // Increase the radius since we are scaling the container up
+            get() = alignmentAdjustment
+
+        override fun onShowBorder() {
+            super.onShowBorder()
+            val tvWidth = targetView.width.toFloat()
+            val tvHeight = targetView.height.toFloat()
+            // Scale up just enough to make room for the border. Fail fast and fix the scaling
+            // onLayout.
+            val newScaleX = if (tvWidth == 0f) 1f else 1f + 2 * borderWidthPx / tvWidth
+            val newScaleY = if (tvHeight == 0f) 1f else 1f + 2 * borderWidthPx / tvHeight
+            with(targetView) {
+                pivotX = width / 2f
+                pivotY = height / 2f
+                scaleX = newScaleX
+                scaleY = newScaleY
+            }
+            with(contentView) {
+                pivotX = width / 2f
+                pivotY = height / 2f
+                scaleX = 1f / newScaleX
+                scaleY = 1f / newScaleY
+            }
+        }
+
+        override fun onHideBorder() {
+            super.onHideBorder()
+            with(targetView) {
+                pivotX = width.toFloat()
+                pivotY = height.toFloat()
+                scaleX = 1f
+                scaleY = 1f
+            }
+            with(contentView) {
+                pivotX = width / 2f
+                pivotY = height / 2f
+                scaleX = 1f
+                scaleY = 1f
+            }
+        }
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/util/FadeOutRemoteTransition.kt b/quickstep/src/com/android/quickstep/util/FadeOutRemoteTransition.kt
index 59ff81d..5cce728 100644
--- a/quickstep/src/com/android/quickstep/util/FadeOutRemoteTransition.kt
+++ b/quickstep/src/com/android/quickstep/util/FadeOutRemoteTransition.kt
@@ -83,4 +83,7 @@
 
         Executors.MAIN_EXECUTOR.execute { anim.start() }
     }
+
+    override fun onTransitionConsumed(transition: IBinder?, aborted: Boolean) {
+    }
 }
diff --git a/quickstep/src/com/android/quickstep/util/InputConsumerProxy.java b/quickstep/src/com/android/quickstep/util/InputConsumerProxy.java
index 91b53c7..cb44a1a 100644
--- a/quickstep/src/com/android/quickstep/util/InputConsumerProxy.java
+++ b/quickstep/src/com/android/quickstep/util/InputConsumerProxy.java
@@ -25,6 +25,8 @@
 import android.view.KeyEvent;
 import android.view.MotionEvent;
 
+import androidx.annotation.Nullable;
+
 import com.android.quickstep.InputConsumer;
 import com.android.quickstep.SimpleOrientationTouchTransformer;
 import com.android.systemui.shared.system.InputConsumerController;
@@ -42,7 +44,10 @@
     private final Context mContext;
     private final Supplier<Integer> mRotationSupplier;
     private final InputConsumerController mInputConsumerController;
-    private Runnable mCallback;
+
+    /** Called if a new InputConsumer is created via touch down event. */
+    private @Nullable Runnable mOnTouchDownCallback;
+
     private Supplier<InputConsumer> mConsumerSupplier;
 
     // The consumer is created lazily on demand.
@@ -54,11 +59,11 @@
 
     public InputConsumerProxy(Context context, Supplier<Integer> rotationSupplier,
             InputConsumerController inputConsumerController,
-            Runnable callback, Supplier<InputConsumer> consumerSupplier) {
+            Runnable onTouchDownCallback, Supplier<InputConsumer> consumerSupplier) {
         mContext = context;
         mRotationSupplier = rotationSupplier;
         mInputConsumerController = inputConsumerController;
-        mCallback = callback;
+        mOnTouchDownCallback = onTouchDownCallback;
         mConsumerSupplier = consumerSupplier;
     }
 
@@ -82,7 +87,7 @@
                 onInputConsumerMotionEvent(event);
             }
         } else if (ev instanceof KeyEvent) {
-            initInputConsumerIfNeeded();
+            initInputConsumerIfNeeded(/* isFromTouchDown= */ false);
             mInputConsumer.onKeyEvent((KeyEvent) ev);
             return true;
         }
@@ -105,7 +110,7 @@
 
         if (action == ACTION_DOWN) {
             mTouchInProgress = true;
-            initInputConsumerIfNeeded();
+            initInputConsumerIfNeeded(/* isFromTouchDown= */ true);
         } else if (action == ACTION_CANCEL || action == ACTION_UP) {
             // Finish any pending actions
             mTouchInProgress = false;
@@ -123,7 +128,7 @@
     }
 
     private void onInputConsumerHoverEvent(MotionEvent ev) {
-        initInputConsumerIfNeeded();
+        initInputConsumerIfNeeded(/* isFromTouchDown= */ false);
         if (mInputConsumer != null) {
             SimpleOrientationTouchTransformer.INSTANCE.get(mContext).transform(ev,
                     mRotationSupplier.get());
@@ -141,14 +146,15 @@
         mInputConsumerController.setInputListener(null);
     }
 
-    public void unregisterCallback() {
-        mCallback = null;
+    /** Sets mOnToudhCownCallback = null. */
+    public void unregisterOnTouchDownCallback() {
+        mOnTouchDownCallback = null;
     }
 
-    private void initInputConsumerIfNeeded() {
+    private void initInputConsumerIfNeeded(boolean isFromTouchDown) {
         if (mInputConsumer == null) {
-            if (mCallback != null) {
-                mCallback.run();
+            if (isFromTouchDown && mOnTouchDownCallback != null) {
+                mOnTouchDownCallback.run();
             }
             mInputConsumer = mConsumerSupplier.get();
             mConsumerSupplier = null;
diff --git a/quickstep/src/com/android/quickstep/util/LauncherUnfoldAnimationController.java b/quickstep/src/com/android/quickstep/util/LauncherUnfoldAnimationController.java
index e0b5272..61ba5ac 100644
--- a/quickstep/src/com/android/quickstep/util/LauncherUnfoldAnimationController.java
+++ b/quickstep/src/com/android/quickstep/util/LauncherUnfoldAnimationController.java
@@ -35,6 +35,7 @@
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.util.HorizontalInsettableView;
 import com.android.quickstep.SystemUiProxy;
+import com.android.quickstep.util.unfold.LauncherJankMonitorTransitionProgressListener;
 import com.android.quickstep.util.unfold.PreemptiveUnfoldTransitionProgressProvider;
 import com.android.systemui.unfold.UnfoldTransitionProgressProvider;
 import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener;
@@ -91,6 +92,8 @@
         }
 
         unfoldTransitionProgressProvider.addCallback(mExternalTransitionStatusProvider);
+        unfoldTransitionProgressProvider.addCallback(
+                new LauncherJankMonitorTransitionProgressListener(launcher::getRootView));
 
         mUnfoldMoveFromCenterHotseatAnimator = new UnfoldMoveFromCenterHotseatAnimator(launcher,
                 windowManager, rotationChangeProvider);
diff --git a/quickstep/src/com/android/quickstep/util/LottieAnimationColorUtils.java b/quickstep/src/com/android/quickstep/util/LottieAnimationColorUtils.java
index f98b04b..8833b46 100644
--- a/quickstep/src/com/android/quickstep/util/LottieAnimationColorUtils.java
+++ b/quickstep/src/com/android/quickstep/util/LottieAnimationColorUtils.java
@@ -17,13 +17,11 @@
 
 import static com.airbnb.lottie.LottieProperty.COLOR_FILTER;
 
-import android.content.res.Resources;
 import android.content.res.Resources.Theme;
 import android.graphics.PorterDuff;
 import android.graphics.PorterDuffColorFilter;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
 
 import com.airbnb.lottie.LottieAnimationView;
 import com.airbnb.lottie.model.KeyPath;
@@ -40,51 +38,39 @@
     /**
      * Updates the given Lottie animation's tokenized colors according to the given mapping.
      * <p>
-     * Use this method signature only when {@code tokenToColorCodeMap} maps to packed ARBG color
-     * integers.
-     * <p>
      * @param animationView {@link LottieAnimationView} whose animation's colors need to be updated
-     * @param tokenToColorCodeMap A mapping from the color tokens used in the Lottie file used in
+     * @param tokenToArgbColorMap A mapping from the color tokens used in the Lottie file used in
      *                            {@code animationView} to packed ARBG color integers.
      */
-    public static void updateColors(
+    public static void updateToArgbColors(
             @NonNull LottieAnimationView animationView,
-            @NonNull Map<String, Integer> tokenToColorCodeMap) {
-        updateColors(animationView, tokenToColorCodeMap, null);
-    }
-
-    /**
-     * Updates the given Lottie animation's tokenized colors according to the given mapping.
-     * <p>
-     * Use this method signature with a non-null theme only when {@code tokenToColorCodeMap} maps
-     * to color resource references.
-     * <p>
-     * @param animationView {@link LottieAnimationView} whose animation's colors need to be updated
-     * @param tokenToColorCodeMap A mapping from the color tokens used in the Lottie file used in
-     *                            {@code animationView} to packed ARBG color integers or color
-     *                            resource references.
-     * @param theme {@link Theme} to be used when resolving color resource references. {@code null}
-     *              iff {@code tokenToColorCodeMap} maps to packed ARBG color integers.
-     */
-    public static void updateColors(
-            @NonNull LottieAnimationView animationView,
-            @NonNull Map<String, Integer> tokenToColorCodeMap,
-            @Nullable Theme theme) {
-        Resources resources = animationView.getResources();
-        final Map<String, Integer> tokenToColorMap = theme == null
-                // tokenToColorCodeMap maps directly to ARBG values
-                ? tokenToColorCodeMap
-                // tokenToColorCodeMap maps to color references, build a mapping to resolved colors
-                : tokenToColorCodeMap.keySet().stream().collect(Collectors.toMap(
-                        Function.identity(),
-                        token -> resources.getColor(tokenToColorCodeMap.get(token), theme)));
-
+            @NonNull Map<String, Integer> tokenToArgbColorMap) {
         animationView.addLottieOnCompositionLoadedListener(
-                composition -> tokenToColorMap.forEach(
+                composition -> tokenToArgbColorMap.forEach(
                         (token, color) -> animationView.addValueCallback(
                                 new KeyPath("**", token, "**"),
                                 COLOR_FILTER,
                                 frameInfo -> new PorterDuffColorFilter(
                                         color, PorterDuff.Mode.SRC_ATOP))));
     }
+
+    /**
+     * Updates the given Lottie animation's tokenized colors according to the given mapping.
+     * <p>
+     * @param animationView {@link LottieAnimationView} whose animation's colors need to be updated
+     * @param tokenToColorResourceMap A mapping from the color tokens used in the Lottie file used
+     *                                in {@code animationView} to color resource references.
+     * @param theme {@link Theme} to be used when resolving color resource references.
+     */
+    public static void updateToColorResources(
+            @NonNull LottieAnimationView animationView,
+            @NonNull Map<String, Integer> tokenToColorResourceMap,
+            @NonNull Theme theme) {
+        updateToArgbColors(
+                animationView,
+                tokenToColorResourceMap.keySet().stream().collect(Collectors.toMap(
+                        Function.identity(),
+                        token -> animationView.getResources().getColor(
+                                tokenToColorResourceMap.get(token), theme))));
+    }
 }
diff --git a/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java b/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java
index 4bc41bc..a8a96ce 100644
--- a/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java
+++ b/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java
@@ -15,6 +15,8 @@
  */
 package com.android.quickstep.util;
 
+import static com.android.launcher3.testing.shared.TestProtocol.PAUSE_DETECTED_MESSAGE;
+
 import android.content.Context;
 import android.content.res.Resources;
 import android.util.Log;
@@ -201,7 +203,8 @@
             ActiveGestureLog.INSTANCE.addLog(logString);
             boolean isFirstDetectedPause = !mHasEverBeenPaused && mIsPaused;
             if (mIsPaused) {
-                AccessibilityManagerCompat.sendPauseDetectedEventToTest(mContext);
+                AccessibilityManagerCompat.sendTestProtocolEventToTest(mContext,
+                        PAUSE_DETECTED_MESSAGE);
                 mHasEverBeenPaused = true;
             }
             if (mOnMotionPauseListener != null) {
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java b/quickstep/src/com/android/quickstep/util/PhoneAppPairLaunchTimings.kt
similarity index 65%
copy from src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
copy to quickstep/src/com/android/quickstep/util/PhoneAppPairLaunchTimings.kt
index 68843f2..beab90f 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
+++ b/quickstep/src/com/android/quickstep/util/PhoneAppPairLaunchTimings.kt
@@ -13,10 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.uioverrides.flags;
 
-/**
- * Place holder class for developer options.
- */
-public class DeveloperOptionsFragment {
+package com.android.quickstep.util
+
+/** Timings for the app pair launch animation on phones. */
+class PhoneAppPairLaunchTimings : AppPairLaunchTimings(), SplitAnimationTimings {
+    override val STAGED_RECT_SLIDE_DURATION = 500
+    override fun getDuration() = SplitAnimationTimings.PHONE_APP_PAIR_LAUNCH_DURATION
 }
diff --git a/quickstep/src/com/android/quickstep/util/QuickstepOnboardingPrefs.java b/quickstep/src/com/android/quickstep/util/QuickstepOnboardingPrefs.java
index ef7d7a9..9df568e 100644
--- a/quickstep/src/com/android/quickstep/util/QuickstepOnboardingPrefs.java
+++ b/quickstep/src/com/android/quickstep/util/QuickstepOnboardingPrefs.java
@@ -22,9 +22,12 @@
 import static com.android.launcher3.LauncherState.NORMAL;
 import static com.android.launcher3.LauncherState.OVERVIEW;
 import static com.android.launcher3.util.NavigationMode.NO_BUTTON;
+import static com.android.launcher3.util.OnboardingPrefs.ALL_APPS_VISITED_COUNT;
+import static com.android.launcher3.util.OnboardingPrefs.HOME_BOUNCE_COUNT;
+import static com.android.launcher3.util.OnboardingPrefs.HOME_BOUNCE_SEEN;
+import static com.android.launcher3.util.OnboardingPrefs.HOTSEAT_DISCOVERY_TIP_COUNT;
 
-import android.content.SharedPreferences;
-
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.LauncherState;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.Workspace;
@@ -34,30 +37,30 @@
 import com.android.launcher3.statemanager.StateManager.StateListener;
 import com.android.launcher3.uioverrides.QuickstepLauncher;
 import com.android.launcher3.util.DisplayController;
-import com.android.launcher3.util.OnboardingPrefs;
 import com.android.quickstep.views.AllAppsEduView;
 
 /**
- * Extends {@link OnboardingPrefs} for quickstep-specific onboarding data.
+ * Class to setup onboarding behavior for quickstep launcher
  */
-public class QuickstepOnboardingPrefs extends OnboardingPrefs<QuickstepLauncher> {
+public class QuickstepOnboardingPrefs {
 
-    public QuickstepOnboardingPrefs(QuickstepLauncher launcher, SharedPreferences sharedPrefs) {
-        super(launcher, sharedPrefs);
-
+    /**
+     * Sets up the initial onboarding behavior for the launcher
+     */
+    public static void setup(QuickstepLauncher launcher) {
         StateManager<LauncherState> stateManager = launcher.getStateManager();
-        if (!getBoolean(HOME_BOUNCE_SEEN)) {
+        if (!HOME_BOUNCE_SEEN.get(launcher)) {
             stateManager.addStateListener(new StateListener<LauncherState>() {
                 @Override
                 public void onStateTransitionComplete(LauncherState finalState) {
                     boolean swipeUpEnabled =
-                            DisplayController.getNavigationMode(mLauncher).hasGestures;
+                            DisplayController.getNavigationMode(launcher).hasGestures;
                     LauncherState prevState = stateManager.getLastState();
 
                     if (((swipeUpEnabled && finalState == OVERVIEW) || (!swipeUpEnabled
                             && finalState == ALL_APPS && prevState == NORMAL) ||
-                            hasReachedMaxCount(HOME_BOUNCE_COUNT))) {
-                        mSharedPrefs.edit().putBoolean(HOME_BOUNCE_SEEN, true).apply();
+                            HOME_BOUNCE_COUNT.hasReachedMax(launcher))) {
+                        LauncherPrefs.get(launcher).put(HOME_BOUNCE_SEEN, true);
                         stateManager.removeStateListener(this);
                     }
                 }
@@ -65,21 +68,21 @@
         }
 
         if (!Utilities.isRunningInTestHarness()
-                && !hasReachedMaxCount(HOTSEAT_DISCOVERY_TIP_COUNT)) {
+                && !HOTSEAT_DISCOVERY_TIP_COUNT.hasReachedMax(launcher)) {
             stateManager.addStateListener(new StateListener<LauncherState>() {
                 boolean mFromAllApps = false;
 
                 @Override
                 public void onStateTransitionStart(LauncherState toState) {
-                    mFromAllApps = mLauncher.getStateManager().getCurrentStableState() == ALL_APPS;
+                    mFromAllApps = launcher.getStateManager().getCurrentStableState() == ALL_APPS;
                 }
 
                 @Override
                 public void onStateTransitionComplete(LauncherState finalState) {
-                    HotseatPredictionController client = mLauncher.getHotseatPredictionController();
+                    HotseatPredictionController client = launcher.getHotseatPredictionController();
                     if (mFromAllApps && finalState == NORMAL && client.hasPredictions()) {
-                        if (!mLauncher.getDeviceProfile().isTablet
-                                && incrementEventCount(HOTSEAT_DISCOVERY_TIP_COUNT)) {
+                        if (!launcher.getDeviceProfile().isTablet
+                                && HOTSEAT_DISCOVERY_TIP_COUNT.increment(launcher)) {
                             client.showEdu();
                             stateManager.removeStateListener(this);
                         }
@@ -109,7 +112,7 @@
                 public void onStateTransitionComplete(LauncherState finalState) {
                     if (finalState == NORMAL) {
                         if (mCount >= MAX_NUM_SWIPES_TO_TRIGGER_EDU) {
-                            if (getOpenView(mLauncher, TYPE_ALL_APPS_EDU) == null) {
+                            if (getOpenView(launcher, TYPE_ALL_APPS_EDU) == null) {
                                 AllAppsEduView.show(launcher);
                             }
                             mCount = 0;
@@ -124,7 +127,7 @@
                     }
 
                     if (finalState == ALL_APPS) {
-                        AllAppsEduView view = getOpenView(mLauncher, TYPE_ALL_APPS_EDU);
+                        AllAppsEduView view = getOpenView(launcher, TYPE_ALL_APPS_EDU);
                         if (view != null) {
                             view.close(false);
                         }
@@ -133,20 +136,20 @@
             });
         }
 
-        if (!hasReachedMaxCount(ALL_APPS_VISITED_COUNT)) {
-            mLauncher.getStateManager().addStateListener(new StateListener<LauncherState>() {
+        if (!ALL_APPS_VISITED_COUNT.hasReachedMax(launcher)) {
+            launcher.getStateManager().addStateListener(new StateListener<LauncherState>() {
                 @Override
                 public void onStateTransitionComplete(LauncherState finalState) {
                     if (finalState == ALL_APPS) {
-                        incrementEventCount(ALL_APPS_VISITED_COUNT);
+                        ALL_APPS_VISITED_COUNT.increment(launcher);
                         return;
                     }
 
-                    boolean hasReachedMaxCount = hasReachedMaxCount(ALL_APPS_VISITED_COUNT);
-                    mLauncher.getAppsView().getFloatingHeaderView().findFixedRowByType(
+                    boolean hasReachedMaxCount = ALL_APPS_VISITED_COUNT.hasReachedMax(launcher);
+                    launcher.getAppsView().getFloatingHeaderView().findFixedRowByType(
                             AppsDividerView.class).setShowAllAppsLabel(!hasReachedMaxCount);
                     if (hasReachedMaxCount) {
-                        mLauncher.getStateManager().removeStateListener(this);
+                        launcher.getStateManager().removeStateListener(this);
                     }
                 }
             });
diff --git a/quickstep/src/com/android/quickstep/util/SlideInRemoteTransition.kt b/quickstep/src/com/android/quickstep/util/SlideInRemoteTransition.kt
new file mode 100644
index 0000000..6544ba7
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/util/SlideInRemoteTransition.kt
@@ -0,0 +1,126 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.util
+
+import android.animation.TimeInterpolator
+import android.animation.ValueAnimator
+import android.app.WindowConfiguration.ACTIVITY_TYPE_HOME
+import android.graphics.Rect
+import android.os.IBinder
+import android.os.RemoteException
+import android.view.SurfaceControl
+import android.view.SurfaceControl.Transaction
+import android.window.IRemoteTransition
+import android.window.IRemoteTransitionFinishedCallback
+import android.window.TransitionInfo
+import com.android.launcher3.anim.AnimatorListeners.forEndCallback
+import com.android.launcher3.util.Executors
+import com.android.wm.shell.util.TransitionUtil
+
+/** Remote animation which slides the opening targets in and the closing targets out */
+class SlideInRemoteTransition(
+    private val isRtl: Boolean,
+    private val pageSpacing: Int,
+    private val cornerRadius: Float,
+    private val interpolator: TimeInterpolator,
+) : IRemoteTransition.Stub() {
+    private val animationDurationMs = 500L
+
+    override fun mergeAnimation(
+        iBinder: IBinder,
+        transitionInfo: TransitionInfo,
+        transaction: Transaction,
+        mergeTarget: IBinder,
+        finishCB: IRemoteTransitionFinishedCallback
+    ) {
+
+        try {
+            finishCB.onTransitionFinished(null, Transaction())
+        } catch (e: RemoteException) {
+            // Ignore
+        }
+    }
+
+    override fun startAnimation(
+        transition: IBinder,
+        info: TransitionInfo,
+        startT: Transaction,
+        finishCB: IRemoteTransitionFinishedCallback
+    ) {
+        val anim = ValueAnimator.ofFloat(0f, 1f)
+        anim.interpolator = interpolator
+        anim.duration = animationDurationMs
+
+        val closingStartBounds: HashMap<SurfaceControl, Rect> = HashMap()
+        val openingEndBounds: HashMap<SurfaceControl, Rect> = HashMap()
+        for (chg in info.changes) {
+            val leash = chg.leash
+            startT.show(leash)
+
+            val taskInfo = chg.taskInfo
+            if (taskInfo?.activityType == ACTIVITY_TYPE_HOME || taskInfo?.parentTaskId != -1) {
+                continue
+            }
+            if (TransitionUtil.isClosingType(chg.mode)) {
+                closingStartBounds[leash] = chg.startAbsBounds
+                startT.setCrop(leash, chg.startAbsBounds).setCornerRadius(leash, cornerRadius)
+            }
+            if (TransitionUtil.isOpeningType(chg.mode)) {
+                openingEndBounds[leash] = chg.endAbsBounds
+                startT.setCrop(leash, chg.endAbsBounds).setCornerRadius(leash, cornerRadius)
+            }
+        }
+        startT.apply()
+
+        anim.addUpdateListener {
+            val t = Transaction()
+            closingStartBounds.keys.forEach {
+                // Translate the surface from its original position on-screen to off-screen on the
+                // right (or left in RTL)
+                val startBounds = closingStartBounds[it]
+                val targetX = (if (isRtl) -1 else 1) * (startBounds!!.right + pageSpacing)
+                t.setPosition(it, anim.animatedValue as Float * targetX, 0f)
+            }
+            openingEndBounds.keys.forEach {
+                // Set the alpha in the update listener to prevent one visible frame at the
+                // beginning
+                t.setAlpha(it, 1f)
+                // Translate the surface from off-screen on the left (or left in RTL) to its final
+                // position on-screen
+                val endBounds = openingEndBounds[it]
+                val targetX = (if (isRtl) -1 else 1) * (endBounds!!.right + pageSpacing)
+                t.setPosition(it, (1f - anim.animatedValue as Float) * -targetX, 0f)
+            }
+            t.apply()
+        }
+        anim.addListener(
+            forEndCallback(
+                Runnable {
+                    val t = Transaction()
+                    try {
+                        finishCB.onTransitionFinished(null, t)
+                    } catch (e: RemoteException) {
+                        // Ignore
+                    }
+                }
+            )
+        )
+
+        Executors.MAIN_EXECUTOR.execute { anim.start() }
+    }
+
+    override fun onTransitionConsumed(transition: IBinder?, aborted: Boolean) {}
+}
diff --git a/quickstep/src/com/android/quickstep/util/SplitAnimationController.kt b/quickstep/src/com/android/quickstep/util/SplitAnimationController.kt
index c3774eb..ad9f5ea 100644
--- a/quickstep/src/com/android/quickstep/util/SplitAnimationController.kt
+++ b/quickstep/src/com/android/quickstep/util/SplitAnimationController.kt
@@ -21,25 +21,48 @@
 import android.animation.AnimatorListenerAdapter
 import android.animation.AnimatorSet
 import android.animation.ObjectAnimator
+import android.animation.ValueAnimator
+import android.app.ActivityManager.RunningTaskInfo
+import android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW
 import android.graphics.Bitmap
 import android.graphics.Rect
 import android.graphics.RectF
 import android.graphics.drawable.Drawable
+import android.view.RemoteAnimationTarget
+import android.view.SurfaceControl
+import android.view.SurfaceControl.Transaction
 import android.view.View
+import android.view.WindowManager.TRANSIT_OPEN
+import android.view.WindowManager.TRANSIT_TO_FRONT
+import android.window.TransitionInfo
+import android.window.TransitionInfo.Change
+import android.window.WindowContainerToken
+import androidx.annotation.VisibleForTesting
 import com.android.app.animation.Interpolators
 import com.android.launcher3.DeviceProfile
+import com.android.launcher3.Launcher
+import com.android.launcher3.QuickstepTransitionManager
 import com.android.launcher3.Utilities
 import com.android.launcher3.anim.PendingAnimation
+import com.android.launcher3.apppairs.AppPairIcon
+import com.android.launcher3.config.FeatureFlags
+import com.android.launcher3.statehandlers.DepthController
+import com.android.launcher3.statemanager.StateManager
 import com.android.launcher3.statemanager.StatefulActivity
+import com.android.launcher3.taskbar.TaskbarActivityContext
 import com.android.launcher3.util.SplitConfigurationOptions.SplitSelectSource
 import com.android.launcher3.views.BaseDragLayer
+import com.android.quickstep.TaskViewUtils
+import com.android.quickstep.views.FloatingAppPairView
 import com.android.quickstep.views.FloatingTaskView
-import com.android.quickstep.views.IconView
+import com.android.quickstep.views.GroupedTaskView
 import com.android.quickstep.views.RecentsView
 import com.android.quickstep.views.SplitInstructionsView
 import com.android.quickstep.views.TaskThumbnailView
 import com.android.quickstep.views.TaskView
 import com.android.quickstep.views.TaskView.TaskIdAttributeContainer
+import com.android.quickstep.views.TaskViewIcon
+import java.util.Optional
 import java.util.function.Supplier
 
 /**
@@ -82,7 +105,7 @@
                     return SplitAnimInitProps(container.thumbnailView,
                             container.thumbnailView.thumbnail, drawable!!,
                             fadeWithThumbnail = true, isStagedTask = true,
-                            iconView = container.iconView
+                            iconView = container.iconView.asView()
                     )
                 }
             }
@@ -94,7 +117,7 @@
             val drawable = getDrawable(taskView.iconView, splitSelectSource)
             return SplitAnimInitProps(taskView.thumbnail, taskView.thumbnail.thumbnail,
                     drawable!!, fadeWithThumbnail = true, isStagedTask = true,
-                    taskView.iconView
+                    taskView.iconView.asView()
             )
         }
     }
@@ -105,7 +128,7 @@
      * TaskView's icon drawable can be null if the TaskView is scrolled far enough off screen
      * @return [Drawable]
      */
-    fun getDrawable(iconView: IconView, splitSelectSource: SplitSelectSource?) : Drawable? {
+    fun getDrawable(iconView: TaskViewIcon, splitSelectSource: SplitSelectSource?) : Drawable? {
         if (iconView.drawable == null && splitSelectSource != null) {
             return splitSelectSource.drawable
         }
@@ -129,10 +152,10 @@
                                 taskViewWidth: Int, taskViewHeight: Int,
                                 isPrimaryTaskSplitting: Boolean) {
         val thumbnail = taskIdAttributeContainer.thumbnailView
-        val iconView: View = taskIdAttributeContainer.iconView
+        val iconView: View = taskIdAttributeContainer.iconView.asView()
         builder.add(ObjectAnimator.ofFloat(thumbnail, TaskThumbnailView.SPLASH_ALPHA, 1f))
         thumbnail.setShowSplashForSplitSelection(true)
-        if (deviceProfile.isLandscape) {
+        if (deviceProfile.isLeftRightSplit) {
             // Center view first so scaling happens uniformly, alternatively we can move pivotX to 0
             val centerThumbnailTranslationX: Float = (taskViewWidth - thumbnail.width) / 2f
             val centerIconTranslationX: Float = (taskViewWidth - iconView.width) / 2f
@@ -250,14 +273,11 @@
         splitSelectStateController.splitInstructionsView = splitInstructionsView
         val timings = AnimUtils.getDeviceOverviewToSplitTimings(launcher.deviceProfile.isTablet)
         val anim = PendingAnimation(100 /*duration */)
+        splitInstructionsView.alpha = 0f
         anim.setViewAlpha(splitInstructionsView, 1f,
                 Interpolators.clampToProgress(Interpolators.LINEAR,
                         timings.instructionsContainerFadeInStartOffset,
                         timings.instructionsContainerFadeInEndOffset))
-        anim.setViewAlpha(splitInstructionsView!!.textView, 1f,
-                Interpolators.clampToProgress(Interpolators.LINEAR,
-                        timings.instructionsTextFadeInStartOffset,
-                        timings.instructionsTextFadeInEndOffset))
         anim.addFloat(splitInstructionsView, SplitInstructionsView.UNFOLD, 0.1f, 1f,
                 Interpolators.clampToProgress(Interpolators.EMPHASIZED_DECELERATE,
                         timings.instructionsUnfoldStartOffset,
@@ -270,6 +290,461 @@
         safeRemoveViewFromDragLayer(launcher, splitSelectStateController.splitInstructionsView)
     }
 
+    /**
+     * Animates the first placeholder view to fullscreen and launches its task.
+     * TODO(b/276361926): Remove the [resetCallback] option once contextual launches
+     */
+    fun playAnimPlaceholderToFullscreen(launcher: StatefulActivity<*>, view: View,
+                                        resetCallback: Optional<Runnable>) {
+        val stagedTaskView = view as FloatingTaskView
+
+        val isTablet: Boolean = launcher.deviceProfile.isTablet
+        val duration = if (isTablet) SplitAnimationTimings.TABLET_CONFIRM_DURATION else
+            SplitAnimationTimings.PHONE_CONFIRM_DURATION
+        val pendingAnimation = PendingAnimation(duration.toLong())
+        val firstTaskStartingBounds = Rect()
+        val firstTaskEndingBounds = Rect()
+
+        stagedTaskView.getBoundsOnScreen(firstTaskStartingBounds)
+        launcher.dragLayer.getBoundsOnScreen(firstTaskEndingBounds)
+        splitSelectStateController.setLaunchingFirstAppFullscreen()
+
+        stagedTaskView.addConfirmAnimation(
+                pendingAnimation,
+                RectF(firstTaskStartingBounds),
+                firstTaskEndingBounds,
+                false /* fadeWithThumbnail */,
+                true /* isStagedTask */)
+
+        pendingAnimation.addEndListener {
+            splitSelectStateController.launchInitialAppFullscreen {
+                if (FeatureFlags.enableSplitContextually()) {
+                    splitSelectStateController.resetState()
+                } else if (resetCallback.isPresent) {
+                    resetCallback.get().run()
+                }
+            }
+        }
+
+        pendingAnimation.buildAnim().start()
+    }
+
+    /**
+     * Called when launching a specific pair of apps, e.g. when tapping a pair of apps in Overview,
+     * or launching an app pair from its Home icon. Selects the appropriate launch animation and
+     * plays it.
+     */
+    fun playSplitLaunchAnimation(
+        launchingTaskView: GroupedTaskView?,
+        launchingIconView: AppPairIcon?,
+        initialTaskId: Int,
+        secondTaskId: Int,
+        apps: Array<RemoteAnimationTarget>?,
+        wallpapers: Array<RemoteAnimationTarget>?,
+        nonApps: Array<RemoteAnimationTarget>?,
+        stateManager: StateManager<*>,
+        depthController: DepthController?,
+        info: TransitionInfo?,
+        t: Transaction?,
+        finishCallback: Runnable
+    ) {
+        if (info == null && t == null) {
+            // (Legacy animation) Tapping a split tile in Overview
+            // TODO (b/315490678): Ensure that this works with app pairs flow
+            check(apps != null && wallpapers != null && nonApps != null) {
+                "trying to call composeRecentsSplitLaunchAnimatorLegacy, but encountered an " +
+                    "unexpected null"
+            }
+
+            composeRecentsSplitLaunchAnimatorLegacy(
+                launchingTaskView,
+                initialTaskId,
+                secondTaskId,
+                apps,
+                wallpapers,
+                nonApps,
+                stateManager,
+                depthController,
+                finishCallback
+            )
+
+            return
+        }
+
+        if (launchingTaskView != null) {
+            // Tapping a split tile in Overview
+            check(info != null && t != null) {
+                "trying to launch a GroupedTaskView, but encountered an unexpected null"
+            }
+
+            composeRecentsSplitLaunchAnimator(
+                launchingTaskView,
+                stateManager,
+                depthController,
+                info,
+                t,
+                finishCallback
+            )
+        } else if (launchingIconView != null) {
+            // Tapping an app pair icon
+            check(info != null && t != null) {
+                "trying to launch an app pair icon, but encountered an unexpected null"
+            }
+
+            // If launching an app pair from Taskbar inside of an app context, use fade-in animation
+            // TODO (b/316485863): Replace with desired app pair launch animation
+            if (launchingIconView.context is TaskbarActivityContext) {
+                composeFadeInSplitLaunchAnimator(
+                    initialTaskId, secondTaskId, info, t, finishCallback)
+                return
+            }
+
+            composeIconSplitLaunchAnimator(launchingIconView, info, t, finishCallback)
+        } else {
+            // Fallback case: simple fade-in animation
+            check(info != null && t != null) {
+                "trying to call composeFadeInSplitLaunchAnimator, but encountered an " +
+                    "unexpected null"
+            }
+
+            composeFadeInSplitLaunchAnimator(initialTaskId, secondTaskId, info, t, finishCallback)
+        }
+    }
+
+    /**
+     * When the user taps a split tile in Overview, this will play the tasks' launch animation from
+     * the position of the tapped tile.
+     */
+    @VisibleForTesting
+    fun composeRecentsSplitLaunchAnimator(
+        launchingTaskView: GroupedTaskView,
+        stateManager: StateManager<*>,
+        depthController: DepthController?,
+        info: TransitionInfo,
+        t: Transaction,
+        finishCallback: Runnable
+    ) {
+        TaskViewUtils.composeRecentsSplitLaunchAnimator(
+            launchingTaskView,
+            stateManager,
+            depthController,
+            info,
+            t,
+            finishCallback
+        )
+    }
+
+    /**
+     * LEGACY VERSION: When the user taps a split tile in Overview, this will play the tasks' launch
+     * animation from the position of the tapped tile.
+     */
+    @VisibleForTesting
+    fun composeRecentsSplitLaunchAnimatorLegacy(
+        launchingTaskView: GroupedTaskView?,
+        initialTaskId: Int,
+        secondTaskId: Int,
+        apps: Array<RemoteAnimationTarget>,
+        wallpapers: Array<RemoteAnimationTarget>,
+        nonApps: Array<RemoteAnimationTarget>,
+        stateManager: StateManager<*>,
+        depthController: DepthController?,
+        finishCallback: Runnable
+    ) {
+        TaskViewUtils.composeRecentsSplitLaunchAnimatorLegacy(
+            launchingTaskView,
+            initialTaskId,
+            secondTaskId,
+            apps,
+            wallpapers,
+            nonApps,
+            stateManager,
+            depthController,
+            finishCallback
+        )
+    }
+
+    /**
+     * When the user taps an app pair icon to launch split, this will play the tasks' launch
+     * animation from the position of the icon.
+     *
+     * To find the root shell leash that we want to fade in, we do the following:
+     * The Changes we receive in transitionInfo are structured like this
+     *
+     *     Root (grandparent)
+     *     |
+     *     |--> Split Root 1 (left/top side parent) (WINDOWING_MODE_MULTI_WINDOW)
+     *     |   |
+     *     |    --> App 1 (left/top side child) (WINDOWING_MODE_MULTI_WINDOW)
+     *     |--> Divider
+     *     |--> Split Root 2 (right/bottom side parent) (WINDOWING_MODE_MULTI_WINDOW)
+     *         |
+     *          --> App 2 (right/bottom side child) (WINDOWING_MODE_MULTI_WINDOW)
+     *
+     * We want to animate the Root (grandparent) so that it affects both apps and the divider.
+     * To do this, we find one of the nodes with WINDOWING_MODE_MULTI_WINDOW (one of the
+     * left-side ones, for simplicity) and traverse the tree until we find the grandparent.
+     */
+    @VisibleForTesting
+    fun composeIconSplitLaunchAnimator(
+        launchingIconView: AppPairIcon,
+        transitionInfo: TransitionInfo,
+        t: Transaction,
+        finishCallback: Runnable
+    ) {
+        val launcher = Launcher.getLauncher(launchingIconView.context)
+        val dp = launcher.deviceProfile
+
+        // Create an AnimatorSet that will run both shell and launcher transitions together
+        val launchAnimation = AnimatorSet()
+        val progressUpdater = ValueAnimator.ofFloat(0f, 1f)
+        val timings = AnimUtils.getDeviceAppPairLaunchTimings(dp.isTablet)
+        progressUpdater.setDuration(timings.getDuration().toLong())
+        progressUpdater.interpolator = Interpolators.LINEAR
+
+        var rootCandidate: Change? = null
+
+        for (change in transitionInfo.changes) {
+            val taskInfo: RunningTaskInfo = change.taskInfo ?: continue
+
+            // TODO (b/316490565): Replace this logic when SplitBounds is available to
+            //  startAnimation() and we can know the precise taskIds of launching tasks.
+            // Find a change that has WINDOWING_MODE_MULTI_WINDOW.
+            if (taskInfo.windowingMode == WINDOWING_MODE_MULTI_WINDOW &&
+                (change.mode == TRANSIT_OPEN || change.mode == TRANSIT_TO_FRONT)) {
+                // Check if it is a left/top app.
+                val isLeftTopApp =
+                    (dp.isLeftRightSplit && change.endAbsBounds.left == 0) ||
+                        (!dp.isLeftRightSplit && change.endAbsBounds.top == 0)
+                if (isLeftTopApp) {
+                    // Found one!
+                    rootCandidate = change
+                    break
+                }
+            }
+        }
+
+        // If we could not find a proper root candidate, something went wrong.
+        check(rootCandidate != null) { "Could not find a split root candidate" }
+
+        // Find the place where our left/top app window meets the divider (used for the
+        // launcher side animation)
+        val dividerPos =
+            if (dp.isLeftRightSplit) rootCandidate.endAbsBounds.right
+            else rootCandidate.endAbsBounds.bottom
+
+        // Recurse up the tree until parent is null, then we've found our root.
+        var parentToken: WindowContainerToken? = rootCandidate.parent
+        while (parentToken != null) {
+            rootCandidate = transitionInfo.getChange(parentToken) ?: break
+            parentToken = rootCandidate.parent
+        }
+
+        // Make sure nothing weird happened, like getChange() returning null.
+        check(rootCandidate != null) { "Failed to find a root leash" }
+
+        // Shell animation: the apps are revealed toward end of the launch animation
+        progressUpdater.addUpdateListener { valueAnimator: ValueAnimator ->
+            val progress =
+                Interpolators.clampToProgress(
+                    Interpolators.LINEAR,
+                    valueAnimator.animatedFraction,
+                    timings.appRevealStartOffset,
+                    timings.appRevealEndOffset
+                )
+
+            // Set the alpha of the shell layer (2 apps + divider)
+            t.setAlpha(rootCandidate.leash, progress)
+            t.apply()
+        }
+
+        // Create a new floating view in Launcher, positioned above the launching icon
+        val drawableArea = launchingIconView.iconDrawableArea
+        val appIcon1 = launchingIconView.info.contents[0].newIcon(launchingIconView.context)
+        val appIcon2 = launchingIconView.info.contents[1].newIcon(launchingIconView.context)
+        appIcon1.setBounds(0, 0, dp.iconSizePx, dp.iconSizePx)
+        appIcon2.setBounds(0, 0, dp.iconSizePx, dp.iconSizePx)
+        val floatingView =
+            FloatingAppPairView.getFloatingAppPairView(
+                launcher,
+                drawableArea,
+                appIcon1,
+                appIcon2,
+                dividerPos
+            )
+
+        // Launcher animation: animate the floating view, expanding to fill the display surface
+        progressUpdater.addUpdateListener(
+            object : MultiValueUpdateListener() {
+                var mDx =
+                    FloatProp(
+                        floatingView.startingPosition.left,
+                        dp.widthPx / 2f - floatingView.startingPosition.width() / 2f,
+                        0f /* delay */,
+                        timings.getDuration().toFloat(),
+                        Interpolators.clampToProgress(
+                            timings.getStagedRectXInterpolator(),
+                            timings.stagedRectSlideStartOffset,
+                            timings.stagedRectSlideEndOffset
+                        )
+                    )
+                var mDy =
+                    FloatProp(
+                        floatingView.startingPosition.top,
+                        dp.heightPx / 2f - floatingView.startingPosition.height() / 2f,
+                        0f /* delay */,
+                        timings.getDuration().toFloat(),
+                        Interpolators.clampToProgress(
+                            Interpolators.EMPHASIZED,
+                            timings.stagedRectSlideStartOffset,
+                            timings.stagedRectSlideEndOffset
+                        )
+                    )
+                var mScaleX =
+                    FloatProp(
+                        1f /* start */,
+                        dp.widthPx / floatingView.startingPosition.width(),
+                        0f /* delay */,
+                        timings.getDuration().toFloat(),
+                        Interpolators.clampToProgress(
+                            Interpolators.EMPHASIZED,
+                            timings.stagedRectSlideStartOffset,
+                            timings.stagedRectSlideEndOffset
+                        )
+                    )
+                var mScaleY =
+                    FloatProp(
+                        1f /* start */,
+                        dp.heightPx / floatingView.startingPosition.height(),
+                        0f /* delay */,
+                        timings.getDuration().toFloat(),
+                        Interpolators.clampToProgress(
+                            Interpolators.EMPHASIZED,
+                            timings.stagedRectSlideStartOffset,
+                            timings.stagedRectSlideEndOffset
+                        )
+                    )
+
+                override fun onUpdate(percent: Float, initOnly: Boolean) {
+                    floatingView.progress = percent
+                    floatingView.x = mDx.value
+                    floatingView.y = mDy.value
+                    floatingView.scaleX = mScaleX.value
+                    floatingView.scaleY = mScaleY.value
+                    floatingView.invalidate()
+                }
+            }
+        )
+
+        // When animation ends, remove the floating view and run finishCallback
+        progressUpdater.addListener(
+            object : AnimatorListenerAdapter() {
+                override fun onAnimationEnd(animation: Animator) {
+                    safeRemoveViewFromDragLayer(launcher, floatingView)
+                    finishCallback.run()
+                }
+            }
+        )
+
+        launchAnimation.play(progressUpdater)
+        launchAnimation.start()
+    }
+
+    /**
+     * If we are launching split screen without any special animation from a starting View, we
+     * simply fade in the starting apps and fade out launcher.
+     */
+    @VisibleForTesting
+    fun composeFadeInSplitLaunchAnimator(
+        initialTaskId: Int,
+        secondTaskId: Int,
+        transitionInfo: TransitionInfo,
+        t: Transaction,
+        finishCallback: Runnable
+    ) {
+        var splitRoot1: Change? = null
+        var splitRoot2: Change? = null
+        val openingTargets = ArrayList<SurfaceControl>()
+        for (change in transitionInfo.changes) {
+            val taskInfo: RunningTaskInfo = change.taskInfo ?: continue
+            val taskId = taskInfo.taskId
+            val mode = change.mode
+
+            // Find the target tasks' root tasks since those are the split stages that need to
+            // be animated (the tasks themselves are children and thus inherit animation).
+            if (taskId == initialTaskId || taskId == secondTaskId) {
+                check(mode == TRANSIT_OPEN || mode == TRANSIT_TO_FRONT) {
+                    "Expected task to be showing, but it is $mode"
+                }
+            }
+
+            if (taskId == initialTaskId) {
+                splitRoot1 = change
+                val parentToken1 = change.parent
+                if (parentToken1 != null) {
+                    splitRoot1 = transitionInfo.getChange(parentToken1) ?: change
+                }
+
+                if (splitRoot1?.leash != null) {
+                    openingTargets.add(splitRoot1.leash)
+                }
+            }
+
+            if (taskId == secondTaskId) {
+                splitRoot2 = change
+                val parentToken2 = change.parent
+                if (parentToken2 != null) {
+                    splitRoot2 = transitionInfo.getChange(parentToken2) ?: change
+                }
+
+                if (splitRoot2?.leash != null) {
+                    openingTargets.add(splitRoot2.leash)
+                }
+            }
+        }
+
+        val animTransaction = Transaction()
+        val animator = ValueAnimator.ofFloat(0f, 1f)
+        animator.setDuration(QuickstepTransitionManager.SPLIT_LAUNCH_DURATION.toLong())
+        animator.addUpdateListener { valueAnimator: ValueAnimator ->
+            val progress = valueAnimator.animatedFraction
+            for (leash in openingTargets) {
+                animTransaction.setAlpha(leash, progress)
+            }
+            animTransaction.apply()
+        }
+
+        animator.addListener(
+            object : AnimatorListenerAdapter() {
+                override fun onAnimationStart(animation: Animator) {
+                    for (leash in openingTargets) {
+                        animTransaction.show(leash).setAlpha(leash, 0.0f)
+                    }
+                    animTransaction.apply()
+                }
+
+                override fun onAnimationEnd(animation: Animator) {
+                    finishCallback.run()
+                }
+            }
+        )
+
+        if (splitRoot1 != null) {
+            // Set the highest level split root alpha; we could technically use the parent of
+            // either splitRoot1 or splitRoot2
+            val parentToken = splitRoot1.parent
+            var rootLayer: Change? = null
+            if (parentToken != null) {
+                rootLayer = transitionInfo.getChange(parentToken)
+            }
+            if (rootLayer != null && rootLayer.leash != null) {
+                t.setAlpha(rootLayer.leash, 1f)
+            }
+        }
+
+        t.apply()
+        animator.start()
+    }
+
     private fun safeRemoveViewFromDragLayer(launcher: StatefulActivity<*>, view: View?) {
         if (view != null) {
             launcher.dragLayer.removeView(view)
diff --git a/quickstep/src/com/android/quickstep/util/SplitAnimationTimings.java b/quickstep/src/com/android/quickstep/util/SplitAnimationTimings.java
index 93f2255..b618546 100644
--- a/quickstep/src/com/android/quickstep/util/SplitAnimationTimings.java
+++ b/quickstep/src/com/android/quickstep/util/SplitAnimationTimings.java
@@ -21,31 +21,44 @@
 import android.view.animation.Interpolator;
 
 /**
- * An interface that supports the centralization of timing information for splitscreen animations.
+ * Organizes timing information for split screen animations.
  */
 public interface SplitAnimationTimings {
+    /** Total duration (ms) for initiating split screen (staging the first app) on tablets. */
     int TABLET_ENTER_DURATION = 866;
+    /** Total duration (ms) for confirming split screen (selecting the second app) on tablets. */
     int TABLET_CONFIRM_DURATION = 500;
-
+    /** Total duration (ms) for initiating split screen (staging the first app) on phones. */
     int PHONE_ENTER_DURATION = 517;
+    /** Total duration (ms) for confirming split screen (selecting the second app) on phones. */
     int PHONE_CONFIRM_DURATION = 333;
-
+    /** Total duration (ms) for aborting split screen (before selecting the second app). */
     int ABORT_DURATION = 500;
+    /** Total duration (ms) for launching an app pair from its icon on tablets. */
+    int TABLET_APP_PAIR_LAUNCH_DURATION = 998;
+    /** Total duration (ms) for launching an app pair from its icon on phones. */
+    int PHONE_APP_PAIR_LAUNCH_DURATION = 915;
 
+    // Initialize timing classes so they can be accessed statically
     SplitAnimationTimings TABLET_OVERVIEW_TO_SPLIT = new TabletOverviewToSplitTimings();
     SplitAnimationTimings TABLET_HOME_TO_SPLIT = new TabletHomeToSplitTimings();
     SplitAnimationTimings TABLET_SPLIT_TO_CONFIRM = new TabletSplitToConfirmTimings();
-
     SplitAnimationTimings PHONE_OVERVIEW_TO_SPLIT = new PhoneOverviewToSplitTimings();
     SplitAnimationTimings PHONE_SPLIT_TO_CONFIRM = new PhoneSplitToConfirmTimings();
+    SplitAnimationTimings TABLET_APP_PAIR_LAUNCH = new TabletAppPairLaunchTimings();
+    SplitAnimationTimings PHONE_APP_PAIR_LAUNCH = new PhoneAppPairLaunchTimings();
 
-    // Shared methods
+    // Shared methods: all split animations have these parameters
     int getDuration();
+    /** Start fading in the floating view tile at this time (in ms). */
     int getPlaceholderFadeInStart();
     int getPlaceholderFadeInEnd();
+    /** Start fading in the app icon at this time (in ms). */
     int getPlaceholderIconFadeInStart();
     int getPlaceholderIconFadeInEnd();
+    /** Start translating the floating view tile at this time (in ms). */
     int getStagedRectSlideStart();
+    /** The floating tile has reached its final position at this time (in ms). */
     int getStagedRectSlideEnd();
     Interpolator getStagedRectXInterpolator();
     Interpolator getStagedRectYInterpolator();
@@ -70,6 +83,11 @@
         return (float) getStagedRectSlideEnd() / getDuration();
     }
 
+    // DEFAULT VALUES: We define default values here so that SplitAnimationTimings can be used
+    // flexibly in animation-running functions, e.g. a single function that handles 2 types of split
+    // animations. The values are not intended to be used, and can safely be removed if refactoring
+    // these classes.
+
     // Defaults for OverviewToSplit
     default float getGridSlideStartOffset() { return 0; }
     default float getGridSlideStaggerOffset() { return 0; }
@@ -94,5 +112,13 @@
     // Defaults for SplitToConfirm
     default float getInstructionsFadeStartOffset() { return 0; }
     default float getInstructionsFadeEndOffset() { return 0; }
+
+    // Defaults for AppPair
+    default float getCellSplitStartOffset() { return 0; }
+    default float getCellSplitEndOffset() { return 0; }
+    default float getAppRevealStartOffset() { return 0; }
+    default float getAppRevealEndOffset() { return 0; }
+    default Interpolator getCellSplitInterpolator() { return LINEAR; }
+    default Interpolator getIconFadeInterpolator() { return LINEAR; }
 }
 
diff --git a/quickstep/src/com/android/quickstep/util/SplitScreenUtils.kt b/quickstep/src/com/android/quickstep/util/SplitScreenUtils.kt
new file mode 100644
index 0000000..38bbe60
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/util/SplitScreenUtils.kt
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep.util
+
+import com.android.launcher3.util.SplitConfigurationOptions
+import com.android.wm.shell.util.SplitBounds
+
+class SplitScreenUtils {
+    companion object {
+        // TODO(b/254378592): Remove these methods when the two classes are reunited
+        /** Converts the shell version of SplitBounds to the launcher version */
+        @JvmStatic
+        fun convertShellSplitBoundsToLauncher(
+            shellSplitBounds: SplitBounds?
+        ): SplitConfigurationOptions.SplitBounds? {
+            return if (shellSplitBounds == null) {
+                null
+            } else {
+                SplitConfigurationOptions.SplitBounds(
+                    shellSplitBounds.leftTopBounds, shellSplitBounds.rightBottomBounds,
+                    shellSplitBounds.leftTopTaskId, shellSplitBounds.rightBottomTaskId,
+                    shellSplitBounds.snapPosition
+                )
+            }
+        }
+
+        /** Converts the launcher version of SplitBounds to the shell version */
+        @JvmStatic
+        fun convertLauncherSplitBoundsToShell(
+            launcherSplitBounds: SplitConfigurationOptions.SplitBounds?
+        ): SplitBounds? {
+            return if (launcherSplitBounds == null) {
+                null
+            } else {
+                SplitBounds(
+                    launcherSplitBounds.leftTopBounds,
+                    launcherSplitBounds.rightBottomBounds,
+                    launcherSplitBounds.leftTopTaskId,
+                    launcherSplitBounds.rightBottomTaskId,
+                    launcherSplitBounds.snapPosition
+                )
+            }
+        }
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectDataHolder.kt b/quickstep/src/com/android/quickstep/util/SplitSelectDataHolder.kt
index ae500a1..c013483 100644
--- a/quickstep/src/com/android/quickstep/util/SplitSelectDataHolder.kt
+++ b/quickstep/src/com/android/quickstep/util/SplitSelectDataHolder.kt
@@ -54,7 +54,7 @@
  * state
  */
 class SplitSelectDataHolder(
-        val context: Context
+        var context: Context?
 ) {
     val TAG = SplitSelectDataHolder::class.simpleName
 
@@ -93,6 +93,7 @@
     private var secondTaskId: Int = INVALID_TASK_ID
     private var initialIntent: Intent? = null
     private var secondIntent: Intent? = null
+    private var widgetSecondIntent: Intent? = null
     private var initialUser: UserHandle? = null
     private var secondUser: UserHandle? = null
     private var initialPendingIntent: PendingIntent? = null
@@ -100,6 +101,10 @@
     private var initialShortcut: ShortcutInfo? = null
     private var secondShortcut: ShortcutInfo? = null
 
+    fun onDestroy() {
+        context = null
+    }
+
     /**
      * @param alreadyRunningTask if set to [android.app.ActivityTaskManager.INVALID_TASK_ID]
      * then @param intent will be used to launch the initial task
@@ -160,18 +165,30 @@
      */
     fun setSecondTask(pendingIntent: PendingIntent) {
         secondPendingIntent = pendingIntent
-        secondUser = pendingIntent.creatorUserHandle!!
+        secondUser = pendingIntent.creatorUserHandle
+    }
+
+    /**
+     * Similar to [setSecondTask] except this is to be called for widgets which can pass through
+     * an extra intent from their RemoteResponse.
+     * See [android.widget.RemoteViews.RemoteResponse.getLaunchOptions].first
+     */
+    fun setSecondWidget(pendingIntent: PendingIntent, widgetIntent: Intent?) {
+        setSecondTask(pendingIntent)
+        widgetSecondIntent = widgetIntent
     }
 
     private fun getShortcutInfo(intent: Intent?, user: UserHandle?): ShortcutInfo? {
-        if (intent?.getPackage() == null) {
-            return null
-        }
+        val intentPackage = intent?.getPackage() ?: return null
         val shortcutId = intent.getStringExtra(ShortcutKey.EXTRA_SHORTCUT_ID)
                 ?: return null
         try {
-            val context: Context = context.createPackageContextAsUser(
-                    intent.getPackage(), 0 /* flags */, user)
+            val context: Context =
+                if (user != null) {
+                    context!!.createPackageContextAsUser(intentPackage, 0 /* flags */, user)
+                } else {
+                    context!!.createPackageContext(intentPackage, 0 /* *flags */)
+                }
             return ShortcutInfo.Builder(context, shortcutId).build()
         } catch (e: PackageManager.NameNotFoundException) {
             Log.w(TAG, "Failed to create a ShortcutInfo for " + intent.getPackage())
@@ -235,6 +252,7 @@
                 secondTaskId,
                 initialPendingIntent,
                 secondPendingIntent,
+                widgetSecondIntent,
                 initialUser?.identifier ?: -1,
                 secondUser?.identifier ?: -1,
                 initialShortcut,
@@ -251,7 +269,8 @@
      * Note that both [initialIntent] and [secondIntent] will be nullified on method return
      *
      * One caveat is that if [secondPendingIntent] is set, we will use that and *not* attempt to
-     * convert [secondIntent]
+     * convert [secondIntent].
+     * This also leaves [widgetSecondIntent] untouched.
      */
     private fun convertIntentsToFinalTypes() {
         initialShortcut = getShortcutInfo(initialIntent, initialUser)
@@ -337,6 +356,7 @@
             var secondTaskId: Int = INVALID_TASK_ID,
             var initialPendingIntent: PendingIntent? = null,
             var secondPendingIntent: PendingIntent? = null,
+            var widgetSecondIntent: Intent? = null,
             var initialUserId: Int = -1,
             var secondUserId: Int = -1,
             var initialShortcut: ShortcutInfo? = null,
@@ -363,7 +383,8 @@
     }
 
     private fun isInitialTaskIntentSet(): Boolean {
-        return initialTaskId != INVALID_TASK_ID || initialIntent != null
+        return initialTaskId != INVALID_TASK_ID || initialIntent != null ||
+                initialPendingIntent != null
     }
 
     fun getInitialTaskId(): Int {
@@ -399,6 +420,7 @@
         secondUser = null
         initialIntent = null
         secondIntent = null
+        initialPendingIntent = null
         secondPendingIntent = null
         itemInfo = null
         splitEvent = null
@@ -421,4 +443,4 @@
         writer.println("$prefix\tinitialShortcut= $initialShortcut")
         writer.println("$prefix\tsecondShortcut= $secondShortcut")
     }
-}
\ No newline at end of file
+}
diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java
index d4ddf76..3c90e0c 100644
--- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java
+++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java
@@ -17,14 +17,10 @@
 package com.android.quickstep.util;
 
 import static com.android.launcher3.Utilities.postAsyncCallback;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_DESKTOP_TO_WORKSPACE;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_DESKTOP_MODE_SPLIT_LEFT_TOP;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_DESKTOP_MODE_SPLIT_RIGHT_BOTTOM;
-import static com.android.launcher3.testing.shared.TestProtocol.LAUNCH_SPLIT_PAIR;
-import static com.android.launcher3.testing.shared.TestProtocol.testLogD;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
-import static com.android.launcher3.util.SplitConfigurationOptions.DEFAULT_SPLIT_RATIO;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT;
 import static com.android.quickstep.util.SplitSelectDataHolder.SPLIT_PENDINGINTENT_PENDINGINTENT;
 import static com.android.quickstep.util.SplitSelectDataHolder.SPLIT_PENDINGINTENT_TASK;
@@ -35,15 +31,18 @@
 import static com.android.quickstep.util.SplitSelectDataHolder.SPLIT_TASK_PENDINGINTENT;
 import static com.android.quickstep.util.SplitSelectDataHolder.SPLIT_TASK_SHORTCUT;
 import static com.android.quickstep.util.SplitSelectDataHolder.SPLIT_TASK_TASK;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
+import static com.android.wm.shell.common.split.SplitScreenConstants.KEY_EXTRA_WIDGET_INTENT;
+import static com.android.wm.shell.common.split.SplitScreenConstants.SNAP_TO_50_50;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.annotation.NonNull;
+import android.annotation.UiThread;
 import android.app.ActivityManager;
 import android.app.ActivityOptions;
 import android.app.ActivityThread;
 import android.app.PendingIntent;
-import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ShortcutInfo;
@@ -72,14 +71,17 @@
 import com.android.launcher3.Launcher;
 import com.android.launcher3.R;
 import com.android.launcher3.anim.PendingAnimation;
+import com.android.launcher3.apppairs.AppPairIcon;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.icons.IconProvider;
 import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.statehandlers.DepthController;
 import com.android.launcher3.statemanager.StateManager;
+import com.android.launcher3.statemanager.StatefulActivity;
 import com.android.launcher3.testing.TestLogging;
 import com.android.launcher3.testing.shared.TestProtocol;
+import com.android.launcher3.util.BackPressHandler;
 import com.android.launcher3.util.ComponentKey;
 import com.android.launcher3.util.SplitConfigurationOptions.StagePosition;
 import com.android.quickstep.OverviewComponentObserver;
@@ -91,19 +93,19 @@
 import com.android.quickstep.SplitSelectionListener;
 import com.android.quickstep.SystemUiProxy;
 import com.android.quickstep.TaskAnimationManager;
-import com.android.quickstep.TaskViewUtils;
 import com.android.quickstep.views.FloatingTaskView;
 import com.android.quickstep.views.GroupedTaskView;
-import com.android.quickstep.views.SplitInstructionsView;
 import com.android.quickstep.views.RecentsView;
+import com.android.quickstep.views.SplitInstructionsView;
 import com.android.systemui.shared.recents.model.Task;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
 import com.android.systemui.shared.system.RemoteAnimationRunnerCompat;
+import com.android.wm.shell.common.split.SplitScreenConstants.PersistentSnapPosition;
 import com.android.wm.shell.splitscreen.ISplitSelectListener;
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
-import java.util.Collections;
+import java.util.Arrays;
 import java.util.List;
 import java.util.function.Consumer;
 
@@ -114,9 +116,11 @@
 public class SplitSelectStateController {
     private static final String TAG = "SplitSelectStateCtor";
 
-    private Context mContext;
+    private StatefulActivity mContext;
     private final Handler mHandler;
     private final RecentsModel mRecentTasksModel;
+    @Nullable
+    private Runnable mActivityBackCallback;
     private final SplitAnimationController mSplitAnimationController;
     private final AppPairsController mAppPairsController;
     private final SplitSelectDataHolder mSplitSelectDataHolder;
@@ -137,15 +141,38 @@
     /** If not null, this is the TaskView we want to launch from */
     @Nullable
     private GroupedTaskView mLaunchingTaskView;
+    /** If not null, this is the icon we want to launch from */
+    private AppPairIcon mLaunchingIconView;
+
+    /** True when the first selected split app is being launched in fullscreen. */
+    private boolean mLaunchingFirstAppFullscreen;
 
     private FloatingTaskView mFirstFloatingTaskView;
     private SplitInstructionsView mSplitInstructionsView;
 
     private final List<SplitSelectionListener> mSplitSelectionListeners = new ArrayList<>();
 
-    public SplitSelectStateController(Context context, Handler handler, StateManager stateManager,
-            DepthController depthController, StatsLogManager statsLogManager,
-            SystemUiProxy systemUiProxy, RecentsModel recentsModel) {
+    private final BackPressHandler mSplitBackHandler = new BackPressHandler() {
+        @Override
+        public boolean canHandleBack() {
+            return FeatureFlags.enableSplitContextually() && isSplitSelectActive();
+        }
+
+        @Override
+        public void onBackInvoked() {
+            // When exiting from split selection, leave current context to go to
+            // homescreen as well
+            getSplitAnimationController().playPlaceholderDismissAnim(mContext);
+            if (mActivityBackCallback != null) {
+                mActivityBackCallback.run();
+            }
+        }
+    };
+
+    public SplitSelectStateController(StatefulActivity context, Handler handler,
+            StateManager stateManager, DepthController depthController,
+            StatsLogManager statsLogManager, SystemUiProxy systemUiProxy, RecentsModel recentsModel,
+            Runnable activityBackCallback) {
         mContext = context;
         mHandler = handler;
         mStatsLogManager = statsLogManager;
@@ -153,6 +180,7 @@
         mStateManager = stateManager;
         mDepthController = depthController;
         mRecentTasksModel = recentsModel;
+        mActivityBackCallback = activityBackCallback;
         mSplitAnimationController = new SplitAnimationController(this);
         mAppPairsController = new AppPairsController(context, this, statsLogManager);
         mSplitSelectDataHolder = new SplitSelectDataHolder(mContext);
@@ -160,6 +188,9 @@
 
     public void onDestroy() {
         mContext = null;
+        mActivityBackCallback = null;
+        mAppPairsController.onDestroy();
+        mSplitSelectDataHolder.onDestroy();
     }
 
     /**
@@ -185,43 +216,60 @@
     }
 
     /**
-     * Maps a List<ComponentKey> to List<@Nullable Task>, searching through active Tasks in
-     * RecentsModel. If found, the Task will be the most recently-interacted-with instance of that
-     * Task. Then runs the given callback on that List.
-     * <p>
-     * Used in various task-switching or splitscreen operations when we need to check if there is a
-     * currently running Task of a certain type and use the most recent one.
+     * Given a list of task keys, searches through active Tasks in RecentsModel to find the last
+     * active instances of these tasks. Returns an empty array if there is no such running task.
+     *
+     * @param componentKeys The list of ComponentKeys to search for.
+     * @param callback The callback that will be executed on the list of found tasks.
+     * @param findExactPairMatch If {@code true}, only finds tasks that contain BOTH of the wanted
+     *                           tasks (i.e. searching for a running pair of tasks.)
      */
-    public void findLastActiveTasksAndRunCallback(
-            @Nullable List<ComponentKey> componentKeys, Consumer<List<Task>> callback) {
+    public void findLastActiveTasksAndRunCallback(@Nullable List<ComponentKey> componentKeys,
+            boolean findExactPairMatch, Consumer<Task[]> callback) {
         mRecentTasksModel.getTasks(taskGroups -> {
             if (componentKeys == null || componentKeys.isEmpty()) {
-                callback.accept(Collections.emptyList());
+                callback.accept(new Task[]{});
                 return;
             }
 
-            List<Task> lastActiveTasks = new ArrayList<>();
-            // For each key we are looking for, add to lastActiveTasks with the corresponding Task
-            // (or null if not found).
-            for (ComponentKey key : componentKeys) {
-                Task lastActiveTask = null;
+            Task[] lastActiveTasks = new Task[componentKeys.size()];
+
+            if (findExactPairMatch) {
                 // Loop through tasks in reverse, since they are ordered with most-recent tasks last
                 for (int i = taskGroups.size() - 1; i >= 0; i--) {
                     GroupTask groupTask = taskGroups.get(i);
-                    Task task1 = groupTask.task1;
-                    // Don't add duplicate Tasks
-                    if (isInstanceOfComponent(task1, key) && !lastActiveTasks.contains(task1)) {
-                        lastActiveTask = task1;
-                        break;
-                    }
-                    Task task2 = groupTask.task2;
-                    if (isInstanceOfComponent(task2, key) && !lastActiveTasks.contains(task2)) {
-                        lastActiveTask = task2;
+                    if (isInstanceOfAppPair(
+                            groupTask, componentKeys.get(0), componentKeys.get(1))) {
+                        lastActiveTasks[0] = groupTask.task1;
                         break;
                     }
                 }
+            } else {
+                // For each key we are looking for, add to lastActiveTasks with the corresponding
+                // Task (or do nothing if not found).
+                for (int i = 0; i < componentKeys.size(); i++) {
+                    ComponentKey key = componentKeys.get(i);
+                    Task lastActiveTask = null;
+                    // Loop through tasks in reverse, since they are ordered with recent tasks last
+                    for (int j = taskGroups.size() - 1; j >= 0; j--) {
+                        GroupTask groupTask = taskGroups.get(j);
+                        Task task1 = groupTask.task1;
+                        // Don't add duplicate Tasks
+                        if (isInstanceOfComponent(task1, key)
+                                && !Arrays.asList(lastActiveTasks).contains(task1)) {
+                            lastActiveTask = task1;
+                            break;
+                        }
+                        Task task2 = groupTask.task2;
+                        if (isInstanceOfComponent(task2, key)
+                                && !Arrays.asList(lastActiveTasks).contains(task2)) {
+                            lastActiveTask = task2;
+                            break;
+                        }
+                    }
 
-                lastActiveTasks.add(lastActiveTask);
+                    lastActiveTasks[i] = lastActiveTask;
+                }
             }
 
             callback.accept(lastActiveTasks);
@@ -243,6 +291,19 @@
     }
 
     /**
+     * Checks if a given GroupTask is a pair of apps that matches two given ComponentKeys. We check
+     * both permutations because task order is not guaranteed in GroupTasks.
+     */
+    public boolean isInstanceOfAppPair(GroupTask groupTask, @NonNull ComponentKey componentKey1,
+            @NonNull ComponentKey componentKey2) {
+        return ((isInstanceOfComponent(groupTask.task1, componentKey1)
+                && isInstanceOfComponent(groupTask.task2, componentKey2))
+                ||
+                (isInstanceOfComponent(groupTask.task1, componentKey2)
+                        && isInstanceOfComponent(groupTask.task2, componentKey1)));
+    }
+
+    /**
      * Listener will only get callbacks going forward from the point of registration. No
      * methods will be fired upon registering.
      */
@@ -267,11 +328,11 @@
      * To be called when the both split tasks are ready to be launched. Call after launcher side
      * animations are complete.
      */
-    public void launchSplitTasks(@Nullable Consumer<Boolean> callback) {
+    public void launchSplitTasks(@PersistentSnapPosition int snapPosition,
+            @Nullable Consumer<Boolean> callback) {
         Pair<InstanceId, com.android.launcher3.logging.InstanceId> instanceIds =
                 LogUtils.getShellShareableInstanceId();
-        launchTasks(callback, false /* freezeTaskList */, DEFAULT_SPLIT_RATIO,
-                instanceIds.first);
+        launchTasks(callback, false /* freezeTaskList */, snapPosition, instanceIds.first);
 
         mStatsLogManager.logger()
                 .withItemInfo(mSplitSelectDataHolder.getItemInfo())
@@ -280,11 +341,26 @@
     }
 
     /**
-     * A version of {@link #launchTasks(Consumer, boolean, float, InstanceId)} with no success
+     * A version of {@link #launchTasks(Consumer, boolean, int, InstanceId)} with no success
      * callback.
      */
+    public void launchSplitTasks(@PersistentSnapPosition int snapPosition) {
+        launchSplitTasks(snapPosition, /* callback */ null);
+    }
+
+    /**
+     * A version of {@link #launchSplitTasks(int, Consumer)} that launches with default split ratio.
+     */
+    public void launchSplitTasks(@Nullable Consumer<Boolean> callback) {
+        launchSplitTasks(SNAP_TO_50_50, callback);
+    }
+
+    /**
+     * A version of {@link #launchSplitTasks(int, Consumer)} that launches with a default split
+     * ratio and no callback.
+     */
     public void launchSplitTasks() {
-        launchSplitTasks(null);
+        launchSplitTasks(SNAP_TO_50_50, null);
     }
 
     /**
@@ -312,6 +388,10 @@
         mSplitSelectDataHolder.setSecondTask(pendingIntent);
     }
 
+    public void setSecondWidget(PendingIntent pendingIntent, Intent widgetIntent) {
+        mSplitSelectDataHolder.setSecondWidget(pendingIntent, widgetIntent);
+    }
+
     /**
      * To be called when we want to launch split pairs from Overview. Split can be initiated from
      * either Overview or home, or all apps. Either both taskIds are set, or a pending intent + a
@@ -321,7 +401,7 @@
      *                   foreground (quickswitch, launching previous pairs from overview)
      */
     public void launchTasks(@Nullable Consumer<Boolean> callback, boolean freezeTaskList,
-            float splitRatio, @Nullable InstanceId shellInstanceId) {
+            @PersistentSnapPosition int snapPosition, @Nullable InstanceId shellInstanceId) {
         TestLogging.recordEvent(
                 TestProtocol.SEQUENCE_MAIN, "launchSplitTasks");
         final ActivityOptions options1 = ActivityOptions.makeBasic();
@@ -337,44 +417,46 @@
         ShortcutInfo secondShortcut = launchData.getSecondShortcut();
         PendingIntent firstPI = launchData.getInitialPendingIntent();
         PendingIntent secondPI = launchData.getSecondPendingIntent();
+        Intent widgetIntent = launchData.getWidgetSecondIntent();
         int firstUserId = launchData.getInitialUserId();
         int secondUserId = launchData.getSecondUserId();
         int initialStagePosition = launchData.getInitialStagePosition();
         Bundle optionsBundle = options1.toBundle();
-
+        Bundle extrasBundle = new Bundle(1);
+        extrasBundle.putParcelable(KEY_EXTRA_WIDGET_INTENT, widgetIntent);
         if (TaskAnimationManager.ENABLE_SHELL_TRANSITIONS) {
             final RemoteTransition remoteTransition = getShellRemoteTransition(firstTaskId,
                     secondTaskId, callback, "LaunchSplitPair");
             switch (launchData.getSplitLaunchType()) {
                 case SPLIT_TASK_TASK ->
                         mSystemUiProxy.startTasks(firstTaskId, optionsBundle, secondTaskId,
-                                null /* options2 */, initialStagePosition, splitRatio,
+                                null /* options2 */, initialStagePosition, snapPosition,
                                 remoteTransition, shellInstanceId);
 
                 case SPLIT_TASK_PENDINGINTENT ->
                         mSystemUiProxy.startIntentAndTask(secondPI, secondUserId, optionsBundle,
-                                firstTaskId, null /*options2*/, initialStagePosition, splitRatio,
+                                firstTaskId, extrasBundle, initialStagePosition, snapPosition,
                                 remoteTransition, shellInstanceId);
 
                 case SPLIT_TASK_SHORTCUT ->
                         mSystemUiProxy.startShortcutAndTask(secondShortcut, optionsBundle,
-                                firstTaskId, null /*options2*/, initialStagePosition, splitRatio,
+                                firstTaskId, null /*options2*/, initialStagePosition, snapPosition,
                                 remoteTransition, shellInstanceId);
 
                 case SPLIT_PENDINGINTENT_TASK ->
                         mSystemUiProxy.startIntentAndTask(firstPI, firstUserId, optionsBundle,
-                                secondTaskId, null /*options2*/, initialStagePosition, splitRatio,
+                                secondTaskId, null /*options2*/, initialStagePosition, snapPosition,
                                 remoteTransition, shellInstanceId);
 
                 case SPLIT_PENDINGINTENT_PENDINGINTENT ->
                         mSystemUiProxy.startIntents(firstPI, firstUserId, firstShortcut,
-                                optionsBundle, secondPI, secondUserId, secondShortcut,
-                                null /*options2*/, initialStagePosition, splitRatio,
-                                remoteTransition, shellInstanceId);
+                                optionsBundle, secondPI, secondUserId, secondShortcut, extrasBundle,
+                                initialStagePosition, snapPosition, remoteTransition,
+                                shellInstanceId);
 
                 case SPLIT_SHORTCUT_TASK ->
                         mSystemUiProxy.startShortcutAndTask(firstShortcut, optionsBundle,
-                                secondTaskId, null /*options2*/, initialStagePosition, splitRatio,
+                                secondTaskId, null /*options2*/, initialStagePosition, snapPosition,
                                 remoteTransition, shellInstanceId);
             }
         } else {
@@ -384,40 +466,63 @@
                 case SPLIT_TASK_TASK ->
                         mSystemUiProxy.startTasksWithLegacyTransition(firstTaskId, optionsBundle,
                                 secondTaskId, null /* options2 */, initialStagePosition,
-                                splitRatio, adapter, shellInstanceId);
+                                snapPosition, adapter, shellInstanceId);
 
                 case SPLIT_TASK_PENDINGINTENT ->
                         mSystemUiProxy.startIntentAndTaskWithLegacyTransition(secondPI,
                                 secondUserId, optionsBundle, firstTaskId, null /*options2*/,
-                                initialStagePosition, splitRatio, adapter, shellInstanceId);
+                                initialStagePosition, snapPosition, adapter, shellInstanceId);
 
                 case SPLIT_TASK_SHORTCUT ->
                         mSystemUiProxy.startShortcutAndTaskWithLegacyTransition(secondShortcut,
                                 optionsBundle, firstTaskId, null /*options2*/, initialStagePosition,
-                                splitRatio, adapter, shellInstanceId);
+                                snapPosition, adapter, shellInstanceId);
 
                 case SPLIT_PENDINGINTENT_TASK ->
                         mSystemUiProxy.startIntentAndTaskWithLegacyTransition(firstPI, firstUserId,
                                 optionsBundle, secondTaskId, null /*options2*/,
-                                initialStagePosition, splitRatio, adapter, shellInstanceId);
+                                initialStagePosition, snapPosition, adapter, shellInstanceId);
 
                 case SPLIT_PENDINGINTENT_PENDINGINTENT ->
                         mSystemUiProxy.startIntentsWithLegacyTransition(firstPI, firstUserId,
                                 firstShortcut, optionsBundle, secondPI, secondUserId,
-                                secondShortcut, null /*options2*/, initialStagePosition, splitRatio,
-                                adapter, shellInstanceId);
+                                secondShortcut, null /*options2*/, initialStagePosition,
+                                snapPosition, adapter, shellInstanceId);
 
                 case SPLIT_SHORTCUT_TASK ->
                         mSystemUiProxy.startShortcutAndTaskWithLegacyTransition(firstShortcut,
                                 optionsBundle, secondTaskId, null /*options2*/,
-                                initialStagePosition, splitRatio, adapter, shellInstanceId);
+                                initialStagePosition, snapPosition, adapter, shellInstanceId);
             }
         }
     }
 
     /**
+     * Used to launch split screen from a split pair that already exists, optionally with a custom
+     * remote transition.
+     * <p>
+     * See {@link SplitSelectStateController#launchExistingSplitPair(
+     * GroupedTaskView, int, int, int, Consumer, boolean, int, RemoteTransition)}
+     */
+    public void launchExistingSplitPair(@Nullable GroupedTaskView groupedTaskView,
+            int firstTaskId, int secondTaskId, @StagePosition int stagePosition,
+            Consumer<Boolean> callback, boolean freezeTaskList,
+            @PersistentSnapPosition int snapPosition) {
+        launchExistingSplitPair(
+                groupedTaskView,
+                firstTaskId,
+                secondTaskId,
+                stagePosition,
+                callback,
+                freezeTaskList,
+                snapPosition,
+                /* remoteTransition= */ null);
+    }
+
+
+    /**
      * Used to launch split screen from a split pair that already exists (usually accessible through
-     * Overview). This is different than {@link #launchTasks(Consumer, boolean, float, InstanceId)}
+     * Overview). This is different than {@link #launchTasks(Consumer, boolean, int, InstanceId)}
      * in that this only launches split screen that are existing tasks. This doesn't determine which
      * API should be used (i.e. launching split with existing tasks vs intents vs shortcuts, etc).
      *
@@ -426,7 +531,8 @@
      */
     public void launchExistingSplitPair(@Nullable GroupedTaskView groupedTaskView,
             int firstTaskId, int secondTaskId, @StagePosition int stagePosition,
-            Consumer<Boolean> callback, boolean freezeTaskList, float splitRatio) {
+            Consumer<Boolean> callback, boolean freezeTaskList,
+            @PersistentSnapPosition int snapPosition, @Nullable RemoteTransition remoteTransition) {
         mLaunchingTaskView = groupedTaskView;
         final ActivityOptions options1 = ActivityOptions.makeBasic();
         if (freezeTaskList) {
@@ -435,23 +541,24 @@
         Bundle optionsBundle = options1.toBundle();
 
         if (TaskAnimationManager.ENABLE_SHELL_TRANSITIONS) {
-            final RemoteTransition remoteTransition = getShellRemoteTransition(firstTaskId,
-                    secondTaskId, callback, "LaunchExistingPair");
-            mSystemUiProxy.startTasks(firstTaskId, optionsBundle, secondTaskId,
-                    null /* options2 */, stagePosition, splitRatio,
-                    remoteTransition, null /*shellInstanceId*/);
+            final RemoteTransition transition = remoteTransition == null
+                    ? getShellRemoteTransition(
+                            firstTaskId, secondTaskId, callback, "LaunchExistingPair")
+                    : remoteTransition;
+            mSystemUiProxy.startTasks(firstTaskId, optionsBundle, secondTaskId, null /* options2 */,
+                    stagePosition, snapPosition, transition, null /*shellInstanceId*/);
         } else {
             final RemoteAnimationAdapter adapter = getLegacyRemoteAdapter(firstTaskId,
                     secondTaskId, callback);
-            mSystemUiProxy.startTasksWithLegacyTransition(firstTaskId, optionsBundle,
-                    secondTaskId, null /* options2 */, stagePosition,
-                    splitRatio, adapter, null /*shellInstanceId*/);
+            mSystemUiProxy.startTasksWithLegacyTransition(firstTaskId, optionsBundle, secondTaskId,
+                    null /* options2 */, stagePosition, snapPosition, adapter,
+                    null /*shellInstanceId*/);
         }
     }
 
     /**
      * Launches the initially selected task/intent in fullscreen (note the same SystemUi APIs are
-     * used as {@link #launchSplitTasks(Consumer)} because they are overloaded to launch both
+     * used as {@link #launchSplitTasks(int, Consumer)} because they are overloaded to launch both
      * split and fullscreen tasks)
      */
     public void launchInitialAppFullscreen(Consumer<Boolean> callback) {
@@ -476,14 +583,13 @@
             switch (launchData.getSplitLaunchType()) {
                 case SPLIT_SINGLE_TASK_FULLSCREEN -> mSystemUiProxy.startTasks(firstTaskId,
                         optionsBundle, secondTaskId, null /* options2 */, initialStagePosition,
-                        DEFAULT_SPLIT_RATIO, remoteTransition, instanceId);
+                        SNAP_TO_50_50, remoteTransition, instanceId);
                 case SPLIT_SINGLE_INTENT_FULLSCREEN -> mSystemUiProxy.startIntentAndTask(firstPI,
                         firstUserId, optionsBundle, secondTaskId, null /*options2*/,
-                        initialStagePosition, DEFAULT_SPLIT_RATIO, remoteTransition,
-                        instanceId);
+                        initialStagePosition, SNAP_TO_50_50, remoteTransition, instanceId);
                 case SPLIT_SINGLE_SHORTCUT_FULLSCREEN -> mSystemUiProxy.startShortcutAndTask(
                         initialShortcut, optionsBundle, firstTaskId, null /* options2 */,
-                        initialStagePosition, DEFAULT_SPLIT_RATIO, remoteTransition, instanceId);
+                        initialStagePosition, SNAP_TO_50_50, remoteTransition, instanceId);
             }
         } else {
             final RemoteAnimationAdapter adapter = getLegacyRemoteAdapter(firstTaskId,
@@ -491,16 +597,15 @@
             switch (launchData.getSplitLaunchType()) {
                 case SPLIT_SINGLE_TASK_FULLSCREEN -> mSystemUiProxy.startTasksWithLegacyTransition(
                         firstTaskId, optionsBundle, secondTaskId, null /* options2 */,
-                        initialStagePosition, DEFAULT_SPLIT_RATIO, adapter, instanceId);
+                        initialStagePosition, SNAP_TO_50_50, adapter, instanceId);
                 case SPLIT_SINGLE_INTENT_FULLSCREEN ->
                         mSystemUiProxy.startIntentAndTaskWithLegacyTransition(firstPI, firstUserId,
                                 optionsBundle, secondTaskId, null /*options2*/,
-                                initialStagePosition, DEFAULT_SPLIT_RATIO, adapter,
-                                instanceId);
+                                initialStagePosition, SNAP_TO_50_50, adapter, instanceId);
                 case SPLIT_SINGLE_SHORTCUT_FULLSCREEN ->
                         mSystemUiProxy.startShortcutAndTaskWithLegacyTransition(
                                 initialShortcut, optionsBundle, firstTaskId, null /* options2 */,
-                                initialStagePosition, DEFAULT_SPLIT_RATIO, adapter, instanceId);
+                                initialStagePosition, SNAP_TO_50_50, adapter, instanceId);
             }
         }
     }
@@ -564,20 +669,19 @@
 
         private final int mInitialTaskId;
         private final int mSecondTaskId;
-        private final Consumer<Boolean> mSuccessCallback;
+        private Consumer<Boolean> mFinishCallback;
 
         RemoteSplitLaunchTransitionRunner(int initialTaskId, int secondTaskId,
                 @Nullable Consumer<Boolean> callback) {
             mInitialTaskId = initialTaskId;
             mSecondTaskId = secondTaskId;
-            mSuccessCallback = callback;
+            mFinishCallback = callback;
         }
 
         @Override
         public void startAnimation(IBinder transition, TransitionInfo info,
                 SurfaceControl.Transaction t,
                 IRemoteTransitionFinishedCallback finishedCallback) {
-            testLogD(LAUNCH_SPLIT_PAIR, "Received split startAnimation");
             final Runnable finishAdapter = () ->  {
                 try {
                     finishedCallback.onTransitionFinished(null /* wct */, null /* sct */);
@@ -587,13 +691,24 @@
             };
 
             MAIN_EXECUTOR.execute(() -> {
-                TaskViewUtils.composeRecentsSplitLaunchAnimator(mLaunchingTaskView, mStateManager,
-                        mDepthController, mInitialTaskId, mSecondTaskId, info, t, () -> {
+                // Only animate from taskView if it's already visible
+                boolean shouldLaunchFromTaskView = mLaunchingTaskView != null
+                        && mLaunchingTaskView.getRecentsView() != null
+                        && mLaunchingTaskView.getRecentsView().isTaskViewVisible(
+                        mLaunchingTaskView);
+                mSplitAnimationController.playSplitLaunchAnimation(
+                        shouldLaunchFromTaskView ? mLaunchingTaskView : null,
+                        mLaunchingIconView,
+                        mInitialTaskId,
+                        mSecondTaskId,
+                        null /* apps */,
+                        null /* wallpapers */,
+                        null /* nonApps */,
+                        mStateManager,
+                        mDepthController,
+                        info, t, () -> {
                             finishAdapter.run();
-                            if (mSuccessCallback != null) {
-                                mSuccessCallback.accept(true);
-                            }
-                            resetState();
+                            cleanup(true /*success*/);
                         });
             });
         }
@@ -602,6 +717,27 @@
         public void mergeAnimation(IBinder transition, TransitionInfo info,
                 SurfaceControl.Transaction t, IBinder mergeTarget,
                 IRemoteTransitionFinishedCallback finishedCallback) { }
+
+        @Override
+        public void onTransitionConsumed(IBinder transition, boolean aborted)
+                throws RemoteException {
+            MAIN_EXECUTOR.execute(() -> {
+                cleanup(false /*success*/);
+            });
+        }
+
+        /**
+         * Must be called on UI thread.
+         * @param success if launching the split apps occurred successfully or not
+         */
+        @UiThread
+        private void cleanup(boolean success) {
+            if (mFinishCallback != null) {
+                mFinishCallback.accept(success);
+                mFinishCallback = null;
+            }
+            resetState();
+        }
     }
 
     /**
@@ -626,9 +762,10 @@
                 RemoteAnimationTarget[] wallpapers, RemoteAnimationTarget[] nonApps,
                 Runnable finishedCallback) {
             postAsyncCallback(mHandler,
-                    () -> TaskViewUtils.composeRecentsSplitLaunchAnimatorLegacy(
-                            mLaunchingTaskView, mInitialTaskId, mSecondTaskId, apps, wallpapers,
-                            nonApps, mStateManager, mDepthController, () -> {
+                    () -> mSplitAnimationController.playSplitLaunchAnimation(mLaunchingTaskView,
+                            mLaunchingIconView, mInitialTaskId, mSecondTaskId, apps, wallpapers,
+                            nonApps, mStateManager, mDepthController, null /* info */, null /* t */,
+                            () -> {
                                 finishedCallback.run();
                                 if (mSuccessCallback != null) {
                                     mSuccessCallback.accept(true);
@@ -652,7 +789,7 @@
 
     /**
      * To be called whenever we exit split selection state. If
-     * {@link FeatureFlags#ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE} is set, this should be the
+     * {@link FeatureFlags#enableSplitContextually()} is set, this should be the
      * central way split is getting reset, which should then go through the callbacks to reset
      * other state.
      */
@@ -661,10 +798,12 @@
         dispatchOnSplitSelectionExit();
         mRecentsAnimationRunning = false;
         mLaunchingTaskView = null;
+        mLaunchingIconView = null;
         mAnimateCurrentTaskDismissal = false;
         mDismissingFromSplitPair = false;
         mFirstFloatingTaskView = null;
         mSplitInstructionsView = null;
+        mLaunchingFirstAppFullscreen = false;
     }
 
     /**
@@ -683,6 +822,10 @@
         return mSplitSelectDataHolder.isBothSplitAppsConfirmed();
     }
 
+    public boolean isLaunchingFirstAppFullscreen() {
+        return mLaunchingFirstAppFullscreen;
+    }
+
     public int getInitialTaskId() {
         return mSplitSelectDataHolder.getInitialTaskId();
     }
@@ -691,6 +834,9 @@
         return mSplitSelectDataHolder.getSecondTaskId();
     }
 
+    public void setLaunchingFirstAppFullscreen() {
+        mLaunchingFirstAppFullscreen = true;
+    }
     public void setFirstFloatingTaskView(FloatingTaskView floatingTaskView) {
         mFirstFloatingTaskView = floatingTaskView;
     }
@@ -713,6 +859,14 @@
         return mAppPairsController;
     }
 
+    public void setLaunchingIconView(AppPairIcon launchingIconView) {
+        mLaunchingIconView = launchingIconView;
+    }
+
+    public BackPressHandler getSplitBackHandler() {
+        return mSplitBackHandler;
+    }
+
     public void dump(String prefix, PrintWriter writer) {
         if (mSplitSelectDataHolder != null) {
             mSplitSelectDataHolder.dump(prefix, writer);
@@ -744,7 +898,7 @@
                 @Override
                 public boolean onRequestSplitSelect(ActivityManager.RunningTaskInfo taskInfo,
                         int splitPosition, Rect taskBounds) {
-                    if (!ENABLE_SPLIT_FROM_DESKTOP_TO_WORKSPACE.get()) return false;
+                    if (!isDesktopModeSupported()) return false;
                     MAIN_EXECUTOR.execute(() -> enterSplitSelect(taskInfo, splitPosition,
                             taskBounds));
                     return true;
diff --git a/quickstep/src/com/android/quickstep/util/SplitToWorkspaceController.java b/quickstep/src/com/android/quickstep/util/SplitToWorkspaceController.java
index 056f9aa..28efc97 100644
--- a/quickstep/src/com/android/quickstep/util/SplitToWorkspaceController.java
+++ b/quickstep/src/com/android/quickstep/util/SplitToWorkspaceController.java
@@ -16,9 +16,8 @@
 
 package com.android.quickstep.util;
 
-import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_DESKTOP_TO_WORKSPACE;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_FULLSCREEN_WITH_KEYBOARD_SHORTCUTS;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE;
+import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -30,15 +29,21 @@
 import android.graphics.Canvas;
 import android.graphics.Rect;
 import android.graphics.RectF;
+import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.UserHandle;
 import android.view.View;
 
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.Launcher;
+import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.R;
 import com.android.launcher3.anim.PendingAnimation;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.icons.BitmapInfo;
+import com.android.launcher3.icons.IconCache;
+import com.android.launcher3.model.data.PackageItemInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
 import com.android.quickstep.views.FloatingTaskView;
 import com.android.quickstep.views.RecentsView;
@@ -48,16 +53,15 @@
 public class SplitToWorkspaceController {
 
     private final Launcher mLauncher;
-    private final DeviceProfile mDP;
     private final SplitSelectStateController mController;
 
     private final int mHalfDividerSize;
+    private final IconCache mIconCache;
 
     public SplitToWorkspaceController(Launcher launcher, SplitSelectStateController controller) {
         mLauncher = launcher;
-        mDP = mLauncher.getDeviceProfile();
         mController = controller;
-
+        mIconCache = LauncherAppState.getInstanceNoCreate().getIconCache();
         mHalfDividerSize = mLauncher.getResources().getDimensionPixelSize(
                 R.dimen.multi_window_task_divider_size) / 2;
     }
@@ -69,22 +73,30 @@
      * @return {@code true} if we can attempt launch the widget into split, {@code false} otherwise
      *         to allow launcher to handle the click
      */
-    public boolean handleSecondWidgetSelectionForSplit(View view, PendingIntent pendingIntent) {
+    public boolean handleSecondWidgetSelectionForSplit(View view, PendingIntent pendingIntent,
+            Intent remoteResponseIntent) {
         if (shouldIgnoreSecondSplitLaunch()) {
             return false;
         }
 
-        // Convert original widgetView into bitmap to use for animation
-        // TODO(b/276361926) get the icon for this widget via PackageManager?
         int width = view.getWidth();
         int height = view.getHeight();
-        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
-        Canvas canvas = new Canvas(bitmap);
-        view.draw(canvas);
+        MODEL_EXECUTOR.execute(() -> {
+            PackageItemInfo infoInOut = new PackageItemInfo(pendingIntent.getCreatorPackage(),
+                    pendingIntent.getCreatorUserHandle());
+            mIconCache.getTitleAndIconForApp(infoInOut, false);
+            Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
 
-        mController.setSecondTask(pendingIntent);
+            view.post(() -> {
+                mController.setSecondWidget(pendingIntent, remoteResponseIntent);
+                // Convert original widgetView into bitmap to use for animation
+                Canvas canvas = new Canvas(bitmap);
+                view.draw(canvas);
+                startWorkspaceAnimation(view, bitmap,
+                        new BitmapDrawable(mLauncher.getResources(), infoInOut.bitmap.icon));
+            });
+        });
 
-        startWorkspaceAnimation(view, bitmap, null /*icon*/);
         return true;
     }
 
@@ -123,7 +135,8 @@
 
     private void startWorkspaceAnimation(@NonNull View view, @Nullable Bitmap bitmap,
             @Nullable Drawable icon) {
-        boolean isTablet = mLauncher.getDeviceProfile().isTablet;
+        DeviceProfile dp = mLauncher.getDeviceProfile();
+        boolean isTablet = dp.isTablet;
         SplitAnimationTimings timings = AnimUtils.getDeviceSplitToConfirmTimings(isTablet);
         PendingAnimation pendingAnimation = new PendingAnimation(timings.getDuration());
 
@@ -134,7 +147,7 @@
 
         RecentsView recentsView = mLauncher.getOverviewPanel();
         recentsView.getPagedOrientationHandler().getFinalSplitPlaceholderBounds(mHalfDividerSize,
-                mDP, mController.getActiveSplitStagePosition(), firstTaskEndingBounds,
+                dp, mController.getActiveSplitStagePosition(), firstTaskEndingBounds,
                 secondTaskEndingBounds);
 
         FloatingTaskView firstFloatingTaskView = mController.getFirstFloatingTaskView();
@@ -162,8 +175,7 @@
             public void onAnimationEnd(Animator animation) {
                 if (!mIsCancelled) {
                     mController.launchSplitTasks(aBoolean -> cleanUp());
-                    InteractionJankMonitorWrapper.end(
-                            InteractionJankMonitorWrapper.CUJ_SPLIT_SCREEN_ENTER);
+                    InteractionJankMonitorWrapper.end(Cuj.CUJ_SPLIT_SCREEN_ENTER);
                 }
             }
 
@@ -178,9 +190,8 @@
     }
 
     private boolean shouldIgnoreSecondSplitLaunch() {
-        return (!ENABLE_SPLIT_FROM_FULLSCREEN_WITH_KEYBOARD_SHORTCUTS.get()
-                && !ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()
-                && !ENABLE_SPLIT_FROM_DESKTOP_TO_WORKSPACE.get())
+        return (!FeatureFlags.enableSplitContextually()
+                && !isDesktopModeSupported())
                 || !mController.isSplitSelectActive();
     }
 }
diff --git a/quickstep/src/com/android/quickstep/util/SplitWithKeyboardShortcutController.java b/quickstep/src/com/android/quickstep/util/SplitWithKeyboardShortcutController.java
index f3fa86a..b663970 100644
--- a/quickstep/src/com/android/quickstep/util/SplitWithKeyboardShortcutController.java
+++ b/quickstep/src/com/android/quickstep/util/SplitWithKeyboardShortcutController.java
@@ -16,7 +16,7 @@
 
 package com.android.quickstep.util;
 
-import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_FULLSCREEN_WITH_KEYBOARD_SHORTCUTS;
+import static com.android.launcher3.config.FeatureFlags.enableSplitContextually;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_KEYBOARD_SHORTCUT_SPLIT_LEFT_TOP;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_KEYBOARD_SHORTCUT_SPLIT_RIGHT_BOTTOM;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
@@ -53,6 +53,7 @@
 
     private final QuickstepLauncher mLauncher;
     private final SplitSelectStateController mController;
+    private final RecentsAnimationDeviceState mDeviceState;
     private final OverviewComponentObserver mOverviewComponentObserver;
 
     private final int mSplitPlaceholderSize;
@@ -62,10 +63,9 @@
             SplitSelectStateController controller) {
         mLauncher = launcher;
         mController = controller;
-        RecentsAnimationDeviceState deviceState = new RecentsAnimationDeviceState(
-                launcher.getApplicationContext());
+        mDeviceState = new RecentsAnimationDeviceState(launcher.getApplicationContext());
         mOverviewComponentObserver = new OverviewComponentObserver(launcher.getApplicationContext(),
-                deviceState);
+                mDeviceState);
 
         mSplitPlaceholderSize = mLauncher.getResources().getDimensionPixelSize(
                 R.dimen.split_placeholder_size);
@@ -75,7 +75,7 @@
 
     @BinderThread
     public void enterStageSplit(boolean leftOrTop) {
-        if (!ENABLE_SPLIT_FROM_FULLSCREEN_WITH_KEYBOARD_SHORTCUTS.get()) {
+        if (!enableSplitContextually()) {
             return;
         }
         RecentsAnimationCallbacks callbacks = new RecentsAnimationCallbacks(
@@ -97,6 +97,7 @@
 
     public void onDestroy() {
         mOverviewComponentObserver.onDestroy();
+        mDeviceState.destroy();
     }
 
     private class SplitWithKeyboardShortcutRecentsAnimationListener implements
diff --git a/quickstep/src/com/android/quickstep/util/SurfaceTransactionApplier.java b/quickstep/src/com/android/quickstep/util/SurfaceTransactionApplier.java
index bb028a7..df5765c 100644
--- a/quickstep/src/com/android/quickstep/util/SurfaceTransactionApplier.java
+++ b/quickstep/src/com/android/quickstep/util/SurfaceTransactionApplier.java
@@ -25,6 +25,8 @@
 import android.view.View.OnAttachStateChangeListener;
 import android.view.ViewRootImpl;
 
+import androidx.annotation.NonNull;
+
 import com.android.quickstep.RemoteAnimationTargets.ReleaseCheck;
 
 /**
@@ -48,7 +50,7 @@
     /**
      * @param targetView The view in the surface that acts as synchronization anchor.
      */
-    public SurfaceTransactionApplier(View targetView) {
+    public SurfaceTransactionApplier(@NonNull View targetView) {
         if (targetView.isAttachedToWindow()) {
             initialize(targetView);
         } else {
diff --git a/quickstep/src/com/android/quickstep/util/SwipePipToHomeAnimator.java b/quickstep/src/com/android/quickstep/util/SwipePipToHomeAnimator.java
index 7cc2c46..6c89be1 100644
--- a/quickstep/src/com/android/quickstep/util/SwipePipToHomeAnimator.java
+++ b/quickstep/src/com/android/quickstep/util/SwipePipToHomeAnimator.java
@@ -16,8 +16,6 @@
 
 package com.android.quickstep.util;
 
-import static com.android.systemui.shared.system.InteractionJankMonitorWrapper.CUJ_APP_CLOSE_TO_PIP;
-
 import android.animation.Animator;
 import android.animation.RectEvaluator;
 import android.content.ComponentName;
@@ -35,6 +33,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.anim.AnimationSuccessListener;
 import com.android.launcher3.icons.IconProvider;
 import com.android.quickstep.TaskAnimationManager;
@@ -145,6 +144,12 @@
             sourceRectHint = null;
         }
 
+        if (sourceRectHint != null && !appBounds.contains(sourceRectHint)) {
+            // This is a situation in which the source hint rect is outside the app bounds, so it is
+            // not a valid rectangle to use for cropping app surface
+            sourceRectHint = null;
+        }
+
         if (sourceRectHint == null) {
             mSourceRectHint.setEmpty();
             mSourceHintRectInsets = null;
@@ -153,8 +158,8 @@
             // to other classes like PipTaskOrganizer / RecentsAnimationController to complete
             // the cleanup.
             mPipContentOverlay = new PipContentOverlay.PipAppIconOverlay(view.getContext(),
-                    mAppBounds, new IconProvider(context).getIcon(mActivityInfo),
-                    appIconSizePx);
+                    mAppBounds, mDestinationBounds,
+                    new IconProvider(context).getIcon(mActivityInfo), appIconSizePx);
             final SurfaceControl.Transaction tx = new SurfaceControl.Transaction();
             mPipContentOverlay.attach(tx, mLeash);
         } else {
@@ -168,19 +173,19 @@
         addAnimatorListener(new AnimationSuccessListener() {
             @Override
             public void onAnimationStart(Animator animation) {
-                InteractionJankMonitorWrapper.begin(view, CUJ_APP_CLOSE_TO_PIP);
+                InteractionJankMonitorWrapper.begin(view, Cuj.CUJ_LAUNCHER_APP_CLOSE_TO_PIP);
                 super.onAnimationStart(animation);
             }
 
             @Override
             public void onAnimationCancel(Animator animation) {
                 super.onAnimationCancel(animation);
-                InteractionJankMonitorWrapper.cancel(CUJ_APP_CLOSE_TO_PIP);
+                InteractionJankMonitorWrapper.cancel(Cuj.CUJ_LAUNCHER_APP_CLOSE_TO_PIP);
             }
 
             @Override
             public void onAnimationSuccess(Animator animator) {
-                InteractionJankMonitorWrapper.end(CUJ_APP_CLOSE_TO_PIP);
+                InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_APP_CLOSE_TO_PIP);
             }
 
             @Override
@@ -259,6 +264,10 @@
         return mDestinationBounds;
     }
 
+    public Rect getAppBounds() {
+        return mAppBounds;
+    }
+
     @Nullable
     public SurfaceControl getContentOverlay() {
         return mPipContentOverlay == null ? null : mPipContentOverlay.getLeash();
diff --git a/quickstep/src/com/android/quickstep/util/SystemActionConstants.java b/quickstep/src/com/android/quickstep/util/SystemActionConstants.java
new file mode 100644
index 0000000..522930f
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/util/SystemActionConstants.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep.util;
+
+/**
+ * Constants for registering SystemActions.
+ *
+ * Prefer to use AccessibilityService.GLOBAL_ACTION_* if applicable.
+ */
+public final class SystemActionConstants {
+
+    public static final int SYSTEM_ACTION_ID_TASKBAR = 499;
+    public static final int SYSTEM_ACTION_ID_SEARCH_SCREEN = 500;
+
+    /**
+     * For Taskbar broadcast intent filter.
+     */
+    public static final String ACTION_SHOW_TASKBAR = "ACTION_SHOW_TASKBAR";
+
+    /**
+     * For Search Screen broadcast intent filter.
+     */
+    public static final String ACTION_SEARCH_SCREEN = "ACTION_SEARCH_SCREEN";
+
+    private SystemActionConstants() {}
+}
diff --git a/quickstep/src/com/android/quickstep/util/SystemWindowManagerProxy.java b/quickstep/src/com/android/quickstep/util/SystemWindowManagerProxy.java
index c82cdb7..348e4dc 100644
--- a/quickstep/src/com/android/quickstep/util/SystemWindowManagerProxy.java
+++ b/quickstep/src/com/android/quickstep/util/SystemWindowManagerProxy.java
@@ -18,6 +18,7 @@
 import static android.view.Display.DEFAULT_DISPLAY;
 
 import android.content.Context;
+import android.graphics.Rect;
 import android.util.ArrayMap;
 import android.view.Surface;
 import android.view.WindowManager;
@@ -41,6 +42,12 @@
     }
 
     @Override
+    public Rect getCurrentBounds(Context displayInfoContext) {
+        return displayInfoContext.getResources().getConfiguration().windowConfiguration
+                .getMaxBounds();
+    }
+
+    @Override
     public int getRotation(Context displayInfoContext) {
         return displayInfoContext.getResources().getConfiguration().windowConfiguration
                 .getRotation();
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java b/quickstep/src/com/android/quickstep/util/TabletAppPairLaunchTimings.kt
similarity index 65%
copy from src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
copy to quickstep/src/com/android/quickstep/util/TabletAppPairLaunchTimings.kt
index 68843f2..fb2d63f 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
+++ b/quickstep/src/com/android/quickstep/util/TabletAppPairLaunchTimings.kt
@@ -13,10 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.uioverrides.flags;
 
-/**
- * Place holder class for developer options.
- */
-public class DeveloperOptionsFragment {
+package com.android.quickstep.util
+
+/** Timings for the app pair launch animation on tablets. */
+class TabletAppPairLaunchTimings : AppPairLaunchTimings(), SplitAnimationTimings {
+    override val STAGED_RECT_SLIDE_DURATION = 600
+    override fun getDuration() = SplitAnimationTimings.TABLET_APP_PAIR_LAUNCH_DURATION
 }
diff --git a/quickstep/src/com/android/quickstep/util/TaskGridNavHelper.java b/quickstep/src/com/android/quickstep/util/TaskGridNavHelper.java
new file mode 100644
index 0000000..98d363e
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/util/TaskGridNavHelper.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.util;
+
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+import androidx.annotation.IntDef;
+
+import com.android.launcher3.util.IntArray;
+
+import java.lang.annotation.Retention;
+
+/**
+ * Helper class for navigating RecentsView grid tasks via arrow keys and tab.
+ */
+public class TaskGridNavHelper {
+    public static final int CLEAR_ALL_PLACEHOLDER_ID = -1;
+    public static final int INVALID_FOCUSED_TASK_ID = -1;
+
+    public static final int DIRECTION_UP = 0;
+    public static final int DIRECTION_DOWN = 1;
+    public static final int DIRECTION_LEFT = 2;
+    public static final int DIRECTION_RIGHT = 3;
+    public static final int DIRECTION_TAB = 4;
+
+    @Retention(SOURCE)
+    @IntDef({DIRECTION_UP, DIRECTION_DOWN, DIRECTION_LEFT, DIRECTION_RIGHT, DIRECTION_TAB})
+    public @interface TASK_NAV_DIRECTION {}
+
+    private final IntArray mOriginalTopRowIds;
+    private IntArray mTopRowIds;
+    private IntArray mBottomRowIds;
+    private final int mFocusedTaskId;
+
+    public TaskGridNavHelper(IntArray topIds, IntArray bottomIds, int focusedTaskId) {
+        mFocusedTaskId = focusedTaskId;
+        mOriginalTopRowIds = topIds.clone();
+        generateTaskViewIdGrid(topIds, bottomIds);
+    }
+
+    private void generateTaskViewIdGrid(IntArray topRowIdArray, IntArray bottomRowIdArray) {
+        boolean hasFocusedTask = mFocusedTaskId != INVALID_FOCUSED_TASK_ID;
+        int maxSize =
+                Math.max(topRowIdArray.size(), bottomRowIdArray.size()) + (hasFocusedTask ? 1 : 0);
+        int minSize =
+                Math.min(topRowIdArray.size(), bottomRowIdArray.size()) + (hasFocusedTask ? 1 : 0);
+
+        // Add the focused task to the beginning of both arrays if it exists.
+        if (hasFocusedTask) {
+            topRowIdArray.add(0, mFocusedTaskId);
+            bottomRowIdArray.add(0, mFocusedTaskId);
+        }
+
+        // Fill in the shorter array with the ids from the longer one.
+        for (int i = minSize; i < maxSize; i++) {
+            if (i >= topRowIdArray.size()) {
+                topRowIdArray.add(bottomRowIdArray.get(i));
+            } else {
+                bottomRowIdArray.add(topRowIdArray.get(i));
+            }
+        }
+
+        // Add the clear all button to the end of both arrays
+        topRowIdArray.add(CLEAR_ALL_PLACEHOLDER_ID);
+        bottomRowIdArray.add(CLEAR_ALL_PLACEHOLDER_ID);
+
+        mTopRowIds = topRowIdArray;
+        mBottomRowIds = bottomRowIdArray;
+    }
+
+    /**
+     * Returns the id of the next page in the grid or -1 for the clear all button.
+     */
+    public int getNextGridPage(int currentPageTaskViewId, int delta,
+            @TASK_NAV_DIRECTION int direction, boolean cycle) {
+        boolean inTop = mTopRowIds.contains(currentPageTaskViewId);
+        int index = inTop ? mTopRowIds.indexOf(currentPageTaskViewId)
+                : mBottomRowIds.indexOf(currentPageTaskViewId);
+        int maxSize = Math.max(mTopRowIds.size(), mBottomRowIds.size());
+        int nextIndex = index + delta;
+
+        switch (direction) {
+            case DIRECTION_UP:
+            case DIRECTION_DOWN: {
+                return inTop ? mBottomRowIds.get(index) : mTopRowIds.get(index);
+            }
+            case DIRECTION_LEFT: {
+                int boundedIndex = cycle ? nextIndex % maxSize : Math.min(nextIndex, maxSize - 1);
+                return inTop ? mTopRowIds.get(boundedIndex)
+                        : mBottomRowIds.get(boundedIndex);
+            }
+            case DIRECTION_RIGHT: {
+                int boundedIndex =
+                        cycle ? (nextIndex < 0 ? maxSize - 1 : nextIndex) : Math.max(
+                                nextIndex, 0);
+                boolean inOriginalTop = mOriginalTopRowIds.contains(currentPageTaskViewId);
+                return inOriginalTop ? mTopRowIds.get(boundedIndex)
+                        : mBottomRowIds.get(boundedIndex);
+            }
+            case DIRECTION_TAB: {
+                int boundedIndex =
+                        cycle ? nextIndex < 0 ? maxSize - 1 : nextIndex % maxSize : Math.min(
+                                nextIndex, maxSize - 1);
+                if (delta >= 0) {
+                    return inTop && mTopRowIds.get(index) != mBottomRowIds.get(index)
+                            ? mBottomRowIds.get(index)
+                            : mTopRowIds.get(boundedIndex);
+                } else {
+                    if (mTopRowIds.contains(currentPageTaskViewId)) {
+                        return mBottomRowIds.get(boundedIndex);
+                    } else {
+                        // Go up to top if there is task above
+                        return mTopRowIds.get(index) != mBottomRowIds.get(index)
+                                ? mTopRowIds.get(index)
+                                : mBottomRowIds.get(boundedIndex);
+                    }
+                }
+            }
+            default:
+                return currentPageTaskViewId;
+        }
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCache.java b/quickstep/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCache.java
new file mode 100644
index 0000000..21c9e09
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCache.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.util;
+
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.systemui.shared.recents.model.Task;
+
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.PriorityQueue;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Predicate;
+
+/**
+ * A class to cache task id and its corresponding object (e.g. thumbnail)
+ *
+ * <p>Maximum size of the cache should be provided when creating this class. When the number of
+ * entries is larger than its max size, it would remove the entry with the smallest last active time
+ * @param <V> Type of object stored in the cache
+ */
+public class TaskKeyByLastActiveTimeCache<V> implements TaskKeyCache<V> {
+    private static final String TAG = TaskKeyByLastActiveTimeCache.class.getSimpleName();
+    private final AtomicInteger mMaxSize;
+    private final Map<Integer, Entry<V>> mMap;
+    // To sort task id by last active time
+    private final PriorityQueue<Task.TaskKey> mQueue;
+
+    public TaskKeyByLastActiveTimeCache(int maxSize) {
+        mMap = new HashMap(0);
+        mQueue = new PriorityQueue<>(Comparator.comparingLong(t -> t.lastActiveTime));
+        mMaxSize = new AtomicInteger(maxSize);
+    }
+
+    /**
+     * Removes all entries from the cache
+     */
+    @Override
+    public synchronized void evictAll() {
+        mMap.clear();
+        mQueue.clear();
+    }
+
+
+    /**
+     * Removes a particular entry from the cache
+     */
+    @Override
+    public synchronized void remove(Task.TaskKey key) {
+        if (key == null) {
+            return;
+        }
+
+        Entry<V> entry = mMap.remove(key.id);
+        if (entry != null) {
+            // Use real key in map entry to handle use case of using stub key for removal
+            mQueue.remove(entry.mKey);
+        }
+    }
+
+    /**
+     * Removes all entries matching keyCheck
+     */
+    @Override
+    public synchronized void removeAll(Predicate<Task.TaskKey> keyCheck) {
+        Iterator<Task.TaskKey> iterator = mQueue.iterator();
+        while (iterator.hasNext()) {
+            Task.TaskKey key = iterator.next();
+            if (keyCheck.test(key)) {
+                mMap.remove(key.id);
+                iterator.remove();
+            }
+        }
+    }
+
+    /**
+     * Gets the entry if it is still valid
+     */
+    @Override
+    public synchronized V getAndInvalidateIfModified(Task.TaskKey key) {
+        Entry<V> entry = mMap.get(key.id);
+        if (entry != null && entry.mKey.windowingMode == key.windowingMode
+                && entry.mKey.lastActiveTime == key.lastActiveTime) {
+            return entry.mValue;
+        } else {
+            remove(key);
+            return null;
+        }
+    }
+
+    /**
+     * Adds an entry to the cache, optionally evicting the last accessed entry excluding the newly
+     * added entry
+     */
+    @Override
+    public final synchronized void put(Task.TaskKey key, V value) {
+        if (key != null && value != null) {
+            Entry<V> entry = mMap.get(key.id);
+            // If the same key already exist, remove item for existing key
+            if (entry != null) {
+                mQueue.remove(entry.mKey);
+            }
+
+            removeExcessIfNeeded(mMaxSize.get() - 1);
+            mMap.put(key.id, new Entry<>(key, value));
+            mQueue.add(key);
+        } else {
+            Log.e(TAG, "Unexpected null key or value: " + key + ", " + value);
+        }
+    }
+
+    /**
+     * Updates the cache entry if it is already present in the cache
+     */
+    @Override
+    public synchronized void updateIfAlreadyInCache(int taskId, V data) {
+        Entry<V> entry = mMap.get(taskId);
+        if (entry != null) {
+            entry.mValue = data;
+        }
+    }
+
+    /**
+     * Updates cache size and remove excess if the number of existing entries is larger than new
+     * cache size
+     */
+    @Override
+    public synchronized void updateCacheSizeAndRemoveExcess(int cacheSize) {
+        mMaxSize.compareAndSet(mMaxSize.get(), cacheSize);
+        removeExcessIfNeeded(mMaxSize.get());
+    }
+
+    private synchronized void removeExcessIfNeeded(int maxSize) {
+        while (mQueue.size() > maxSize && !mQueue.isEmpty()) {
+            Task.TaskKey key = mQueue.poll();
+            mMap.remove(key.id);
+        }
+    }
+
+    /**
+     * Get maximum size of the cache
+     */
+    @Override
+    public int getMaxSize() {
+        return mMaxSize.get();
+    }
+
+    /**
+     * Get current size of the cache
+     */
+    @Override
+    public int getSize() {
+        return mMap.size();
+    }
+
+    @VisibleForTesting
+    PriorityQueue<Task.TaskKey> getQueue() {
+        return mQueue;
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/util/TaskKeyCache.java b/quickstep/src/com/android/quickstep/util/TaskKeyCache.java
new file mode 100644
index 0000000..8ee78ab
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/util/TaskKeyCache.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.util;
+
+import com.android.systemui.shared.recents.model.Task;
+
+import java.util.function.Predicate;
+
+/**
+ * An interface for caching task id and its corresponding object (e.g. thumbnail, task icon)
+ *
+ * @param <V> Type of object stored in the cache
+ */
+public interface TaskKeyCache<V> {
+
+    /**
+     * Removes all entries from the cache.
+     */
+    void evictAll();
+
+    /**
+     * Removes a particular entry from the cache.
+     */
+    void remove(Task.TaskKey key);
+
+    /**
+     * Removes all entries matching keyCheck.
+     */
+    void removeAll(Predicate<Task.TaskKey> keyCheck);
+
+    /**
+     * Gets the entry if it is still valid.
+     */
+    V getAndInvalidateIfModified(Task.TaskKey key);
+
+    /**
+     * Adds an entry to the cache, optionally evicting the last accessed entry.
+     */
+    void put(Task.TaskKey key, V value);
+
+    /**
+     * Updates the cache entry if it is already present in the cache.
+     */
+    void updateIfAlreadyInCache(int taskId, V data);
+
+    /**
+     * Updates cache size and remove excess if the number of existing entries is larger than new
+     * cache size.
+     */
+    default void updateCacheSizeAndRemoveExcess(int cacheSize) { }
+
+    /**
+     * Gets maximum size of the cache.
+     */
+    int getMaxSize();
+
+    /**
+     * Gets current size of the cache.
+     */
+    int getSize();
+
+    class Entry<V> {
+
+        final Task.TaskKey mKey;
+        V mValue;
+
+        Entry(Task.TaskKey key, V value) {
+            mKey = key;
+            mValue = value;
+        }
+
+        @Override
+        public int hashCode() {
+            return mKey.id;
+        }
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/util/TaskKeyLruCache.java b/quickstep/src/com/android/quickstep/util/TaskKeyLruCache.java
index 08a65fa..89f5d41 100644
--- a/quickstep/src/com/android/quickstep/util/TaskKeyLruCache.java
+++ b/quickstep/src/com/android/quickstep/util/TaskKeyLruCache.java
@@ -27,7 +27,7 @@
  * A simple LRU cache for task key entries
  * @param <V> The type of the value
  */
-public class TaskKeyLruCache<V> {
+public class TaskKeyLruCache<V> implements TaskKeyCache<V> {
 
     private final MyLinkedHashMap<V> mMap;
 
@@ -92,20 +92,14 @@
         }
     }
 
-    private static class Entry<V> {
+    @Override
+    public int getMaxSize() {
+        return mMap.mMaxSize;
+    }
 
-        final TaskKey mKey;
-        V mValue;
-
-        Entry(TaskKey key, V value) {
-            mKey = key;
-            mValue = value;
-        }
-
-        @Override
-        public int hashCode() {
-            return mKey.id;
-        }
+    @Override
+    public int getSize() {
+        return mMap.size();
     }
 
     private static class MyLinkedHashMap<V> extends LinkedHashMap<Integer, Entry<V>> {
diff --git a/quickstep/src/com/android/quickstep/util/TaskRemovedDuringLaunchListener.java b/quickstep/src/com/android/quickstep/util/TaskRemovedDuringLaunchListener.java
index c22e0bc..cdadd71 100644
--- a/quickstep/src/com/android/quickstep/util/TaskRemovedDuringLaunchListener.java
+++ b/quickstep/src/com/android/quickstep/util/TaskRemovedDuringLaunchListener.java
@@ -18,11 +18,13 @@
 
 import static android.app.ActivityTaskManager.INVALID_TASK_ID;
 
-import android.app.Activity;
+import static com.android.launcher3.BaseActivity.EVENT_DESTROYED;
+import static com.android.launcher3.BaseActivity.EVENT_RESUMED;
+import static com.android.launcher3.BaseActivity.EVENT_STOPPED;
 
 import androidx.annotation.NonNull;
 
-import com.android.launcher3.util.ActivityLifecycleCallbacksAdapter;
+import com.android.launcher3.BaseActivity;
 import com.android.quickstep.RecentsModel;
 
 /**
@@ -34,19 +36,28 @@
  * If we hit either of those signals and the task is no longer valid, then the registered failure
  * callback will be notified.
  */
-public class TaskRemovedDuringLaunchListener implements ActivityLifecycleCallbacksAdapter {
+public class TaskRemovedDuringLaunchListener {
 
-    private Activity mActivity;
+    private BaseActivity mActivity;
     private int mLaunchedTaskId = INVALID_TASK_ID;
     private Runnable mTaskLaunchFailedCallback = null;
 
+    private final Runnable mUnregisterCallback = this::unregister;
+    private final Runnable mResumeCallback = this::checkTaskLaunchFailed;
+
     /**
      * Registers a failure listener callback if it detects a scenario in which an app launch
      * failed before the transition finished.
      */
-    public void register(Activity activity, int launchedTaskId,
+    public void register(BaseActivity activity, int launchedTaskId,
             @NonNull Runnable taskLaunchFailedCallback) {
-        activity.registerActivityLifecycleCallbacks(this);
+        // The normal task launch case, Launcher stops and updates its state correctly
+        activity.addEventCallback(EVENT_STOPPED, mUnregisterCallback);
+        // The transition hasn't finished but Launcher was resumed, check if the launch failed
+        activity.addEventCallback(EVENT_RESUMED, mResumeCallback);
+        // If we somehow don't get any of the above signals, then just unregister this listener
+        activity.addEventCallback(EVENT_DESTROYED, mUnregisterCallback);
+
         mActivity = activity;
         mLaunchedTaskId = launchedTaskId;
         mTaskLaunchFailedCallback = taskLaunchFailedCallback;
@@ -56,7 +67,10 @@
      * Unregisters the failure listener.
      */
     private void unregister() {
-        mActivity.unregisterActivityLifecycleCallbacks(this);
+        mActivity.removeEventCallback(EVENT_STOPPED, mUnregisterCallback);
+        mActivity.removeEventCallback(EVENT_RESUMED, mResumeCallback);
+        mActivity.removeEventCallback(EVENT_DESTROYED, mUnregisterCallback);
+
         mActivity = null;
         mLaunchedTaskId = INVALID_TASK_ID;
         mTaskLaunchFailedCallback = null;
@@ -70,32 +84,16 @@
         checkTaskLaunchFailed();
     }
 
-    @Override
-    public void onActivityStopped(Activity activity) {
-        // The normal task launch case, Launcher stops and updates its state correctly
-        unregister();
-    }
-
-    @Override
-    public void onActivityResumed(Activity activity) {
-        // The transition hasn't finished but Launcher was resumed, check if the launch failed
-        checkTaskLaunchFailed();
-    }
-
-    @Override
-    public void onActivityDestroyed(Activity activity) {
-        // If we somehow don't get any of the above signals, then just unregister this listener
-        unregister();
-    }
-
     private void checkTaskLaunchFailed() {
         if (mLaunchedTaskId != INVALID_TASK_ID) {
             final int launchedTaskId = mLaunchedTaskId;
             final Runnable taskLaunchFailedCallback = mTaskLaunchFailedCallback;
             RecentsModel.INSTANCE.getNoCreate().isTaskRemoved(mLaunchedTaskId, (taskRemoved) -> {
                 if (taskRemoved) {
-                    ActiveGestureLog.INSTANCE.addLog("Launch failed, task (id=" + launchedTaskId
-                            + ") finished mid transition");
+                    ActiveGestureLog.INSTANCE.addLog(
+                            new ActiveGestureLog.CompoundString("Launch failed, task (id=")
+                                    .append(launchedTaskId)
+                                    .append(") finished mid transition"));
                     taskLaunchFailedCallback.run();
                 }
             }, (task) -> true /* filter */);
diff --git a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java
index 9b2a449..065a9c5 100644
--- a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java
+++ b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java
@@ -17,6 +17,7 @@
 
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
 
+import static com.android.launcher3.Flags.enableGridOnlyOverview;
 import static com.android.launcher3.states.RotationHelper.deltaRotation;
 import static com.android.launcher3.touch.PagedOrientationHandler.MATRIX_POST_TRANSLATE;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT;
@@ -26,6 +27,7 @@
 import static com.android.quickstep.TaskAnimationManager.ENABLE_SHELL_TRANSITIONS;
 import static com.android.quickstep.util.RecentsOrientedState.postDisplayRotation;
 import static com.android.quickstep.util.RecentsOrientedState.preDisplayRotation;
+import static com.android.quickstep.util.SplitScreenUtils.convertLauncherSplitBoundsToShell;
 
 import android.animation.TimeInterpolator;
 import android.content.Context;
@@ -72,6 +74,7 @@
     private final boolean mIsRecentsRtl;
 
     private final Rect mTaskRect = new Rect();
+    private final Rect mFullTaskSize = new Rect();
     private final PointF mPivot = new PointF();
     private DeviceProfile mDp;
     @StagePosition
@@ -107,6 +110,7 @@
     private boolean mIsDesktopTask;
     private int mTaskRectTranslationX;
     private int mTaskRectTranslationY;
+    private int mPivotOffsetX;
 
     public TaskViewSimulator(Context context, BaseActivityInterface sizeStrategy) {
         mContext = context;
@@ -128,6 +132,47 @@
         mDp = dp;
         mLayoutValid = false;
         mOrientationState.setDeviceProfile(dp);
+        calculateTaskSize();
+    }
+
+    private void calculateTaskSize() {
+        if (mDp == null) {
+            return;
+        }
+
+        if (mIsGridTask) {
+            mSizeStrategy.calculateGridTaskSize(mContext, mDp, mFullTaskSize,
+                    mOrientationState.getOrientationHandler());
+        } else {
+            mSizeStrategy.calculateTaskSize(mContext, mDp, mFullTaskSize,
+                    mOrientationState.getOrientationHandler());
+        }
+
+        if (mSplitBounds != null) {
+            // The task rect changes according to the staged split task sizes, but recents
+            // fullscreen scale and pivot remains the same since the task fits into the existing
+            // sized task space bounds
+            mTaskRect.set(mFullTaskSize);
+            mOrientationState.getOrientationHandler()
+                    .setSplitTaskSwipeRect(mDp, mTaskRect, mSplitBounds, mStagePosition);
+            mTaskRect.offset(mTaskRectTranslationX, mTaskRectTranslationY);
+        } else if (mIsDesktopTask) {
+            // For desktop, tasks can take up only part of the screen size.
+            // Full task size represents the whole screen size, but scaled down to fit in recents.
+            // Task rect will represent the scaled down thumbnail position and is placed inside
+            // full task size as it is on the home screen.
+            PointF fullscreenTaskDimension = new PointF();
+            BaseActivityInterface.getTaskDimension(mContext, mDp, fullscreenTaskDimension);
+            // Calculate the scale down factor used in recents
+            float scale = mFullTaskSize.width() / fullscreenTaskDimension.x;
+            mTaskRect.set(mThumbnailPosition);
+            mTaskRect.scale(scale);
+            // Ensure the task rect is inside the full task rect
+            mTaskRect.offset(mFullTaskSize.left, mFullTaskSize.top);
+        } else {
+            mTaskRect.set(mFullTaskSize);
+            mTaskRect.offset(mTaskRectTranslationX, mTaskRectTranslationY);
+        }
     }
 
     /**
@@ -145,35 +190,11 @@
         if (mDp == null) {
             return 1;
         }
-
-        if (mIsDesktopTask) {
-            mTaskRect.set(mThumbnailPosition);
-            mPivot.set(mTaskRect.centerX(), mTaskRect.centerY());
-            return 1;
-        }
-
-        if (mIsGridTask) {
-            mSizeStrategy.calculateGridTaskSize(mContext, mDp, mTaskRect,
-                    mOrientationState.getOrientationHandler());
-        } else {
-            mSizeStrategy.calculateTaskSize(mContext, mDp, mTaskRect,
-                    mOrientationState.getOrientationHandler());
-        }
-
-        Rect fullTaskSize;
-        if (mSplitBounds != null) {
-            // The task rect changes according to the staged split task sizes, but recents
-            // fullscreen scale and pivot remains the same since the task fits into the existing
-            // sized task space bounds
-            fullTaskSize = new Rect(mTaskRect);
-            mOrientationState.getOrientationHandler()
-                    .setSplitTaskSwipeRect(mDp, mTaskRect, mSplitBounds, mStagePosition);
-            mTaskRect.offset(mTaskRectTranslationX, mTaskRectTranslationY);
-        } else {
-            fullTaskSize = mTaskRect;
-        }
-        fullTaskSize.offset(mTaskRectTranslationX, mTaskRectTranslationY);
-        return mOrientationState.getFullScreenScaleAndPivot(fullTaskSize, mDp, mPivot);
+        // Copy mFullTaskSize instead of updating it directly so it could be reused next time
+        // without recalculating
+        Rect scaleRect = new Rect(mFullTaskSize);
+        scaleRect.offset(mTaskRectTranslationX + mPivotOffsetX, mTaskRectTranslationY);
+        return mOrientationState.getFullScreenScaleAndPivot(scaleRect, mDp, mPivot);
     }
 
     /**
@@ -197,12 +218,13 @@
         mSplitBounds = splitInfo;
         if (mSplitBounds == null) {
             mStagePosition = STAGE_POSITION_UNDEFINED;
-            return;
+        } else {
+            mStagePosition = mThumbnailPosition.equals(splitInfo.leftTopBounds)
+                    ? STAGE_POSITION_TOP_OR_LEFT : STAGE_POSITION_BOTTOM_OR_RIGHT;
+            mPositionHelper.setSplitBounds(convertLauncherSplitBoundsToShell(mSplitBounds),
+                    mStagePosition);
         }
-        mStagePosition = mThumbnailPosition.equals(splitInfo.leftTopBounds) ?
-                STAGE_POSITION_TOP_OR_LEFT :
-                STAGE_POSITION_BOTTOM_OR_RIGHT;
-        mPositionHelper.setSplitBounds(convertSplitBounds(mSplitBounds), mStagePosition);
+        calculateTaskSize();
     }
 
     /**
@@ -248,6 +270,8 @@
     public void setTaskRectTranslation(int taskRectTranslationX, int taskRectTranslationY) {
         mTaskRectTranslationX = taskRectTranslationX;
         mTaskRectTranslationY = taskRectTranslationY;
+        // Re-calculate task size after changing translation
+        calculateTaskSize();
     }
 
     /**
@@ -255,6 +279,11 @@
      */
     public void addAppToOverviewAnim(PendingAnimation pa, TimeInterpolator interpolator) {
         pa.addFloat(fullScreenProgress, AnimatedFloat.VALUE, 1, 0, interpolator);
+        if (enableGridOnlyOverview() && mDp.isTablet) {
+            int translationXToMiddle = mDp.widthPx / 2 - mFullTaskSize.centerX();
+            taskPrimaryTranslation.value = translationXToMiddle;
+            mPivotOffsetX = translationXToMiddle;
+        }
         pa.addFloat(recentsViewScale, AnimatedFloat.VALUE, getFullScreenScale(), 1, interpolator);
     }
 
@@ -306,8 +335,8 @@
     public void applyWindowToHomeRotation(Matrix matrix) {
         matrix.postTranslate(mDp.windowX, mDp.windowY);
         postDisplayRotation(deltaRotation(
-                mOrientationState.getRecentsActivityRotation(),
-                mOrientationState.getDisplayRotation()),
+                        mOrientationState.getRecentsActivityRotation(),
+                        mOrientationState.getDisplayRotation()),
                 mDp.widthPx, mDp.heightPx, matrix);
     }
 
@@ -335,8 +364,7 @@
             boolean isRtlEnabled = !mIsRecentsRtl;
             mPositionHelper.updateThumbnailMatrix(
                     mThumbnailPosition, mThumbnailData, mTaskRect.width(), mTaskRect.height(),
-                    mDp.widthPx, mDp.heightPx, mDp.taskbarHeight, mDp.isTablet,
-                    mOrientationState.getRecentsActivityRotation(), isRtlEnabled);
+                    mDp.isTablet, mOrientationState.getRecentsActivityRotation(), isRtlEnabled);
             mPositionHelper.getMatrix().invert(mInversePositionMatrix);
             if (DEBUG) {
                 Log.d(TAG, " taskRect: " + mTaskRect);
@@ -345,7 +373,7 @@
 
         float fullScreenProgress = Utilities.boundToRange(this.fullScreenProgress.value, 0, 1);
         mCurrentFullscreenParams.setProgress(fullScreenProgress, recentsViewScale.value,
-                /* taskViewScale= */1f, mTaskRect.width(), mDp, mPositionHelper);
+                /* taskViewScale= */1f);
 
         // Apply thumbnail matrix
         float taskWidth = mTaskRect.width();
@@ -410,9 +438,16 @@
             // conflict with layers that WM core positions (ie. the input consumers).  For shell
             // transitions, the animation leashes are reparented to an animation container so we
             // can bump layers as needed.
-            builder.setLayer(mDrawsBelowRecents
-                    ? Integer.MIN_VALUE + app.prefixOrderIndex
-                    : ENABLE_SHELL_TRANSITIONS ? Integer.MAX_VALUE : 0);
+            if (ENABLE_SHELL_TRANSITIONS) {
+                builder.setLayer(mDrawsBelowRecents
+                        ? Integer.MIN_VALUE + app.prefixOrderIndex
+                        // 1000 is an arbitrary number to give room for multiple layers.
+                        : Integer.MAX_VALUE - 1000 + app.prefixOrderIndex);
+            } else {
+                builder.setLayer(mDrawsBelowRecents
+                        ? Integer.MIN_VALUE + app.prefixOrderIndex
+                        : 0);
+            }
         }
     }
 
@@ -429,16 +464,4 @@
         // Ideally we should use square-root. This is an optimization as one of the dimension is 0.
         return Math.max(Math.abs(mTempPoint[0]), Math.abs(mTempPoint[1]));
     }
-
-    /**
-     * TODO(b/254378592): Remove this after consolidation of classes
-     */
-    public static com.android.wm.shell.util.SplitBounds convertSplitBounds(SplitBounds bounds) {
-        return new com.android.wm.shell.util.SplitBounds(
-                bounds.leftTopBounds,
-                bounds.rightBottomBounds,
-                bounds.leftTopTaskId,
-                bounds.rightBottomTaskId
-        );
-    }
 }
diff --git a/quickstep/src/com/android/quickstep/util/TransformParams.java b/quickstep/src/com/android/quickstep/util/TransformParams.java
index ca680db..ebcef30 100644
--- a/quickstep/src/com/android/quickstep/util/TransformParams.java
+++ b/quickstep/src/com/android/quickstep/util/TransformParams.java
@@ -16,13 +16,10 @@
 package com.android.quickstep.util;
 
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
-import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
 
 import android.util.FloatProperty;
 import android.view.RemoteAnimationTarget;
 
-import com.android.app.animation.Interpolators;
-import com.android.launcher3.Utilities;
 import com.android.quickstep.RemoteAnimationTargets;
 import com.android.quickstep.util.SurfaceTransaction.SurfaceProperties;
 
@@ -152,19 +149,7 @@
                 if (activityType == ACTIVITY_TYPE_HOME) {
                     mHomeBuilderProxy.onBuildTargetParams(builder, app, this);
                 } else {
-                    // Fade out translucent overlay.
-                    // TODO(b/303351074): use app.isNotInRecents directly once it is fixed.
-                    boolean isNotInRecents = app.taskInfo != null
-                            && (app.taskInfo.baseIntent.getFlags()
-                                    & FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) != 0;
-                    if (app.isTranslucent && isNotInRecents) {
-                        float progress = Utilities.boundToRange(getProgress(), 0, 1);
-                        builder.setAlpha(1 - Interpolators.DECELERATE_QUINT
-                                .getInterpolation(progress));
-                    } else {
-                        builder.setAlpha(getTargetAlpha());
-                    }
-
+                    builder.setAlpha(getTargetAlpha());
                     proxy.onBuildTargetParams(builder, app, this);
                 }
             } else {
diff --git a/quickstep/src/com/android/quickstep/util/unfold/LauncherJankMonitorTransitionProgressListener.kt b/quickstep/src/com/android/quickstep/util/unfold/LauncherJankMonitorTransitionProgressListener.kt
new file mode 100644
index 0000000..b4ca35e
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/util/unfold/LauncherJankMonitorTransitionProgressListener.kt
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.util.unfold
+
+import android.view.View
+import com.android.internal.jank.Cuj
+import com.android.systemui.shared.system.InteractionJankMonitorWrapper
+import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener
+import java.util.function.Supplier
+
+/** Reports beginning and end of the unfold animation to interaction jank monitor */
+class LauncherJankMonitorTransitionProgressListener(
+    private val attachedViewProvider: Supplier<View>
+) : TransitionProgressListener {
+
+    override fun onTransitionStarted() {
+        InteractionJankMonitorWrapper.begin(
+            attachedViewProvider.get(),
+            Cuj.CUJ_LAUNCHER_UNFOLD_ANIM
+        )
+    }
+
+    override fun onTransitionFinished() {
+        InteractionJankMonitorWrapper.end(Cuj.CUJ_LAUNCHER_UNFOLD_ANIM)
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/views/ClearAllButton.java b/quickstep/src/com/android/quickstep/views/ClearAllButton.java
index 19ac1f8..fba847f 100644
--- a/quickstep/src/com/android/quickstep/views/ClearAllButton.java
+++ b/quickstep/src/com/android/quickstep/views/ClearAllButton.java
@@ -16,7 +16,7 @@
 
 package com.android.quickstep.views;
 
-import static com.android.launcher3.config.FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW;
+import static com.android.launcher3.Flags.enableGridOnlyOverview;
 
 import android.content.Context;
 import android.util.AttributeSet;
@@ -251,7 +251,7 @@
     private float getOriginalTranslationY() {
         DeviceProfile deviceProfile = mActivity.getDeviceProfile();
         if (deviceProfile.isTablet) {
-            if (ENABLE_GRID_ONLY_OVERVIEW.get()) {
+            if (enableGridOnlyOverview()) {
                 return (getRecentsView().getLastComputedTaskSize().height()
                         + deviceProfile.overviewTaskThumbnailTopMarginPx) / 2.0f
                         + deviceProfile.overviewRowSpacing;
diff --git a/quickstep/src/com/android/quickstep/views/DesktopTaskView.java b/quickstep/src/com/android/quickstep/views/DesktopTaskView.java
index dfd4390..6b00473 100644
--- a/quickstep/src/com/android/quickstep/views/DesktopTaskView.java
+++ b/quickstep/src/com/android/quickstep/views/DesktopTaskView.java
@@ -18,7 +18,6 @@
 
 import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
 
-import static com.android.launcher3.LauncherState.NORMAL;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_UNDEFINED;
 
 import android.content.Context;
@@ -41,19 +40,21 @@
 import androidx.annotation.Nullable;
 
 import com.android.launcher3.DeviceProfile;
-import com.android.launcher3.Launcher;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.desktop.DesktopRecentsTransitionController;
 import com.android.launcher3.icons.IconProvider;
 import com.android.launcher3.util.RunnableList;
 import com.android.quickstep.RecentsModel;
-import com.android.quickstep.SystemUiProxy;
 import com.android.quickstep.TaskThumbnailCache;
 import com.android.quickstep.util.CancellableTask;
 import com.android.quickstep.util.RecentsOrientedState;
 import com.android.systemui.shared.recents.model.Task;
 import com.android.systemui.shared.recents.model.ThumbnailData;
 import com.android.systemui.shared.system.QuickStepContract;
+import com.android.wm.shell.Flags;
+
+import kotlin.Unit;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -62,23 +63,17 @@
 import java.util.List;
 import java.util.function.Consumer;
 
+
 /**
  * TaskView that contains all tasks that are part of the desktop.
  */
 // TODO(b/249371338): TaskView needs to be refactored to have better support for N tasks.
 public class DesktopTaskView extends TaskView {
 
-    /** Flag to indicate whether desktop windowing proto 1 is enabled */
-    private static final boolean DESKTOP_IS_PROTO1_ENABLED = SystemProperties.getBoolean(
-            "persist.wm.debug.desktop_mode", false);
-
-    /** Flag to indicate whether desktop windowing proto 2 is enabled */
-    public static final boolean DESKTOP_IS_PROTO2_ENABLED = SystemProperties.getBoolean(
+    private static final boolean DESKTOP_MODE_SUPPORTED = SystemProperties.getBoolean(
             "persist.wm.debug.desktop_mode_2", false);
 
-    /** Flags to indicate whether desktop mode is available on the device */
-    public static final boolean DESKTOP_MODE_SUPPORTED =
-            DESKTOP_IS_PROTO1_ENABLED || DESKTOP_IS_PROTO2_ENABLED;
+    private static final boolean ENABLE_DESKTOP_WINDOWING = Flags.enableDesktopWindowing();
 
     private static final String TAG = DesktopTaskView.class.getSimpleName();
 
@@ -98,6 +93,19 @@
 
     private View mBackgroundView;
 
+    private int mChildCountAtInflation;
+
+    /** Check whether desktop windowing is enabled */
+    public static boolean isDesktopModeSupported() {
+        // Check for aconfig flag first
+        if (ENABLE_DESKTOP_WINDOWING) {
+            return true;
+        }
+        // Fall back to sysprop flag
+        // TODO(b/304778354): remove sysprop once desktop aconfig flag supports dynamic overriding
+        return DESKTOP_MODE_SUPPORTED;
+    }
+
     public DesktopTaskView(Context context) {
         this(context, null);
     }
@@ -147,12 +155,15 @@
         Drawable iconBackground = getResources().getDrawable(R.drawable.bg_circle,
                 getContext().getTheme());
         mIconView.setDrawable(new LayerDrawable(new Drawable[]{iconBackground, icon}));
+
+        mChildCountAtInflation = getChildCount();
     }
 
     @Override
-    protected void updateBorderBounds(Rect bounds) {
+    protected Unit updateBorderBounds(@NonNull Rect bounds) {
         bounds.set(mBackgroundView.getLeft(), mBackgroundView.getTop(), mBackgroundView.getRight(),
                 mBackgroundView.getBottom());
+        return Unit.INSTANCE;
     }
 
     @Override
@@ -191,7 +202,9 @@
             for (int i = 0; i < diff; i++) {
                 TaskThumbnailView snapshotView = new TaskThumbnailView(getContext());
                 mSnapshotViews.add(snapshotView);
-                addView(snapshotView, new LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
+                // Add snapshots from to position after the initial child views.
+                addView(snapshotView, mChildCountAtInflation,
+                        new LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
             }
         }
 
@@ -335,21 +348,27 @@
     }
 
     @Override
-    protected boolean showTaskMenuWithContainer(IconView iconView) {
+    protected boolean showTaskMenuWithContainer(TaskViewIcon iconView) {
         return false;
     }
 
-    @Override
-    public RunnableList launchTasks() {
-        SystemUiProxy.INSTANCE.get(getContext()).showDesktopApps(mActivity.getDisplayId());
-        Launcher.getLauncher(mActivity).getStateManager().goToState(NORMAL, false /* animated */);
-        return null;
-    }
-
     @Nullable
     @Override
     public RunnableList launchTaskAnimated() {
-        return launchTasks();
+        RunnableList endCallback = new RunnableList();
+
+        RecentsView recentsView = getRecentsView();
+        DesktopRecentsTransitionController recentsController =
+                recentsView.getDesktopRecentsController();
+        if (recentsController != null) {
+            recentsController.launchDesktopFromRecents(this, success -> {
+                endCallback.executeAllAndDestroy();
+            });
+        }
+
+        // Callbacks get run from recentsView for case when recents animation already running
+        recentsView.addSideTaskLaunchCallback(endCallback);
+        return endCallback;
     }
 
     @Override
@@ -507,8 +526,7 @@
         for (int i = 0; i < mSnapshotViewMap.size(); i++) {
             if (i == 0) {
                 // All snapshots share the same params. Only update it with the first snapshot.
-                updateFullscreenParams(mSnapshotDrawParams,
-                        mSnapshotView.getPreviewPositionHelper());
+                updateFullscreenParams(mSnapshotDrawParams);
             }
             mSnapshotViewMap.valueAt(i).setFullscreenParams(mSnapshotDrawParams);
         }
diff --git a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
index e5a0e10..57b265b 100644
--- a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
+++ b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java
@@ -180,7 +180,7 @@
         }
 
         // For portrait grid only height of task changes, not width. So we keep the text the same
-        if (!mActivity.getDeviceProfile().isLandscape) {
+        if (!mActivity.getDeviceProfile().isLeftRightSplit) {
             mSplitBannerConfig = SPLIT_GRID_BANNER_LARGE;
             return;
         }
diff --git a/quickstep/src/com/android/quickstep/views/FloatingAppPairBackground.kt b/quickstep/src/com/android/quickstep/views/FloatingAppPairBackground.kt
new file mode 100644
index 0000000..3a5873b
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/views/FloatingAppPairBackground.kt
@@ -0,0 +1,358 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep.views
+
+import android.content.Context
+import android.graphics.Canvas
+import android.graphics.ColorFilter
+import android.graphics.Paint
+import android.graphics.PixelFormat
+import android.graphics.RectF
+import android.graphics.drawable.Drawable
+import android.os.Build
+import android.view.animation.Interpolator
+import com.android.app.animation.Interpolators
+import com.android.launcher3.Launcher
+import com.android.launcher3.R
+import com.android.launcher3.Utilities
+import com.android.quickstep.util.AnimUtils
+import com.android.systemui.shared.system.QuickStepContract
+
+/**
+ * A Drawable that is drawn onto [FloatingAppPairView] every frame during the app pair launch
+ * animation. Consists of a rectangular background that splits into two, and two app icons that
+ * increase in size during the animation.
+ */
+class FloatingAppPairBackground(
+    context: Context,
+    private val floatingView: FloatingAppPairView, // the view that we will draw this background on
+    private val appIcon1: Drawable,
+    private val appIcon2: Drawable,
+    dividerPos: Int
+) : Drawable() {
+    companion object {
+        // Design specs -- app icons start small and expand during the animation
+        private val STARTING_ICON_SIZE_PX = Utilities.dpToPx(22f)
+        private val ENDING_ICON_SIZE_PX = Utilities.dpToPx(66f)
+
+        // Null values to use with drawDoubleRoundRect(), since there doesn't seem to be any other
+        // API for drawing rectangles with 4 different corner radii.
+        private val EMPTY_RECT = RectF()
+        private val ARRAY_OF_ZEROES = FloatArray(8)
+    }
+
+    private val launcher: Launcher
+    private val backgroundPaint = Paint(Paint.ANTI_ALIAS_FLAG)
+
+    // Animation interpolators
+    private val expandXInterpolator: Interpolator
+    private val expandYInterpolator: Interpolator
+    private val cellSplitInterpolator: Interpolator
+    private val iconFadeInterpolator: Interpolator
+
+    // Device-specific measurements
+    private val deviceCornerRadius: Float
+    private val deviceHalfDividerSize: Float
+    private val desiredSplitRatio: Float
+
+    init {
+        launcher = Launcher.getLauncher(context)
+        val dp = launcher.deviceProfile
+        // Set up background paint color
+        val ta = context.theme.obtainStyledAttributes(R.styleable.FolderIconPreview)
+        backgroundPaint.style = Paint.Style.FILL
+        backgroundPaint.color = ta.getColor(R.styleable.FolderIconPreview_folderPreviewColor, 0)
+        ta.recycle()
+        // Set up timings and interpolators
+        val timings = AnimUtils.getDeviceAppPairLaunchTimings(launcher.deviceProfile.isTablet)
+        expandXInterpolator =
+            Interpolators.clampToProgress(
+                timings.getStagedRectScaleXInterpolator(),
+                timings.stagedRectSlideStartOffset,
+                timings.stagedRectSlideEndOffset
+            )
+        expandYInterpolator =
+            Interpolators.clampToProgress(
+                timings.getStagedRectScaleYInterpolator(),
+                timings.stagedRectSlideStartOffset,
+                timings.stagedRectSlideEndOffset
+            )
+        cellSplitInterpolator =
+            Interpolators.clampToProgress(
+                timings.cellSplitInterpolator,
+                timings.cellSplitStartOffset,
+                timings.cellSplitEndOffset
+            )
+        iconFadeInterpolator =
+            Interpolators.clampToProgress(
+                timings.iconFadeInterpolator,
+                timings.iconFadeStartOffset,
+                timings.iconFadeEndOffset
+            )
+
+        // Find device-specific measurements
+        deviceCornerRadius = QuickStepContract.getWindowCornerRadius(launcher)
+        deviceHalfDividerSize =
+            launcher.resources.getDimensionPixelSize(R.dimen.multi_window_task_divider_size) / 2f
+        val dividerCenterPos = dividerPos + deviceHalfDividerSize
+        desiredSplitRatio =
+            if (dp.isLeftRightSplit) dividerCenterPos / dp.widthPx
+            else dividerCenterPos / dp.heightPx
+    }
+
+    override fun draw(canvas: Canvas) {
+        if (launcher.deviceProfile.isLandscape) {
+            drawLeftRightSplit(canvas)
+        } else {
+            drawTopBottomSplit(canvas)
+        }
+    }
+
+    /** When device is in landscape, we draw the rectangles with a left-right split. */
+    private fun drawLeftRightSplit(canvas: Canvas) {
+        val progress = floatingView.progress
+
+        // Since the entire floating app pair surface is scaling up during this animation, we
+        // scale down most of these drawn elements so that they appear the proper size on-screen.
+        val scaleFactorX = floatingView.scaleX
+        val scaleFactorY = floatingView.scaleY
+
+        // Get the bounds where we will draw the background image
+        val width = bounds.width().toFloat()
+        val height = bounds.height().toFloat()
+
+        // Get device-specific measurements
+        val cornerRadiusX = deviceCornerRadius / scaleFactorX
+        val cornerRadiusY = deviceCornerRadius / scaleFactorY
+        val halfDividerSize = deviceHalfDividerSize / scaleFactorX
+
+        // Calculate changing measurements for background
+        // We add one pixel to some measurements to create a smooth edge with no gaps
+        val onePixel = 1f / scaleFactorX
+        val changingDividerSize =
+            (cellSplitInterpolator.getInterpolation(progress) * halfDividerSize) - onePixel
+        val changingInnerRadiusX = cellSplitInterpolator.getInterpolation(progress) * cornerRadiusX
+        val changingInnerRadiusY = cellSplitInterpolator.getInterpolation(progress) * cornerRadiusY
+        val dividerCenterPos = width * desiredSplitRatio
+
+        // The left half of the background image
+        val leftSide = RectF(
+            0f,
+            0f,
+            dividerCenterPos - changingDividerSize,
+            height
+        )
+        // The right half of the background image
+        val rightSide = RectF(
+            dividerCenterPos + changingDividerSize,
+            0f,
+            width,
+            height
+        )
+
+        // Draw background
+        drawCustomRoundedRect(
+            canvas,
+            leftSide,
+            floatArrayOf(
+                cornerRadiusX, cornerRadiusY,
+                changingInnerRadiusX, changingInnerRadiusY,
+                changingInnerRadiusX, changingInnerRadiusY,
+                cornerRadiusX, cornerRadiusY
+            )
+        )
+        drawCustomRoundedRect(
+            canvas,
+            rightSide,
+            floatArrayOf(
+                changingInnerRadiusX, changingInnerRadiusY,
+                cornerRadiusX, cornerRadiusY,
+                cornerRadiusX, cornerRadiusY,
+                changingInnerRadiusX, changingInnerRadiusY
+            )
+        )
+
+        // Calculate changing measurements for icons.
+        val changingIconSizeX =
+            (STARTING_ICON_SIZE_PX +
+                ((ENDING_ICON_SIZE_PX - STARTING_ICON_SIZE_PX) *
+                    expandXInterpolator.getInterpolation(progress))) / scaleFactorX
+        val changingIconSizeY =
+            (STARTING_ICON_SIZE_PX +
+                ((ENDING_ICON_SIZE_PX - STARTING_ICON_SIZE_PX) *
+                    expandYInterpolator.getInterpolation(progress))) / scaleFactorY
+
+        val changingIcon1Left = ((width / 2f - halfDividerSize) / 2f) - (changingIconSizeX / 2f)
+        val changingIcon2Left =
+            (width - ((width / 2f - halfDividerSize) / 2f)) - (changingIconSizeX / 2f)
+        val changingIconTop = (height / 2f) - (changingIconSizeY / 2f)
+        val changingIconScaleX = changingIconSizeX / appIcon1.bounds.width()
+        val changingIconScaleY = changingIconSizeY / appIcon1.bounds.height()
+        val changingIconAlpha =
+            (255 - (255 * iconFadeInterpolator.getInterpolation(progress))).toInt()
+
+        // Draw first icon
+        canvas.save()
+        canvas.translate(changingIcon1Left, changingIconTop)
+        canvas.scale(changingIconScaleX, changingIconScaleY)
+        appIcon1.alpha = changingIconAlpha
+        appIcon1.draw(canvas)
+        canvas.restore()
+
+        // Draw second icon
+        canvas.save()
+        canvas.translate(changingIcon2Left, changingIconTop)
+        canvas.scale(changingIconScaleX, changingIconScaleY)
+        appIcon2.alpha = changingIconAlpha
+        appIcon2.draw(canvas)
+        canvas.restore()
+    }
+
+    /** When device is in portrait, we draw the rectangles with a top-bottom split. */
+    private fun drawTopBottomSplit(canvas: Canvas) {
+        val progress = floatingView.progress
+
+        // Since the entire floating app pair surface is scaling up during this animation, we
+        // scale down most of these drawn elements so that they appear the proper size on-screen.
+        val scaleFactorX = floatingView.scaleX
+        val scaleFactorY = floatingView.scaleY
+
+        // Get the bounds where we will draw the background image
+        val width = bounds.width().toFloat()
+        val height = bounds.height().toFloat()
+
+        // Get device-specific measurements
+        val cornerRadiusX = deviceCornerRadius / scaleFactorX
+        val cornerRadiusY = deviceCornerRadius / scaleFactorY
+        val halfDividerSize = deviceHalfDividerSize / scaleFactorY
+
+        // Calculate changing measurements for background
+        // We add one pixel to some measurements to create a smooth edge with no gaps
+        val onePixel = 1f / scaleFactorY
+        val changingDividerSize =
+            (cellSplitInterpolator.getInterpolation(progress) * halfDividerSize) - onePixel
+        val changingInnerRadiusX = cellSplitInterpolator.getInterpolation(progress) * cornerRadiusX
+        val changingInnerRadiusY = cellSplitInterpolator.getInterpolation(progress) * cornerRadiusY
+        val dividerCenterPos = height * desiredSplitRatio
+
+        // The top half of the background image
+        val topSide = RectF(
+            0f,
+            0f,
+            width,
+            dividerCenterPos - changingDividerSize
+        )
+        // The bottom half of the background image
+        val bottomSide = RectF(
+            0f,
+            dividerCenterPos + changingDividerSize,
+            width,
+            height
+        )
+
+        // Draw background
+        drawCustomRoundedRect(
+            canvas,
+            topSide,
+            floatArrayOf(
+                cornerRadiusX, cornerRadiusY,
+                cornerRadiusX, cornerRadiusY,
+                changingInnerRadiusX, changingInnerRadiusY,
+                changingInnerRadiusX, changingInnerRadiusY
+            )
+        )
+        drawCustomRoundedRect(
+            canvas,
+            bottomSide,
+            floatArrayOf(
+                changingInnerRadiusX, changingInnerRadiusY,
+                changingInnerRadiusX, changingInnerRadiusY,
+                cornerRadiusX, cornerRadiusY,
+                cornerRadiusX, cornerRadiusY
+            )
+        )
+
+        // Calculate changing measurements for icons.
+        val changingIconSizeX =
+            (STARTING_ICON_SIZE_PX +
+                ((ENDING_ICON_SIZE_PX - STARTING_ICON_SIZE_PX) *
+                    expandXInterpolator.getInterpolation(progress))) / scaleFactorX
+        val changingIconSizeY =
+            (STARTING_ICON_SIZE_PX +
+                ((ENDING_ICON_SIZE_PX - STARTING_ICON_SIZE_PX) *
+                    expandYInterpolator.getInterpolation(progress))) / scaleFactorY
+
+        val changingIconLeft = (width / 2f) - (changingIconSizeX / 2f)
+        val changingIcon1Top = (((height / 2f) - halfDividerSize) / 2f) - (changingIconSizeY / 2f)
+        val changingIcon2Top =
+            (height - (((height / 2f) - halfDividerSize) / 2f)) - (changingIconSizeY / 2f)
+        val changingIconScaleX = changingIconSizeX / appIcon1.bounds.width()
+        val changingIconScaleY = changingIconSizeY / appIcon1.bounds.height()
+        val changingIconAlpha =
+            (255 - 255 * iconFadeInterpolator.getInterpolation(progress)).toInt()
+
+        // Draw first icon
+        canvas.save()
+        canvas.translate(changingIconLeft, changingIcon1Top)
+        canvas.scale(changingIconScaleX, changingIconScaleY)
+        appIcon1.alpha = changingIconAlpha
+        appIcon1.draw(canvas)
+        canvas.restore()
+
+        // Draw second icon
+        canvas.save()
+        canvas.translate(changingIconLeft, changingIcon2Top)
+        canvas.scale(changingIconScaleX, changingIconScaleY)
+        appIcon2.alpha = changingIconAlpha
+        appIcon2.draw(canvas)
+        canvas.restore()
+    }
+
+    /**
+     * Draws a rectangle with custom rounded corners.
+     *
+     * @param c The Canvas to draw on.
+     * @param rect The bounds of the rectangle.
+     * @param radii An array of 8 radii for the corners: top left x, top left y, top right x, top
+     *   right y, bottom right x, and so on.
+     */
+    private fun drawCustomRoundedRect(c: Canvas, rect: RectF, radii: FloatArray) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+            // Canvas.drawDoubleRoundRect is supported from Q onward
+            c.drawDoubleRoundRect(rect, radii, EMPTY_RECT, ARRAY_OF_ZEROES, backgroundPaint)
+        } else {
+            // Fallback rectangle with uniform rounded corners
+            val scaleFactorX = floatingView.scaleX
+            val scaleFactorY = floatingView.scaleY
+            val cornerRadiusX = QuickStepContract.getWindowCornerRadius(launcher) / scaleFactorX
+            val cornerRadiusY = QuickStepContract.getWindowCornerRadius(launcher) / scaleFactorY
+            c.drawRoundRect(rect, cornerRadiusX, cornerRadiusY, backgroundPaint)
+        }
+    }
+
+    override fun getOpacity(): Int {
+        return PixelFormat.OPAQUE
+    }
+
+    override fun setAlpha(i: Int) {
+        // Required by Drawable but not used.
+    }
+
+    override fun setColorFilter(colorFilter: ColorFilter?) {
+        // Required by Drawable but not used.
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/views/FloatingAppPairView.kt b/quickstep/src/com/android/quickstep/views/FloatingAppPairView.kt
new file mode 100644
index 0000000..e90aa13
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/views/FloatingAppPairView.kt
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep.views
+
+import android.content.Context
+import android.graphics.Canvas
+import android.graphics.Rect
+import android.graphics.RectF
+import android.graphics.drawable.Drawable
+import android.util.AttributeSet
+import android.view.View
+import android.view.ViewGroup
+import android.widget.FrameLayout
+import com.android.launcher3.R
+import com.android.launcher3.Utilities
+import com.android.launcher3.statemanager.StatefulActivity
+import com.android.launcher3.views.BaseDragLayer
+
+/**
+ * A temporary View that is created for the app pair launch animation and destroyed at the end.
+ * Matches the size & position of the app pair icon graphic, and expands to full screen.
+ */
+class FloatingAppPairView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
+    FrameLayout(context, attrs) {
+    companion object {
+        fun getFloatingAppPairView(
+            launcher: StatefulActivity<*>,
+            originalView: View,
+            appIcon1: Drawable,
+            appIcon2: Drawable,
+            dividerPos: Int
+        ): FloatingAppPairView {
+            val dragLayer: ViewGroup = launcher.getDragLayer()
+            val floatingView =
+                launcher
+                    .getLayoutInflater()
+                    .inflate(R.layout.floating_app_pair_view, dragLayer, false)
+                    as FloatingAppPairView
+            floatingView.init(launcher, originalView, appIcon1, appIcon2, dividerPos)
+            dragLayer.addView(floatingView, dragLayer.childCount - 1)
+            return floatingView
+        }
+    }
+
+    val startingPosition = RectF()
+    private lateinit var background: FloatingAppPairBackground
+    var progress = 0f
+
+    /** Initializes the view, copying the bounds and location of the original icon view. */
+    fun init(
+        launcher: StatefulActivity<*>,
+        originalView: View,
+        appIcon1: Drawable,
+        appIcon2: Drawable,
+        dividerPos: Int
+    ) {
+        val viewBounds = Rect(0, 0, originalView.width, originalView.height)
+        Utilities.getBoundsForViewInDragLayer(
+            launcher.getDragLayer(),
+            originalView,
+            viewBounds,
+            false /* ignoreTransform */,
+            null /* recycle */,
+            startingPosition
+        )
+        val lp =
+            BaseDragLayer.LayoutParams(
+                Math.round(startingPosition.width()),
+                Math.round(startingPosition.height())
+            )
+        lp.ignoreInsets = true
+
+        // Position the floating view exactly on top of the original
+        lp.topMargin = Math.round(startingPosition.top)
+        lp.leftMargin = Math.round(startingPosition.left)
+
+        layout(lp.leftMargin, lp.topMargin, lp.leftMargin + lp.width, lp.topMargin + lp.height)
+        layoutParams = lp
+
+        // Prepare to draw app pair icon background
+        background = FloatingAppPairBackground(context, this, appIcon1, appIcon2, dividerPos)
+        background.setBounds(0, 0, lp.width, lp.height)
+    }
+
+    override fun dispatchDraw(canvas: Canvas) {
+        super.dispatchDraw(canvas)
+        background.draw(canvas)
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/views/FloatingTaskView.java b/quickstep/src/com/android/quickstep/views/FloatingTaskView.java
index f250b8c..efc0a35 100644
--- a/quickstep/src/com/android/quickstep/views/FloatingTaskView.java
+++ b/quickstep/src/com/android/quickstep/views/FloatingTaskView.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.android.quickstep.views;
 
 import static com.android.app.animation.Interpolators.LINEAR;
@@ -47,8 +62,6 @@
  * {@link #addConfirmAnimation(PendingAnimation, RectF, Rect, boolean, boolean)}
  * giving a starting and ending bounds. Currently this is set to use the split placeholder view,
  * but it could be generified.
- *
- * TODO: Figure out how to copy thumbnail data from existing TaskView to this view.
  */
 public class FloatingTaskView extends FrameLayout {
 
@@ -306,7 +319,7 @@
 
             // Fade in the placeholder view during Normal > OverviewSplitSelect
             if (mSplitPlaceholderView.getAlpha() == 0) {
-                mSplitPlaceholderView.getIconView().setAlpha(0);
+                mSplitPlaceholderView.getIconView().setContentAlpha(0);
                 fadeInSplitPlaceholder(animation, timings);
             }
 
diff --git a/quickstep/src/com/android/quickstep/views/GroupedTaskView.java b/quickstep/src/com/android/quickstep/views/GroupedTaskView.java
index 01f6ae8..2ae64ff 100644
--- a/quickstep/src/com/android/quickstep/views/GroupedTaskView.java
+++ b/quickstep/src/com/android/quickstep/views/GroupedTaskView.java
@@ -2,8 +2,9 @@
 
 import static android.app.ActivityTaskManager.INVALID_TASK_ID;
 
-import static com.android.launcher3.util.SplitConfigurationOptions.DEFAULT_SPLIT_RATIO;
+import static com.android.launcher3.Flags.enableOverviewIconMenu;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT;
+import static com.android.quickstep.util.SplitScreenUtils.convertLauncherSplitBoundsToShell;
 
 import android.content.Context;
 import android.graphics.PointF;
@@ -11,10 +12,12 @@
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewStub;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
@@ -28,15 +31,17 @@
 import com.android.quickstep.util.CancellableTask;
 import com.android.quickstep.util.RecentsOrientedState;
 import com.android.quickstep.util.SplitSelectStateController;
-import com.android.quickstep.util.TaskViewSimulator;
 import com.android.systemui.shared.recents.model.Task;
 import com.android.systemui.shared.recents.model.ThumbnailData;
 import com.android.systemui.shared.recents.utilities.PreviewPositionHelper;
 import com.android.systemui.shared.system.InteractionJankMonitorWrapper;
+import com.android.wm.shell.common.split.SplitScreenConstants.PersistentSnapPosition;
 
 import java.util.HashMap;
 import java.util.function.Consumer;
 
+import kotlin.Unit;
+
 /**
  * TaskView that contains and shows thumbnails for not one, BUT TWO(!!) tasks
  *
@@ -52,7 +57,7 @@
     @Nullable
     private Task mSecondaryTask;
     private TaskThumbnailView mSnapshotView2;
-    private IconView mIconView2;
+    private TaskViewIcon mIconView2;
     @Nullable
     private CancellableTask<ThumbnailData> mThumbnailLoadRequest2;
     @Nullable
@@ -76,10 +81,10 @@
     }
 
     @Override
-    protected void updateBorderBounds(Rect bounds) {
+    protected Unit updateBorderBounds(@NonNull Rect bounds) {
         if (mSplitBoundsConfig == null) {
             super.updateBorderBounds(bounds);
-            return;
+            return Unit.INSTANCE;
         }
         bounds.set(
                 Math.min(mSnapshotView.getLeft() + Math.round(mSnapshotView.getTranslationX()),
@@ -90,14 +95,21 @@
                         mSnapshotView2.getRight() + Math.round(mSnapshotView2.getTranslationX())),
                 Math.max(mSnapshotView.getBottom() + Math.round(mSnapshotView.getTranslationY()),
                         mSnapshotView2.getBottom() + Math.round(mSnapshotView2.getTranslationY())));
+        return Unit.INSTANCE;
     }
 
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
         mSnapshotView2 = findViewById(R.id.bottomright_snapshot);
-        mIconView2 = findViewById(R.id.bottomRight_icon);
-        mIcon2TouchDelegate = new TransformingTouchDelegate(mIconView2);
+        ViewStub iconViewStub2 = findViewById(R.id.bottomRight_icon);
+        if (enableOverviewIconMenu()) {
+            iconViewStub2.setLayoutResource(R.layout.icon_app_chip_view);
+        } else {
+            iconViewStub2.setLayoutResource(R.layout.icon_view);
+        }
+        mIconView2 = (TaskViewIcon) iconViewStub2.inflate();
+        mIcon2TouchDelegate = new TransformingTouchDelegate(mIconView2.asView());
     }
 
     public void bind(Task primary, Task secondary, RecentsOrientedState orientedState,
@@ -114,11 +126,11 @@
         if (mSplitBoundsConfig == null) {
             return;
         }
-        mSnapshotView.getPreviewPositionHelper().setSplitBounds(TaskViewSimulator
-                        .convertSplitBounds(splitBoundsConfig),
+        mSnapshotView.getPreviewPositionHelper().setSplitBounds(
+                convertLauncherSplitBoundsToShell(splitBoundsConfig),
                 PreviewPositionHelper.STAGE_POSITION_TOP_OR_LEFT);
-        mSnapshotView2.getPreviewPositionHelper().setSplitBounds(TaskViewSimulator
-                        .convertSplitBounds(splitBoundsConfig),
+        mSnapshotView2.getPreviewPositionHelper().setSplitBounds(
+                convertLauncherSplitBoundsToShell(splitBoundsConfig),
                 PreviewPositionHelper.STAGE_POSITION_BOTTOM_OR_RIGHT);
     }
 
@@ -157,6 +169,9 @@
                 mIconLoadRequest2 = iconCache.updateIconInBackground(mSecondaryTask,
                         (task) -> {
                             setIcon(mIconView2, task.icon);
+                            if (enableOverviewIconMenu()) {
+                                setText(mIconView2, task.title);
+                            }
                             mDigitalWellBeingToast2.initialize(mSecondaryTask);
                             mDigitalWellBeingToast2.setSplitConfiguration(mSplitBoundsConfig);
                             mDigitalWellBeingToast.setSplitConfiguration(mSplitBoundsConfig);
@@ -171,6 +186,9 @@
             }
             if (needsUpdate(changes, FLAG_UPDATE_ICON)) {
                 setIcon(mIconView2, null);
+                if (enableOverviewIconMenu()) {
+                    setText(mIconView2, null);
+                }
             }
         }
     }
@@ -180,12 +198,20 @@
         invalidate();
     }
 
-    public float getSplitRatio() {
-        if (mSplitBoundsConfig != null) {
-            return mSplitBoundsConfig.appsStackedVertically
-                    ? mSplitBoundsConfig.topTaskPercent : mSplitBoundsConfig.leftTaskPercent;
+    @Nullable
+    public SplitBounds getSplitBoundsConfig() {
+        return mSplitBoundsConfig;
+    }
+
+    /**
+     * Returns the {@link PersistentSnapPosition} of this pair of tasks.
+     */
+    public @PersistentSnapPosition int getSnapPosition() {
+        if (mSplitBoundsConfig == null) {
+            throw new IllegalStateException("mSplitBoundsConfig is null");
         }
-        return DEFAULT_SPLIT_RATIO;
+
+        return mSplitBoundsConfig.snapPosition;
     }
 
     @Override
@@ -221,12 +247,11 @@
         RunnableList endCallback = new RunnableList();
         RecentsView recentsView = getRecentsView();
         // Callbacks run from remote animation when recents animation not currently running
-        InteractionJankMonitorWrapper.begin(this,
-                InteractionJankMonitorWrapper.CUJ_SPLIT_SCREEN_ENTER, "Enter form GroupedTaskView");
+        InteractionJankMonitorWrapper.begin(this, Cuj.CUJ_SPLIT_SCREEN_ENTER,
+                "Enter form GroupedTaskView");
         launchTaskInternal(success -> {
             endCallback.executeAllAndDestroy();
-            InteractionJankMonitorWrapper.end(
-                    InteractionJankMonitorWrapper.CUJ_SPLIT_SCREEN_ENTER);
+            InteractionJankMonitorWrapper.end(Cuj.CUJ_SPLIT_SCREEN_ENTER);
         }, false /* freezeTaskList */, true /*launchingExistingTaskview*/);
 
 
@@ -251,7 +276,7 @@
         getRecentsView().getSplitSelectController().launchExistingSplitPair(
                 launchingExistingTaskView ? this : null, mTask.key.id,
                 mSecondaryTask.key.id, SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT,
-                callback, isQuickswitch, getSplitRatio());
+                callback, isQuickswitch, getSnapPosition());
     }
 
     @Override
@@ -294,7 +319,7 @@
         }
 
         // Check which of the two apps was selected
-        if (isCoordInView(mIconView2, mLastTouchDownPosition)
+        if (isCoordInView(mIconView2.asView(), mLastTouchDownPosition)
                 || isCoordInView(mSnapshotView2, mLastTouchDownPosition)) {
             return 1;
         }
@@ -347,7 +372,20 @@
                                     mActivity.getDeviceProfile().overviewTaskThumbnailTopMarginPx,
                             MeasureSpec.EXACTLY));
         }
-        updateIconPlacement();
+        if (!enableOverviewIconMenu()) {
+            updateIconPlacement();
+            return;
+        }
+
+        if (getRecentsView() == null) {
+            return;
+        }
+
+        int iconMargins = getResources().getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_start_margin) * 2;
+        ((IconAppChipView) mIconView).setMaxWidth(mSnapshotView.getMeasuredWidth() - iconMargins);
+        ((IconAppChipView) mIconView2).setMaxWidth(mSnapshotView2.getMeasuredWidth() - iconMargins);
+        setOrientationState(getRecentsView().getPagedViewOrientedState());
     }
 
     @Override
@@ -360,10 +398,7 @@
         super.setOrientationState(orientationState);
         DeviceProfile deviceProfile = mActivity.getDeviceProfile();
         boolean isGridTask = deviceProfile.isTablet && !isFocusedTask();
-        int iconDrawableSize = isGridTask ? deviceProfile.overviewTaskIconDrawableSizeGridPx
-                : deviceProfile.overviewTaskIconDrawableSizePx;
-        mIconView2.setDrawableSize(iconDrawableSize, iconDrawableSize);
-        mIconView2.setRotation(getPagedOrientationHandler().getDegreesRotated());
+        mIconView2.setIconOrientation(orientationState, isGridTask);
         updateIconPlacement();
         updateSecondaryDwbPlacement();
     }
@@ -377,7 +412,7 @@
         int taskIconHeight = deviceProfile.overviewTaskIconSizePx;
         boolean isRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
 
-        getPagedOrientationHandler().setSplitIconParams(mIconView, mIconView2,
+        getPagedOrientationHandler().setSplitIconParams(mIconView.asView(), mIconView2.asView(),
                 taskIconHeight, mSnapshotView.getMeasuredWidth(), mSnapshotView.getMeasuredHeight(),
                 getMeasuredHeight(), getMeasuredWidth(), isRtl, deviceProfile,
                 mSplitBoundsConfig);
@@ -401,7 +436,7 @@
         super.setIconsAndBannersTransitionProgress(progress, invert);
         // Value set by super call
         float scale = mIconView.getAlpha();
-        mIconView2.setAlpha(scale);
+        mIconView2.setContentAlpha(scale);
         mDigitalWellBeingToast2.updateBannerOffset(1f - scale);
     }
 
diff --git a/quickstep/src/com/android/quickstep/views/IconAppChipView.java b/quickstep/src/com/android/quickstep/views/IconAppChipView.java
new file mode 100644
index 0000000..ee09c4d
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/views/IconAppChipView.java
@@ -0,0 +1,433 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.views;
+
+import static com.android.app.animation.Interpolators.EMPHASIZED;
+import static com.android.app.animation.Interpolators.LINEAR;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.drawable.AnimatedVectorDrawable;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewAnimationUtils;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+
+import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.R;
+import com.android.launcher3.Utilities;
+import com.android.launcher3.touch.PagedOrientationHandler;
+import com.android.launcher3.util.MultiValueAlpha;
+import com.android.launcher3.views.ActivityContext;
+import com.android.quickstep.util.RecentsOrientedState;
+
+/**
+ * An icon app menu view which can be used in place of an IconView in overview TaskViews.
+ */
+public class IconAppChipView extends FrameLayout implements TaskViewIcon {
+
+    private static final int MENU_BACKGROUND_REVEAL_DURATION = 417;
+    private static final int MENU_BACKGROUND_HIDE_DURATION = 333;
+
+    private static final int NUM_ALPHA_CHANNELS = 2;
+    private static final int INDEX_CONTENT_ALPHA = 0;
+    private static final int INDEX_COLOR_FILTER_ALPHA = 1;
+
+    private final MultiValueAlpha mMultiValueAlpha;
+
+    private IconView mIconView;
+    // Two textview so we can ellipsize the collapsed view and crossfade on expand to the full name.
+    private TextView mIconTextCollapsedView;
+    private TextView mIconTextExpandedView;
+    private ImageView mIconArrowView;
+    private ImageView mIconViewBackground;
+    // Use separate views for the rounded corners so we can scale the background view without
+    // warping the corners.
+    private ImageView mIconViewBackgroundCornersStart;
+    private ImageView mIconViewBackgroundCornersEnd;
+
+    private final int mMinimumMenuSize;
+    private final int mMaxMenuWidth;
+    private final int mIconMenuMarginTop;
+    private final int mIconMenuMarginStart;
+    private final int mIconViewMarginStart;
+    private final int mIconViewDrawableSize;
+    private final int mIconViewDrawableMaxSize;
+    private final int mIconTextMinWidth;
+    private final int mIconTextMaxWidth;
+    private final int mTextMaxTranslationX;
+    private final int mInnerMargin;
+    private final float mArrowMaxTranslationX;
+    private final int mMinIconBackgroundWidth;
+    private final int mMaxIconBackgroundHeight;
+    private final int mMinIconBackgroundHeight;
+    private final int mMaxIconBackgroundCornerRadius;
+    private final float mMinIconBackgroundCornerRadius;
+
+    private int mMaxWidth = Integer.MAX_VALUE;
+
+    public IconAppChipView(Context context) {
+        this(context, null);
+    }
+
+    public IconAppChipView(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public IconAppChipView(Context context, AttributeSet attrs, int defStyleAttr) {
+        this(context, attrs, defStyleAttr, 0);
+    }
+
+    public IconAppChipView(Context context, @Nullable AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        Resources res = getResources();
+        mMultiValueAlpha = new MultiValueAlpha(this, NUM_ALPHA_CHANNELS);
+        mMultiValueAlpha.setUpdateVisibility(/* updateVisibility= */ true);
+
+        // Menu dimensions
+        mMaxMenuWidth = res.getDimensionPixelSize(R.dimen.task_thumbnail_icon_menu_max_width);
+        mIconMenuMarginTop = res.getDimensionPixelSize(R.dimen.task_thumbnail_icon_menu_top_margin);
+        mIconMenuMarginStart = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_start_margin);
+
+        // Background dimensions
+        mMinIconBackgroundWidth = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_background_min_width);
+        mMaxIconBackgroundHeight = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_max_height);
+        mMinIconBackgroundHeight = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_min_height);
+        mMaxIconBackgroundCornerRadius = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_corner_radius);
+
+        // TextView dimensions
+        mInnerMargin = (int) res.getDimension(R.dimen.task_thumbnail_icon_menu_arrow_margin);
+        mIconTextMinWidth = res.getDimensionPixelSize(R.dimen.task_thumbnail_icon_menu_text_width);
+        mIconTextMaxWidth = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_text_max_width);
+
+        // IconView dimensions
+        mIconViewMarginStart = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_view_start_margin);
+        mIconViewDrawableSize = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_drawable_size);
+        mIconViewDrawableMaxSize = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_drawable_max_size);
+        mTextMaxTranslationX =
+                (mIconViewDrawableMaxSize - mIconViewDrawableSize - mIconViewMarginStart)
+                        + (mInnerMargin / 2);
+
+        // ArrowView dimensions
+        int iconArrowViewWidth = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_arrow_size);
+        mMinIconBackgroundCornerRadius = mMinIconBackgroundHeight / 2f;
+        float maxCornerSize = Math.min(mMaxIconBackgroundHeight / 2f,
+                mMaxIconBackgroundCornerRadius);
+        mArrowMaxTranslationX = (mMaxMenuWidth - maxCornerSize) - (Math.min(mMaxWidth,
+                mMinIconBackgroundWidth + (2 * mMinIconBackgroundCornerRadius)
+                        - mMinIconBackgroundCornerRadius)) - mInnerMargin;
+
+        // Menu dimensions
+        mMinimumMenuSize =
+                mIconViewMarginStart + mIconViewDrawableSize + mInnerMargin + iconArrowViewWidth;
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+        mIconView = findViewById(R.id.icon_view);
+        mIconTextCollapsedView = findViewById(R.id.icon_text_collapsed);
+        mIconTextExpandedView = findViewById(R.id.icon_text_expanded);
+        mIconArrowView = findViewById(R.id.icon_arrow);
+        mIconViewBackground = findViewById(R.id.icon_view_background);
+        mIconViewBackgroundCornersStart = findViewById(R.id.icon_view_background_corners_start);
+        mIconViewBackgroundCornersEnd = findViewById(R.id.icon_view_background_corners_end);
+    }
+
+    protected IconView getIconView() {
+        return mIconView;
+    }
+
+    @Override
+    public void setText(CharSequence text) {
+        if (mIconTextCollapsedView != null) {
+            mIconTextCollapsedView.setText(text);
+        }
+        if (mIconTextExpandedView != null) {
+            mIconTextExpandedView.setText(text);
+        }
+    }
+
+    @Override
+    public Drawable getDrawable() {
+        return mIconView == null ? null : mIconView.getDrawable();
+    }
+
+    @Override
+    public void setDrawable(Drawable icon) {
+        if (mIconView != null) {
+            mIconView.setDrawable(icon);
+        }
+    }
+
+    @Override
+    public void setDrawableSize(int iconWidth, int iconHeight) {
+        if (mIconView != null) {
+            mIconView.setDrawableSize(iconWidth, iconHeight);
+        }
+    }
+
+    /**
+     * Sets the maximum width of this Icon Menu.
+     */
+    public void setMaxWidth(int maxWidth) {
+        // Only the app icon and caret are visible at its minimum width.
+        mMaxWidth = Math.max(maxWidth, mMinimumMenuSize);
+    }
+
+    @Override
+    public void setIconOrientation(RecentsOrientedState orientationState, boolean isGridTask) {
+        PagedOrientationHandler orientationHandler = orientationState.getOrientationHandler();
+        boolean isRtl = isLayoutRtl();
+        DeviceProfile deviceProfile =
+                ActivityContext.lookupContext(getContext()).getDeviceProfile();
+
+        // Layout Params for the Menu View
+        int thumbnailTopMargin =
+                deviceProfile.overviewTaskThumbnailTopMarginPx + mIconMenuMarginTop;
+        LayoutParams iconMenuParams = (LayoutParams) getLayoutParams();
+        orientationHandler.setIconAppChipMenuParams(this, iconMenuParams, mIconMenuMarginStart,
+                thumbnailTopMargin);
+        iconMenuParams.width = Math.min(mMaxWidth,
+                mMinIconBackgroundWidth + (int) (2 * mMinIconBackgroundCornerRadius));
+        iconMenuParams.height = mMinIconBackgroundHeight;
+        setLayoutParams(iconMenuParams);
+
+        // Layout Params for the Icon View
+        LayoutParams iconParams = (LayoutParams) mIconView.getLayoutParams();
+        orientationHandler.setTaskIconParams(iconParams, mIconViewMarginStart,
+                mIconViewDrawableSize, thumbnailTopMargin, isRtl);
+        iconParams.width = iconParams.height = mIconViewDrawableSize;
+        mIconView.setLayoutParams(iconParams);
+        mIconView.setDrawableSize(mIconViewDrawableSize, mIconViewDrawableSize);
+
+        // Layout Params for the collapsed Icon Text View
+        LayoutParams iconTextCollapsedParams =
+                (LayoutParams) mIconTextCollapsedView.getLayoutParams();
+        orientationHandler.setTaskIconParams(iconTextCollapsedParams, 0, mIconViewDrawableSize,
+                thumbnailTopMargin, isRtl);
+        iconTextCollapsedParams.setMarginStart(
+                mIconViewDrawableSize + mIconViewMarginStart + mInnerMargin);
+        iconTextCollapsedParams.topMargin = (mMinIconBackgroundHeight - mIconViewDrawableSize) / 2;
+        iconTextCollapsedParams.gravity = Gravity.TOP | Gravity.START;
+        iconTextCollapsedParams.width = Math.min(
+                Math.max(mMaxWidth - mMinimumMenuSize - (2 * mInnerMargin), 0), mIconTextMinWidth);
+        mIconTextCollapsedView.setLayoutParams(iconTextCollapsedParams);
+        mIconTextCollapsedView.setAlpha(1f);
+
+        // Layout Params for the expanded Icon Text View
+        LayoutParams iconTextExpandedParams =
+                (LayoutParams) mIconTextExpandedView.getLayoutParams();
+        orientationHandler.setTaskIconParams(iconTextExpandedParams, 0, mIconViewDrawableSize,
+                thumbnailTopMargin, isRtl);
+        iconTextExpandedParams.setMarginStart(
+                mIconViewDrawableSize + mIconViewMarginStart + mInnerMargin);
+        iconTextExpandedParams.topMargin = (mMinIconBackgroundHeight - mIconViewDrawableSize) / 2;
+        iconTextExpandedParams.gravity = Gravity.TOP | Gravity.START;
+        mIconTextExpandedView.setLayoutParams(iconTextExpandedParams);
+        mIconTextExpandedView.setAlpha(0f);
+        mIconTextExpandedView.setRevealClip(true, 0, mIconViewDrawableSize / 2f, mIconTextMinWidth);
+
+        // Layout Params for the Icon Arrow View
+        LayoutParams iconArrowParams = (LayoutParams) mIconArrowView.getLayoutParams();
+        iconArrowParams.gravity = Gravity.CENTER_VERTICAL | Gravity.END;
+        iconArrowParams.setMarginEnd(mInnerMargin);
+        mIconArrowView.setLayoutParams(iconArrowParams);
+
+        // Layout Params for the Icon View Background and its corners
+        int cornerlessBackgroundWidth = (int) Math.min(
+                mMaxWidth - (2 * mMinIconBackgroundCornerRadius), mMinIconBackgroundWidth);
+        LayoutParams backgroundCornerEndParams =
+                (LayoutParams) mIconViewBackgroundCornersEnd.getLayoutParams();
+        backgroundCornerEndParams.setMarginStart(cornerlessBackgroundWidth);
+        mIconViewBackgroundCornersEnd.setLayoutParams(backgroundCornerEndParams);
+        LayoutParams backgroundParams = (LayoutParams) mIconViewBackground.getLayoutParams();
+        backgroundParams.width = cornerlessBackgroundWidth;
+        backgroundParams.height = mMinIconBackgroundHeight;
+        backgroundParams.setMarginStart((int) mMinIconBackgroundCornerRadius);
+        mIconViewBackground.setLayoutParams(backgroundParams);
+        mIconViewBackground.setPivotX(isRtl ? cornerlessBackgroundWidth : 0);
+        mIconViewBackground.setPivotY(mMinIconBackgroundCornerRadius);
+
+        // This method is called twice sometimes (like when rotating split tasks). It is called
+        // once before onMeasure and onLayout, and again after onMeasure but before onLayout with
+        // a new width. This happens because we update widths on rotation and on measure of
+        // grouped task views. Calling requestLayout() does not guarantee a call to onMeasure if
+        // it has just measured, so we explicitly call it here.
+        measure(MeasureSpec.makeMeasureSpec(getLayoutParams().width, MeasureSpec.EXACTLY),
+                MeasureSpec.makeMeasureSpec(getLayoutParams().height, MeasureSpec.EXACTLY));
+    }
+
+    @Override
+    public void setIconColorTint(int color, float amount) {
+        // RecentsView's COLOR_TINT animates between 0 and 0.5f, we want to hide the app chip menu.
+        float colorTintAlpha = Utilities.mapToRange(amount, 0f, 0.5f, 1f, 0f, LINEAR);
+        mMultiValueAlpha.get(INDEX_COLOR_FILTER_ALPHA).setValue(colorTintAlpha);
+    }
+
+    @Override
+    public void setContentAlpha(float alpha) {
+        mMultiValueAlpha.get(INDEX_CONTENT_ALPHA).setValue(alpha);
+    }
+
+    @Override
+    public int getDrawableWidth() {
+        return mIconView == null ? 0 : mIconView.getDrawableWidth();
+    }
+
+    @Override
+    public int getDrawableHeight() {
+        return mIconView == null ? 0 : mIconView.getDrawableHeight();
+    }
+
+    protected void revealAnim(boolean isRevealing) {
+        if (isRevealing) {
+            boolean isRtl = isLayoutRtl();
+            bringToFront();
+            ((AnimatedVectorDrawable) mIconArrowView.getDrawable()).start();
+            AnimatorSet anim = new AnimatorSet();
+            float backgroundScaleY = mMaxIconBackgroundHeight / (float) mMinIconBackgroundHeight;
+            float maxCornerSize = Math.min(mMaxIconBackgroundHeight / 2f,
+                    mMaxIconBackgroundCornerRadius);
+            float backgroundScaleX = (mMaxMenuWidth - (2 * maxCornerSize)) / Math.min(
+                    mMaxWidth - (2 * mMinIconBackgroundCornerRadius), mMinIconBackgroundWidth);
+            float arrowTranslationX = mArrowMaxTranslationX + (mMinIconBackgroundWidth - Math.min(
+                    mMaxWidth - (2 * mMinIconBackgroundCornerRadius), mMinIconBackgroundWidth));
+            // Clip expanded text with reveal animation so it doesn't go beyond the edge of the menu
+            Animator expandedTextRevealAnim = ViewAnimationUtils.createCircularReveal(
+                    mIconTextExpandedView, 0, mIconTextExpandedView.getHeight() / 2, 0,
+                    mIconTextMaxWidth + maxCornerSize);
+            expandedTextRevealAnim.addListener(new AnimatorListenerAdapter() {
+                @Override
+                public void onAnimationEnd(Animator animation) {
+                    // createCircularReveal removes clip on finish, restore it here to clip text.
+                    mIconTextExpandedView.setRevealClip(true, 0,
+                            mIconTextExpandedView.getHeight() / 2f,
+                            mIconTextMaxWidth + maxCornerSize);
+                }
+            });
+            anim.playTogether(
+                    expandedTextRevealAnim,
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersStart, SCALE_Y,
+                            backgroundScaleY),
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersStart, SCALE_X,
+                            backgroundScaleY),
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersEnd, SCALE_Y,
+                            backgroundScaleY),
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersEnd, SCALE_X,
+                            backgroundScaleY),
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersEnd, TRANSLATION_X,
+                            isRtl ? -arrowTranslationX : arrowTranslationX),
+                    ObjectAnimator.ofFloat(mIconViewBackground, SCALE_X, backgroundScaleX),
+                    ObjectAnimator.ofFloat(mIconViewBackground, SCALE_Y, backgroundScaleY),
+                    ObjectAnimator.ofFloat(mIconView, SCALE_X,
+                            mIconViewDrawableMaxSize / (float) mIconViewDrawableSize),
+                    ObjectAnimator.ofFloat(mIconView, SCALE_Y,
+                            mIconViewDrawableMaxSize / (float) mIconViewDrawableSize),
+                    ObjectAnimator.ofFloat(mIconTextCollapsedView, TRANSLATION_X,
+                            isLayoutRtl() ? -mTextMaxTranslationX : mTextMaxTranslationX),
+                    ObjectAnimator.ofFloat(mIconTextExpandedView, TRANSLATION_X,
+                            isLayoutRtl() ? -mTextMaxTranslationX : mTextMaxTranslationX),
+                    ObjectAnimator.ofFloat(mIconTextCollapsedView, ALPHA, 0),
+                    ObjectAnimator.ofFloat(mIconTextExpandedView, ALPHA, 1),
+                    ObjectAnimator.ofFloat(mIconArrowView, TRANSLATION_X,
+                            isRtl ? -arrowTranslationX : arrowTranslationX));
+            anim.setDuration(MENU_BACKGROUND_REVEAL_DURATION);
+            anim.setInterpolator(EMPHASIZED);
+            anim.start();
+        } else {
+            ((AnimatedVectorDrawable) mIconArrowView.getDrawable()).reverse();
+            float maxCornerSize = Math.min(mMaxIconBackgroundHeight / 2f,
+                    mMaxIconBackgroundCornerRadius);
+            // Clip expanded text with reveal animation so it doesn't go beyond the edge of the menu
+            Animator expandedTextClipAnim = ViewAnimationUtils.createCircularReveal(
+                    mIconTextExpandedView, 0, mIconTextExpandedView.getHeight() / 2,
+                    mIconTextMaxWidth + maxCornerSize, 0);
+            expandedTextClipAnim.addListener(new AnimatorListenerAdapter() {
+                @Override
+                public void onAnimationEnd(Animator animation) {
+                    // createCircularReveal removes clip on finish, restore it here to clip text.
+                    mIconTextExpandedView.setRevealClip(true, 0,
+                            mIconTextExpandedView.getHeight() / 2f, 0);
+                }
+            });
+            AnimatorSet anim = new AnimatorSet();
+            anim.playTogether(
+                    expandedTextClipAnim,
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersStart, SCALE_X, 1),
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersStart, SCALE_Y, 1),
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersEnd, SCALE_X, 1),
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersEnd, SCALE_Y, 1),
+                    ObjectAnimator.ofFloat(mIconViewBackgroundCornersEnd, TRANSLATION_X, 0),
+                    ObjectAnimator.ofFloat(mIconViewBackground, SCALE_X, 1),
+                    ObjectAnimator.ofFloat(mIconViewBackground, SCALE_Y, 1),
+                    ObjectAnimator.ofFloat(mIconView, SCALE_X, 1),
+                    ObjectAnimator.ofFloat(mIconView, SCALE_Y, 1),
+                    ObjectAnimator.ofFloat(mIconTextCollapsedView, TRANSLATION_X, 0),
+                    ObjectAnimator.ofFloat(mIconTextExpandedView, TRANSLATION_X, 0),
+                    ObjectAnimator.ofFloat(mIconTextCollapsedView, ALPHA, 1),
+                    ObjectAnimator.ofFloat(mIconTextExpandedView, ALPHA, 0),
+                    ObjectAnimator.ofFloat(mIconArrowView, TRANSLATION_X, 0));
+            anim.setDuration(MENU_BACKGROUND_HIDE_DURATION);
+            anim.setInterpolator(EMPHASIZED);
+            anim.start();
+        }
+    }
+
+    protected void reset() {
+        mIconViewBackgroundCornersStart.setScaleX(1);
+        mIconViewBackgroundCornersStart.setScaleY(1);
+        mIconViewBackgroundCornersEnd.setScaleX(1);
+        mIconViewBackgroundCornersEnd.setScaleY(1);
+        mIconViewBackgroundCornersEnd.setTranslationX(0);
+        mIconViewBackground.setScaleX(1);
+        mIconViewBackground.setScaleY(1);
+        mIconView.setScaleX(1);
+        mIconView.setScaleY(1);
+        mIconTextCollapsedView.setTranslationX(0);
+        mIconTextExpandedView.setTranslationX(0);
+        mIconTextCollapsedView.setAlpha(1);
+        mIconTextExpandedView.setAlpha(0);
+        mIconArrowView.setTranslationX(0);
+        ((AnimatedVectorDrawable) mIconArrowView.getDrawable()).reset();
+    }
+
+    @Override
+    public View asView() {
+        return this;
+    }
+}
diff --git a/quickstep/src/com/android/quickstep/views/IconView.java b/quickstep/src/com/android/quickstep/views/IconView.java
index 5895c05..a4bda7f 100644
--- a/quickstep/src/com/android/quickstep/views/IconView.java
+++ b/quickstep/src/com/android/quickstep/views/IconView.java
@@ -15,6 +15,8 @@
  */
 package com.android.quickstep.views;
 
+import static com.android.launcher3.Flags.enableOverviewIconMenu;
+
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Rect;
@@ -22,16 +24,21 @@
 import android.util.AttributeSet;
 import android.view.Gravity;
 import android.view.View;
+import android.widget.FrameLayout;
 
 import androidx.annotation.Nullable;
 
+import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.touch.PagedOrientationHandler;
+import com.android.launcher3.views.ActivityContext;
+import com.android.quickstep.util.RecentsOrientedState;
 
 /**
  * A view which draws a drawable stretched to fit its size. Unlike ImageView, it avoids relayout
  * when the drawable changes.
  */
-public class IconView extends View {
+public class IconView extends View implements TaskViewIcon {
 
     @Nullable
     private Drawable mDrawable;
@@ -52,6 +59,7 @@
     /**
      * Sets a {@link Drawable} to be displayed.
      */
+    @Override
     public void setDrawable(@Nullable Drawable d) {
         if (mDrawable != null) {
             mDrawable.setCallback(null);
@@ -67,6 +75,7 @@
     /**
      * Sets the size of the icon drawable.
      */
+    @Override
     public void setDrawableSize(int iconWidth, int iconHeight) {
         mDrawableWidth = iconWidth;
         mDrawableHeight = iconHeight;
@@ -82,15 +91,18 @@
         mDrawable.setBounds(drawableRect);
     }
 
+    @Override
     @Nullable
     public Drawable getDrawable() {
         return mDrawable;
     }
 
+    @Override
     public int getDrawableWidth() {
         return mDrawableWidth;
     }
 
+    @Override
     public int getDrawableHeight() {
         return mDrawableHeight;
     }
@@ -132,6 +144,11 @@
     }
 
     @Override
+    public void setContentAlpha(float alpha) {
+        setAlpha(alpha);
+    }
+
+    @Override
     public void setAlpha(float alpha) {
         super.setAlpha(alpha);
         if (alpha > 0) {
@@ -147,9 +164,41 @@
      * @param color to blend in.
      * @param amount [0,1] 0 no tint, 1 full tint
      */
+    @Override
     public void setIconColorTint(int color, float amount) {
         if (mDrawable != null) {
             mDrawable.setColorFilter(Utilities.makeColorTintingColorFilter(color, amount));
         }
     }
+
+    @Override
+    public void setIconOrientation(RecentsOrientedState orientationState, boolean isGridTask) {
+        PagedOrientationHandler orientationHandler = orientationState.getOrientationHandler();
+        boolean isRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
+        DeviceProfile deviceProfile =
+                ActivityContext.lookupContext(getContext()).getDeviceProfile();
+
+        FrameLayout.LayoutParams iconParams = (FrameLayout.LayoutParams) getLayoutParams();
+
+        int thumbnailTopMargin = deviceProfile.overviewTaskThumbnailTopMarginPx;
+        int taskIconHeight = deviceProfile.overviewTaskIconSizePx;
+        int taskMargin = deviceProfile.overviewTaskMarginPx;
+
+        orientationHandler.setTaskIconParams(iconParams, taskMargin, taskIconHeight,
+                thumbnailTopMargin, isRtl);
+        iconParams.width = iconParams.height = taskIconHeight;
+        setLayoutParams(iconParams);
+
+        setRotation(orientationHandler.getDegreesRotated());
+        int iconDrawableSize = enableOverviewIconMenu()
+                ? deviceProfile.overviewTaskIconAppChipMenuDrawableSizePx
+                : isGridTask ? deviceProfile.overviewTaskIconDrawableSizeGridPx
+                        : deviceProfile.overviewTaskIconDrawableSizePx;
+        setDrawableSize(iconDrawableSize, iconDrawableSize);
+    }
+
+    @Override
+    public View asView() {
+        return this;
+    }
 }
diff --git a/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java b/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
index ebe4c66..9bb9775a 100644
--- a/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java
@@ -25,6 +25,7 @@
 import static com.android.launcher3.LauncherState.OVERVIEW_MODAL_TASK;
 import static com.android.launcher3.LauncherState.OVERVIEW_SPLIT_SELECT;
 import static com.android.launcher3.LauncherState.SPRING_LOADED;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import android.annotation.TargetApi;
 import android.content.Context;
@@ -38,6 +39,7 @@
 import com.android.launcher3.AbstractFloatingView;
 import com.android.launcher3.LauncherState;
 import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.desktop.DesktopRecentsTransitionController;
 import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.statehandlers.DepthController;
 import com.android.launcher3.statehandlers.DesktopVisibilityController;
@@ -77,8 +79,9 @@
 
     @Override
     public void init(OverviewActionsView actionsView,
-            SplitSelectStateController splitPlaceholderView) {
-        super.init(actionsView, splitPlaceholderView);
+            SplitSelectStateController splitPlaceholderView,
+            @Nullable DesktopRecentsTransitionController desktopRecentsTransitionController) {
+        super.init(actionsView, splitPlaceholderView, desktopRecentsTransitionController);
         setContentAlpha(0);
     }
 
@@ -87,7 +90,7 @@
         StateManager stateManager = mActivity.getStateManager();
         animated &= stateManager.shouldAnimateStateChange();
         stateManager.goToState(NORMAL, animated);
-        if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+        if (FeatureFlags.enableSplitContextually()) {
             mSplitSelectStateController.getSplitAnimationController()
                     .playPlaceholderDismissAnim(mActivity);
         }
@@ -137,12 +140,24 @@
     @Override
     public void onStateTransitionStart(LauncherState toState) {
         setOverviewStateEnabled(toState.overviewUi);
+
         setOverviewGridEnabled(toState.displayOverviewTasksAsGrid(mActivity.getDeviceProfile()));
         setOverviewFullscreenEnabled(toState.getOverviewFullscreenProgress() == 1);
         if (toState == OVERVIEW_MODAL_TASK) {
             setOverviewSelectEnabled(true);
+        } else {
+            resetModalVisuals();
         }
+
+        // Set border after select mode changes to avoid showing border during state transition
+        if (!toState.overviewUi || toState == OVERVIEW_MODAL_TASK) {
+            setTaskBorderEnabled(false);
+        }
+
         setFreezeViewVisibility(true);
+        if (mActivity.getDesktopVisibilityController() != null) {
+            mActivity.getDesktopVisibilityController().onLauncherStateChanged(toState);
+        }
     }
 
     @Override
@@ -159,6 +174,10 @@
             setOverviewSelectEnabled(false);
         }
 
+        if (finalState.overviewUi && finalState != OVERVIEW_MODAL_TASK) {
+            setTaskBorderEnabled(true);
+        }
+
         if (isOverlayEnabled) {
             runActionOnRemoteHandles(remoteTargetHandle ->
                     remoteTargetHandle.getTaskViewSimulator().setDrawsBelowRecents(true));
@@ -176,9 +195,6 @@
                     & CLEAR_ALL_BUTTON) != 0;
             setDisallowScrollToClearAll(!hasClearAllButton);
         }
-        if (mActivity.getDesktopVisibilityController() != null) {
-            mActivity.getDesktopVisibilityController().setOverviewStateEnabled(enabled);
-        }
     }
 
     @Override
@@ -201,7 +217,6 @@
         } else {
             if (mActivity.isInState(LauncherState.OVERVIEW_MODAL_TASK)) {
                 mActivity.getStateManager().goToState(LauncherState.OVERVIEW, animate);
-                resetModalVisuals();
             }
         }
     }
@@ -233,7 +248,7 @@
 
     @Override
     protected boolean canLaunchFullscreenTask() {
-        if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+        if (FeatureFlags.enableSplitContextually()) {
             return !mSplitSelectStateController.isSplitSelectActive();
         } else {
             return !mActivity.isInState(OVERVIEW_SPLIT_SELECT);
@@ -256,7 +271,7 @@
         DesktopVisibilityController desktopVisibilityController = null;
         boolean showDesktopApps = false;
         GestureState.GestureEndTarget endTarget = null;
-        if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
+        if (isDesktopModeSupported()) {
             desktopVisibilityController = mActivity.getDesktopVisibilityController();
             endTarget = mCurrentGestureEndTarget;
             if (endTarget == GestureState.GestureEndTarget.LAST_TASK
@@ -271,7 +286,8 @@
             desktopVisibilityController.setRecentsGestureEnd(endTarget);
         }
         if (showDesktopApps) {
-            SystemUiProxy.INSTANCE.get(mActivity).showDesktopApps(mActivity.getDisplayId());
+            SystemUiProxy.INSTANCE.get(mActivity).showDesktopApps(mActivity.getDisplayId(),
+                    null /* transition */);
         }
     }
 }
diff --git a/quickstep/src/com/android/quickstep/views/OverviewActionsView.java b/quickstep/src/com/android/quickstep/views/OverviewActionsView.java
index b31791a..b549058 100644
--- a/quickstep/src/com/android/quickstep/views/OverviewActionsView.java
+++ b/quickstep/src/com/android/quickstep/views/OverviewActionsView.java
@@ -29,9 +29,9 @@
 import androidx.annotation.Nullable;
 
 import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.Flags;
 import com.android.launcher3.Insettable;
 import com.android.launcher3.R;
-import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.MultiPropertyFactory.MultiProperty;
 import com.android.launcher3.util.MultiValueAlpha;
@@ -289,7 +289,7 @@
             return 0;
         }
 
-        if (mDp.isTablet && FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get()) {
+        if (mDp.isTablet && Flags.enableGridOnlyOverview()) {
             return mDp.stashedTaskbarHeight;
         }
 
@@ -308,9 +308,10 @@
 
         requestLayout();
 
-        mSplitButton.setCompoundDrawablesRelativeWithIntrinsicBounds(
-                (dp.isLandscape ? R.drawable.ic_split_horizontal : R.drawable.ic_split_vertical),
-                0, 0, 0);
+        int splitIconRes = dp.isLeftRightSplit
+                ? R.drawable.ic_split_horizontal
+                : R.drawable.ic_split_vertical;
+        mSplitButton.setCompoundDrawablesRelativeWithIntrinsicBounds(splitIconRes, 0, 0, 0);
     }
 
     /**
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 76f9c2c..997624f 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -34,6 +34,7 @@
 import static com.android.launcher3.AbstractFloatingView.TYPE_TASK_MENU;
 import static com.android.launcher3.AbstractFloatingView.getTopOpenViewWithType;
 import static com.android.launcher3.BaseActivity.STATE_HANDLER_INVISIBILITY_FLAGS;
+import static com.android.launcher3.Flags.enableGridOnlyOverview;
 import static com.android.launcher3.LauncherAnimUtils.SUCCESS_TRANSITION_PROGRESS;
 import static com.android.launcher3.LauncherAnimUtils.VIEW_ALPHA;
 import static com.android.launcher3.LauncherState.BACKGROUND_APP;
@@ -42,11 +43,11 @@
 import static com.android.launcher3.Utilities.mapToRange;
 import static com.android.launcher3.Utilities.squaredHypot;
 import static com.android.launcher3.Utilities.squaredTouchSlop;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_OVERVIEW_ACTIONS_SPLIT;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_CLEAR_ALL;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_DISMISS_SWIPE_UP;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_LAUNCH_SWIPE_DOWN;
+import static com.android.launcher3.testing.shared.TestProtocol.DISMISS_ANIMATION_ENDS_MESSAGE;
 import static com.android.launcher3.touch.PagedOrientationHandler.CANVAS_TRANSLATE;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
@@ -54,8 +55,13 @@
 import static com.android.launcher3.util.SystemUiController.UI_STATE_FULLSCREEN_TASK;
 import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId;
 import static com.android.quickstep.util.LogUtils.splitFailureMessage;
+import static com.android.quickstep.util.TaskGridNavHelper.DIRECTION_DOWN;
+import static com.android.quickstep.util.TaskGridNavHelper.DIRECTION_LEFT;
+import static com.android.quickstep.util.TaskGridNavHelper.DIRECTION_RIGHT;
+import static com.android.quickstep.util.TaskGridNavHelper.DIRECTION_TAB;
+import static com.android.quickstep.util.TaskGridNavHelper.DIRECTION_UP;
 import static com.android.quickstep.views.ClearAllButton.DISMISS_ALPHA;
-import static com.android.quickstep.views.DesktopTaskView.DESKTOP_MODE_SUPPORTED;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 import static com.android.quickstep.views.OverviewActionsView.FLAG_IS_NOT_TABLET;
 import static com.android.quickstep.views.OverviewActionsView.FLAG_SINGLE_TASK;
 import static com.android.quickstep.views.OverviewActionsView.HIDDEN_ACTIONS_IN_MENU;
@@ -127,6 +133,7 @@
 import androidx.annotation.UiThread;
 import androidx.core.graphics.ColorUtils;
 
+import com.android.internal.jank.Cuj;
 import com.android.launcher3.BaseActivity;
 import com.android.launcher3.BaseActivity.MultiWindowModeChangedListener;
 import com.android.launcher3.DeviceProfile;
@@ -142,6 +149,7 @@
 import com.android.launcher3.anim.SpringProperty;
 import com.android.launcher3.compat.AccessibilityManagerCompat;
 import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.desktop.DesktopRecentsTransitionController;
 import com.android.launcher3.icons.cache.HandlerRunnable;
 import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.statehandlers.DepthController;
@@ -194,6 +202,7 @@
 import com.android.quickstep.util.SplitSelectStateController;
 import com.android.quickstep.util.SurfaceTransaction;
 import com.android.quickstep.util.SurfaceTransactionApplier;
+import com.android.quickstep.util.TaskGridNavHelper;
 import com.android.quickstep.util.TaskViewSimulator;
 import com.android.quickstep.util.TaskVisualsChangeListener;
 import com.android.quickstep.util.TransformParams;
@@ -215,6 +224,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
@@ -721,6 +731,9 @@
     private ObjectAnimator mActionsViewAlphaAnimator;
     private float mActionsViewAlphaAnimatorFinalValue;
 
+    @Nullable
+    private DesktopRecentsTransitionController mDesktopRecentsTransitionController;
+
     /**
      * Keeps track of the desktop task. Optional and only present when the feature flag is enabled.
      */
@@ -1041,10 +1054,12 @@
         updateTaskStackListenerState();
     }
 
-    public void init(OverviewActionsView actionsView, SplitSelectStateController splitController) {
+    public void init(OverviewActionsView actionsView, SplitSelectStateController splitController,
+            @Nullable DesktopRecentsTransitionController desktopRecentsTransitionController) {
         mActionsView = actionsView;
         mActionsView.updateHiddenFlags(HIDDEN_NO_TASKS, getTaskViewCount() == 0);
         mSplitSelectStateController = splitController;
+        mDesktopRecentsTransitionController = desktopRecentsTransitionController;
     }
 
     public SplitSelectStateController getSplitSelectController() {
@@ -1079,7 +1094,7 @@
                 mIPipAnimationListener);
         mOrientationState.initListeners();
         mTaskOverlayFactory.initListeners();
-        if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+        if (FeatureFlags.enableSplitContextually()) {
             mSplitSelectStateController.registerSplitListener(mSplitSelectionListener);
         }
     }
@@ -1100,7 +1115,7 @@
         mIPipAnimationListener.setActivityAndRecentsView(null, null);
         mOrientationState.destroyListeners();
         mTaskOverlayFactory.removeListeners();
-        if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+        if (FeatureFlags.enableSplitContextually()) {
             mSplitSelectStateController.unregisterSplitListener(mSplitSelectionListener);
         }
     }
@@ -1402,6 +1417,17 @@
     }
 
     /**
+     * Enable or disable showing border on hover and focus change on task views
+     */
+    public void setTaskBorderEnabled(boolean enabled) {
+        int taskCount = getTaskViewCount();
+        for (int i = 0; i < taskCount; i++) {
+            TaskView taskView = requireTaskViewAt(i);
+            taskView.setBorderEnabled(enabled);
+        }
+    }
+
+    /**
      * Whether the Clear All button is hidden or fully visible. Used to determine if center
      * displayed page is a task or the Clear All button.
      *
@@ -1419,8 +1445,7 @@
             mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, true);
         }
         if (mOverviewStateEnabled) { // only when in overview
-            InteractionJankMonitorWrapper.begin(/* view= */ this,
-                    InteractionJankMonitorWrapper.CUJ_RECENTS_SCROLLING);
+            InteractionJankMonitorWrapper.begin(/* view= */ this, Cuj.CUJ_RECENTS_SCROLLING);
         }
     }
 
@@ -1435,7 +1460,7 @@
         if (getNextPage() > 0) {
             setSwipeDownShouldLaunchApp(true);
         }
-        InteractionJankMonitorWrapper.end(InteractionJankMonitorWrapper.CUJ_RECENTS_SCROLLING);
+        InteractionJankMonitorWrapper.end(Cuj.CUJ_RECENTS_SCROLLING);
     }
 
     @Override
@@ -1615,7 +1640,7 @@
         mMovingTaskView = null;
         runningTaskView.resetPersistentViewTransforms();
         int frontTaskIndex = 0;
-        if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED && mDesktopTaskView != null
+        if (isDesktopModeSupported() && mDesktopTaskView != null
                 && !runningTaskView.isDesktopTask()) {
             // If desktop mode is enabled, desktop task view is pinned at first position if present.
             // Move running task to position 1.
@@ -1755,7 +1780,7 @@
 
         if (!taskGroups.isEmpty()) {
             addView(mClearAllButton);
-            if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED) {
+            if (isDesktopModeSupported()) {
                 // Check if we have apps on the desktop
                 if (desktopTask != null && !desktopTask.tasks.isEmpty()) {
                     // If we are actively choosing apps for split, skip the desktop tile
@@ -1782,7 +1807,7 @@
                 newFocusedTaskView = getTaskViewAt(1);
             }
         }
-        mFocusedTaskViewId = newFocusedTaskView != null && !ENABLE_GRID_ONLY_OVERVIEW.get()
+        mFocusedTaskViewId = newFocusedTaskView != null && !enableGridOnlyOverview()
                 ? newFocusedTaskView.getTaskViewId() : INVALID_TASK_ID;
         updateTaskSize();
         if (newFocusedTaskView != null) {
@@ -1900,7 +1925,7 @@
      * Returns the number of tasks in the bottom row of the overview grid.
      */
     public int getBottomRowTaskCountForTablet() {
-        return getTaskViewCount() - mTopRowIdSet.size() - (ENABLE_GRID_ONLY_OVERVIEW.get() ? 0 : 1);
+        return getTaskViewCount() - mTopRowIdSet.size() - (enableGridOnlyOverview() ? 0 : 1);
     }
 
     protected void onTaskStackUpdated() {
@@ -1978,7 +2003,7 @@
         DeviceProfile dp = mActivity.getDeviceProfile();
         setOverviewGridEnabled(
                 mActivity.getStateManager().getState().displayOverviewTasksAsGrid(dp));
-        if (ENABLE_GRID_ONLY_OVERVIEW.get()) {
+        if (enableGridOnlyOverview()) {
             mActionsView.updateHiddenFlags(HIDDEN_ACTIONS_IN_MENU, dp.isTablet);
         }
         setPageSpacing(dp.overviewPageSpacing);
@@ -2024,12 +2049,12 @@
         mActionsView.updateHiddenFlags(HIDDEN_NON_ZERO_ROTATION,
                 !mOrientationState.isRecentsActivityRotationAllowed() && isInLandscape);
 
-        // Update TaskView's DeviceProfile dependent layout.
-        updateChildTaskOrientations();
-
         // Recalculate DeviceProfile dependent layout.
         updateSizeAndPadding();
 
+        // Update TaskView's DeviceProfile dependent layout.
+        updateChildTaskOrientations();
+
         requestLayout();
         // Reapply the current page to update page scrolls.
         setCurrentPage(mCurrentPage);
@@ -2056,11 +2081,11 @@
                 dp.widthPx - mInsets.right - mTempRect.right,
                 dp.heightPx - mInsets.bottom - mTempRect.bottom);
 
-        mSizeStrategy.calculateGridSize(mActivity.getDeviceProfile(),
+        mSizeStrategy.calculateGridSize(mActivity.getDeviceProfile(), mActivity,
                 mLastComputedGridSize);
         mSizeStrategy.calculateGridTaskSize(mActivity, mActivity.getDeviceProfile(),
                 mLastComputedGridTaskSize, mOrientationHandler);
-        if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED) {
+        if (isDesktopModeSupported()) {
             mSizeStrategy.calculateDesktopTaskSize(mActivity, mActivity.getDeviceProfile(),
                     mLastComputedDesktopTaskSize);
         }
@@ -2093,11 +2118,14 @@
         }
 
         float accumulatedTranslationX = 0;
+        float translateXToMiddle = enableGridOnlyOverview() && mActivity.getDeviceProfile().isTablet
+                ? mActivity.getDeviceProfile().widthPx / 2 - mLastComputedGridTaskSize.centerX()
+                : 0;
         for (int i = 0; i < taskCount; i++) {
             TaskView taskView = requireTaskViewAt(i);
             taskView.updateTaskSize();
-            taskView.getPrimaryNonGridTranslationProperty().set(taskView, accumulatedTranslationX);
-            taskView.getSecondaryNonGridTranslationProperty().set(taskView, 0f);
+            taskView.setNonGridTranslationX(accumulatedTranslationX);
+            taskView.setNonGridPivotTranslationX(translateXToMiddle);
             // Compensate space caused by TaskView scaling.
             float widthDiff =
                     taskView.getLayoutParams().width * (1 - taskView.getNonGridScale());
@@ -2140,7 +2168,7 @@
         Rect outRect = new Rect(mLastComputedTaskSize);
         outRect.offset(
                 -(primaryScroll - (selectedPageScroll + getOffsetFromScrollPosition(selectedPage))),
-                (int) (showAsGrid() && ENABLE_GRID_ONLY_OVERVIEW.get() && !isTopRow
+                (int) (showAsGrid() && enableGridOnlyOverview() && !isTopRow
                         ? mTopBottomRowHeightDiff : 0));
         return outRect;
     }
@@ -2270,10 +2298,12 @@
         if (showAsGrid()) {
             int screenStart = mOrientationHandler.getPrimaryScroll(this);
             int pageOrientedSize = mOrientationHandler.getMeasuredSize(this);
-            int halfScreenSize = pageOrientedSize / 2;
-            // Use +/- 50% screen width as visible area.
-            visibleStart = screenStart - halfScreenSize;
-            visibleEnd = screenStart + pageOrientedSize + halfScreenSize;
+            // For GRID_ONLY_OVERVIEW, use +/- 1 task column as visible area for preloading
+            // adjacent thumbnails, otherwise use +/-50% screen width
+            int extraWidth = enableGridOnlyOverview() ? getLastComputedTaskSize().width()
+                    + getPageSpacing() : pageOrientedSize / 2;
+            visibleStart = screenStart - extraWidth;
+            visibleEnd = screenStart + pageOrientedSize + extraWidth;
         } else {
             int centerPageIndex = getPageNearestToCenterOfScreen();
             int numChildren = getChildCount();
@@ -2354,6 +2384,12 @@
 
     @Override
     public void onHighResLoadingStateChanged(boolean enabled) {
+        // Preload cache when no overview task is visible (e.g. not in overview page), so when
+        // user goes to overview next time, the task thumbnails would show up without delay
+        if (mHasVisibleTaskData.size() == 0) {
+            mModel.preloadCacheIfNeeded();
+        }
+
         // Whenever the high res loading state changes, poke each of the visible tasks to see if
         // they want to updated their thumbnail state
         for (int i = 0; i < mHasVisibleTaskData.size(); i++) {
@@ -2402,7 +2438,7 @@
             remoteTargetHandle.getTransformParams().setTargetSet(null);
             remoteTargetHandle.getTaskViewSimulator().setDrawsBelowRecents(false);
         });
-        if (!FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+        if (!FeatureFlags.enableSplitContextually()) {
             resetFromSplitSelectionState();
         }
 
@@ -2605,23 +2641,25 @@
         if (endState.displayOverviewTasksAsGrid(mActivity.getDeviceProfile())) {
             TaskView runningTaskView = getRunningTaskView();
             float runningTaskPrimaryGridTranslation = 0;
+            float runningTaskSecondaryGridTranslation = 0;
             if (runningTaskView != null) {
                 // Apply the grid translation to running task unless it's being snapped to
                 // and removes the current translation applied to the running task.
-                runningTaskPrimaryGridTranslation = mOrientationHandler.getPrimaryValue(
-                        runningTaskView.getGridTranslationX(),
-                        runningTaskView.getGridTranslationY())
-                        - runningTaskView.getPrimaryNonGridTranslationProperty().get(
-                        runningTaskView);
+                runningTaskPrimaryGridTranslation = runningTaskView.getGridTranslationX()
+                        - runningTaskView.getNonGridTranslationX();
+                runningTaskSecondaryGridTranslation = runningTaskView.getGridTranslationY();
             }
             for (TaskViewSimulator tvs : taskViewSimulators) {
                 if (animatorSet == null) {
                     setGridProgress(1);
                     tvs.taskPrimaryTranslation.value = runningTaskPrimaryGridTranslation;
+                    tvs.taskSecondaryTranslation.value = runningTaskSecondaryGridTranslation;
                 } else {
                     animatorSet.play(ObjectAnimator.ofFloat(this, RECENTS_GRID_PROGRESS, 1));
                     animatorSet.play(tvs.taskPrimaryTranslation.animateToValue(
                             runningTaskPrimaryGridTranslation));
+                    animatorSet.play(tvs.taskSecondaryTranslation.animateToValue(
+                            runningTaskSecondaryGridTranslation));
                 }
             }
         }
@@ -2726,7 +2764,7 @@
 
         boolean runningTaskTileHidden = mRunningTaskTileHidden;
         setCurrentTask(runningTaskViewId);
-        mFocusedTaskViewId = ENABLE_GRID_ONLY_OVERVIEW.get() ? INVALID_TASK_ID : runningTaskViewId;
+        mFocusedTaskViewId = enableGridOnlyOverview() ? INVALID_TASK_ID : runningTaskViewId;
         runOnPageScrollsInitialized(() -> setCurrentPage(getRunningTaskIndex()));
         setRunningTaskViewShowScreenshot(false);
         setRunningTaskHidden(runningTaskTileHidden);
@@ -2739,7 +2777,7 @@
     }
 
     private boolean hasDesktopTask(Task[] runningTasks) {
-        if (!DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED) {
+        if (!isDesktopModeSupported()) {
             return false;
         }
         for (Task task : runningTasks) {
@@ -2919,7 +2957,7 @@
                     // Desktop task view is hidden, skip it from grid calculations
                     continue;
                 }
-                if (!ENABLE_GRID_ONLY_OVERVIEW.get()) {
+                if (!enableGridOnlyOverview()) {
                     // Only apply x-translation when using legacy overview grid
                     gridTranslations[i] += mIsRtl ? taskWidthAndSpacing : -taskWidthAndSpacing;
                 }
@@ -3086,6 +3124,14 @@
                     + snappedTaskNonGridScrollAdjustment);
         }
 
+        final TaskView runningTask = getRunningTaskView();
+        if (showAsGrid() && enableGridOnlyOverview() && runningTask != null) {
+            runActionOnRemoteHandles(
+                    remoteTargetHandle -> remoteTargetHandle.getTaskViewSimulator()
+                            .taskSecondaryTranslation.value = runningTask.getGridTranslationY()
+            );
+        }
+
         mClearAllButton.setGridTranslationPrimary(
                 clearAllTotalTranslationX - snappedTaskGridTranslationX);
         mClearAllButton.setGridScrollOffset(
@@ -3200,8 +3246,9 @@
         anim.add(ObjectAnimator.ofFloat(taskView, secondaryViewTranslate,
                 verticalFactor * secondaryTaskDimension * 2).setDuration(duration), LINEAR, sp);
 
-        if (mEnableDrawingLiveTile && taskView.isRunningTask()) {
+        if (taskView.isRunningTask()) {
             anim.addOnFrameCallback(() -> {
+                if (!mEnableDrawingLiveTile) return;
                 runActionOnRemoteHandles(
                         remoteTargetHandle -> remoteTargetHandle.getTaskViewSimulator()
                                 .taskSecondaryTranslation.value = mOrientationHandler
@@ -3248,7 +3295,10 @@
         mSplitSelectStateController.setFirstFloatingTaskView(firstFloatingTaskView);
 
         // Allow user to click staged app to launch into fullscreen
-        firstFloatingTaskView.setOnClickListener(this::animateToFullscreen);
+        firstFloatingTaskView.setOnClickListener(view ->
+                mSplitSelectStateController.getSplitAnimationController().
+                        playAnimPlaceholderToFullscreen(mActivity, view,
+                                Optional.of(() -> resetFromSplitSelectionState())));
 
         // SplitInstructionsView: animate in
         safeRemoveDragLayerView(mSplitSelectStateController.getSplitInstructionsView());
@@ -3258,17 +3308,14 @@
         anim.setViewAlpha(splitInstructionsView, 1, clampToProgress(LINEAR,
                 timings.getInstructionsContainerFadeInStartOffset(),
                 timings.getInstructionsContainerFadeInEndOffset()));
-        anim.setViewAlpha(splitInstructionsView.getTextView(), 1, clampToProgress(LINEAR,
-                timings.getInstructionsTextFadeInStartOffset(),
-                timings.getInstructionsTextFadeInEndOffset()));
         anim.addFloat(splitInstructionsView, splitInstructionsView.UNFOLD, 0.1f, 1,
                 clampToProgress(EMPHASIZED_DECELERATE,
                         timings.getInstructionsUnfoldStartOffset(),
                         timings.getInstructionsUnfoldEndOffset()));
         mSplitSelectStateController.setSplitInstructionsView(splitInstructionsView);
 
-        InteractionJankMonitorWrapper.begin(this,
-                InteractionJankMonitorWrapper.CUJ_SPLIT_SCREEN_ENTER, "First tile selected");
+        InteractionJankMonitorWrapper.begin(this, Cuj.CUJ_SPLIT_SCREEN_ENTER,
+                "First tile selected");
         anim.addListener(new AnimatorListenerAdapter() {
             @Override
             public void onAnimationStart(Animator animation) {
@@ -3284,58 +3331,21 @@
         });
         anim.addEndListener(success -> {
             if (success) {
-                InteractionJankMonitorWrapper.end(
-                        InteractionJankMonitorWrapper.CUJ_SPLIT_SCREEN_ENTER);
+                InteractionJankMonitorWrapper.end(Cuj.CUJ_SPLIT_SCREEN_ENTER);
             } else {
                 // If transition to split select was interrupted, clean up to prevent glitches
-                if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+                if (FeatureFlags.enableSplitContextually()) {
                     mSplitSelectStateController.resetState();
                 } else {
                     resetFromSplitSelectionState();
                 }
-                InteractionJankMonitorWrapper.cancel(
-                        InteractionJankMonitorWrapper.CUJ_SPLIT_SCREEN_ENTER);
+                InteractionJankMonitorWrapper.cancel(Cuj.CUJ_SPLIT_SCREEN_ENTER);
             }
 
             updateCurrentTaskActionsVisibility();
         });
     }
 
-    private void animateToFullscreen(View view) {
-        FloatingTaskView stagedTaskView = (FloatingTaskView) view;
-
-        boolean isTablet = mActivity.getDeviceProfile().isTablet;
-        int duration = isTablet
-                ? SplitAnimationTimings.TABLET_CONFIRM_DURATION
-                : SplitAnimationTimings.PHONE_CONFIRM_DURATION;
-
-        PendingAnimation pendingAnimation = new PendingAnimation(duration);
-
-        Rect firstTaskStartingBounds = new Rect();
-        Rect firstTaskEndingBounds = new Rect();
-
-        stagedTaskView.getBoundsOnScreen(firstTaskStartingBounds);
-        mActivity.getDragLayer().getBoundsOnScreen(firstTaskEndingBounds);
-
-        stagedTaskView.addConfirmAnimation(
-                pendingAnimation,
-                new RectF(firstTaskStartingBounds),
-                firstTaskEndingBounds,
-                false /* fadeWithThumbnail */,
-                true /* isStagedTask */);
-
-        pendingAnimation.addEndListener(animationSuccess ->
-                mSplitSelectStateController.launchInitialAppFullscreen(launchSuccess -> {
-                    if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
-                        mSplitSelectStateController.resetState();
-                    } else {
-                        resetFromSplitSelectionState();
-                    }
-                }));
-
-        pendingAnimation.buildAnim().start();
-    }
-
     /**
      * Creates a {@link PendingAnimation} for dismissing the specified {@link TaskView}.
      * @param dismissedTaskView the {@link TaskView} to be dismissed
@@ -3418,8 +3428,8 @@
         boolean closeGapBetweenClearAll = false;
         boolean isClearAllHidden = isClearAllHidden();
         boolean snapToLastTask = false;
-        boolean isLandscapeSplit =
-                mActivity.getDeviceProfile().isLandscape && isSplitSelectionActive();
+        boolean isLeftRightSplit =
+                mActivity.getDeviceProfile().isLeftRightSplit && isSplitSelectionActive();
         TaskView lastGridTaskView = showAsGrid ? getLastGridTaskView() : null;
         int currentPageScroll = getScrollForPage(mCurrentPage);
         int lastGridTaskScroll = getScrollForPage(indexOfChild(lastGridTaskView));
@@ -3432,7 +3442,7 @@
 
             int topGridRowSize = mTopRowIdSet.size();
             int bottomGridRowSize = taskCount - mTopRowIdSet.size()
-                    - (ENABLE_GRID_ONLY_OVERVIEW.get() ? 0 : 1);
+                    - (enableGridOnlyOverview() ? 0 : 1);
             boolean topRowLonger = topGridRowSize > bottomGridRowSize;
             boolean bottomRowLonger = bottomGridRowSize > topGridRowSize;
             boolean dismissedTaskFromTop = mTopRowIdSet.contains(dismissedTaskViewId);
@@ -3445,7 +3455,7 @@
             }
             int longRowWidth = Math.max(topGridRowSize, bottomGridRowSize)
                     * (mLastComputedGridTaskSize.width() + mPageSpacing);
-            if (!ENABLE_GRID_ONLY_OVERVIEW.get() && !isStagingFocusedTask) {
+            if (!enableGridOnlyOverview() && !isStagingFocusedTask) {
                 longRowWidth += mLastComputedTaskSize.width() + mPageSpacing;
             }
 
@@ -3479,7 +3489,7 @@
                     snapToLastTask = true;
                 }
             }
-            if (isLandscapeSplit && !isStagingFocusedTask) {
+            if (isLeftRightSplit && !isStagingFocusedTask) {
                 // LastTask's scroll is the minimum scroll in split select, if current scroll is
                 // beyond that, we'll need to snap to last task instead.
                 TaskView lastTask = getLastGridTaskView();
@@ -3494,7 +3504,7 @@
             }
             if (snapToLastTask) {
                 longGridRowWidthDiff += getSnapToLastTaskScrollDiff();
-            } else if (isLandscapeSplit && currentPageSnapsToEndOfGrid) {
+            } else if (isLeftRightSplit && currentPageSnapsToEndOfGrid) {
                 // Use last task as reference point for scroll diff and snapping calculation as it's
                 // the only invariant point in landscape split screen.
                 snapToLastTask = true;
@@ -3812,33 +3822,19 @@
                                         taskViewIdArray.removeValue(
                                                 finalNextFocusedTaskView.getTaskViewId());
                                     }
-                                    try {
-                                        if (snappedIndex < taskViewIdArray.size()) {
-                                            taskViewIdToSnapTo = taskViewIdArray.get(snappedIndex);
-                                        } else if (snappedIndex == taskViewIdArray.size()) {
-                                            // If the snapped task is the last item from the
-                                            // dismissed row,
-                                            // snap to the same column in the other grid row
-                                            IntArray inverseRowTaskViewIdArray =
-                                                    isSnappedTaskInTopRow ? getBottomRowIdArray()
-                                                            : getTopRowIdArray();
-                                            if (snappedIndex < inverseRowTaskViewIdArray.size()) {
-                                                taskViewIdToSnapTo = inverseRowTaskViewIdArray.get(
-                                                        snappedIndex);
-                                            }
+                                    if (snappedIndex < taskViewIdArray.size()) {
+                                        taskViewIdToSnapTo = taskViewIdArray.get(snappedIndex);
+                                    } else if (snappedIndex == taskViewIdArray.size()) {
+                                        // If the snapped task is the last item from the
+                                        // dismissed row,
+                                        // snap to the same column in the other grid row
+                                        IntArray inverseRowTaskViewIdArray =
+                                                isSnappedTaskInTopRow ? getBottomRowIdArray()
+                                                        : getTopRowIdArray();
+                                        if (snappedIndex < inverseRowTaskViewIdArray.size()) {
+                                            taskViewIdToSnapTo = inverseRowTaskViewIdArray.get(
+                                                    snappedIndex);
                                         }
-                                    } catch (ArrayIndexOutOfBoundsException e) {
-                                        throw new IllegalStateException(
-                                                "b/269956477 invalid snappedIndex"
-                                                        + "\nsnappedTaskViewId: "
-                                                        + snappedTaskViewId
-                                                        + "\nfocusedTaskViewId: "
-                                                        + mFocusedTaskViewId
-                                                        + "\ntopRowIdArray: "
-                                                        + getTopRowIdArray().toConcatString()
-                                                        + "\nbottomRowIdArray: "
-                                                        + getBottomRowIdArray().toConcatString(),
-                                                e);
                                     }
                                 }
                             }
@@ -3867,7 +3863,7 @@
                     } else {
                         // Update focus task and its size.
                         if (finalIsFocusedTaskDismissed && finalNextFocusedTaskView != null) {
-                            mFocusedTaskViewId = ENABLE_GRID_ONLY_OVERVIEW.get()
+                            mFocusedTaskViewId = enableGridOnlyOverview()
                                     ? INVALID_TASK_ID
                                     : finalNextFocusedTaskView.getTaskViewId();
                             mTopRowIdSet.remove(mFocusedTaskViewId);
@@ -3965,7 +3961,7 @@
         mActionsView.updateSplitButtonHiddenFlags(FLAG_IS_NOT_TABLET,
                 !mActivity.getDeviceProfile().isTablet);
         mActionsView.updateSplitButtonDisabledFlags(FLAG_SINGLE_TASK, /*enable=*/ false);
-        if (DESKTOP_MODE_SUPPORTED) {
+        if (isDesktopModeSupported()) {
             boolean isCurrentDesktop = getCurrentPageTaskView() instanceof DesktopTaskView;
             mActionsView.updateHiddenFlags(HIDDEN_DESKTOP, isCurrentDesktop);
         }
@@ -4049,7 +4045,8 @@
     }
 
     protected void onDismissAnimationEnds() {
-        AccessibilityManagerCompat.sendDismissAnimationEndsEventToTest(getContext());
+        AccessibilityManagerCompat.sendTestProtocolEventToTest(getContext(),
+                DISMISS_ANIMATION_ENDS_MESSAGE);
     }
 
     public PendingAnimation createAllTasksDismissAnimation(long duration) {
@@ -4079,12 +4076,19 @@
         return anim;
     }
 
-    private boolean snapToPageRelative(int pageCount, int delta, boolean cycle) {
+    private boolean snapToPageRelative(int delta, boolean cycle,
+            @TaskGridNavHelper.TASK_NAV_DIRECTION int direction) {
+        // Ignore grid page snap events while scroll animations are running, otherwise the next
+        // page gets set before the animation finishes and can cause jumps.
+        if (!mScroller.isFinished()) {
+            return true;
+        }
+        int pageCount = getPageCount();
         if (pageCount == 0) {
             return false;
         }
-        final int newPageUnbound = getNextPage() + delta;
-        if (!cycle && (newPageUnbound < 0 || newPageUnbound >= pageCount)) {
+        final int newPageUnbound = getNextPageInternal(delta, direction, cycle);
+        if (!cycle && (newPageUnbound < 0 || newPageUnbound > pageCount)) {
             return false;
         }
         snapToPage((newPageUnbound + pageCount) % pageCount);
@@ -4092,6 +4096,34 @@
         return true;
     }
 
+    private int getNextPageInternal(int delta, @TaskGridNavHelper.TASK_NAV_DIRECTION int direction,
+            boolean cycle) {
+        if (!showAsGrid()) {
+            return getNextPage() + delta;
+        }
+
+        // Init task grid nav helper with top/bottom id arrays.
+        TaskGridNavHelper taskGridNavHelper = new TaskGridNavHelper(getTopRowIdArray(),
+                getBottomRowIdArray(), mFocusedTaskViewId);
+
+        // Get current page's task view ID.
+        TaskView currentPageTaskView = getCurrentPageTaskView();
+        int currentPageTaskViewId;
+        if (currentPageTaskView != null) {
+            currentPageTaskViewId = currentPageTaskView.getTaskViewId();
+        } else if (mCurrentPage == indexOfChild(mClearAllButton)) {
+            currentPageTaskViewId = TaskGridNavHelper.CLEAR_ALL_PLACEHOLDER_ID;
+        } else {
+            return INVALID_PAGE;
+        }
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+        return nextGridPage == TaskGridNavHelper.CLEAR_ALL_PLACEHOLDER_ID
+                ? indexOfChild(mClearAllButton)
+                : indexOfChild(getTaskViewFromTaskViewId(nextGridPage));
+    }
+
     private void runDismissAnimation(PendingAnimation pendingAnim) {
         AnimatorPlaybackController controller = pendingAnim.createPlaybackController();
         controller.dispatchOnStart();
@@ -4133,12 +4165,16 @@
         if (event.getAction() == KeyEvent.ACTION_DOWN) {
             switch (event.getKeyCode()) {
                 case KeyEvent.KEYCODE_TAB:
-                    return snapToPageRelative(getTaskViewCount(), event.isShiftPressed() ? -1 : 1,
-                            event.isAltPressed() /* cycle */);
+                    return snapToPageRelative(event.isShiftPressed() ? -1 : 1, true /* cycle */,
+                            DIRECTION_TAB);
                 case KeyEvent.KEYCODE_DPAD_RIGHT:
-                    return snapToPageRelative(getPageCount(), mIsRtl ? -1 : 1, false /* cycle */);
+                    return snapToPageRelative(mIsRtl ? -1 : 1, true /* cycle */, DIRECTION_RIGHT);
                 case KeyEvent.KEYCODE_DPAD_LEFT:
-                    return snapToPageRelative(getPageCount(), mIsRtl ? 1 : -1, false /* cycle */);
+                    return snapToPageRelative(mIsRtl ? 1 : -1, true /* cycle */, DIRECTION_LEFT);
+                case KeyEvent.KEYCODE_DPAD_UP:
+                    return snapToPageRelative(1, false /* cycle */, DIRECTION_UP);
+                case KeyEvent.KEYCODE_DPAD_DOWN:
+                    return snapToPageRelative(1, false /* cycle */, DIRECTION_DOWN);
                 case KeyEvent.KEYCODE_DEL:
                 case KeyEvent.KEYCODE_FORWARD_DEL:
                     dismissCurrentTask();
@@ -4346,19 +4382,27 @@
 
     private void updatePivots() {
         if (mOverviewSelectEnabled) {
-            getModalTaskSize(mTempRect);
-            Rect selectedTaskPosition = getSelectedTaskBounds();
-
-            Utilities.getPivotsForScalingRectToRect(mTempRect, selectedTaskPosition,
-                    mTempPointF);
-            setPivotX(mTempPointF.x);
-            setPivotY(mTempPointF.y);
+            if (enableGridOnlyOverview()) {
+                getModalTaskSize(mTempRect);
+                Rect selectedTaskPosition = getSelectedTaskBounds();
+                Utilities.getPivotsForScalingRectToRect(mTempRect, selectedTaskPosition,
+                        mTempPointF);
+            } else {
+                mTempPointF.set(mLastComputedTaskSize.centerX(), mLastComputedTaskSize.bottom);
+            }
         } else {
+            mTempRect.set(mLastComputedTaskSize);
+            // Only update pivot when it is tablet and not in grid yet, so the pivot is correct
+            // for non-current tasks when swiping up to overview
+            if (enableGridOnlyOverview() && mActivity.getDeviceProfile().isTablet
+                    && !mOverviewGridEnabled) {
+                mTempRect.offset(mActivity.getDeviceProfile().widthPx / 2 - mTempRect.centerX(), 0);
+            }
             getPagedViewOrientedState().getFullScreenScaleAndPivot(mTempRect,
                     mActivity.getDeviceProfile(), mTempPointF);
-            setPivotX(mTempPointF.x);
-            setPivotY(mTempPointF.y);
         }
+        setPivotX(mTempPointF.x);
+        setPivotY(mTempPointF.y);
     }
 
     private void updatePageOffsets() {
@@ -4372,7 +4416,7 @@
         int midpoint = runningTask == null ? -1 : indexOfChild(runningTask);
         int modalMidpoint = getCurrentPage();
         boolean isModalGridWithoutFocusedTask =
-                showAsGrid && ENABLE_GRID_ONLY_OVERVIEW.get() && mTaskModalness > 0;
+                showAsGrid && enableGridOnlyOverview() && mTaskModalness > 0;
         if (isModalGridWithoutFocusedTask) {
             modalMidpoint = indexOfChild(mSelectedTask);
         }
@@ -4434,7 +4478,7 @@
                 redrawLiveTile();
             }
 
-            if (showAsGrid && ENABLE_GRID_ONLY_OVERVIEW.get() && child instanceof TaskView) {
+            if (showAsGrid && enableGridOnlyOverview() && child instanceof TaskView) {
                 float totalTranslationY = getVerticalOffsetSize(i, modalOffset);
                 FloatProperty translationPropertyY =
                         ((TaskView) child).getSecondaryTaskOffsetTranslationProperty();
@@ -4543,7 +4587,7 @@
      * @param offsetProgress From 0 to 1 where 0 means no offset and 1 means offset offscreen.
      */
     private float getVerticalOffsetSize(int childIndex, float offsetProgress) {
-        if (offsetProgress == 0 || !(showAsGrid() && ENABLE_GRID_ONLY_OVERVIEW.get())
+        if (offsetProgress == 0 || !(showAsGrid() && enableGridOnlyOverview())
                 || mSelectedTask == null) {
             // Don't bother calculating everything below if we won't offset vertically.
             return 0;
@@ -4633,7 +4677,7 @@
         mSplitSelectStateController.setAnimateCurrentTaskDismissal(
                 true /*animateCurrentTaskDismissal*/);
         mSplitHiddenTaskViewIndex = indexOfChild(taskView);
-        if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED) {
+        if (isDesktopModeSupported()) {
             updateDesktopTaskVisibility(false /* visible */);
         }
     }
@@ -4657,7 +4701,7 @@
         mSplitSelectStateController.setInitialTaskSelect(splitSelectSource.intent,
                 splitSelectSource.position.stagePosition, splitSelectSource.itemInfo,
                 splitSelectSource.splitEvent, splitSelectSource.alreadyRunningTaskId);
-        if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED) {
+        if (isDesktopModeSupported()) {
             updateDesktopTaskVisibility(false /* visible */);
         }
     }
@@ -4789,13 +4833,12 @@
         pendingAnimation.addEndListener(aBoolean -> {
             mSplitSelectStateController.launchSplitTasks(
                     aBoolean1 -> {
-                        if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+                        if (FeatureFlags.enableSplitContextually()) {
                             mSplitSelectStateController.resetState();
                         } else {
                             resetFromSplitSelectionState();
                         }
-                        InteractionJankMonitorWrapper.end(
-                                InteractionJankMonitorWrapper.CUJ_SPLIT_SCREEN_ENTER);
+                        InteractionJankMonitorWrapper.end(Cuj.CUJ_SPLIT_SCREEN_ENTER);
                     });
         });
 
@@ -4805,8 +4848,8 @@
                     mSplitSelectStateController.getSecondTaskId());
         }
 
-        InteractionJankMonitorWrapper.begin(this,
-                InteractionJankMonitorWrapper.CUJ_SPLIT_SCREEN_ENTER, "Second tile selected");
+        InteractionJankMonitorWrapper.begin(this, Cuj.CUJ_SPLIT_SCREEN_ENTER,
+                "Second tile selected");
 
         // Fade out all other views underneath placeholders
         ObjectAnimator tvFade = ObjectAnimator.ofFloat(this, RecentsView.CONTENT_ALPHA,1, 0);
@@ -4818,7 +4861,7 @@
     @SuppressLint("WrongCall")
     protected void resetFromSplitSelectionState() {
         if (mSplitSelectSource != null || mSplitHiddenTaskViewIndex != -1 ||
-                FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+                FeatureFlags.enableSplitContextually()) {
             safeRemoveDragLayerView(mSplitSelectStateController.getFirstFloatingTaskView());
             safeRemoveDragLayerView(mSecondFloatingTaskView);
             safeRemoveDragLayerView(mSplitSelectStateController.getSplitInstructionsView());
@@ -4838,7 +4881,7 @@
         setTaskViewsPrimarySplitTranslation(0);
         setTaskViewsSecondarySplitTranslation(0);
 
-        if (!FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+        if (!FeatureFlags.enableSplitContextually()) {
             // When flag is on, this method gets called from resetState() call below, let's avoid
             // infinite recursion today
             mSplitSelectStateController.resetState();
@@ -4863,7 +4906,7 @@
             mSplitHiddenTaskView.setThumbnailVisibility(VISIBLE, INVALID_TASK_ID);
             mSplitHiddenTaskView = null;
         }
-        if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED) {
+        if (isDesktopModeSupported()) {
             updateDesktopTaskVisibility(true /* visible */);
         }
     }
@@ -4887,7 +4930,7 @@
         int direction = orientationHandler.getSplitTranslationDirectionFactor(
                 splitPosition, deviceProfile);
 
-        if (deviceProfile.isTablet && deviceProfile.isLandscape) {
+        if (deviceProfile.isTablet && deviceProfile.isLeftRightSplit) {
             // Only shift TaskViews if there is not enough space on the side of
             // mLastComputedTaskSize to minimize motion.
             int sideSpace = mIsRtl
@@ -4978,12 +5021,13 @@
 
     protected void maybeDrawEmptyMessage(Canvas canvas) {
         if (mShowEmptyMessage && mEmptyTextLayout != null) {
-            // Offset to center in the visible (non-padded) part of RecentsView
-            mTempRect.set(mInsets.left + getPaddingLeft(), mInsets.top + getPaddingTop(),
-                    mInsets.right + getPaddingRight(), mInsets.bottom + getPaddingBottom());
+            // Offsets icon and text up so that the vertical center of screen (accounting for
+            // insets) is between icon and text.
+            int offset = (mEmptyIcon.getIntrinsicHeight() + mEmptyMessagePadding) / 2;
+
             canvas.save();
-            canvas.translate(getScrollX() + (mTempRect.left - mTempRect.right) / 2,
-                    (mTempRect.top - mTempRect.bottom) / 2);
+            canvas.translate(getScrollX() + (mInsets.left - mInsets.right) / 2f,
+                    (mInsets.top - mInsets.bottom) / 2f - offset);
             mEmptyIcon.draw(canvas);
             canvas.translate(mEmptyMessagePadding,
                     mEmptyIcon.getBounds().bottom + mEmptyMessagePadding);
@@ -5237,7 +5281,7 @@
         }
 
         RemoteTargetGluer gluer;
-        if (DESKTOP_MODE_SUPPORTED && recentsAnimationTargets.hasDesktopTasks()) {
+        if (isDesktopModeSupported() && recentsAnimationTargets.hasDesktopTasks()) {
             gluer = new RemoteTargetGluer(getContext(), getSizeStrategy(), recentsAnimationTargets,
                     true /* forDesktop */);
             mRemoteTargetHandles = gluer.assignTargetsForDesktop(recentsAnimationTargets);
@@ -5298,8 +5342,6 @@
         cleanupRemoteTargets();
 
         if (mRecentsAnimationController == null) {
-            Log.d(TestProtocol.INCORRECT_HOME_STATE, "finish recents animation but recents "
-                    + "animation controller was null. returning.");
             if (onFinishComplete != null) {
                 onFinishComplete.run();
             }
@@ -5412,7 +5454,7 @@
     }
 
     private int getFirstViewIndex() {
-        if (DesktopTaskView.DESKTOP_IS_PROTO2_ENABLED && mDesktopTaskView != null) {
+        if (isDesktopModeSupported() && mDesktopTaskView != null) {
             // Desktop task is at position 0, that is the first view
             return 0;
         }
@@ -5670,11 +5712,20 @@
     }
 
     private void updateEnabledOverlays() {
+        TaskView focusedTaskView = getFocusedTaskView();
         int taskCount = getTaskViewCount();
         for (int i = 0; i < taskCount; i++) {
             TaskView taskView = requireTaskViewAt(i);
+            if (taskView == focusedTaskView) {
+                continue;
+            }
             taskView.setOverlayEnabled(mOverlayEnabled && isTaskViewFullyVisible(taskView));
         }
+        // Focus task overlay should be enabled and refreshed at last
+        if (focusedTaskView != null) {
+            focusedTaskView.setOverlayEnabled(
+                    mOverlayEnabled && isTaskViewFullyVisible(focusedTaskView));
+        }
     }
 
     public void setOverlayEnabled(boolean overlayEnabled) {
@@ -5799,6 +5850,11 @@
         return null;
     }
 
+    @Nullable
+    protected DesktopRecentsTransitionController getDesktopRecentsController() {
+        return mDesktopRecentsTransitionController;
+    }
+
     /** Enables or disables modal state for RecentsView */
     public abstract void setModalStateEnabled(int taskId, boolean animate);
 
@@ -5968,6 +6024,13 @@
         dispatchScrollChanged();
     }
 
+    @Override
+    protected boolean shouldHandleRequestChildFocus() {
+        // If we are already scrolling to a task view, then the focus request has already been
+        // handled
+        return mScroller.isFinished();
+    }
+
     private void dispatchScrollChanged() {
         runActionOnRemoteHandles(remoteTargetHandle ->
                 remoteTargetHandle.getTaskViewSimulator().setScroll(getScrollOffset()));
diff --git a/quickstep/src/com/android/quickstep/views/SplitInstructionsView.java b/quickstep/src/com/android/quickstep/views/SplitInstructionsView.java
index 4ca02e0..f6501f1 100644
--- a/quickstep/src/com/android/quickstep/views/SplitInstructionsView.java
+++ b/quickstep/src/com/android/quickstep/views/SplitInstructionsView.java
@@ -17,17 +17,15 @@
 package com.android.quickstep.views;
 
 import android.content.Context;
-import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.util.AttributeSet;
 import android.util.FloatProperty;
-import android.view.MotionEvent;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityNodeInfo;
-import android.widget.FrameLayout;
+import android.widget.LinearLayout;
+import android.widget.TextView;
 
 import androidx.annotation.Nullable;
-import androidx.appcompat.widget.AppCompatTextView;
 
 import com.android.launcher3.LauncherState;
 import com.android.launcher3.R;
@@ -41,12 +39,11 @@
  *
  * Appears and disappears concurrently with a FloatingTaskView.
  */
-public class SplitInstructionsView extends FrameLayout {
+public class SplitInstructionsView extends LinearLayout {
     private final StatefulActivity mLauncher;
-    private AppCompatTextView mTextView;
 
     public static final FloatProperty<SplitInstructionsView> UNFOLD =
-            new FloatProperty<SplitInstructionsView>("SplitInstructionsUnfold") {
+            new FloatProperty<>("SplitInstructionsUnfold") {
                 @Override
                 public void setValue(SplitInstructionsView splitInstructionsView, float v) {
                     splitInstructionsView.setScaleY(v);
@@ -97,22 +94,12 @@
     }
 
     private void init() {
-        mTextView = findViewById(R.id.split_instructions_text);
+        TextView cancelTextView = findViewById(R.id.split_instructions_text_cancel);
 
-        if (!FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
-            mTextView.setCompoundDrawables(null, null, null, null);
-            return;
+        if (FeatureFlags.enableSplitContextually()) {
+            cancelTextView.setVisibility(VISIBLE);
+            cancelTextView.setOnClickListener((v) -> exitSplitSelection());
         }
-
-        mTextView.setOnTouchListener((v, event) -> {
-            if (isTouchInsideRightCompoundDrawable(event)) {
-                if (event.getAction() == MotionEvent.ACTION_UP) {
-                    exitSplitSelection();
-                }
-                return true;
-            }
-            return false;
-        });
     }
 
     private void exitSplitSelection() {
@@ -121,24 +108,10 @@
         mLauncher.getStateManager().goToState(LauncherState.NORMAL);
     }
 
-    private boolean isTouchInsideRightCompoundDrawable(MotionEvent event) {
-        // Get the right compound drawable of the TextView.
-        Drawable rightDrawable = mTextView.getCompoundDrawablesRelative()[2];
-
-        // Check if the touch event intersects with the drawable's bounds.
-        if (rightDrawable != null) {
-            // We can get away w/o caring about the Y bounds since it's such a small view, if it's
-            // above/below the drawable just assume they meant to touch it. ¯\_(ツ)_/¯
-            return  event.getX() >= (mTextView.getWidth() - rightDrawable.getBounds().width());
-        } else {
-            return false;
-        }
-    }
-
     @Override
     public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
         super.onInitializeAccessibilityNodeInfo(info);
-        if (!FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+        if (!FeatureFlags.enableSplitContextually()) {
             return;
         }
 
@@ -150,7 +123,7 @@
 
     @Override
     public boolean performAccessibilityAction(int action, Bundle arguments) {
-        if (!FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+        if (!FeatureFlags.enableSplitContextually()) {
             return super.performAccessibilityAction(action, arguments);
         }
 
@@ -170,8 +143,4 @@
                         getMeasuredWidth()
                 );
     }
-
-    public AppCompatTextView getTextView() {
-        return mTextView;
-    }
 }
diff --git a/quickstep/src/com/android/quickstep/views/TaskMenuView.java b/quickstep/src/com/android/quickstep/views/TaskMenuView.java
index b4d24e5..77033b2 100644
--- a/quickstep/src/com/android/quickstep/views/TaskMenuView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskMenuView.java
@@ -16,6 +16,9 @@
 
 package com.android.quickstep.views;
 
+import static com.android.app.animation.Interpolators.EMPHASIZED;
+import static com.android.launcher3.Flags.enableOverviewIconMenu;
+import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT;
 import static com.android.quickstep.views.TaskThumbnailView.DIM_ALPHA;
 
 import android.animation.Animator;
@@ -24,6 +27,7 @@
 import android.content.Context;
 import android.graphics.Outline;
 import android.graphics.Rect;
+import android.graphics.drawable.GradientDrawable;
 import android.graphics.drawable.ShapeDrawable;
 import android.graphics.drawable.shapes.RectShape;
 import android.util.AttributeSet;
@@ -58,16 +62,21 @@
 
     private static final Rect sTempRect = new Rect();
 
-    private static final int REVEAL_OPEN_DURATION = 150;
-    private static final int REVEAL_CLOSE_DURATION = 100;
+    private static final int REVEAL_OPEN_DURATION = enableOverviewIconMenu() ? 417 : 150;
+    private static final int REVEAL_CLOSE_DURATION = enableOverviewIconMenu() ? 333 : 100;
 
     private BaseDraggingActivity mActivity;
     private TextView mTaskName;
     @Nullable
     private AnimatorSet mOpenCloseAnimator;
+    @Nullable private Runnable mOnClosingStartCallback;
     private TaskView mTaskView;
     private TaskIdAttributeContainer mTaskContainer;
     private LinearLayout mOptionLayout;
+    private float mMenuTranslationYBeforeOpen;
+    private float mMenuTranslationXBeforeOpen;
+    private float mIconViewTranslationYBeforeOpen;
+    private float mIconViewTranslationXBeforeOpen;
 
     public TaskMenuView(Context context, AttributeSet attrs) {
         this(context, attrs, 0);
@@ -131,20 +140,26 @@
         }
         if (mIsOpen) {
             mOptionLayout.removeAllViews();
-            if (!populateAndLayoutMenu()) {
+            if (enableOverviewIconMenu() || !populateAndLayoutMenu()) {
                 close(false);
             }
         }
     }
 
-    public static boolean showForTask(TaskIdAttributeContainer taskContainer) {
+    public static boolean showForTask(TaskIdAttributeContainer taskContainer,
+            @Nullable Runnable onClosingStartCallback) {
         BaseDraggingActivity activity = BaseDraggingActivity.fromContext(
                 taskContainer.getTaskView().getContext());
         final TaskMenuView taskMenuView = (TaskMenuView) activity.getLayoutInflater().inflate(
                         R.layout.task_menu, activity.getDragLayer(), false);
+        taskMenuView.setOnClosingStartCallback(onClosingStartCallback);
         return taskMenuView.populateAndShowForTask(taskContainer);
     }
 
+    public static boolean showForTask(TaskIdAttributeContainer taskContainer) {
+        return showForTask(taskContainer, null);
+    }
+
     private boolean populateAndShowForTask(TaskIdAttributeContainer taskContainer) {
         if (isAttachedToWindow()) {
             return false;
@@ -171,8 +186,12 @@
     }
 
     private void addMenuOptions(TaskIdAttributeContainer taskContainer) {
-        mTaskName.setText(TaskUtils.getTitle(getContext(), taskContainer.getTask()));
-        mTaskName.setOnClickListener(v -> close(true));
+        if (enableOverviewIconMenu()) {
+            removeView(mTaskName);
+        } else {
+            mTaskName.setText(TaskUtils.getTitle(getContext(), taskContainer.getTask()));
+            mTaskName.setOnClickListener(v -> close(true));
+        }
         TaskOverlayFactory.getEnabledShortcuts(mTaskView, taskContainer)
                 .forEach(this::addMenuOption);
     }
@@ -180,6 +199,9 @@
     private void addMenuOption(SystemShortcut menuOption) {
         LinearLayout menuOptionView = (LinearLayout) mActivity.getLayoutInflater().inflate(
                 R.layout.task_view_menu_option, this, false);
+        if (enableOverviewIconMenu()) {
+            ((GradientDrawable) menuOptionView.getBackground()).setCornerRadius(0);
+        }
         menuOption.setIconAndLabelFor(
                 menuOptionView.findViewById(R.id.icon), menuOptionView.findViewById(R.id.text));
         LayoutParams lp = (LayoutParams) menuOptionView.getLayoutParams();
@@ -198,15 +220,13 @@
 
         // Get Position
         DeviceProfile deviceProfile = mActivity.getDeviceProfile();
-        mActivity.getDragLayer().getDescendantRectRelativeToSelf(taskContainer.getThumbnailView(),
-                sTempRect);
+        mActivity.getDragLayer().getDescendantRectRelativeToSelf(
+                enableOverviewIconMenu() ? taskContainer.getIconView().asView()
+                        : taskContainer.getThumbnailView(), sTempRect);
         Rect insets = mActivity.getDragLayer().getInsets();
         BaseDragLayer.LayoutParams params = (BaseDragLayer.LayoutParams) getLayoutParams();
-        int padding = getResources()
-                .getDimensionPixelSize(R.dimen.task_menu_vertical_padding);
-        params.width = orientationHandler
-                .getTaskMenuWidth(taskContainer.getThumbnailView(),
-                        deviceProfile, taskContainer.getStagePosition()) - (2 * padding);
+        params.width = orientationHandler.getTaskMenuWidth(taskContainer.getThumbnailView(),
+                deviceProfile, taskContainer.getStagePosition());
         // Gravity set to Left instead of Start as sTempRect.left measures Left distance not Start
         params.gravity = Gravity.LEFT;
         setLayoutParams(params);
@@ -217,12 +237,20 @@
         ShapeDrawable divider = new ShapeDrawable(new RectShape());
         divider.getPaint().setColor(getResources().getColor(android.R.color.transparent));
         int dividerSpacing = (int) getResources().getDimension(R.dimen.task_menu_spacing);
-        mOptionLayout.setShowDividers(SHOW_DIVIDER_MIDDLE);
+        mOptionLayout.setShowDividers(
+                enableOverviewIconMenu() ? SHOW_DIVIDER_NONE : SHOW_DIVIDER_MIDDLE);
 
         orientationHandler.setTaskOptionsMenuLayoutOrientation(
                 deviceProfile, mOptionLayout, dividerSpacing, divider);
-        float thumbnailAlignedX = sTempRect.left - insets.left;
-        float thumbnailAlignedY = sTempRect.top - insets.top;
+        float thumbnailAlignedX = sTempRect.left - insets.left + (enableOverviewIconMenu()
+                ? -getResources().getDimensionPixelSize(
+                        R.dimen.task_thumbnail_icon_menu_touch_max_margin)
+                        - getResources().getDimension(R.dimen.task_thumbnail_icon_menu_start_margin)
+                : 0);
+        float thumbnailAlignedY = sTempRect.top - insets.top + (enableOverviewIconMenu()
+                ? getResources().getDimensionPixelSize(R.dimen.task_thumbnail_icon_menu_max_height)
+                        - getResources().getDimensionPixelSize(
+                        R.dimen.task_thumbnail_icon_menu_top_margin) : 0);
         // Changing pivot to make computations easier
         // NOTE: Changing the pivots means the rotated view gets rotated about the new pivots set,
         // which would render the X and Y position set here incorrect
@@ -231,15 +259,26 @@
         setRotation(orientationHandler.getDegreesRotated());
 
         // Margin that insets the menuView inside the taskView
-        float taskInsetMargin = getResources().getDimension(R.dimen.task_card_margin);
+        float taskInsetMarginX = enableOverviewIconMenu() ? getResources().getDimension(
+                R.dimen.task_thumbnail_icon_menu_start_margin) : getResources().getDimension(
+                R.dimen.task_card_margin);
+        float taskInsetMarginY = enableOverviewIconMenu() ? getResources().getDimension(
+                R.dimen.task_thumbnail_icon_menu_start_margin) : getResources().getDimension(
+                R.dimen.task_card_margin);
         setTranslationX(orientationHandler.getTaskMenuX(thumbnailAlignedX,
-                mTaskContainer.getThumbnailView(), deviceProfile, taskInsetMargin));
+                mTaskContainer.getThumbnailView(), deviceProfile, taskInsetMarginX,
+                mTaskContainer.getIconView().asView()));
         setTranslationY(orientationHandler.getTaskMenuY(
                 thumbnailAlignedY, mTaskContainer.getThumbnailView(),
-                mTaskContainer.getStagePosition(), this, taskInsetMargin));
+                mTaskContainer.getStagePosition(), this, taskInsetMarginY,
+                mTaskContainer.getIconView().asView()));
     }
 
     private void animateOpen() {
+        mMenuTranslationYBeforeOpen = getTranslationY();
+        mMenuTranslationXBeforeOpen = getTranslationX();
+        mIconViewTranslationYBeforeOpen = mTaskContainer.getIconView().asView().getTranslationY();
+        mIconViewTranslationXBeforeOpen = mTaskContainer.getIconView().asView().getTranslationX();
         animateOpenOrClosed(false);
         mIsOpen = true;
     }
@@ -256,7 +295,59 @@
 
         final Animator revealAnimator = createOpenCloseOutlineProvider()
                 .createRevealAnimator(this, closing);
-        revealAnimator.setInterpolator(Interpolators.DECELERATE);
+        revealAnimator.setInterpolator(enableOverviewIconMenu() ? Interpolators.EMPHASIZED
+                : Interpolators.DECELERATE);
+
+        if (enableOverviewIconMenu()) {
+            float additionalTranslationY = 0;
+            if (((RecentsView) mActivity.getOverviewPanel()).isOnGridBottomRow(mTaskView)) {
+                // Animate menu up for enough room to display full menu when task on bottom row.
+                float menuBottom = getHeight() + mMenuTranslationYBeforeOpen;
+                float taskBottom = mTaskView.getHeight() + mTaskView.getPersistentTranslationY();
+                float taskbarTop = mActivity.getDeviceProfile().heightPx
+                        - mActivity.getDeviceProfile().getOverviewActionsClaimedSpaceBelow();
+                float midpoint = (taskBottom + taskbarTop) / 2f;
+                additionalTranslationY = -Math.max(menuBottom - midpoint, 0);
+            }
+            // Translate the menu to account for the expansion of the app chip menu as well.
+            float expandOffsetTranslationY = getResources().getDimensionPixelSize(
+                    R.dimen.task_thumbnail_icon_menu_expanded_gap);
+            ObjectAnimator translationYAnim = ObjectAnimator.ofFloat(this, TRANSLATION_Y,
+                    closing ? mMenuTranslationYBeforeOpen
+                            : mMenuTranslationYBeforeOpen + additionalTranslationY
+                                    + expandOffsetTranslationY);
+            translationYAnim.setInterpolator(EMPHASIZED);
+
+            ObjectAnimator menuTranslationYAnim = ObjectAnimator.ofFloat(
+                    mTaskContainer.getIconView().asView(), TRANSLATION_Y,
+                    closing ? mIconViewTranslationYBeforeOpen
+                            : mIconViewTranslationYBeforeOpen + additionalTranslationY);
+            menuTranslationYAnim.setInterpolator(EMPHASIZED);
+
+            mOpenCloseAnimator.playTogether(translationYAnim, menuTranslationYAnim);
+        }
+        // Animate menu and icon when split task would display off the side of the screen.
+        if (enableOverviewIconMenu() && mActivity.getDeviceProfile().isLandscape
+                && mTaskContainer.getStagePosition() == STAGE_POSITION_BOTTOM_OR_RIGHT) {
+            float additionalTranslationX = Math.max(
+                    getTranslationX() + getWidth() - (mActivity.getDeviceProfile().widthPx
+                            - getResources().getDimensionPixelSize(
+                            R.dimen.task_menu_edge_padding) * 2), 0);
+
+            ObjectAnimator translationXAnim = ObjectAnimator.ofFloat(this, TRANSLATION_X,
+                    closing ? mMenuTranslationXBeforeOpen
+                            : mMenuTranslationXBeforeOpen - additionalTranslationX);
+            translationXAnim.setInterpolator(EMPHASIZED);
+
+            ObjectAnimator menuTranslationXAnim = ObjectAnimator.ofFloat(
+                    mTaskContainer.getIconView().asView(), TRANSLATION_X,
+                    closing ? mIconViewTranslationXBeforeOpen
+                            : mIconViewTranslationXBeforeOpen - additionalTranslationX);
+            menuTranslationXAnim.setInterpolator(EMPHASIZED);
+
+            mOpenCloseAnimator.playTogether(translationXAnim, menuTranslationXAnim);
+        }
+
         mOpenCloseAnimator.playTogether(revealAnimator,
                 ObjectAnimator.ofFloat(
                         mTaskContainer.getThumbnailView(), DIM_ALPHA,
@@ -266,6 +357,9 @@
             @Override
             public void onAnimationStart(Animator animation) {
                 setVisibility(VISIBLE);
+                if (closing && mOnClosingStartCallback != null) {
+                    mOnClosingStartCallback.run();
+                }
             }
 
             @Override
@@ -281,14 +375,30 @@
 
     private void closeComplete() {
         mIsOpen = false;
+        resetOverviewIconMenu();
         mActivity.getDragLayer().removeView(this);
     }
 
+    private void resetOverviewIconMenu() {
+        if (enableOverviewIconMenu()) {
+            ((IconAppChipView) mTaskContainer.getIconView()).reset();
+            setTranslationY(mMenuTranslationYBeforeOpen);
+            mTaskContainer.getIconView().asView().setTranslationY(mIconViewTranslationYBeforeOpen);
+        }
+    }
+
     private RoundedRectRevealOutlineProvider createOpenCloseOutlineProvider() {
         float radius = TaskCornerRadius.get(mContext);
-        Rect fromRect = new Rect(0, 0, getWidth(), 0);
+        Rect fromRect = new Rect(
+                enableOverviewIconMenu() && isLayoutRtl() ? getWidth() : 0,
+                0,
+                enableOverviewIconMenu() && !isLayoutRtl() ? 0 : getWidth(),
+                0);
         Rect toRect = new Rect(0, 0, getWidth(), getHeight());
         return new RoundedRectRevealOutlineProvider(radius, radius, fromRect, toRect);
     }
 
+    private void setOnClosingStartCallback(Runnable onClosingStartCallback) {
+        mOnClosingStartCallback = onClosingStartCallback;
+    }
 }
diff --git a/quickstep/src/com/android/quickstep/views/TaskMenuViewWithArrow.kt b/quickstep/src/com/android/quickstep/views/TaskMenuViewWithArrow.kt
index 8ee0fbb..12b8b6f 100644
--- a/quickstep/src/com/android/quickstep/views/TaskMenuViewWithArrow.kt
+++ b/quickstep/src/com/android/quickstep/views/TaskMenuViewWithArrow.kt
@@ -106,7 +106,7 @@
     override fun isOfType(type: Int): Boolean = type and TYPE_TASK_MENU != 0
 
     override fun getTargetObjectLocation(outPos: Rect?) {
-        popupContainer.getDescendantRectRelativeToSelf(taskContainer.iconView, outPos)
+        popupContainer.getDescendantRectRelativeToSelf(taskContainer.iconView.asView(), outPos)
     }
 
     override fun onControllerInterceptTouchEvent(ev: MotionEvent?): Boolean {
@@ -121,7 +121,7 @@
 
     override fun onFinishInflate() {
         super.onFinishInflate()
-        optionLayout = findViewById(R.id.menu_option_layout)
+        optionLayout = requireViewById(R.id.menu_option_layout)
     }
 
     private fun populateAndShowForTask(
@@ -193,8 +193,8 @@
             mActivityContext.layoutInflater.inflate(R.layout.task_view_menu_option, this, false)
                 as LinearLayout
         menuOption.setIconAndLabelFor(
-            menuOptionView.findViewById(R.id.icon),
-            menuOptionView.findViewById(R.id.text)
+            menuOptionView.requireViewById(R.id.icon),
+            menuOptionView.requireViewById(R.id.text)
         )
         val lp = menuOptionView.layoutParams as LayoutParams
         lp.width = menuWidth
diff --git a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
index f746203..dff0580 100644
--- a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java
@@ -558,13 +558,12 @@
                     .getRecentsActivityRotation();
             boolean isRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
             mPreviewPositionHelper.updateThumbnailMatrix(mPreviewRect, mThumbnailData,
-                    getMeasuredWidth(), getMeasuredHeight(), dp.widthPx, dp.heightPx,
-                    dp.taskbarHeight, dp.isTablet, currentRotation, isRtl);
+                    getMeasuredWidth(), getMeasuredHeight(), dp.isTablet, currentRotation, isRtl);
 
             mBitmapShader.setLocalMatrix(mPreviewPositionHelper.getMatrix());
             mPaint.setShader(mBitmapShader);
         }
-        getTaskView().updateCurrentFullscreenParams(mPreviewPositionHelper);
+        getTaskView().updateCurrentFullscreenParams();
         invalidate();
     }
 
diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java
index 39b6c62..66a880b 100644
--- a/quickstep/src/com/android/quickstep/views/TaskView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskView.java
@@ -23,6 +23,8 @@
 import static com.android.app.animation.Interpolators.ACCELERATE_DECELERATE;
 import static com.android.app.animation.Interpolators.FAST_OUT_SLOW_IN;
 import static com.android.app.animation.Interpolators.LINEAR;
+import static com.android.launcher3.Flags.enableCursorHoverStates;
+import static com.android.launcher3.Flags.enableOverviewIconMenu;
 import static com.android.launcher3.LauncherState.BACKGROUND_APP;
 import static com.android.launcher3.Utilities.getDescendantCoordRelativeToAncestor;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS;
@@ -33,7 +35,9 @@
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_UNDEFINED;
 import static com.android.launcher3.util.SplitConfigurationOptions.getLogEventForPosition;
 import static com.android.quickstep.TaskOverlayFactory.getEnabledShortcuts;
+import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.EXPECTING_TASK_APPEARED;
 import static com.android.quickstep.util.BorderAnimator.DEFAULT_BORDER_COLOR;
+import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported;
 
 import static java.lang.annotation.RetentionPolicy.SOURCE;
 
@@ -63,6 +67,7 @@
 import android.view.TouchDelegate;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.ViewStub;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.Interpolator;
 import android.widget.FrameLayout;
@@ -75,6 +80,7 @@
 
 import com.android.app.animation.Interpolators;
 import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.Flags;
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
@@ -101,19 +107,20 @@
 import com.android.quickstep.TaskThumbnailCache;
 import com.android.quickstep.TaskUtils;
 import com.android.quickstep.TaskViewUtils;
+import com.android.quickstep.util.ActiveGestureLog;
 import com.android.quickstep.util.BorderAnimator;
 import com.android.quickstep.util.CancellableTask;
 import com.android.quickstep.util.RecentsOrientedState;
 import com.android.quickstep.util.SplitSelectStateController;
 import com.android.quickstep.util.TaskCornerRadius;
 import com.android.quickstep.util.TaskRemovedDuringLaunchListener;
-import com.android.quickstep.util.TransformParams;
 import com.android.systemui.shared.recents.model.Task;
 import com.android.systemui.shared.recents.model.ThumbnailData;
-import com.android.systemui.shared.recents.utilities.PreviewPositionHelper;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
 import com.android.systemui.shared.system.QuickStepContract;
 
+import kotlin.Unit;
+
 import java.lang.annotation.Retention;
 import java.util.Arrays;
 import java.util.Collections;
@@ -297,32 +304,6 @@
                 }
             };
 
-    private static final FloatProperty<TaskView> NON_GRID_TRANSLATION_X =
-            new FloatProperty<TaskView>("nonGridTranslationX") {
-                @Override
-                public void setValue(TaskView taskView, float v) {
-                    taskView.setNonGridTranslationX(v);
-                }
-
-                @Override
-                public Float get(TaskView taskView) {
-                    return taskView.mNonGridTranslationX;
-                }
-            };
-
-    private static final FloatProperty<TaskView> NON_GRID_TRANSLATION_Y =
-            new FloatProperty<TaskView>("nonGridTranslationY") {
-                @Override
-                public void setValue(TaskView taskView, float v) {
-                    taskView.setNonGridTranslationY(v);
-                }
-
-                @Override
-                public Float get(TaskView taskView) {
-                    return taskView.mNonGridTranslationY;
-                }
-            };
-
     public static final FloatProperty<TaskView> GRID_END_TRANSLATION_X =
             new FloatProperty<TaskView>("gridEndTranslationX") {
                 @Override
@@ -352,7 +333,7 @@
     @Nullable
     protected Task mTask;
     protected TaskThumbnailView mSnapshotView;
-    protected IconView mIconView;
+    protected TaskViewIcon mIconView;
     protected final DigitalWellBeingToast mDigitalWellBeingToast;
     protected float mFullscreenProgress;
     private float mGridProgress;
@@ -379,7 +360,7 @@
     // Applied as a complement to gridTranslation, for adjusting the carousel overview and quick
     // switch.
     private float mNonGridTranslationX;
-    private float mNonGridTranslationY;
+    private float mNonGridPivotTranslationX;
     // Used when in SplitScreenSelectState
     private float mSplitSelectTranslationY;
     private float mSplitSelectTranslationX;
@@ -400,6 +381,7 @@
             new TaskIdAttributeContainer[2];
 
     private boolean mShowScreenshot;
+    private boolean mBorderEnabled;
 
     // The current background requests to load the task thumbnail and icon
     @Nullable
@@ -431,8 +413,15 @@
         this(context, attrs, defStyleAttr, 0);
     }
 
-    public TaskView(
-            Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+    public TaskView(Context context, @Nullable AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        this(context, attrs, defStyleAttr, defStyleRes, null, null);
+    }
+
+    @VisibleForTesting
+    public TaskView(Context context, @Nullable AttributeSet attrs, int defStyleAttr,
+            int defStyleRes, BorderAnimator focusBorderAnimator,
+            BorderAnimator hoverBorderAnimator) {
         super(context, attrs, defStyleAttr, defStyleRes);
         mActivity = StatefulActivity.fromContext(context);
         setOnClickListener(this::onClick);
@@ -441,49 +430,52 @@
         mDigitalWellBeingToast = new DigitalWellBeingToast(mActivity, this);
 
         boolean keyboardFocusHighlightEnabled = FeatureFlags.ENABLE_KEYBOARD_QUICK_SWITCH.get()
-                || DesktopTaskView.DESKTOP_MODE_SUPPORTED;
+                || isDesktopModeSupported();
+        boolean cursorHoverStatesEnabled = enableCursorHoverStates();
 
-        boolean willDrawBorder =
-                keyboardFocusHighlightEnabled || FeatureFlags.ENABLE_CURSOR_HOVER_STATES.get();
-        setWillNotDraw(!willDrawBorder);
+        setWillNotDraw(!keyboardFocusHighlightEnabled && !cursorHoverStatesEnabled);
 
-        if (willDrawBorder) {
-            TypedArray styledAttrs = context.obtainStyledAttributes(
-                    attrs, R.styleable.TaskView, defStyleAttr, defStyleRes);
+        TypedArray styledAttrs = context.obtainStyledAttributes(
+                attrs, R.styleable.TaskView, defStyleAttr, defStyleRes);
 
-            mFocusBorderAnimator = keyboardFocusHighlightEnabled ? new BorderAnimator(
-                    /* borderRadiusPx= */ (int) mCurrentFullscreenParams.mCornerRadius,
-                    /* borderColor= */ styledAttrs.getColor(
-                            R.styleable.TaskView_focusBorderColor, DEFAULT_BORDER_COLOR),
-                    /* borderAnimationParams= */ new BorderAnimator.SimpleParams(
-                            /* borderWidthPx= */ context.getResources().getDimensionPixelSize(
-                                    R.dimen.keyboard_quick_switch_border_width),
-                            /* boundsBuilder= */ this::updateBorderBounds,
-                            /* targetView= */ this)) : null;
-
-            mHoverBorderAnimator =
-                    FeatureFlags.ENABLE_CURSOR_HOVER_STATES.get() ? new BorderAnimator(
-                            /* borderRadiusPx= */ (int) mCurrentFullscreenParams.mCornerRadius,
-                            /* borderColor= */ styledAttrs.getColor(
-                                    R.styleable.TaskView_hoverBorderColor, DEFAULT_BORDER_COLOR),
-                            /* borderAnimationParams= */ new BorderAnimator.SimpleParams(
-                                    /* borderWidthPx= */ context.getResources()
-                                            .getDimensionPixelSize(R.dimen.task_hover_border_width),
-                                    /* boundsBuilder= */ this::updateBorderBounds,
-                                    /* targetView= */ this)) : null;
-
-            styledAttrs.recycle();
+        if (focusBorderAnimator != null) {
+            mFocusBorderAnimator = focusBorderAnimator;
         } else {
-            mFocusBorderAnimator = null;
-            mHoverBorderAnimator = null;
+            mFocusBorderAnimator = keyboardFocusHighlightEnabled
+                    ? BorderAnimator.createSimpleBorderAnimator(
+                    /* borderRadiusPx= */ (int) mCurrentFullscreenParams.mCornerRadius,
+                    /* borderWidthPx= */ context.getResources().getDimensionPixelSize(
+                            R.dimen.keyboard_quick_switch_border_width),
+                    /* boundsBuilder= */ this::updateBorderBounds,
+                    /* targetView= */ this,
+                    /* borderColor= */ styledAttrs.getColor(
+                            R.styleable.TaskView_focusBorderColor, DEFAULT_BORDER_COLOR))
+                    : null;
         }
+
+        if (hoverBorderAnimator != null) {
+            mHoverBorderAnimator = hoverBorderAnimator;
+        } else {
+            mHoverBorderAnimator = cursorHoverStatesEnabled
+                    ? BorderAnimator.createSimpleBorderAnimator(
+                    /* borderRadiusPx= */ (int) mCurrentFullscreenParams.mCornerRadius,
+                    /* borderWidthPx= */ context.getResources().getDimensionPixelSize(
+                            R.dimen.task_hover_border_width),
+                    /* boundsBuilder= */ this::updateBorderBounds,
+                    /* targetView= */ this,
+                    /* borderColor= */ styledAttrs.getColor(
+                            R.styleable.TaskView_hoverBorderColor, DEFAULT_BORDER_COLOR))
+                    : null;
+        }
+        styledAttrs.recycle();
     }
 
-    protected void updateBorderBounds(Rect bounds) {
+    protected Unit updateBorderBounds(@NonNull Rect bounds) {
         bounds.set(mSnapshotView.getLeft() + Math.round(mSnapshotView.getTranslationX()),
                 mSnapshotView.getTop() + Math.round(mSnapshotView.getTranslationY()),
                 mSnapshotView.getRight() + Math.round(mSnapshotView.getTranslationX()),
                 mSnapshotView.getBottom() + Math.round(mSnapshotView.getTranslationY()));
+        return Unit.INSTANCE;
     }
 
     public void setTaskViewId(int id) {
@@ -523,27 +515,36 @@
     protected void onFinishInflate() {
         super.onFinishInflate();
         mSnapshotView = findViewById(R.id.snapshot);
-        mIconView = findViewById(R.id.icon);
-        mIconTouchDelegate = new TransformingTouchDelegate(mIconView);
+        ViewStub iconViewStub = findViewById(R.id.icon);
+        if (enableOverviewIconMenu()) {
+            iconViewStub.setLayoutResource(R.layout.icon_app_chip_view);
+        } else {
+            iconViewStub.setLayoutResource(R.layout.icon_view);
+        }
+        mIconView = (TaskViewIcon) iconViewStub.inflate();
+        mIconTouchDelegate = new TransformingTouchDelegate(mIconView.asView());
     }
 
     @Override
-    protected void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) {
+    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
+    public void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) {
         super.onFocusChanged(gainFocus, direction, previouslyFocusedRect);
-        if (mFocusBorderAnimator != null) {
-            mFocusBorderAnimator.buildAnimator(gainFocus).start();
+        if (mFocusBorderAnimator != null && mBorderEnabled) {
+            mFocusBorderAnimator.setBorderVisibility(gainFocus, /* animated= */ true);
         }
     }
 
     @Override
     public boolean onHoverEvent(MotionEvent event) {
-        if (FeatureFlags.ENABLE_CURSOR_HOVER_STATES.get()) {
+        if (mHoverBorderAnimator != null && mBorderEnabled) {
             switch (event.getAction()) {
                 case MotionEvent.ACTION_HOVER_ENTER:
-                    mHoverBorderAnimator.buildAnimator(/* isAppearing= */ true).start();
+                    mHoverBorderAnimator.setBorderVisibility(/* visible= */ true, /* animated= */
+                            true);
                     break;
                 case MotionEvent.ACTION_HOVER_EXIT:
-                    mHoverBorderAnimator.buildAnimator(/* isAppearing= */ false).start();
+                    mHoverBorderAnimator.setBorderVisibility(/* visible= */ false, /* animated= */
+                            true);
                     break;
                 default:
                     break;
@@ -552,9 +553,27 @@
         return super.onHoverEvent(event);
     }
 
+    /**
+     * Enable or disable showing border on hover and focus change
+     */
+    public void setBorderEnabled(boolean enabled) {
+        mBorderEnabled = enabled;
+        // Set the animation correctly in case it misses the hover/focus event during state
+        // transition
+        if (mHoverBorderAnimator != null) {
+            mHoverBorderAnimator.setBorderVisibility(/* visible= */
+                    enabled && isHovered(), /* animated= */ true);
+        }
+
+        if (mFocusBorderAnimator != null) {
+            mFocusBorderAnimator.setBorderVisibility(/* visible= */
+                    enabled && isFocused(), /* animated= */true);
+        }
+    }
+
     @Override
     public boolean onInterceptHoverEvent(MotionEvent event) {
-        if (FeatureFlags.ENABLE_CURSOR_HOVER_STATES.get()) {
+        if (enableCursorHoverStates()) {
             // avoid triggering hover event on child elements which would cause HOVER_EXIT for this
             // task view
             return true;
@@ -565,14 +584,14 @@
 
     @Override
     public void draw(Canvas canvas) {
-        super.draw(canvas);
+        // Draw border first so any child views outside of the thumbnail bounds are drawn above it.
         if (mFocusBorderAnimator != null) {
             mFocusBorderAnimator.drawBorder(canvas);
         }
-
         if (mHoverBorderAnimator != null) {
             mHoverBorderAnimator.drawBorder(canvas);
         }
+        super.draw(canvas);
     }
 
     /**
@@ -589,17 +608,22 @@
         return false;
     }
 
-    protected void computeAndSetIconTouchDelegate(IconView iconView, float[] tempCenterCoords,
+    protected void computeAndSetIconTouchDelegate(TaskViewIcon view, float[] tempCenterCoords,
             TransformingTouchDelegate transformingTouchDelegate) {
-        float iconHalfSize = iconView.getWidth() / 2f;
-        tempCenterCoords[0] = tempCenterCoords[1] = iconHalfSize;
-        getDescendantCoordRelativeToAncestor(iconView, mActivity.getDragLayer(), tempCenterCoords,
-                false);
+        if (view == null) {
+            return;
+        }
+        float viewHalfWidth = view.getWidth() / 2f;
+        float viewHalfHeight = view.getHeight() / 2f;
+        tempCenterCoords[0] = viewHalfWidth;
+        tempCenterCoords[1] = viewHalfHeight;
+        getDescendantCoordRelativeToAncestor(view.asView(), mActivity.getDragLayer(),
+                tempCenterCoords, false);
         transformingTouchDelegate.setBounds(
-                (int) (tempCenterCoords[0] - iconHalfSize),
-                (int) (tempCenterCoords[1] - iconHalfSize),
-                (int) (tempCenterCoords[0] + iconHalfSize),
-                (int) (tempCenterCoords[1] + iconHalfSize));
+                (int) (tempCenterCoords[0] - viewHalfWidth),
+                (int) (tempCenterCoords[1] - viewHalfHeight),
+                (int) (tempCenterCoords[0] + viewHalfWidth),
+                (int) (tempCenterCoords[1] + viewHalfHeight));
     }
 
     /**
@@ -613,7 +637,7 @@
             return;
         }
         mModalness = modalness;
-        mIconView.setAlpha(1 - modalness);
+        mIconView.setContentAlpha(1 - modalness);
         mDigitalWellBeingToast.updateBannerOffset(modalness);
     }
 
@@ -631,8 +655,8 @@
         cancelPendingLoadTasks();
         mTask = task;
         mTaskIdContainer[0] = mTask.key.id;
-        mTaskIdAttributeContainer[0] = new TaskIdAttributeContainer(task, mSnapshotView,
-                mIconView, STAGE_POSITION_UNDEFINED);
+        mTaskIdAttributeContainer[0] = new TaskIdAttributeContainer(task, mSnapshotView, mIconView,
+                STAGE_POSITION_UNDEFINED);
         mSnapshotView.bind(task);
         setOrientationState(orientedState);
     }
@@ -747,7 +771,7 @@
         return new TaskThumbnailView[]{mSnapshotView};
     }
 
-    public IconView getIconView() {
+    public TaskViewIcon getIconView() {
         return mIconView;
     }
 
@@ -844,6 +868,7 @@
                     getDisplay() == null ? DEFAULT_DISPLAY : getDisplay().getDisplayId());
             if (ActivityManagerWrapper.getInstance()
                     .startActivityFromRecents(mTask.key, opts.options)) {
+                ActiveGestureLog.INSTANCE.trackEvent(EXPECTING_TASK_APPEARED);
                 RecentsView recentsView = getRecentsView();
                 if (recentsView.getRunningTaskViewId() != -1) {
                     recentsView.onTaskLaunchedInLiveTileMode();
@@ -976,19 +1001,17 @@
             if (remoteTargetHandles.length == 1) {
                 targets = remoteTargetHandles[0].getTransformParams().getTargetSet();
             } else {
-                TransformParams topLeftParams = remoteTargetHandles[0].getTransformParams();
-                TransformParams rightBottomParams = remoteTargetHandles[1].getTransformParams();
-                RemoteAnimationTarget[] apps = Stream.concat(
-                        Arrays.stream(topLeftParams.getTargetSet().apps),
-                        Arrays.stream(rightBottomParams.getTargetSet().apps))
+                RemoteAnimationTarget[] apps = Arrays.stream(remoteTargetHandles)
+                        .flatMap(handle -> Stream.of(
+                                handle.getTransformParams().getTargetSet().apps))
                         .toArray(RemoteAnimationTarget[]::new);
-                RemoteAnimationTarget[] wallpapers = Stream.concat(
-                        Arrays.stream(topLeftParams.getTargetSet().wallpapers),
-                        Arrays.stream(rightBottomParams.getTargetSet().wallpapers))
+                RemoteAnimationTarget[] wallpapers = Arrays.stream(remoteTargetHandles)
+                        .flatMap(handle -> Stream.of(
+                                handle.getTransformParams().getTargetSet().wallpapers))
                         .toArray(RemoteAnimationTarget[]::new);
                 targets = new RemoteAnimationTargets(apps, wallpapers,
-                        topLeftParams.getTargetSet().nonApps,
-                        topLeftParams.getTargetSet().targetMode);
+                        remoteTargetHandles[0].getTransformParams().getTargetSet().nonApps,
+                        remoteTargetHandles[0].getTransformParams().getTargetSet().targetMode);
             }
             if (targets == null) {
                 // If the recents animation is cancelled somehow between the parent if block and
@@ -1012,9 +1035,6 @@
             anim.addListener(new AnimatorListenerAdapter() {
                 @Override
                 public void onAnimationStart(Animator animation) {
-                    if (!recentsView.showAsGrid()) {
-                        return;
-                    }
                     recentsView.runActionOnRemoteHandles(
                             (Consumer<RemoteTargetHandle>) remoteTargetHandle ->
                                     remoteTargetHandle
@@ -1082,6 +1102,9 @@
                 mIconLoadRequest = iconCache.updateIconInBackground(mTask,
                         (task) -> {
                             setIcon(mIconView, task.icon);
+                            if (enableOverviewIconMenu()) {
+                                setText(mIconView, task.title);
+                            }
                             mDigitalWellBeingToast.initialize(task);
                         });
             }
@@ -1097,6 +1120,9 @@
             }
             if (needsUpdate(changes, FLAG_UPDATE_ICON)) {
                 setIcon(mIconView, null);
+                if (enableOverviewIconMenu()) {
+                    setText(mIconView, null);
+                }
             }
         }
     }
@@ -1116,7 +1142,7 @@
         }
     }
 
-    private boolean showTaskMenu(IconView iconView) {
+    private boolean showTaskMenu(TaskViewIcon iconView) {
         if (!getRecentsView().canLaunchFullscreenTask()) {
             // Don't show menu when selecting second split screen app
             return true;
@@ -1133,14 +1159,19 @@
         }
     }
 
-    protected boolean showTaskMenuWithContainer(IconView iconView) {
+    protected boolean showTaskMenuWithContainer(TaskViewIcon iconView) {
         TaskIdAttributeContainer menuContainer =
                 mTaskIdAttributeContainer[iconView == mIconView ? 0 : 1];
         DeviceProfile dp = mActivity.getDeviceProfile();
-        if (dp.isTablet) {
+        if (enableOverviewIconMenu() && iconView instanceof IconAppChipView) {
+            ((IconAppChipView) iconView).revealAnim(/* isRevealing= */ true);
+            return TaskMenuView.showForTask(menuContainer, () -> {
+                ((IconAppChipView) iconView).revealAnim(/* isRevealing= */ false);
+            });
+        } else if (dp.isTablet) {
             int alignedOptionIndex = 0;
             if (getRecentsView().isOnGridBottomRow(menuContainer.getTaskView()) && dp.isLandscape) {
-                if (FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get()) {
+                if (Flags.enableGridOnlyOverview()) {
                     // With no focused task, there is less available space below the tasks, so align
                     // the arrow to the third option in the menu.
                     alignedOptionIndex = 2;
@@ -1149,13 +1180,14 @@
                     alignedOptionIndex = 1;
                 }
             }
-            return TaskMenuViewWithArrow.Companion.showForTask(menuContainer, alignedOptionIndex);
+            return TaskMenuViewWithArrow.Companion.showForTask(menuContainer,
+                    alignedOptionIndex);
         } else {
             return TaskMenuView.showForTask(menuContainer);
         }
     }
 
-    protected void setIcon(IconView iconView, @Nullable Drawable icon) {
+    protected void setIcon(TaskViewIcon iconView, @Nullable Drawable icon) {
         if (icon != null) {
             iconView.setDrawable(icon);
             iconView.setOnClickListener(v -> {
@@ -1175,32 +1207,13 @@
         }
     }
 
-    public void setOrientationState(RecentsOrientedState orientationState) {
-        setIconOrientation(orientationState);
-        setThumbnailOrientation(orientationState);
+    protected void setText(TaskViewIcon iconView, CharSequence text) {
+        iconView.setText(text);
     }
 
-    protected void setIconOrientation(RecentsOrientedState orientationState) {
-        PagedOrientationHandler orientationHandler = orientationState.getOrientationHandler();
-        boolean isRtl = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
-        DeviceProfile deviceProfile = mActivity.getDeviceProfile();
-
-        boolean isGridTask = isGridTask();
-        LayoutParams iconParams = (LayoutParams) mIconView.getLayoutParams();
-
-        int thumbnailTopMargin = deviceProfile.overviewTaskThumbnailTopMarginPx;
-        int taskIconHeight = deviceProfile.overviewTaskIconSizePx;
-        int taskMargin = deviceProfile.overviewTaskMarginPx;
-
-        orientationHandler.setTaskIconParams(iconParams, taskMargin, taskIconHeight,
-                thumbnailTopMargin, isRtl);
-        iconParams.width = iconParams.height = taskIconHeight;
-        mIconView.setLayoutParams(iconParams);
-
-        mIconView.setRotation(orientationHandler.getDegreesRotated());
-        int iconDrawableSize = isGridTask ? deviceProfile.overviewTaskIconDrawableSizeGridPx
-                : deviceProfile.overviewTaskIconDrawableSizePx;
-        mIconView.setDrawableSize(iconDrawableSize, iconDrawableSize);
+    public void setOrientationState(RecentsOrientedState orientationState) {
+        mIconView.setIconOrientation(orientationState, isGridTask());
+        setThumbnailOrientation(orientationState);
     }
 
     protected void setThumbnailOrientation(RecentsOrientedState orientationState) {
@@ -1244,7 +1257,7 @@
         float upperClamp = invert ? 1 : iconScalePercentage;
         float scale = Interpolators.clampToProgress(FAST_OUT_SLOW_IN, lowerClamp, upperClamp)
                 .getInterpolation(progress);
-        mIconView.setAlpha(scale);
+        mIconView.setContentAlpha(scale);
         mDigitalWellBeingToast.updateBannerOffset(1f - scale);
     }
 
@@ -1280,8 +1293,8 @@
     }
 
     protected void resetPersistentViewTransforms() {
-        mNonGridTranslationX = mNonGridTranslationY =
-                mGridTranslationX = mGridTranslationY = mBoxTranslationY = 0f;
+        mNonGridTranslationX = mGridTranslationX =
+                mGridTranslationY = mBoxTranslationY = mNonGridPivotTranslationX = 0f;
         resetViewTransforms();
     }
 
@@ -1318,6 +1331,7 @@
         mSnapshotView.setThumbnail(mTask, null);
         setOverlayEnabled(false);
         onTaskListVisibilityChanged(false);
+        mBorderEnabled = false;
     }
 
     public float getTaskCornerRadius() {
@@ -1450,14 +1464,16 @@
         applyTranslationY();
     }
 
-    private void setNonGridTranslationX(float nonGridTranslationX) {
-        mNonGridTranslationX = nonGridTranslationX;
-        applyTranslationX();
+    public float getNonGridTranslationX() {
+        return mNonGridTranslationX;
     }
 
-    private void setNonGridTranslationY(float nonGridTranslationY) {
-        mNonGridTranslationY = nonGridTranslationY;
-        applyTranslationY();
+    /**
+     * Updates X coordinate of non-grid translation.
+     */
+    public void setNonGridTranslationX(float nonGridTranslationX) {
+        mNonGridTranslationX = nonGridTranslationX;
+        applyTranslationX();
     }
 
     public void setGridTranslationX(float gridTranslationX) {
@@ -1483,12 +1499,20 @@
         applyTranslationX();
     }
 
+    /**
+     * Set translation X for non-grid pivot
+     */
+    public void setNonGridPivotTranslationX(float nonGridPivotTranslationX) {
+        mNonGridPivotTranslationX = nonGridPivotTranslationX;
+        applyTranslationX();
+    }
+
     public float getScrollAdjustment(boolean gridEnabled) {
         float scrollAdjustment = 0;
         if (gridEnabled) {
             scrollAdjustment += mGridTranslationX;
         } else {
-            scrollAdjustment += getPrimaryNonGridTranslationProperty().get(this);
+            scrollAdjustment += getNonGridTranslationX();
         }
         return scrollAdjustment;
     }
@@ -1525,7 +1549,8 @@
      * change according to a temporary state (e.g. task offset).
      */
     public float getPersistentTranslationX() {
-        return getNonGridTrans(mNonGridTranslationX) + getGridTrans(mGridTranslationX);
+        return getNonGridTrans(mNonGridTranslationX) + getGridTrans(mGridTranslationX)
+                + getNonGridTrans(mNonGridPivotTranslationX);
     }
 
     /**
@@ -1533,9 +1558,7 @@
      * change according to a temporary state (e.g. task offset).
      */
     public float getPersistentTranslationY() {
-        return mBoxTranslationY
-                + getNonGridTrans(mNonGridTranslationY)
-                + getGridTrans(mGridTranslationY);
+        return mBoxTranslationY + getGridTrans(mGridTranslationY);
     }
 
     public FloatProperty<TaskView> getPrimarySplitTranslationProperty() {
@@ -1573,16 +1596,6 @@
                 TASK_RESISTANCE_TRANSLATION_X, TASK_RESISTANCE_TRANSLATION_Y);
     }
 
-    public FloatProperty<TaskView> getPrimaryNonGridTranslationProperty() {
-        return getPagedOrientationHandler().getPrimaryValue(
-                NON_GRID_TRANSLATION_X, NON_GRID_TRANSLATION_Y);
-    }
-
-    public FloatProperty<TaskView> getSecondaryNonGridTranslationProperty() {
-        return getPagedOrientationHandler().getSecondaryValue(
-                NON_GRID_TRANSLATION_X, NON_GRID_TRANSLATION_Y);
-    }
-
     @Override
     public boolean hasOverlappingRendering() {
         // TODO: Clip-out the icon region from the thumbnail, since they are overlapping.
@@ -1673,6 +1686,7 @@
         return super.performAccessibilityAction(action, arguments);
     }
 
+    @Nullable
     public RecentsView getRecentsView() {
         return (RecentsView) getParent();
     }
@@ -1711,21 +1725,20 @@
     }
 
     protected void updateSnapshotRadius() {
-        updateCurrentFullscreenParams(mSnapshotView.getPreviewPositionHelper());
+        updateCurrentFullscreenParams();
         mSnapshotView.setFullscreenParams(mCurrentFullscreenParams);
     }
 
-    void updateCurrentFullscreenParams(PreviewPositionHelper previewPositionHelper) {
-        updateFullscreenParams(mCurrentFullscreenParams, previewPositionHelper);
+    void updateCurrentFullscreenParams() {
+        updateFullscreenParams(mCurrentFullscreenParams);
     }
 
-    protected void updateFullscreenParams(TaskView.FullscreenDrawParams fullscreenParams,
-            PreviewPositionHelper previewPositionHelper) {
+    protected void updateFullscreenParams(TaskView.FullscreenDrawParams fullscreenParams) {
         if (getRecentsView() == null) {
             return;
         }
         fullscreenParams.setProgress(mFullscreenProgress, getRecentsView().getScaleX(),
-                getScaleX(), getWidth(), mActivity.getDeviceProfile(), previewPositionHelper);
+                getScaleX());
     }
 
     /**
@@ -1896,8 +1909,7 @@
         /**
          * Sets the progress in range [0, 1]
          */
-        public void setProgress(float fullscreenProgress, float parentScale, float taskViewScale,
-                int previewWidth, DeviceProfile dp, PreviewPositionHelper pph) {
+        public void setProgress(float fullscreenProgress, float parentScale, float taskViewScale) {
             mCurrentDrawnCornerRadius =
                     Utilities.mapRange(fullscreenProgress, mCornerRadius, mWindowCornerRadius)
                             / parentScale / taskViewScale;
@@ -1907,14 +1919,14 @@
     public class TaskIdAttributeContainer {
         private final TaskThumbnailView mThumbnailView;
         private final Task mTask;
-        private final IconView mIconView;
+        private final TaskViewIcon mIconView;
         /** Defaults to STAGE_POSITION_UNDEFINED if in not a split screen task view */
         private @SplitConfigurationOptions.StagePosition int mStagePosition;
         @IdRes
         private final int mA11yNodeId;
 
         public TaskIdAttributeContainer(Task task, TaskThumbnailView thumbnailView,
-                IconView iconView, int stagePosition) {
+                TaskViewIcon iconView, int stagePosition) {
             this.mTask = task;
             this.mThumbnailView = thumbnailView;
             this.mIconView = iconView;
@@ -1939,7 +1951,7 @@
             return TaskView.this;
         }
 
-        public IconView getIconView() {
+        public TaskViewIcon getIconView() {
             return mIconView;
         }
 
diff --git a/quickstep/src/com/android/quickstep/views/TaskViewIcon.java b/quickstep/src/com/android/quickstep/views/TaskViewIcon.java
new file mode 100644
index 0000000..4e82725
--- /dev/null
+++ b/quickstep/src/com/android/quickstep/views/TaskViewIcon.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.views;
+
+import android.annotation.Nullable;
+import android.graphics.drawable.Drawable;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.android.quickstep.util.RecentsOrientedState;
+
+/**
+ * Interface defining an object which can be used as a TaskView's icon.
+ */
+public interface TaskViewIcon {
+
+    /**
+     * Returns the width of this icon view.
+     */
+    int getWidth();
+
+    /**
+     * Returns the height of this icon view.
+     */
+    int getHeight();
+
+    /**
+     * Sets the opacity of the view.
+     */
+    void setContentAlpha(float alpha);
+
+    /**
+     * Returns this icon view's drawable.
+     */
+    @Nullable Drawable getDrawable();
+
+    /**
+     * Sets a {@link Drawable} to be displayed.
+     */
+    void setDrawable(@Nullable Drawable icon);
+
+    /**
+     * Register a callback to be invoked when this view is clicked.
+     */
+    void setOnClickListener(@Nullable View.OnClickListener l);
+
+    /**
+     * Register a callback to be invoked when this view is clicked and held.
+     */
+    void setOnLongClickListener(@Nullable View.OnLongClickListener l);
+
+    /**
+     * Returns the LayoutParams associated with this view.
+     */
+    ViewGroup.LayoutParams getLayoutParams();
+
+    /**
+     * Sets the layout parameters associated with this view.
+     */
+    void setLayoutParams(ViewGroup.LayoutParams params);
+
+    /**
+     * Sets the degrees that the view is rotated around the pivot point.
+     */
+    void setRotation(float rotation);
+
+    /**
+     * Sets the size of the icon drawable.
+     */
+    void setDrawableSize(int iconWidth, int iconHeight);
+
+    /**
+     * Sets the orientation of this icon view based on the provided orientationState.
+     */
+    void setIconOrientation(RecentsOrientedState orientationState, boolean isGridTask);
+
+    /**
+     * Sets the visibility state of this view.
+     */
+    void setVisibility(int visibility);
+
+    /**
+     * Sets the tint color of the icon, useful for scrimming or dimming.
+     *
+     * @param color to blend in.
+     * @param amount [0,1] 0 no tint, 1 full tint
+     */
+    void setIconColorTint(int color, float amount);
+
+    /**
+     * Gets the opacity of the view.
+     */
+    float getAlpha();
+
+    /**
+     * Returns the width of this icon view's drawable.
+     */
+    int getDrawableWidth();
+
+    /**
+     * Returns the height of this icon view's drawable.
+     */
+    int getDrawableHeight();
+
+    /**
+     * Directly calls any attached OnClickListener.
+     */
+    boolean callOnClick();
+
+    /**
+     * Calls this view's OnLongClickListener.
+     */
+    boolean performLongClick();
+
+    /**
+     * Sets the text for this icon view if any text view is associated.
+     */
+    default void setText(CharSequence text) {}
+
+    /**
+     * Returns this icon view cast as a View.
+     */
+    View asView();
+}
diff --git a/quickstep/tests/OWNERS b/quickstep/tests/OWNERS
index 02e8ebc..c271803 100644
--- a/quickstep/tests/OWNERS
+++ b/quickstep/tests/OWNERS
@@ -2,3 +2,4 @@
 sunnygoyal@google.com
 winsonc@google.com
 hyunyoungs@google.com
+mateuszc@google.com
diff --git a/quickstep/tests/src/com/android/launcher3/model/AppEventProducerTest.java b/quickstep/tests/src/com/android/launcher3/model/AppEventProducerTest.java
new file mode 100644
index 0000000..d4dd580
--- /dev/null
+++ b/quickstep/tests/src/com/android/launcher3/model/AppEventProducerTest.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.model;
+
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+
+import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_ALL_APPS;
+import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
+
+import static junit.framework.Assert.assertEquals;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
+
+import android.app.prediction.AppTarget;
+import android.content.ComponentName;
+import android.content.Intent;
+import android.os.Process;
+import android.os.UserHandle;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+
+import com.android.launcher3.logger.LauncherAtom;
+import com.android.launcher3.model.data.AppInfo;
+import com.android.launcher3.pm.UserCache;
+import com.android.launcher3.util.MainThreadInitializedObject.SandboxContext;
+import com.android.launcher3.util.UserIconInfo;
+import com.android.systemui.shared.system.SysUiStatsLog;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Arrays;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class AppEventProducerTest {
+
+    private static final UserHandle MAIN_HANDLE = Process.myUserHandle();
+    private static final UserHandle PRIVATE_HANDLE = new UserHandle(11);
+
+    private static final UserIconInfo MAIN_ICON_INFO =
+            new UserIconInfo(MAIN_HANDLE, UserIconInfo.TYPE_MAIN);
+    private static final UserIconInfo PRIVATE_ICON_INFO =
+            new UserIconInfo(PRIVATE_HANDLE, UserIconInfo.TYPE_PRIVATE);
+
+    private SandboxContext mContext;
+    private AppEventProducer mAppEventProducer;
+    @Mock
+    private UserCache mUserCache;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = new SandboxContext(getApplicationContext());
+        mContext.putObject(UserCache.INSTANCE, mUserCache);
+        mAppEventProducer = new AppEventProducer(mContext, null);
+    }
+
+    @After
+    public void tearDown() {
+        mContext.onDestroy();
+    }
+
+    @Test
+    public void buildAppTarget_containsCorrectUser() {
+        when(mUserCache.getUserProfiles())
+                .thenReturn(Arrays.asList(MAIN_HANDLE, PRIVATE_HANDLE));
+        when(mUserCache.getUserInfo(any(UserHandle.class)))
+                .thenReturn(MAIN_ICON_INFO, PRIVATE_ICON_INFO);
+        ComponentName gmailComponentName = new ComponentName(mContext,
+                "com.android.launcher3.tests.Activity" + "Gmail");
+        AppInfo gmailAppInfo = new
+                AppInfo(gmailComponentName, "Gmail", MAIN_HANDLE, new Intent());
+        gmailAppInfo.container = CONTAINER_ALL_APPS;
+        gmailAppInfo.itemType = ITEM_TYPE_APPLICATION;
+
+        AppTarget gmailTarget = mAppEventProducer
+                .toAppTarget(buildItemInfoProtoForAppInfo(gmailAppInfo));
+
+        assert gmailTarget != null;
+        assertEquals(gmailTarget.getUser(), MAIN_HANDLE);
+
+        when(mUserCache.getUserInfo(any(UserHandle.class)))
+                .thenReturn(MAIN_ICON_INFO, PRIVATE_ICON_INFO);
+        AppInfo gmailAppInfoPrivate = new
+                AppInfo(gmailComponentName, "Gmail", PRIVATE_HANDLE, new Intent());
+        gmailAppInfoPrivate.container = CONTAINER_ALL_APPS;
+        gmailAppInfoPrivate.itemType = ITEM_TYPE_APPLICATION;
+
+        AppTarget gmailPrivateTarget = mAppEventProducer
+                .toAppTarget(buildItemInfoProtoForAppInfo(gmailAppInfoPrivate));
+
+        assert gmailPrivateTarget != null;
+        assertEquals(gmailPrivateTarget.getUser(), PRIVATE_HANDLE);
+    }
+
+    private LauncherAtom.ItemInfo buildItemInfoProtoForAppInfo(AppInfo appInfo) {
+        LauncherAtom.ItemInfo.Builder itemBuilder = LauncherAtom.ItemInfo.newBuilder();
+        if (appInfo.user.equals(PRIVATE_HANDLE)) {
+            itemBuilder.setUserType(SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_PRIVATE);
+        } else {
+            itemBuilder.setUserType(SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_MAIN);
+        }
+        itemBuilder.setApplication(LauncherAtom.Application.newBuilder()
+                .setComponentName(appInfo.componentName.flattenToShortString())
+                .setPackageName(appInfo.componentName.getPackageName()));
+        itemBuilder.setContainerInfo(LauncherAtom.ContainerInfo.newBuilder()
+                .setAllAppsContainer(LauncherAtom.AllAppsContainer.getDefaultInstance())
+                .build());
+        return itemBuilder.build();
+    }
+}
diff --git a/quickstep/tests/src/com/android/launcher3/taskbar/FallbackTaskbarUIControllerTest.kt b/quickstep/tests/src/com/android/launcher3/taskbar/FallbackTaskbarUIControllerTest.kt
index 8c13fe3..f3115c6 100644
--- a/quickstep/tests/src/com/android/launcher3/taskbar/FallbackTaskbarUIControllerTest.kt
+++ b/quickstep/tests/src/com/android/launcher3/taskbar/FallbackTaskbarUIControllerTest.kt
@@ -24,11 +24,11 @@
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.Mock
-import org.mockito.Mockito.times
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.`when` as whenever
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 class FallbackTaskbarUIControllerTest : TaskbarBaseTestCase() {
@@ -36,8 +36,8 @@
     lateinit var fallbackTaskbarUIController: FallbackTaskbarUIController
     lateinit var stateListener: StateManager.StateListener<RecentsState>
 
-    @Mock lateinit var recentsActivity: RecentsActivity
-    @Mock lateinit var stateManager: StateManager<RecentsState>
+    private val recentsActivity: RecentsActivity = mock()
+    private val stateManager: StateManager<RecentsState> = mock()
 
     @Before
     override fun setup() {
@@ -46,10 +46,10 @@
         fallbackTaskbarUIController = FallbackTaskbarUIController(recentsActivity)
 
         // Capture registered state listener to send events to in our tests
-        val captor = ArgumentCaptor.forClass(StateManager.StateListener::class.java)
+        val captor = argumentCaptor<StateManager.StateListener<RecentsState>>()
         fallbackTaskbarUIController.init(taskbarControllers)
         verify(stateManager).addStateListener(captor.capture())
-        stateListener = captor.value as StateManager.StateListener<RecentsState>
+        stateListener = captor.lastValue
     }
 
     @Test
diff --git a/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarBaseTestCase.kt b/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarBaseTestCase.kt
index 2c16c15..15b1e53 100644
--- a/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarBaseTestCase.kt
+++ b/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarBaseTestCase.kt
@@ -55,7 +55,7 @@
     @Mock lateinit var taskbarOverlayController: TaskbarOverlayController
     @Mock lateinit var taskbarEduTooltipController: TaskbarEduTooltipController
     @Mock lateinit var keyboardQuickSwitchController: KeyboardQuickSwitchController
-    @Mock lateinit var taskbarPinningController: TaskbarDividerPopupController
+    @Mock lateinit var taskbarPinningController: TaskbarPinningController
     @Mock lateinit var optionalBubbleControllers: Optional<BubbleControllers>
 
     lateinit var taskbarControllers: TaskbarControllers
diff --git a/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarHoverToolTipControllerTest.java b/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarHoverToolTipControllerTest.java
index 6c0d44d..9ed3906 100644
--- a/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarHoverToolTipControllerTest.java
+++ b/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarHoverToolTipControllerTest.java
@@ -18,7 +18,6 @@
 import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
 
 import static com.android.launcher3.taskbar.TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_HOVERING_ICONS;
-import static com.android.launcher3.taskbar.TaskbarHoverToolTipController.HOVER_TOOL_TIP_REVEAL_START_DELAY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -27,7 +26,6 @@
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -128,14 +126,11 @@
 
         boolean hoverHandled =
                 mTaskbarHoverToolTipController.onHover(mHoverBubbleTextView, mMotionEvent);
-
-        // Verify fullscreen is not set until the delayed runnable to reveal the tooltip has run
-        verify(taskbarActivityContext, never()).setTaskbarWindowFullscreen(true);
         waitForIdleSync();
+
         assertThat(hoverHandled).isTrue();
         verify(taskbarActivityContext).setAutohideSuspendFlag(FLAG_AUTOHIDE_SUSPEND_HOVERING_ICONS,
                 true);
-        verify(taskbarActivityContext).setTaskbarWindowFullscreen(true);
     }
 
     @Test
@@ -159,14 +154,11 @@
 
         boolean hoverHandled =
                 mTaskbarHoverToolTipController.onHover(mHoverFolderIcon, mMotionEvent);
-
-        // Verify fullscreen is not set until the delayed runnable to reveal the tooltip has run
-        verify(taskbarActivityContext, never()).setTaskbarWindowFullscreen(true);
         waitForIdleSync();
+
         assertThat(hoverHandled).isTrue();
         verify(taskbarActivityContext).setAutohideSuspendFlag(FLAG_AUTOHIDE_SUSPEND_HOVERING_ICONS,
                 true);
-        verify(taskbarActivityContext).setTaskbarWindowFullscreen(true);
     }
 
     @Test
@@ -222,7 +214,6 @@
     }
 
     private void waitForIdleSync() {
-        mTestableLooper.moveTimeForward(HOVER_TOOL_TIP_REVEAL_START_DELAY + 1);
         mTestableLooper.processAllMessages();
     }
 }
diff --git a/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarKeyguardControllerTest.kt b/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarKeyguardControllerTest.kt
index 148e36c..ed88c29 100644
--- a/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarKeyguardControllerTest.kt
+++ b/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarKeyguardControllerTest.kt
@@ -23,17 +23,17 @@
 import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED
 import org.junit.Before
 import org.junit.Test
-import org.mockito.Mock
-import org.mockito.Mockito.anyBoolean
-import org.mockito.Mockito.never
-import org.mockito.Mockito.times
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.`when` as whenever
+import org.mockito.kotlin.any
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 
 class TaskbarKeyguardControllerTest : TaskbarBaseTestCase() {
 
-    @Mock lateinit var baseDragLayer: TaskbarDragLayer
-    @Mock lateinit var keyguardManager: KeyguardManager
+    private val baseDragLayer: TaskbarDragLayer = mock()
+    private val keyguardManager: KeyguardManager = mock()
 
     @Before
     override fun setup() {
@@ -50,7 +50,7 @@
     @Test
     fun uninterestingFlags_noActions() {
         setFlags(0)
-        verify(navbarButtonsViewController, never()).setKeyguardVisible(anyBoolean(), anyBoolean())
+        verify(navbarButtonsViewController, never()).setKeyguardVisible(any(), any())
     }
 
     @Test
diff --git a/quickstep/tests/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactoryTest.kt b/quickstep/tests/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactoryTest.kt
index 3920b08..9c7f014 100644
--- a/quickstep/tests/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactoryTest.kt
+++ b/quickstep/tests/src/com/android/launcher3/taskbar/navbutton/NavButtonLayoutFactoryTest.kt
@@ -12,35 +12,37 @@
 import androidx.test.runner.AndroidJUnit4
 import com.android.launcher3.DeviceProfile
 import com.android.launcher3.R
+import com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION
 import com.android.launcher3.taskbar.TaskbarManager
+import com.android.systemui.shared.rotation.RotationButton
 import java.lang.IllegalStateException
 import org.junit.Assume.assumeTrue
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito.`when` as whenever
-import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 class NavButtonLayoutFactoryTest {
 
-    @Mock lateinit var mockDeviceProfile: DeviceProfile
-    @Mock lateinit var mockParentButtonContainer: FrameLayout
-    @Mock lateinit var mockNavLayout: LinearLayout
-    @Mock lateinit var mockStartContextualLayout: ViewGroup
-    @Mock lateinit var mockEndContextualLayout: ViewGroup
-    @Mock lateinit var mockResources: Resources
-    @Mock lateinit var mockBackButton: ImageView
-    @Mock lateinit var mockRecentsButton: ImageView
-    @Mock lateinit var mockHomeButton: ImageView
+    private val mockDeviceProfile: DeviceProfile = mock()
+    private val mockParentButtonContainer: FrameLayout = mock()
+    private val mockNavLayout: LinearLayout = mock()
+    private val mockStartContextualLayout: ViewGroup = mock()
+    private val mockEndContextualLayout: ViewGroup = mock()
+    private val mockResources: Resources = mock()
+    private val mockBackButton: ImageView = mock()
+    private val mockRecentsButton: ImageView = mock()
+    private val mockHomeButton: ImageView = mock()
+    private val mockImeSwitcher: ImageView = mock()
+    private val mockRotationButton: RotationButton = mock()
+    private val mockA11yButton: ImageView = mock()
 
     private var surfaceRotation = Surface.ROTATION_0
 
     @Before
     fun setup() {
-        MockitoAnnotations.initMocks(this)
-
         // Init end nav buttons
         whenever(mockNavLayout.childCount).thenReturn(3)
         whenever(mockNavLayout.findViewById<View>(R.id.back)).thenReturn(mockBackButton)
@@ -58,7 +60,7 @@
 
     @Test
     fun getKidsLayoutter() {
-        assumeTrue(TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW)
+        assumeTrue(ENABLE_TASKBAR_NAVBAR_UNIFICATION)
         mockDeviceProfile.isTaskbarPresent = true
         val layoutter: NavButtonLayoutFactory.NavButtonLayoutter =
             getLayoutter(
@@ -73,7 +75,7 @@
 
     @Test
     fun getSetupLayoutter() {
-        assumeTrue(TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW)
+        assumeTrue(ENABLE_TASKBAR_NAVBAR_UNIFICATION)
         mockDeviceProfile.isTaskbarPresent = true
         val layoutter: NavButtonLayoutFactory.NavButtonLayoutter =
             getLayoutter(
@@ -88,7 +90,7 @@
 
     @Test
     fun getTaskbarNavLayoutter() {
-        assumeTrue(TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW)
+        assumeTrue(ENABLE_TASKBAR_NAVBAR_UNIFICATION)
         mockDeviceProfile.isTaskbarPresent = true
         val layoutter: NavButtonLayoutFactory.NavButtonLayoutter =
             getLayoutter(
@@ -103,7 +105,7 @@
 
     @Test(expected = IllegalStateException::class)
     fun noValidLayoutForLargeScreenTaskbarNotPresent() {
-        assumeTrue(TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW)
+        assumeTrue(ENABLE_TASKBAR_NAVBAR_UNIFICATION)
         mockDeviceProfile.isTaskbarPresent = false
         getLayoutter(
             isKidsMode = false,
@@ -116,7 +118,7 @@
 
     @Test
     fun getTaskbarPortraitLayoutter() {
-        assumeTrue(TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW)
+        assumeTrue(ENABLE_TASKBAR_NAVBAR_UNIFICATION)
         mockDeviceProfile.isTaskbarPresent = false
         val layoutter: NavButtonLayoutFactory.NavButtonLayoutter =
             getLayoutter(
@@ -131,7 +133,7 @@
 
     @Test
     fun getTaskbarLandscapeLayoutter() {
-        assumeTrue(TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW)
+        assumeTrue(ENABLE_TASKBAR_NAVBAR_UNIFICATION)
         mockDeviceProfile.isTaskbarPresent = false
         setDeviceProfileLandscape()
         val layoutter: NavButtonLayoutFactory.NavButtonLayoutter =
@@ -147,23 +149,23 @@
 
     @Test
     fun getTaskbarSeascapeLayoutter() {
-        assumeTrue(TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW)
+        assumeTrue(ENABLE_TASKBAR_NAVBAR_UNIFICATION)
         mockDeviceProfile.isTaskbarPresent = false
         setDeviceProfileLandscape()
         val layoutter: NavButtonLayoutFactory.NavButtonLayoutter =
-                getLayoutter(
-                        isKidsMode = false,
-                        isInSetup = false,
-                        isThreeButtonNav = true,
-                        phoneMode = true,
-                        surfaceRotation = ROTATION_270
-                )
+            getLayoutter(
+                isKidsMode = false,
+                isInSetup = false,
+                isThreeButtonNav = true,
+                phoneMode = true,
+                surfaceRotation = ROTATION_270
+            )
         assert(layoutter is PhoneSeascapeNavLayoutter)
     }
 
     @Test(expected = IllegalStateException::class)
     fun noValidLayoutForPhoneGestureNav() {
-        assumeTrue(TaskbarManager.FLAG_HIDE_NAVBAR_WINDOW)
+        assumeTrue(ENABLE_TASKBAR_NAVBAR_UNIFICATION)
         mockDeviceProfile.isTaskbarPresent = false
         getLayoutter(
             isKidsMode = false,
@@ -196,7 +198,10 @@
             isInSetup = isInSetup,
             isThreeButtonNav = isThreeButtonNav,
             phoneMode = phoneMode,
-            surfaceRotation = surfaceRotation
+            surfaceRotation = surfaceRotation,
+            imeSwitcher = mockImeSwitcher,
+            rotationButton = mockRotationButton,
+            a11yButton = mockA11yButton
         )
     }
 }
diff --git a/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java b/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java
index 3a5fb04..9ad360f 100644
--- a/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java
+++ b/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java
@@ -16,8 +16,6 @@
 
 package com.android.quickstep;
 
-import static com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName;
-
 import static org.junit.Assert.assertTrue;
 
 import android.os.SystemProperties;
diff --git a/quickstep/tests/src/com/android/quickstep/AbstractTaplTestsTaskbar.java b/quickstep/tests/src/com/android/quickstep/AbstractTaplTestsTaskbar.java
index 9c6c93d..fc757b4 100644
--- a/quickstep/tests/src/com/android/quickstep/AbstractTaplTestsTaskbar.java
+++ b/quickstep/tests/src/com/android/quickstep/AbstractTaplTestsTaskbar.java
@@ -25,7 +25,6 @@
 import com.android.launcher3.tapl.LauncherInstrumentation;
 import com.android.launcher3.tapl.Taskbar;
 import com.android.launcher3.ui.AbstractLauncherUiTest;
-import com.android.launcher3.ui.TaplTestsLauncher3;
 import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.LauncherLayoutBuilder;
 import com.android.launcher3.util.TestUtil;
@@ -37,7 +36,6 @@
 
 public class AbstractTaplTestsTaskbar extends AbstractQuickStepTest {
 
-    protected static final String TEST_APP_NAME = "LauncherTestApp";
     protected static final String TEST_APP_PACKAGE =
             getInstrumentation().getContext().getPackageName();
     protected static final String CALCULATOR_APP_PACKAGE =
@@ -56,7 +54,7 @@
                 "com.google.android.apps.nexuslauncher.tests",
                 "com.android.launcher3.testcomponent.BaseTestingActivity");
         mLauncherLayout = TestUtil.setLauncherDefaultLayout(mTargetContext, layoutBuilder);
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
         startAppFast(CALCULATOR_APP_PACKAGE);
         mLauncher.enableBlockTimeout(true);
         mLauncher.showTaskbarIfHidden();
@@ -95,6 +93,6 @@
         launcher.enableTransientTaskbar(expectTransientTaskbar);
         launcher.recreateTaskbar();
         launcher.checkForAnomaly(true, true);
-        AbstractLauncherUiTest.checkDetectedLeaks(launcher);
+        AbstractLauncherUiTest.checkDetectedLeaks(launcher, true);
     }
 }
diff --git a/quickstep/tests/src/com/android/quickstep/FallbackRecentsTest.java b/quickstep/tests/src/com/android/quickstep/FallbackRecentsTest.java
index a67d787..39d6f03 100644
--- a/quickstep/tests/src/com/android/quickstep/FallbackRecentsTest.java
+++ b/quickstep/tests/src/com/android/quickstep/FallbackRecentsTest.java
@@ -28,7 +28,7 @@
 import static com.android.launcher3.ui.AbstractLauncherUiTest.resolveSystemApp;
 import static com.android.launcher3.ui.AbstractLauncherUiTest.startAppFast;
 import static com.android.launcher3.ui.AbstractLauncherUiTest.startTestActivity;
-import static com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName;
+import static com.android.launcher3.ui.TaplTestsLauncher3Test.getAppPackageName;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.rule.ShellCommandRule.disableHeadsUpNotification;
 import static com.android.launcher3.util.rule.ShellCommandRule.getLauncherCommand;
@@ -57,17 +57,18 @@
 import com.android.launcher3.tapl.OverviewTask;
 import com.android.launcher3.tapl.TestHelpers;
 import com.android.launcher3.testcomponent.TestCommandReceiver;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
 import com.android.launcher3.util.Wait;
 import com.android.launcher3.util.rule.FailureWatcher;
 import com.android.launcher3.util.rule.SamplerRule;
 import com.android.launcher3.util.rule.ScreenRecordRule;
+import com.android.launcher3.util.rule.TestIsolationRule;
 import com.android.launcher3.util.rule.TestStabilityRule;
 import com.android.launcher3.util.rule.ViewCaptureRule;
 import com.android.quickstep.views.RecentsView;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.RuleChain;
@@ -76,6 +77,7 @@
 import org.junit.runners.model.Statement;
 
 import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.function.Consumer;
 import java.util.function.Function;
@@ -94,9 +96,6 @@
     public final TestRule mDisableHeadsUpNotification = disableHeadsUpNotification();
 
     @Rule
-    public final TestRule mSetLauncherCommand;
-
-    @Rule
     public final TestRule mOrderSensitiveRules;
 
     @Rule
@@ -107,7 +106,7 @@
         Context context = instrumentation.getContext();
         mDevice = UiDevice.getInstance(instrumentation);
         mDevice.setOrientationNatural();
-        mLauncher = new LauncherInstrumentation();
+        mLauncher = AbstractLauncherUiTest.createLauncherInstrumentation();
         mLauncher.enableDebugTracing();
         // b/143488140
         //mLauncher.enableCheckEventsForSuccessfulGestures();
@@ -116,19 +115,7 @@
             Utilities.enableRunningInTestHarnessForTests();
         }
 
-        final ViewCaptureRule viewCaptureRule = new ViewCaptureRule(
-                RecentsActivity.ACTIVITY_TRACKER::getCreatedActivity);
-        mOrderSensitiveRules = RuleChain
-                .outerRule(new SamplerRule())
-                .around(new NavigationModeSwitchRule(mLauncher))
-                .around(new FailureWatcher(mLauncher, viewCaptureRule::getViewCaptureData))
-                .around(viewCaptureRule);
-
-        mOtherLauncherActivity = context.getPackageManager().queryIntentActivities(
-                getHomeIntentInPackage(context),
-                MATCH_DISABLED_COMPONENTS).get(0).activityInfo;
-
-        mSetLauncherCommand = (base, desc) -> new Statement() {
+        final TestRule setLauncherCommand = (base, desc) -> new Statement() {
             @Override
             public void evaluate() throws Throwable {
                 TestCommandReceiver.callCommand(TestCommandReceiver.ENABLE_TEST_LAUNCHER);
@@ -146,11 +133,26 @@
                     UiDevice.getInstance(getInstrumentation()).executeShellCommand(
                             getLauncherCommand(getLauncherInMyProcess()));
                     // b/143488140
-                    mDevice.pressHome();
-                    mDevice.waitForIdle();
+                    pressHomeAndWaitForOverviewClose();
                 }
             }
         };
+
+        final ViewCaptureRule viewCaptureRule = new ViewCaptureRule(
+                RecentsActivity.ACTIVITY_TRACKER::getCreatedActivity);
+        mOrderSensitiveRules = RuleChain
+                .outerRule(new SamplerRule())
+                .around(new TestStabilityRule())
+                .around(new NavigationModeSwitchRule(mLauncher))
+                .around(new FailureWatcher(mLauncher, viewCaptureRule::getViewCaptureData))
+                // .around(viewCaptureRule) b/315482167
+                .around(new TestIsolationRule(mLauncher, false))
+                .around(setLauncherCommand);
+
+        mOtherLauncherActivity = context.getPackageManager().queryIntentActivities(
+                getHomeIntentInPackage(context),
+                MATCH_DISABLED_COMPONENTS).get(0).activityInfo;
+
         if (TestHelpers.isInLauncherProcess()) {
             mLauncher.setSystemHealthSupplier(startTime -> TestCommandReceiver.callCommand(
                     TestCommandReceiver.GET_SYSTEM_HEALTH_MESSAGE, startTime.toString()).
@@ -161,13 +163,14 @@
     @Before
     public void setUp() {
         mLauncher.onTestStart();
+        AbstractLauncherUiTest.onTestStart();
     }
 
     @After
     public void tearDown() {
         try {
             // Limits UI tests affecting tests running after them.
-            AbstractQuickStepTest.checkDetectedLeaks(mLauncher);
+            AbstractQuickStepTest.checkDetectedLeaks(mLauncher, true);
         } finally {
             mLauncher.onTestFinish();
         }
@@ -175,7 +178,6 @@
 
     // b/143488140
     //@NavigationModeSwitch
-    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/266606727
     @Test
     public void goToOverviewFromHome() {
         mDevice.pressHome();
@@ -185,12 +187,14 @@
         mLauncher.getLaunchedAppState().switchToOverview();
     }
 
-    // b/143488140
+    // Staging; will be promoted to presubmit if stable
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT)
+
     //@NavigationModeSwitch
-    @Ignore
     @Test
     public void goToOverviewFromApp() {
         startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR));
+        waitForRecentsActivityStop();
 
         mLauncher.getLaunchedAppState().switchToOverview();
     }
@@ -217,18 +221,42 @@
     }
 
     private BaseOverview pressHomeAndGoToOverview() {
-        mDevice.pressHome();
+        pressHomeAndWaitForOverviewClose();
         return mLauncher.getLaunchedAppState().switchToOverview();
     }
 
+    private void pressHomeAndWaitForOverviewClose() {
+        mDevice.pressHome();
+        waitForRecentsActivityStop();
+    }
+
+    private void waitForRecentsActivityStop() {
+        try {
+            final boolean recentsActivityIsNull = MAIN_EXECUTOR.submit(
+                    () -> RecentsActivity.ACTIVITY_TRACKER.getCreatedActivity() == null).get();
+            if (recentsActivityIsNull) {
+                // Null activity counts as a "stopped" one.
+                return;
+            }
+        } catch (ExecutionException e) {
+            throw new RuntimeException(e);
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+
+        Wait.atMost("Recents activity didn't stop",
+                () -> getFromRecents(recents -> !recents.isStarted()),
+                DEFAULT_UI_TIMEOUT, mLauncher);
+    }
+
     // b/143488140
     //@NavigationModeSwitch
-    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/266606727
     @Test
     public void testOverview() {
         startAppFast(getAppPackageName());
         startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR));
         startTestActivity(2);
+        waitForRecentsActivityStop();
         Wait.atMost("Expected three apps in the task list",
                 () -> mLauncher.getRecentTasks().size() >= 3, DEFAULT_ACTIVITY_TIMEOUT, mLauncher);
 
diff --git a/quickstep/tests/src/com/android/quickstep/FullscreenDrawParamsTest.kt b/quickstep/tests/src/com/android/quickstep/FullscreenDrawParamsTest.kt
index bb1afdf..db06b6b 100644
--- a/quickstep/tests/src/com/android/quickstep/FullscreenDrawParamsTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/FullscreenDrawParamsTest.kt
@@ -16,17 +16,13 @@
 package com.android.quickstep
 
 import android.content.Context
-import android.graphics.Rect
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.launcher3.FakeInvariantDeviceProfileTest
 import com.android.quickstep.util.TaskCornerRadius
 import com.android.quickstep.views.TaskView.FullscreenDrawParams
-import com.android.systemui.shared.recents.model.ThumbnailData
-import com.android.systemui.shared.recents.utilities.PreviewPositionHelper
 import com.android.systemui.shared.system.QuickStepContract
 import com.google.common.truth.Truth.assertThat
-import kotlin.math.roundToInt
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -39,10 +35,6 @@
 @RunWith(AndroidJUnit4::class)
 class FullscreenDrawParamsTest : FakeInvariantDeviceProfileTest() {
 
-    private val TASK_SCALE = 0.7f
-    private var mThumbnailData: ThumbnailData = mock(ThumbnailData::class.java)
-
-    private val mPreviewPositionHelper = PreviewPositionHelper()
     private lateinit var params: FullscreenDrawParams
 
     @Before
@@ -53,32 +45,11 @@
     @Test
     fun setStartProgress_correctCornerRadiusForTablet() {
         initializeVarsForTablet()
-        val dp = newDP()
-        val previewRect = Rect(0, 0, 100, 100)
-        val canvasWidth = (dp.widthPx * TASK_SCALE).roundToInt()
-        val canvasHeight = (dp.heightPx * TASK_SCALE).roundToInt()
-        val currentRotation = 0
-        val isRtl = false
 
-        mPreviewPositionHelper.updateThumbnailMatrix(
-            previewRect,
-            mThumbnailData,
-            canvasWidth,
-            canvasHeight,
-            dp.widthPx,
-            dp.heightPx,
-            dp.taskbarHeight,
-            dp.isTablet,
-            currentRotation,
-            isRtl
-        )
         params.setProgress(
             /* fullscreenProgress= */ 0f,
             /* parentScale= */ 1.0f,
-            /* taskViewScale= */ 1.0f,
-            /* previewWidth= */ 0,
-            dp,
-            mPreviewPositionHelper
+            /* taskViewScale= */ 1.0f
         )
 
         val expectedRadius = TaskCornerRadius.get(context)
@@ -88,32 +59,11 @@
     @Test
     fun setFullProgress_correctCornerRadiusForTablet() {
         initializeVarsForTablet()
-        val dp = newDP()
-        val previewRect = Rect(0, 0, 100, 100)
-        val canvasWidth = (dp.widthPx * TASK_SCALE).roundToInt()
-        val canvasHeight = (dp.heightPx * TASK_SCALE).roundToInt()
-        val currentRotation = 0
-        val isRtl = false
 
-        mPreviewPositionHelper.updateThumbnailMatrix(
-            previewRect,
-            mThumbnailData,
-            canvasWidth,
-            canvasHeight,
-            dp.widthPx,
-            dp.heightPx,
-            dp.taskbarHeight,
-            dp.isTablet,
-            currentRotation,
-            isRtl
-        )
         params.setProgress(
             /* fullscreenProgress= */ 1.0f,
             /* parentScale= */ 1.0f,
-            /* taskViewScale= */ 1.0f,
-            /* previewWidth= */ 0,
-            dp,
-            mPreviewPositionHelper
+            /* taskViewScale= */ 1.0f
         )
 
         val expectedRadius = QuickStepContract.getWindowCornerRadius(context)
@@ -123,32 +73,11 @@
     @Test
     fun setStartProgress_correctCornerRadiusForPhone() {
         initializeVarsForPhone()
-        val dp = newDP()
-        val previewRect = Rect(0, 0, 100, 100)
-        val canvasWidth = (dp.widthPx * TASK_SCALE).roundToInt()
-        val canvasHeight = (dp.heightPx * TASK_SCALE).roundToInt()
-        val currentRotation = 0
-        val isRtl = false
 
-        mPreviewPositionHelper.updateThumbnailMatrix(
-            previewRect,
-            mThumbnailData,
-            canvasWidth,
-            canvasHeight,
-            dp.widthPx,
-            dp.heightPx,
-            dp.taskbarHeight,
-            dp.isTablet,
-            currentRotation,
-            isRtl
-        )
         params.setProgress(
             /* fullscreenProgress= */ 0f,
             /* parentScale= */ 1.0f,
-            /* taskViewScale= */ 1.0f,
-            /* previewWidth= */ 0,
-            dp,
-            mPreviewPositionHelper
+            /* taskViewScale= */ 1.0f
         )
 
         val expectedRadius = TaskCornerRadius.get(context)
@@ -158,32 +87,11 @@
     @Test
     fun setFullProgress_correctCornerRadiusForPhone() {
         initializeVarsForPhone()
-        val dp = newDP()
-        val previewRect = Rect(0, 0, 100, 100)
-        val canvasWidth = (dp.widthPx * TASK_SCALE).roundToInt()
-        val canvasHeight = (dp.heightPx * TASK_SCALE).roundToInt()
-        val currentRotation = 0
-        val isRtl = false
 
-        mPreviewPositionHelper.updateThumbnailMatrix(
-            previewRect,
-            mThumbnailData,
-            canvasWidth,
-            canvasHeight,
-            dp.widthPx,
-            dp.heightPx,
-            dp.taskbarHeight,
-            dp.isTablet,
-            currentRotation,
-            isRtl
-        )
         params.setProgress(
             /* fullscreenProgress= */ 1.0f,
             /* parentScale= */ 1.0f,
-            /* taskViewScale= */ 1.0f,
-            /* previewWidth= */ 0,
-            dp,
-            mPreviewPositionHelper
+            /* taskViewScale= */ 1.0f
         )
 
         val expectedRadius = QuickStepContract.getWindowCornerRadius(context)
@@ -207,10 +115,7 @@
         spyParams.setProgress(
             /* fullscreenProgress= */ 0f,
             /* parentScale= */ 1.0f,
-            /* taskViewScale= */ 1.0f,
-            /* unused previewWidth= */ -1,
-            /* unusedDp= */ null,
-            /* unused previewPositionHelper= */ null
+            /* taskViewScale= */ 1.0f
         )
         assertThat(spyParams.mCurrentDrawnCornerRadius).isEqualTo(display1TaskRadius)
 
@@ -218,10 +123,7 @@
         spyParams.setProgress(
             /* fullscreenProgress= */ 0f,
             /* parentScale= */ 1.0f,
-            /* taskViewScale= */ 1.0f,
-            /* unused previewWidth= */ -1,
-            /* unusedDp= */ null,
-            /* unused previewPositionHelper= */ null
+            /* taskViewScale= */ 1.0f
         )
         assertThat(spyParams.mCurrentDrawnCornerRadius).isEqualTo(display2TaskRadius)
     }
@@ -243,10 +145,7 @@
         spyParams.setProgress(
             /* fullscreenProgress= */ 1.0f,
             /* parentScale= */ 1.0f,
-            /* taskViewScale= */ 1.0f,
-            /* unused previewWidth= */ -1,
-            /* unusedDp= */ null,
-            /* unused previewPositionHelper= */ null
+            /* taskViewScale= */ 1.0f
         )
         assertThat(spyParams.mCurrentDrawnCornerRadius).isEqualTo(display1WindowRadius)
 
@@ -255,9 +154,6 @@
             /* fullscreenProgress= */ 1.0f,
             /* parentScale= */ 1.0f,
             /* taskViewScale= */ 1.0f,
-            /* unused previewWidth= */ -1,
-            /* unusedDp= */ null,
-            /* unused previewPositionHelper= */ null
         )
         assertThat(spyParams.mCurrentDrawnCornerRadius).isEqualTo(display2WindowRadius)
     }
diff --git a/quickstep/tests/src/com/android/quickstep/HotseatWidthCalculationTest.kt b/quickstep/tests/src/com/android/quickstep/HotseatWidthCalculationTest.kt
index a347156..b1ba4c6 100644
--- a/quickstep/tests/src/com/android/quickstep/HotseatWidthCalculationTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/HotseatWidthCalculationTest.kt
@@ -47,7 +47,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(580)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1445)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1435)
     }
 
     /**
@@ -69,7 +69,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(550)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1080)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1070)
     }
 
     /**
@@ -90,7 +90,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(759)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1468)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1455)
     }
 
     /**
@@ -115,7 +115,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(1040)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1233)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1223)
     }
 
     /** This is a case when after setting the hotseat, the QSB width needs to be changed to fit */
diff --git a/quickstep/tests/src/com/android/quickstep/NavigationModeSwitchRule.java b/quickstep/tests/src/com/android/quickstep/NavigationModeSwitchRule.java
index eded1c9..df88726 100644
--- a/quickstep/tests/src/com/android/quickstep/NavigationModeSwitchRule.java
+++ b/quickstep/tests/src/com/android/quickstep/NavigationModeSwitchRule.java
@@ -185,7 +185,7 @@
                         + launcher.getNavigationModeMismatchError(false),
                 () -> launcher.getNavigationModeMismatchError(false) == null,
                 WAIT_TIME_MS, launcher);
-        AbstractLauncherUiTest.checkDetectedLeaks(launcher);
+        AbstractLauncherUiTest.checkDetectedLeaks(launcher, false);
         return true;
     }
 
diff --git a/quickstep/tests/src/com/android/quickstep/RecentsAnimationDeviceStateTest.kt b/quickstep/tests/src/com/android/quickstep/RecentsAnimationDeviceStateTest.kt
new file mode 100644
index 0000000..53bc2a2
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/RecentsAnimationDeviceStateTest.kt
@@ -0,0 +1,144 @@
+package com.android.quickstep
+
+import android.content.Context
+import android.testing.AndroidTestingRunner
+import android.view.Display
+import android.view.IWindowManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.filters.SmallTest
+import com.android.launcher3.util.DisplayController.CHANGE_DENSITY
+import com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE
+import com.android.launcher3.util.DisplayController.CHANGE_ROTATION
+import com.android.launcher3.util.DisplayController.Info
+import com.android.launcher3.util.Executors
+import com.android.launcher3.util.NavigationMode
+import com.android.launcher3.util.window.WindowManagerProxy
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.Mockito.reset
+import org.mockito.Mockito.verify
+import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.verifyZeroInteractions
+import org.mockito.kotlin.whenever
+
+/** Unit test for [RecentsAnimationDeviceState]. */
+@SmallTest
+@RunWith(AndroidTestingRunner::class)
+class RecentsAnimationDeviceStateTest {
+
+    @Mock private lateinit var windowManager: IWindowManager
+    @Mock private lateinit var windowManagerProxy: WindowManagerProxy
+    @Mock private lateinit var info: Info
+
+    private val context = ApplicationProvider.getApplicationContext() as Context
+    private lateinit var underTest: RecentsAnimationDeviceState
+
+    @Before
+    fun setup() {
+        MockitoAnnotations.initMocks(this)
+        underTest = RecentsAnimationDeviceState(context, windowManager)
+    }
+
+    @Test
+    fun registerExclusionListener_success() {
+        underTest.registerExclusionListener()
+
+        awaitTasksCompleted()
+        verify(windowManager)
+            .registerSystemGestureExclusionListener(
+                underTest.mGestureExclusionListener,
+                Display.DEFAULT_DISPLAY
+            )
+    }
+
+    @Test
+    fun registerExclusionListener_again_fail() {
+        underTest.registerExclusionListener()
+        awaitTasksCompleted()
+        reset(windowManager)
+
+        underTest.registerExclusionListener()
+
+        awaitTasksCompleted()
+        verifyZeroInteractions(windowManager)
+    }
+
+    @Test
+    fun unregisterExclusionListener_success() {
+        underTest.registerExclusionListener()
+        awaitTasksCompleted()
+        reset(windowManager)
+
+        underTest.unregisterExclusionListener()
+
+        awaitTasksCompleted()
+        verify(windowManager)
+            .unregisterSystemGestureExclusionListener(
+                underTest.mGestureExclusionListener,
+                Display.DEFAULT_DISPLAY
+            )
+    }
+
+    @Test
+    fun unregisterExclusionListener_again_fail() {
+        underTest.registerExclusionListener()
+        underTest.unregisterExclusionListener()
+        awaitTasksCompleted()
+        reset(windowManager)
+
+        underTest.unregisterExclusionListener()
+
+        awaitTasksCompleted()
+        verifyZeroInteractions(windowManager)
+    }
+
+    @Test
+    fun onDisplayInfoChanged_noButton_registerExclusionListener() {
+        whenever(windowManagerProxy.getNavigationMode(context)).thenReturn(NavigationMode.NO_BUTTON)
+
+        underTest.onDisplayInfoChanged(context, info, CHANGE_ROTATION or CHANGE_NAVIGATION_MODE)
+
+        awaitTasksCompleted()
+        verify(windowManager)
+            .registerSystemGestureExclusionListener(
+                underTest.mGestureExclusionListener,
+                Display.DEFAULT_DISPLAY
+            )
+    }
+
+    @Test
+    fun onDisplayInfoChanged_twoButton_unregisterExclusionListener() {
+        underTest.registerExclusionListener()
+        awaitTasksCompleted()
+        whenever(info.getNavigationMode()).thenReturn(NavigationMode.TWO_BUTTONS)
+        reset(windowManager)
+
+        underTest.onDisplayInfoChanged(context, info, CHANGE_ROTATION or CHANGE_NAVIGATION_MODE)
+
+        awaitTasksCompleted()
+        verify(windowManager)
+            .unregisterSystemGestureExclusionListener(
+                underTest.mGestureExclusionListener,
+                Display.DEFAULT_DISPLAY
+            )
+    }
+
+    @Test
+    fun onDisplayInfoChanged_changeDensity_noOp() {
+        underTest.registerExclusionListener()
+        awaitTasksCompleted()
+        whenever(info.getNavigationMode()).thenReturn(NavigationMode.NO_BUTTON)
+        reset(windowManager)
+
+        underTest.onDisplayInfoChanged(context, info, CHANGE_DENSITY)
+
+        awaitTasksCompleted()
+        verifyZeroInteractions(windowManager)
+    }
+
+    private fun awaitTasksCompleted() {
+        Executors.UI_HELPER_EXECUTOR.submit<Any> { null }.get()
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/RecentsModelTest.java b/quickstep/tests/src/com/android/quickstep/RecentsModelTest.java
new file mode 100644
index 0000000..648fa93
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/RecentsModelTest.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.ActivityManager;
+import android.content.Context;
+import android.content.res.Resources;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.filters.SmallTest;
+
+import com.android.launcher3.Flags;
+import com.android.launcher3.R;
+import com.android.launcher3.icons.IconProvider;
+import com.android.quickstep.util.GroupTask;
+import com.android.systemui.shared.recents.model.Task;
+import com.android.systemui.shared.system.TaskStackChangeListeners;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.function.Consumer;
+
+@SmallTest
+public class RecentsModelTest {
+    @Mock
+    private Context mContext;
+
+    @Mock
+    private TaskThumbnailCache mThumbnailCache;
+
+    @Mock
+    private RecentTasksList mTasksList;
+
+    @Mock
+    private TaskThumbnailCache.HighResLoadingState mHighResLoadingState;
+
+    private RecentsModel mRecentsModel;
+
+    private RecentTasksList.TaskLoadResult mTaskResult;
+
+    private Resources mResource;
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Before
+    public void setup() throws NoSuchFieldException {
+        MockitoAnnotations.initMocks(this);
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_GRID_ONLY_OVERVIEW);
+        mTaskResult = getTaskResult();
+        doAnswer(invocation-> {
+            Consumer<ArrayList<GroupTask>> callback = invocation.getArgument(1);
+            callback.accept(mTaskResult);
+            return null;
+        }).when(mTasksList).getTaskKeys(anyInt(), any());
+
+        when(mHighResLoadingState.isEnabled()).thenReturn(true);
+        when(mThumbnailCache.getHighResLoadingState()).thenReturn(mHighResLoadingState);
+        when(mThumbnailCache.isPreloadingEnabled()).thenReturn(true);
+
+        mRecentsModel = new RecentsModel(mContext, mTasksList, mock(TaskIconCache.class),
+                mThumbnailCache, mock(IconProvider.class), mock(TaskStackChangeListeners.class));
+
+        mResource = mock(Resources.class);
+        when(mResource.getInteger((R.integer.recentsThumbnailCacheSize))).thenReturn(3);
+        when(mContext.getResources()).thenReturn(mResource);
+    }
+
+    @Test
+    @UiThreadTest
+    public void preloadOnHighResolutionEnabled() {
+        mRecentsModel.preloadCacheIfNeeded();
+
+        ArgumentCaptor<Task> taskArgs = ArgumentCaptor.forClass(Task.class);
+        verify(mRecentsModel.getThumbnailCache(), times(2))
+                .updateThumbnailInCache(taskArgs.capture(), /* lowResolution= */ eq(false));
+
+        GroupTask expectedGroupTask = mTaskResult.get(0);
+        assertThat(taskArgs.getAllValues().get(0)).isEqualTo(
+                expectedGroupTask.task1);
+        assertThat(taskArgs.getAllValues().get(1)).isEqualTo(
+                expectedGroupTask.task2);
+    }
+
+    @Test
+    public void notPreloadOnHighResolutionDisabled() {
+        when(mHighResLoadingState.isEnabled()).thenReturn(false);
+        when(mThumbnailCache.isPreloadingEnabled()).thenReturn(true);
+        mRecentsModel.preloadCacheIfNeeded();
+        verify(mRecentsModel.getThumbnailCache(), never())
+                .updateThumbnailInCache(any(), anyBoolean());
+    }
+
+    @Test
+    public void notPreloadOnPreloadDisabled() {
+        when(mThumbnailCache.isPreloadingEnabled()).thenReturn(false);
+        mRecentsModel.preloadCacheIfNeeded();
+        verify(mRecentsModel.getThumbnailCache(), never())
+                .updateThumbnailInCache(any(), anyBoolean());
+
+    }
+
+    @Test
+    public void increaseCacheSizeAndPreload() {
+        // Mock to return preload is needed
+        when(mThumbnailCache.updateCacheSizeAndRemoveExcess()).thenReturn(true);
+        // Update cache size
+        mRecentsModel.updateCacheSizeAndPreloadIfNeeded();
+        // Assert update cache is called
+        verify(mRecentsModel.getThumbnailCache(), times(2))
+                .updateThumbnailInCache(any(), /* lowResolution= */ eq(false));
+    }
+
+    @Test
+    public void decreaseCacheSizeAndNotPreload() {
+        // Mock to return preload is not needed
+        when(mThumbnailCache.updateCacheSizeAndRemoveExcess()).thenReturn(false);
+        // Update cache size
+        mRecentsModel.updateCacheSizeAndPreloadIfNeeded();
+        // Assert update cache is never called
+        verify(mRecentsModel.getThumbnailCache(), never())
+                .updateThumbnailInCache(any(), anyBoolean());
+    }
+
+    private RecentTasksList.TaskLoadResult getTaskResult() {
+        RecentTasksList.TaskLoadResult allTasks = new RecentTasksList.TaskLoadResult(0, false, 1);
+        ActivityManager.RecentTaskInfo taskInfo1 = new ActivityManager.RecentTaskInfo();
+        Task.TaskKey taskKey1 = new Task.TaskKey(taskInfo1);
+        Task task1 = Task.from(taskKey1, taskInfo1, false);
+
+        ActivityManager.RecentTaskInfo taskInfo2 = new ActivityManager.RecentTaskInfo();
+        Task.TaskKey taskKey2 = new Task.TaskKey(taskInfo2);
+        Task task2 = Task.from(taskKey2, taskInfo2, false);
+
+        allTasks.add(new GroupTask(task1, task2, null));
+        return allTasks;
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/DigitalWellBeingToastTest.java b/quickstep/tests/src/com/android/quickstep/TaplDigitalWellBeingToastTest.java
similarity index 81%
rename from quickstep/tests/src/com/android/quickstep/DigitalWellBeingToastTest.java
rename to quickstep/tests/src/com/android/quickstep/TaplDigitalWellBeingToastTest.java
index 1129a33..4aa7cb0 100644
--- a/quickstep/tests/src/com/android/quickstep/DigitalWellBeingToastTest.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplDigitalWellBeingToastTest.java
@@ -1,9 +1,22 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.android.quickstep;
 
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
-import static com.android.launcher3.LauncherState.OVERVIEW;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -27,7 +40,7 @@
 
 @LargeTest
 @RunWith(AndroidJUnit4.class)
-public class DigitalWellBeingToastTest extends AbstractQuickStepTest {
+public class TaplDigitalWellBeingToastTest extends AbstractQuickStepTest {
     private static final String CALCULATOR_PACKAGE =
             resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR);
 
@@ -69,8 +82,7 @@
     }
 
     private DigitalWellBeingToast getToast() {
-        executeOnLauncher(launcher -> launcher.getStateManager().goToState(OVERVIEW));
-        waitForState("Launcher internal state didn't switch to Overview", () -> OVERVIEW);
+        mLauncher.getWorkspace().switchToOverview();
         final TaskView task = getOnceNotNull("No latest task", launcher -> getLatestTask(launcher));
 
         return getFromLauncher(launcher -> {
diff --git a/quickstep/tests/src/com/android/quickstep/TaplOverviewIconTest.java b/quickstep/tests/src/com/android/quickstep/TaplOverviewIconTest.java
new file mode 100644
index 0000000..3f806d1
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/TaplOverviewIconTest.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep;
+
+import static com.android.launcher3.ui.AbstractLauncherUiTest.initialize;
+import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
+import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import android.content.Intent;
+import android.platform.test.annotations.PlatinumTest;
+
+import com.android.launcher3.tapl.OverviewTaskMenu;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.util.rule.TestStabilityRule;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * This test run in both Out of process (Oop) and in-process (Ipc).
+ * Tests the app Icon in overview.
+ */
+public class TaplOverviewIconTest extends AbstractLauncherUiTest {
+
+    private static final String CALCULATOR_APP_PACKAGE =
+            resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR);
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    @PlatinumTest(focusArea = "launcher")
+    @Test
+    public void testOverviewActionsMenu() {
+        startTestAppsWithCheck();
+
+        OverviewTaskMenu menu = mLauncher.goHome().switchToOverview().getCurrentTask().tapMenu();
+
+        assertNotNull("Tapping App info menu item returned null", menu.tapAppInfoMenuItem());
+        executeOnLauncher(launcher -> assertTrue(
+                "Launcher activity is the top activity; expecting another activity to be the top",
+                isInLaunchedApp(launcher)));
+    }
+
+    private void startTestAppsWithCheck() {
+        startTestApps();
+        executeOnLauncher(launcher -> assertTrue(
+                "Launcher activity is the top activity; expecting another activity to be the top "
+                        + "one",
+                isInLaunchedApp(launcher)));
+    }
+
+    private void startTestApps() {
+        startAppFast(getAppPackageName());
+        startAppFast(CALCULATOR_APP_PACKAGE);
+        startTestActivity(2);
+    }
+
+    @Test
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/288939273
+    public void testSplitTaskTapBothIconMenus() {
+        createAndLaunchASplitPair();
+
+        OverviewTaskMenu taskMenu =
+                mLauncher.goHome().switchToOverview().getCurrentTask().tapMenu();
+        assertTrue("App info item not appearing in expanded task menu.",
+                taskMenu.hasMenuItem("App info"));
+        taskMenu.touchOutsideTaskMenuToDismiss();
+
+        OverviewTaskMenu splitMenu =
+                mLauncher.goHome().switchToOverview().getCurrentTask().tapSplitTaskMenu();
+        assertTrue("App info item not appearing in expanded split task's menu.",
+                splitMenu.hasMenuItem("App info"));
+        splitMenu.touchOutsideTaskMenuToDismiss();
+    }
+
+    private void createAndLaunchASplitPair() {
+        startTestActivity(2);
+        startTestActivity(3);
+
+        if (mLauncher.isTablet() && !mLauncher.isGridOnlyOverviewEnabled()) {
+            mLauncher.goHome().switchToOverview().getOverviewActions()
+                    .clickSplit()
+                    .getTestActivityTask(2)
+                    .open();
+        } else {
+            mLauncher.goHome().switchToOverview().getCurrentTask()
+                    .tapMenu()
+                    .tapSplitMenuItem()
+                    .getCurrentTask()
+                    .open();
+        }
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/StartLauncherViaGestureTests.java b/quickstep/tests/src/com/android/quickstep/TaplStartLauncherViaGestureTests.java
similarity index 81%
rename from quickstep/tests/src/com/android/quickstep/StartLauncherViaGestureTests.java
rename to quickstep/tests/src/com/android/quickstep/TaplStartLauncherViaGestureTests.java
index 20aa410..7e274e8 100644
--- a/quickstep/tests/src/com/android/quickstep/StartLauncherViaGestureTests.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplStartLauncherViaGestureTests.java
@@ -22,7 +22,7 @@
 import androidx.test.filters.LargeTest;
 import androidx.test.runner.AndroidJUnit4;
 
-import com.android.launcher3.ui.TaplTestsLauncher3;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
 import com.android.launcher3.util.rule.TestStabilityRule.Stability;
 import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch;
 
@@ -32,7 +32,7 @@
 
 @LargeTest
 @RunWith(AndroidJUnit4.class)
-public class StartLauncherViaGestureTests extends AbstractQuickStepTest {
+public class TaplStartLauncherViaGestureTests extends AbstractQuickStepTest {
 
     static final int STRESS_REPEAT_COUNT = 10;
 
@@ -40,7 +40,7 @@
     @Before
     public void setUp() throws Exception {
         super.setUp();
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
         // b/143488140
         mLauncher.goHome();
         // Start an activity where the gestures start.
@@ -49,7 +49,8 @@
 
     @Test
     @NavigationModeSwitch
-    @Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/187761685
+    // Stress tests are long. We permanently demote them from presubmit to match the presubmit SLO.
+    @Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT)
     public void testStressPressHome() {
         for (int i = 0; i < STRESS_REPEAT_COUNT; ++i) {
             // Destroy Launcher activity.
@@ -62,7 +63,8 @@
 
     @Test
     @NavigationModeSwitch
-    @Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/187761685
+    // Stress tests are long. We permanently demote them from presubmit to match the presubmit SLO.
+    @Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT)
     public void testStressSwipeToOverview() {
         for (int i = 0; i < STRESS_REPEAT_COUNT; ++i) {
             // Destroy Launcher activity.
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsKeyboardQuickSwitch.java b/quickstep/tests/src/com/android/quickstep/TaplTestsKeyboardQuickSwitch.java
new file mode 100644
index 0000000..7191f70
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsKeyboardQuickSwitch.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep;
+
+import android.content.Intent;
+
+import androidx.annotation.NonNull;
+import androidx.test.filters.LargeTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.launcher3.tapl.KeyboardQuickSwitch;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+
+import org.junit.Assume;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@LargeTest
+@RunWith(AndroidJUnit4.class)
+public class TaplTestsKeyboardQuickSwitch extends AbstractQuickStepTest {
+
+    private enum TestSurface {
+        HOME(true),
+        LAUNCHED_APP(false),
+        HOME_ALL_APPS(true),
+        WIDGETS(true);
+
+        private final boolean mInitialFocusAtZero;
+
+        TestSurface(boolean initialFocusAtZero) {
+            mInitialFocusAtZero = initialFocusAtZero;
+        }
+    }
+
+    private enum TestCase {
+        DISMISS(0),
+        LAUNCH_LAST_APP(0),
+        LAUNCH_SELECTED_APP(1),
+        LAUNCH_OVERVIEW(5);
+
+        private final int mNumAdditionalRunningTasks;
+
+        TestCase(int numAdditionalRunningTasks) {
+            mNumAdditionalRunningTasks = numAdditionalRunningTasks;
+        }
+    }
+
+    private static final String CALCULATOR_APP_PACKAGE =
+            resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR);
+
+    @Override
+    public void setUp() throws Exception {
+        Assume.assumeTrue(mLauncher.isTablet());
+        super.setUp();
+        AbstractLauncherUiTest.initialize(this);
+        startAppFast(CALCULATOR_APP_PACKAGE);
+        startTestActivity(2);
+    }
+
+    @Test
+    public void testDismiss_fromHome() {
+        runTest(TestSurface.HOME, TestCase.DISMISS);
+    }
+
+    @Test
+    public void testDismiss_fromApp() {
+        runTest(TestSurface.LAUNCHED_APP, TestCase.DISMISS);
+    }
+
+    @Test
+    public void testDismiss_fromHomeAllApps() {
+        runTest(TestSurface.HOME_ALL_APPS, TestCase.DISMISS);
+    }
+
+    @Test
+    public void testDismiss_fromWidgets() {
+        runTest(TestSurface.WIDGETS, TestCase.DISMISS);
+    }
+
+    @Test
+    public void testLaunchLastTask_fromHome() {
+        runTest(TestSurface.HOME, TestCase.LAUNCH_LAST_APP);
+    }
+
+    @Test
+    public void testLaunchLastTask_fromApp() {
+        runTest(TestSurface.LAUNCHED_APP, TestCase.LAUNCH_LAST_APP);
+    }
+
+    @Test
+    public void testLaunchLastTask_fromHomeAllApps() {
+        runTest(TestSurface.HOME_ALL_APPS, TestCase.LAUNCH_LAST_APP);
+    }
+
+    @Test
+    public void testLaunchLastTask_fromWidgets() {
+        runTest(TestSurface.WIDGETS, TestCase.LAUNCH_LAST_APP);
+    }
+
+    @Test
+    public void testLaunchSelectedTask_fromHome() {
+        runTest(TestSurface.HOME, TestCase.LAUNCH_SELECTED_APP);
+    }
+
+    @Test
+    public void testLaunchSelectedTask_fromApp() {
+        runTest(TestSurface.LAUNCHED_APP, TestCase.LAUNCH_SELECTED_APP);
+    }
+
+    @Test
+    public void testLaunchSelectedTask_fromHomeAllApps() {
+        runTest(TestSurface.HOME_ALL_APPS, TestCase.LAUNCH_SELECTED_APP);
+    }
+
+    @Test
+    public void testLaunchSelectedTask_fromWidgets() {
+        runTest(TestSurface.WIDGETS, TestCase.LAUNCH_SELECTED_APP);
+    }
+
+    @Test
+    public void testLaunchOverviewTask_fromHome() {
+        runTest(TestSurface.HOME, TestCase.LAUNCH_OVERVIEW);
+    }
+
+    @Test
+    public void testLaunchOverviewTask_fromApp() {
+        runTest(TestSurface.LAUNCHED_APP, TestCase.LAUNCH_OVERVIEW);
+    }
+
+    @Test
+    public void testLaunchOverviewTask_fromHomeAllApps() {
+        runTest(TestSurface.HOME_ALL_APPS, TestCase.LAUNCH_OVERVIEW);
+    }
+
+    @Test
+    public void testLaunchOverviewTask_fromWidgets() {
+        runTest(TestSurface.WIDGETS, TestCase.LAUNCH_OVERVIEW);
+    }
+
+    private void runTest(@NonNull TestSurface testSurface, @NonNull TestCase testCase) {
+        for (int i = 0; i < testCase.mNumAdditionalRunningTasks; i++) {
+            startTestActivity(3 + i);
+        }
+
+        KeyboardQuickSwitch kqs;
+        switch (testSurface) {
+            case HOME:
+                kqs = mLauncher.goHome().showQuickSwitchView();
+                break;
+            case LAUNCHED_APP:
+                mLauncher.setIgnoreTaskbarVisibility(true);
+                kqs = mLauncher.getLaunchedAppState().showQuickSwitchView();
+                break;
+            case HOME_ALL_APPS:
+                kqs = mLauncher.goHome().switchToAllApps().showQuickSwitchView();
+                break;
+            case WIDGETS:
+                kqs = mLauncher.goHome().openAllWidgets().showQuickSwitchView();
+                break;
+            default:
+                throw new IllegalStateException(
+                        "KeyboardQuickSwitch could not be initialized for test surface: "
+                            + testSurface);
+        }
+
+        switch (testCase) {
+            case DISMISS:
+                kqs.dismiss();
+                break;
+            case LAUNCH_LAST_APP:
+                kqs.launchFocusedAppTask(testSurface.mInitialFocusAtZero
+                        ? getAppPackageName() : CALCULATOR_APP_PACKAGE);
+                break;
+            case LAUNCH_SELECTED_APP:
+                kqs.moveFocusForward();
+                if (testSurface.mInitialFocusAtZero) {
+                    kqs.moveFocusForward();
+                }
+                kqs.launchFocusedAppTask(CALCULATOR_APP_PACKAGE);
+                break;
+            case LAUNCH_OVERVIEW:
+                kqs.moveFocusBackward();
+                if (!testSurface.mInitialFocusAtZero) {
+                    kqs.moveFocusBackward();
+                }
+                kqs.launchFocusedOverviewTask();
+                break;
+            default:
+                throw new IllegalStateException("Cannot run test case: " + testCase);
+        }
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java b/quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java
index 1b5313b..a71d74a 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java
@@ -15,32 +15,63 @@
  */
 package com.android.quickstep;
 
+import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
+import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
 import static com.android.quickstep.TaskbarModeSwitchRule.Mode.PERSISTENT;
 
+import android.graphics.Rect;
+
 import androidx.test.filters.LargeTest;
+import androidx.test.platform.app.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
 
+import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
+import com.android.launcher3.util.rule.TestStabilityRule;
+import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch;
 import com.android.quickstep.TaskbarModeSwitchRule.TaskbarModeSwitch;
 
+import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.io.Closeable;
+import java.io.IOException;
+
 @LargeTest
 @RunWith(AndroidJUnit4.class)
 public class TaplTestsPersistentTaskbar extends AbstractTaplTestsTaskbar {
 
     @Test
     @TaskbarModeSwitch(mode = PERSISTENT)
-    public void testHideShowTaskbar() {
-        getTaskbar().hide();
-        mLauncher.getLaunchedAppState().showTaskbar();
+    @PortraitLandscape
+    @NavigationModeSwitch
+    public void testTaskbarFillsWidth() {
+        // Width check is performed inside TAPL whenever getTaskbar() is called.
+        getTaskbar();
     }
 
     @Test
-    @TaskbarModeSwitch(mode = PERSISTENT)
-    public void testHideTaskbarPersistsOnRecreate() {
-        getTaskbar().hide();
-        mLauncher.recreateTaskbar();
-        mLauncher.getLaunchedAppState().assertTaskbarHidden();
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/320490387
+    @NavigationModeSwitch(mode = NavigationModeSwitchRule.Mode.THREE_BUTTON)
+    public void testThreeButtonsTaskbarBoundsAfterConfigChangeDuringIme() {
+        // Start off in light mode.
+        try (Closeable c = InstrumentationRegistry.getInstrumentation().getUiAutomation()
+                .executeShellCommand("cmd uimode night no")) {
+            Rect taskbarBoundsBefore = getTaskbar().getVisibleBounds();
+            startImeTestActivity();
+            // IME should stash the taskbar, which hides icons even in 3 button mode.
+            mLauncher.getLaunchedAppState().assertTaskbarHidden();
+            // Switch to dark mode (any configuration change here would do).
+            InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand(
+                    "cmd uimode night yes").close();
+            // Close IME to check new taskbar bounds.
+            mLauncher.pressBack();
+            Rect taskbarBoundsAfter = getTaskbar().getVisibleBounds();
+            Assert.assertEquals(
+                    "Taskbar bounds are not the same after a configuration change while stashed.",
+                    taskbarBoundsBefore, taskbarBoundsAfter);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
     }
 }
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
index 25f90ca..1b8866a 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
@@ -16,11 +16,9 @@
 
 package com.android.quickstep;
 
-import static com.android.launcher3.testing.shared.TestProtocol.FLAKY_QUICK_SWITCH_TO_PREVIOUS_APP;
-import static com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName;
 import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
 import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
-import static com.android.quickstep.TaskbarModeSwitchRule.Mode.PERSISTENT;
+import static com.android.quickstep.TaskbarModeSwitchRule.Mode.TRANSIENT;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -29,8 +27,7 @@
 import static org.junit.Assume.assumeTrue;
 
 import android.content.Intent;
-import android.platform.test.annotations.PlatinumTest;
-import android.util.Log;
+import android.content.res.Configuration;
 
 import androidx.test.filters.LargeTest;
 import androidx.test.platform.app.InstrumentationRegistry;
@@ -46,10 +43,9 @@
 import com.android.launcher3.tapl.Overview;
 import com.android.launcher3.tapl.OverviewActions;
 import com.android.launcher3.tapl.OverviewTask;
-import com.android.launcher3.tapl.OverviewTaskMenu;
+import com.android.launcher3.tapl.SelectModeButtons;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
 import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
-import com.android.launcher3.ui.TaplTestsLauncher3;
-import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.Wait;
 import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
 import com.android.launcher3.util.rule.TestStabilityRule;
@@ -67,7 +63,6 @@
 @RunWith(AndroidJUnit4.class)
 public class TaplTestsQuickstep extends AbstractQuickStepTest {
 
-    private static final String APP_NAME = "LauncherTestApp";
     private static final String CALCULATOR_APP_PACKAGE =
             resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR);
     private static final String READ_DEVICE_CONFIG_PERMISSION =
@@ -76,7 +71,7 @@
     @Before
     public void setUp() throws Exception {
         super.setUp();
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
         executeOnLauncher(launcher -> {
             RecentsView recentsView = launcher.getOverviewPanel();
             recentsView.getPagedViewOrientedState().forceAllowRotationForTesting(true);
@@ -85,7 +80,7 @@
 
     @After
     public void tearDown() {
-        executeOnLauncher(launcher -> {
+        executeOnLauncherInTearDown(launcher -> {
             RecentsView recentsView = launcher.getOverviewPanel();
             recentsView.getPagedViewOrientedState().forceAllowRotationForTesting(false);
         });
@@ -108,7 +103,6 @@
     @Test
     @NavigationModeSwitch
     @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
     public void testWorkspaceSwitchToAllApps() {
         assertNotNull("switchToAllApps() returned null",
                 mLauncher.getWorkspace().switchToAllApps());
@@ -118,7 +112,6 @@
 
     @Test
     @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
     public void testOverview() throws Exception {
         startTestAppsWithCheck();
         // mLauncher.pressHome() also tests an important case of pressing home while in background.
@@ -185,8 +178,9 @@
     @Test
     @NavigationModeSwitch
     @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
     public void testOverviewActions() throws Exception {
+        assumeFalse("Skipping Overview Actions tests for grid only overview",
+                mLauncher.isTablet() && mLauncher.isGridOnlyOverviewEnabled());
         // Experimenting for b/165029151:
         final Overview overview = mLauncher.goHome().switchToOverview();
         if (overview.hasTasks()) overview.dismissAllTasks();
@@ -199,17 +193,41 @@
         actionsView.clickAndDismissScreenshot();
     }
 
+    @Test
+    public void testDismissOverviewWithEscKey() throws Exception {
+        startTestAppsWithCheck();
+        final Overview overview = mLauncher.goHome().switchToOverview();
+        assertTrue("Launcher internal state is not Overview",
+                isInState(() -> LauncherState.OVERVIEW));
+
+        overview.dismissByEscKey();
+        assertTrue("Launcher internal state is not Home",
+                isInState(() -> LauncherState.NORMAL));
+    }
 
     @Test
-    public void testOverviewActionsMenu() throws Exception {
+    public void testDismissModalTaskAndOverviewWithEscKey() throws Exception {
         startTestAppsWithCheck();
+        final Overview overview = mLauncher.goHome().switchToOverview();
 
-        OverviewTaskMenu menu = mLauncher.goHome().switchToOverview().getCurrentTask().tapMenu();
+        final SelectModeButtons selectModeButtons;
 
-        assertNotNull("Tapping App info menu item returned null", menu.tapAppInfoMenuItem());
-        executeOnLauncher(launcher -> assertTrue(
-                "Launcher activity is the top activity; expecting another activity to be the top",
-                isInLaunchedApp(launcher)));
+        if (mLauncher.isTablet() && mLauncher.isGridOnlyOverviewEnabled()) {
+            selectModeButtons = overview.getCurrentTask().tapMenu().tapSelectMenuItem();
+        } else {
+            selectModeButtons = overview.getOverviewActions().clickSelect();
+        }
+
+        assertTrue("Launcher internal state is not Overview Modal Task",
+                isInState(() -> LauncherState.OVERVIEW_MODAL_TASK));
+
+        selectModeButtons.dismissByEscKey();
+
+        assertTrue("Launcher internal state is not Overview",
+                isInState(() -> LauncherState.OVERVIEW));
+        overview.dismissByEscKey();
+        assertTrue("Launcher internal state is not Home",
+                isInState(() -> LauncherState.NORMAL));
     }
 
     private int getCurrentOverviewPage(Launcher launcher) {
@@ -228,12 +246,12 @@
         return launcher.<RecentsView>getOverviewPanel().getBottomRowTaskCountForTablet();
     }
 
-    @Ignore
+    // Staging; will be promoted to presubmit if stable
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT)
+
     @Test
     @NavigationModeSwitch
     @PortraitLandscape
-    @ScreenRecord // b/238461765
-    @PlatinumTest(focusArea = "launcher")
     public void testSwitchToOverview() throws Exception {
         startTestAppsWithCheck();
         assertNotNull("Workspace.switchToOverview() returned null",
@@ -242,11 +260,25 @@
                 isInState(() -> LauncherState.OVERVIEW));
     }
 
-    @Ignore
+    @Test
+    @TaskbarModeSwitch(mode = TRANSIENT)
+    public void testSwitchToOverviewWithStashedTaskbar() throws Exception {
+        try {
+            startTestAppsWithCheck();
+            // Set ignoreTaskbarVisibility, as transient taskbar will be stashed after app launch.
+            mLauncher.setIgnoreTaskbarVisibility(true);
+            mLauncher.getLaunchedAppState().switchToOverview();
+        } finally {
+            mLauncher.setIgnoreTaskbarVisibility(false);
+        }
+    }
+
+    // Staging; will be promoted to presubmit if stable
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT)
+
     @Test
     @NavigationModeSwitch
     @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
     public void testBackground() throws Exception {
         startAppFast(CALCULATOR_APP_PACKAGE);
         final LaunchedAppState launchedAppState = getAndAssertLaunchedApp();
@@ -271,27 +303,8 @@
     }
 
     @Test
-    @PortraitLandscape
-    public void testAllAppsFromHome() throws Exception {
-        // Test opening all apps
-        assertNotNull("switchToAllApps() returned null",
-                mLauncher.getWorkspace().switchToAllApps());
-
-        TaplTestsLauncher3.runAllAppsTest(this, mLauncher.getAllApps());
-
-        // Testing pressHome.
-        assertTrue("Launcher internal state is not All Apps",
-                isInState(() -> LauncherState.ALL_APPS));
-        assertNotNull("pressHome returned null", mLauncher.goHome());
-        assertTrue("Launcher internal state is not Home",
-                isInState(() -> LauncherState.NORMAL));
-        assertNotNull("getHome returned null", mLauncher.getWorkspace());
-    }
-
-    @Test
     @NavigationModeSwitch
     @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
     public void testQuickSwitchFromApp() throws Exception {
         startTestActivity(2);
         startTestActivity(3);
@@ -320,9 +333,10 @@
     }
 
     @Test
-    @ScreenRecord // b/242163205
-    @PlatinumTest(focusArea = "launcher")
-    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/286084688
+    @TaskbarModeSwitch
+    @ScreenRecord // b/314873201
+    // Staging; will be promoted to presubmit if stable
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT)
     public void testQuickSwitchToPreviousAppForTablet() throws Exception {
         assumeTrue(mLauncher.isTablet());
         startTestActivity(2);
@@ -331,33 +345,43 @@
         // Set ignoreTaskbarVisibility to true to verify the task bar visibility explicitly.
         mLauncher.setIgnoreTaskbarVisibility(true);
 
-        // Expect task bar invisible when the launched app was the IME activity.
-        LaunchedAppState launchedAppState = getAndAssertLaunchedApp();
-        launchedAppState.assertTaskbarHidden();
 
-        // Quick-switch to the test app with swiping to right.
-        quickSwitchToPreviousAppAndAssert(true /* toRight */);
+        try {
+            boolean isTransientTaskbar = mLauncher.isTransientTaskbar();
+            // Expect task bar invisible when the launched app was the IME activity.
+            LaunchedAppState launchedAppState = getAndAssertLaunchedApp();
+            if (!isTransientTaskbar && isHardwareKeyboard()) {
+                launchedAppState.assertTaskbarVisible();
+            } else {
+                launchedAppState.assertTaskbarHidden();
+            }
 
-        assertTestActivityIsRunning(2,
-                "The first app we should have quick switched to is not running");
-        // Expect task bar visible when the launched app was the test activity.
-        launchedAppState = getAndAssertLaunchedApp();
+            // Quick-switch to the test app with swiping to right.
+            quickSwitchToPreviousAppAndAssert(true /* toRight */);
 
-        Log.e(FLAKY_QUICK_SWITCH_TO_PREVIOUS_APP,
-                "is Taskbar Transient : " + DisplayController.isTransientTaskbar(mTargetContext));
-        // TODO(b/286084688): Remove this branching check after test corruption is resolved.
-        // Branching this check because of test corruption.
-        if (DisplayController.isTransientTaskbar(mTargetContext)) {
-            launchedAppState.assertTaskbarHidden();
-        } else {
-            launchedAppState.assertTaskbarVisible();
+            assertTestActivityIsRunning(2,
+                    "The first app we should have quick switched to is not running");
+            launchedAppState = getAndAssertLaunchedApp();
+            if (isTransientTaskbar) {
+                launchedAppState.assertTaskbarHidden();
+            } else {
+                // Expect taskbar visible when the launched app was the test activity.
+                launchedAppState.assertTaskbarVisible();
+            }
+        } finally {
+            // Reset ignoreTaskbarVisibility to ensure other tests still verify it.
+            mLauncher.setIgnoreTaskbarVisibility(false);
         }
     }
 
+    private boolean isHardwareKeyboard() {
+        return Configuration.KEYBOARD_QWERTY
+                == mTargetContext.getResources().getConfiguration().keyboard;
+    }
+
     @Test
     @NavigationModeSwitch
     @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
     public void testQuickSwitchFromHome() throws Exception {
         startTestActivity(2);
         mLauncher.goHome().quickSwitchToPreviousApp();
@@ -369,26 +393,25 @@
     @Test
     @PortraitLandscape
     @NavigationModeSwitch
-    @PlatinumTest(focusArea = "launcher")
     public void testPressBack() throws Exception {
         InstrumentationRegistry.getInstrumentation().getUiAutomation().adoptShellPermissionIdentity(
                 READ_DEVICE_CONFIG_PERMISSION);
+        // Debug if we need to goHome to prevent wrong previous state b/315525621
+        mLauncher.goHome();
         assumeFalse(FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get());
-        mLauncher.getWorkspace().switchToAllApps();
-        mLauncher.pressBack();
-        mLauncher.getWorkspace();
+        mLauncher.getWorkspace().switchToAllApps().pressBackToWorkspace();
         waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
 
         startAppFast(CALCULATOR_APP_PACKAGE);
-        mLauncher.pressBack();
-        mLauncher.getWorkspace();
+        mLauncher.getLaunchedAppState().pressBackToWorkspace();
         waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
     }
 
     @Test
     @PortraitLandscape
-    @TaskbarModeSwitch(mode = PERSISTENT)
-    @PlatinumTest(focusArea = "launcher")
+    @TaskbarModeSwitch()
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/309820115
+    @ScreenRecord // b/309820115
     public void testOverviewForTablet() throws Exception {
         assumeTrue(mLauncher.isTablet());
 
@@ -411,7 +434,9 @@
         // Test opening the task.
         overview.getCurrentTask().open();
         assertTrue("Test activity didn't open from Overview",
-                mDevice.wait(Until.hasObject(By.pkg(getAppPackageName()).text("TestActivity10")),
+                mDevice.wait(Until.hasObject(By.pkg(getAppPackageName()).text(
+                                mLauncher.isGridOnlyOverviewEnabled() ? "TestActivity12"
+                                        : "TestActivity13")),
                         DEFAULT_UI_TIMEOUT));
 
         // Scroll the task offscreen as it is now first
@@ -432,16 +457,17 @@
                 (Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
                         launcher)) <= 1)));
 
-        // Test dismissing more tasks.
-        assertTrue("Launcher internal state didn't remain in Overview",
-                isInState(() -> LauncherState.OVERVIEW));
-        overview.getCurrentTask().dismiss();
-        assertTrue("Launcher internal state didn't remain in Overview",
-                isInState(() -> LauncherState.OVERVIEW));
-        overview.getCurrentTask().dismiss();
-        executeOnLauncher(launcher -> assertTrue("Grid did not rebalance after multiple dismissals",
-                (Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
-                        launcher)) <= 1)));
+        // TODO(b/308841019): Re-enable after fixing Overview jank when dismiss
+//        // Test dismissing more tasks.
+//        assertTrue("Launcher internal state didn't remain in Overview",
+//                isInState(() -> LauncherState.OVERVIEW));
+//        overview.getCurrentTask().dismiss();
+//        assertTrue("Launcher internal state didn't remain in Overview",
+//                isInState(() -> LauncherState.OVERVIEW));
+//        overview.getCurrentTask().dismiss();
+//        executeOnLauncher(launcher -> assertTrue("Grid did not rebalance after multiple dismissals",
+//                (Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
+//                        launcher)) <= 1)));
 
         // Test dismissing all tasks.
         mLauncher.goHome().switchToOverview().dismissAllTasks();
@@ -478,6 +504,7 @@
 
     @Test
     @PortraitLandscape
+    @TaskbarModeSwitch
     public void testTaskbarDeadzonesForTablet() throws Exception {
         assumeTrue(mLauncher.isTablet());
 
@@ -490,19 +517,32 @@
                 launcher -> assertTrue("Should have at least 3 tasks",
                         getTaskCount(launcher) >= 3));
 
-        // On persistent taskbar, it should not dismiss when tapping the taskbar
-        overview.touchTaskbarBottomCorner(/* tapRight= */ false);
-        assertTrue("Launcher internal state should be Overview",
-                isInState(() -> LauncherState.OVERVIEW));
+        if (mLauncher.isTransientTaskbar()) {
+            // On transient taskbar, it should dismiss when tapping outside taskbar bounds.
+            overview.touchTaskbarBottomCorner(/* tapRight= */ false);
+            assertTrue("Launcher internal state should be Normal",
+                    isInState(() -> LauncherState.NORMAL));
 
-        // On persistent taskbar, it should not dismiss when tapping the taskbar
-        overview.touchTaskbarBottomCorner(/* tapRight= */ true);
-        assertTrue("Launcher internal state should be Overview",
-                isInState(() -> LauncherState.OVERVIEW));
+            overview = mLauncher.getWorkspace().switchToOverview();
+
+            // On transient taskbar, it should dismiss when tapping outside taskbar bounds.
+            overview.touchTaskbarBottomCorner(/* tapRight= */ true);
+            assertTrue("Launcher internal state should be Normal",
+                    isInState(() -> LauncherState.NORMAL));
+        } else {
+            // On persistent taskbar, it should not dismiss when tapping the taskbar
+            overview.touchTaskbarBottomCorner(/* tapRight= */ false);
+            assertTrue("Launcher internal state should be Overview",
+                    isInState(() -> LauncherState.OVERVIEW));
+
+            // On persistent taskbar, it should not dismiss when tapping the taskbar
+            overview.touchTaskbarBottomCorner(/* tapRight= */ true);
+            assertTrue("Launcher internal state should be Overview",
+                    isInState(() -> LauncherState.OVERVIEW));
+        }
     }
 
     @Test
-    @ScreenRecord // b/242163205
     public void testDisableRotationCheckForPhone() throws Exception {
         assumeFalse(mLauncher.isTablet());
         try {
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsSplitscreen.java b/quickstep/tests/src/com/android/quickstep/TaplTestsSplitscreen.java
index 92b598b..1e33635 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsSplitscreen.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsSplitscreen.java
@@ -29,11 +29,14 @@
 import androidx.test.filters.LargeTest;
 import androidx.test.platform.app.InstrumentationRegistry;
 
-import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.tapl.Overview;
+import com.android.launcher3.tapl.Taskbar;
+import com.android.launcher3.tapl.TaskbarAppIcon;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
 import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
-import com.android.launcher3.ui.TaplTestsLauncher3;
 import com.android.launcher3.util.rule.TestStabilityRule;
 import com.android.quickstep.TaskbarModeSwitchRule.TaskbarModeSwitch;
+import com.android.wm.shell.Flags;
 
 import org.junit.After;
 import org.junit.Before;
@@ -54,7 +57,7 @@
     @Before
     public void setUp() throws Exception {
         super.setUp();
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
 
         if (mLauncher.isTablet()) {
             mLauncher.enableBlockTimeout(true);
@@ -108,7 +111,8 @@
 
     @Test
     public void testSaveAppPairMenuItemExistsOnSplitPair() throws Exception {
-        assumeTrue(FeatureFlags.ENABLE_APP_PAIRS.get());
+        assumeTrue("App pairs feature is currently not enabled, no test needed",
+                Flags.enableAppPairs());
 
         createAndLaunchASplitPair();
 
@@ -122,7 +126,8 @@
 
     @Test
     public void testSaveAppPairMenuItemDoesNotExistOnSingleTask() throws Exception {
-        assumeTrue(FeatureFlags.ENABLE_APP_PAIRS.get());
+        assumeTrue("App pairs feature is currently not enabled, no test needed",
+                Flags.enableAppPairs());
 
         startAppFast(CALCULATOR_APP_PACKAGE);
 
@@ -134,11 +139,36 @@
                         .hasMenuItem("Save app pair"));
     }
 
+    @Test
+    public void testSplitSingleTaskFromTaskbar() {
+        // Currently only tablets have Taskbar in Overview, so test is only active on tablets
+        assumeTrue(mLauncher.isTablet());
+
+        if (!mLauncher.getRecentTasks().isEmpty()) {
+            // Clear all recent tasks
+            mLauncher.goHome().switchToOverview().dismissAllTasks();
+        }
+
+        startAppFast(getAppPackageName());
+
+        Overview overview = mLauncher.goHome().switchToOverview();
+        if (mLauncher.isGridOnlyOverviewEnabled()) {
+            overview.getCurrentTask().tapMenu().tapSplitMenuItem();
+        } else {
+            overview.getOverviewActions().clickSplit();
+        }
+
+        Taskbar taskbar = overview.getTaskbar();
+        String firstAppName = taskbar.getIconNames().get(0);
+        TaskbarAppIcon firstApp = taskbar.getAppIcon(firstAppName);
+        firstApp.launchIntoSplitScreen();
+    }
+
     private void createAndLaunchASplitPair() {
         startTestActivity(2);
         startTestActivity(3);
 
-        if (mLauncher.isTablet()) {
+        if (mLauncher.isTablet() && !mLauncher.isGridOnlyOverviewEnabled()) {
             mLauncher.goHome().switchToOverview().getOverviewActions()
                     .clickSplit()
                     .getTestActivityTask(2)
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsTaskbar.java b/quickstep/tests/src/com/android/quickstep/TaplTestsTaskbar.java
index 4ff2f9c..f0683f9 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsTaskbar.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsTaskbar.java
@@ -15,13 +15,13 @@
  */
 package com.android.quickstep;
 
+import static com.android.launcher3.util.TestConstants.AppNames.TEST_APP_NAME;
 import static com.android.quickstep.TaplTestsTaskbar.TaskbarMode.PERSISTENT;
 import static com.android.quickstep.TaplTestsTaskbar.TaskbarMode.TRANSIENT;
 
 import androidx.test.filters.LargeTest;
 
 import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
-import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -89,7 +89,6 @@
     }
 
     @Test
-    @ScreenRecord // b/231615831
     @PortraitLandscape
     public void testLaunchAppInSplitscreen() {
         getTaskbar().getAppIcon(TEST_APP_NAME).dragToSplitscreen(
@@ -103,7 +102,6 @@
     }
 
     @Test
-    @ScreenRecord // b/231615831
     @PortraitLandscape
     public void testLaunchShortcutInSplitscreen() {
         getTaskbar().getAppIcon(TEST_APP_NAME)
@@ -132,7 +130,6 @@
     }
 
     @Test
-    @ScreenRecord // b/231615831
     @PortraitLandscape
     public void testLaunchAppInSplitscreen_fromTaskbarAllApps() {
         getTaskbar().openAllApps()
@@ -141,7 +138,6 @@
     }
 
     @Test
-    @ScreenRecord // b/231615831
     @PortraitLandscape
     public void testLaunchShortcutInSplitscreen_fromTaskbarAllApps() {
         getTaskbar().openAllApps()
@@ -151,6 +147,18 @@
                 .dragToSplitscreen(TEST_APP_PACKAGE, CALCULATOR_APP_PACKAGE);
     }
 
+    @Test
+    @PortraitLandscape
+    public void testDismissAllAppsByTappingOutsideSheet() {
+        getTaskbar().openAllApps().dismissByTappingOutsideForTablet(/* tapRight= */ true);
+        getTaskbar().openAllApps().dismissByTappingOutsideForTablet(/* tapRight= */ false);
+    }
+
+    @Test
+    public void testOpenMenuViaRightClick() {
+        getTaskbar().getAppIcon(TEST_APP_NAME).openDeepShortcutMenuWithRightClick();
+    }
+
     private boolean isTaskbarTestModeTransient() {
         return TRANSIENT == mTaskbarMode;
     }
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsTrackpad.java b/quickstep/tests/src/com/android/quickstep/TaplTestsTrackpad.java
index 907dbcc..3465f23 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsTrackpad.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsTrackpad.java
@@ -19,7 +19,6 @@
 import static com.android.quickstep.NavigationModeSwitchRule.Mode.ZERO_BUTTON;
 
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assume.assumeFalse;
 import static org.junit.Assume.assumeTrue;
 
@@ -32,8 +31,8 @@
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.tapl.LauncherInstrumentation.TrackpadGestureType;
 import com.android.launcher3.tapl.Workspace;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
 import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
-import com.android.launcher3.ui.TaplTestsLauncher3;
 import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch;
 
 import org.junit.After;
@@ -51,7 +50,7 @@
     @Before
     public void setUp() throws Exception {
         super.setUp();
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
     }
 
     @After
@@ -87,7 +86,7 @@
             mLauncher.setTrackpadGestureType(TrackpadGestureType.THREE_FINGER);
 
             startTestActivity(2);
-            mLauncher.pressBack();
+            mLauncher.getLaunchedAppState().pressBackToWorkspace();
         } finally {
             instrumentation.getUiAutomation().dropShellPermissionIdentity();
         }
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsTransientTaskbar.java b/quickstep/tests/src/com/android/quickstep/TaplTestsTransientTaskbar.java
index 3869bf7..38d6046 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsTransientTaskbar.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsTransientTaskbar.java
@@ -15,13 +15,17 @@
  */
 package com.android.quickstep;
 
-import static com.android.launcher3.config.FeatureFlags.ENABLE_CURSOR_HOVER_STATES;
+import static com.android.launcher3.Flags.enableCursorHoverStates;
+import static com.android.launcher3.util.TestConstants.AppNames.TEST_APP_NAME;
 import static com.android.quickstep.TaskbarModeSwitchRule.Mode.TRANSIENT;
 
+import static org.junit.Assume.assumeTrue;
+
 import androidx.test.filters.LargeTest;
 import androidx.test.runner.AndroidJUnit4;
 
-import com.android.launcher3.util.TestUtil;
+import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
+import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
 import com.android.quickstep.TaskbarModeSwitchRule.TaskbarModeSwitch;
 
 import org.junit.Test;
@@ -34,44 +38,41 @@
     @Test
     @TaskbarModeSwitch(mode = TRANSIENT)
     public void testShowTaskbarUnstashHintOnHover() {
-        try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_CURSOR_HOVER_STATES, true)) {
-            getTaskbar().getAppIcon(TEST_APP_NAME).launch(TEST_APP_PACKAGE);
-            mLauncher.getLaunchedAppState().hoverToShowTaskbarUnstashHint();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
+        assumeTrue(enableCursorHoverStates());
+        getTaskbar().getAppIcon(TEST_APP_NAME).launch(TEST_APP_PACKAGE);
+        mLauncher.getLaunchedAppState().hoverToShowTaskbarUnstashHint();
     }
 
     @Test
     @TaskbarModeSwitch(mode = TRANSIENT)
     public void testUnstashTaskbarOnScreenBottomEdgeHover() {
-        try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_CURSOR_HOVER_STATES, true)) {
-            getTaskbar().getAppIcon(TEST_APP_NAME).launch(TEST_APP_PACKAGE);
-            mLauncher.getLaunchedAppState().hoverScreenBottomEdgeToUnstashTaskbar();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
+        assumeTrue(enableCursorHoverStates());
+        getTaskbar().getAppIcon(TEST_APP_NAME).launch(TEST_APP_PACKAGE);
+        mLauncher.getLaunchedAppState().hoverScreenBottomEdgeToUnstashTaskbar();
     }
 
     @Test
     @TaskbarModeSwitch(mode = TRANSIENT)
     public void testHoverBelowHintedTaskbarToUnstash() {
-        try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_CURSOR_HOVER_STATES, true)) {
-            getTaskbar().getAppIcon(TEST_APP_NAME).launch(TEST_APP_PACKAGE);
-            mLauncher.getLaunchedAppState().hoverBelowHintedTaskbarToUnstash();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
+        assumeTrue(enableCursorHoverStates());
+        getTaskbar().getAppIcon(TEST_APP_NAME).launch(TEST_APP_PACKAGE);
+        mLauncher.getLaunchedAppState().hoverBelowHintedTaskbarToUnstash();
     }
 
     @Test
     @TaskbarModeSwitch(mode = TRANSIENT)
-    public void testClickHoveredTaskbarToGoHome() {
-        try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_CURSOR_HOVER_STATES, true)) {
-            getTaskbar().getAppIcon(TEST_APP_NAME).launch(TEST_APP_PACKAGE);
-            mLauncher.getLaunchedAppState().clickStashedTaskbarToGoHome();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
+    public void testClickHoveredTaskbarToGoHome() throws Exception {
+        assumeTrue(enableCursorHoverStates());
+        getTaskbar().getAppIcon(TEST_APP_NAME).launch(TEST_APP_PACKAGE);
+        mLauncher.getLaunchedAppState().clickStashedTaskbarToGoHome();
+    }
+
+    @Test
+    @TaskbarModeSwitch(mode = TRANSIENT)
+    @PortraitLandscape
+    @ScreenRecord // b/317798731
+    public void testSwipeToStashAndUnstash() {
+        getTaskbar().swipeDownToStash();
+        mLauncher.getLaunchedAppState().swipeUpToUnstashTaskbar();
     }
 }
diff --git a/quickstep/tests/src/com/android/quickstep/ViewInflationDuringSwipeUp.java b/quickstep/tests/src/com/android/quickstep/TaplViewInflationDuringSwipeUp.java
similarity index 98%
rename from quickstep/tests/src/com/android/quickstep/ViewInflationDuringSwipeUp.java
rename to quickstep/tests/src/com/android/quickstep/TaplViewInflationDuringSwipeUp.java
index 8cc8487..f76e17a 100644
--- a/quickstep/tests/src/com/android/quickstep/ViewInflationDuringSwipeUp.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplViewInflationDuringSwipeUp.java
@@ -56,7 +56,7 @@
 import com.android.launcher3.testcomponent.ListViewService;
 import com.android.launcher3.testcomponent.ListViewService.SimpleViewsFactory;
 import com.android.launcher3.testcomponent.TestCommandReceiver;
-import com.android.launcher3.ui.TaplTestsLauncher3;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
 import com.android.launcher3.ui.TestViewHelpers;
 import com.android.launcher3.util.Executors;
 import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
@@ -85,7 +85,7 @@
  */
 @LargeTest
 @RunWith(AndroidJUnit4.class)
-public class ViewInflationDuringSwipeUp extends AbstractQuickStepTest {
+public class TaplViewInflationDuringSwipeUp extends AbstractQuickStepTest {
 
     private SparseArray<ViewConfiguration> mConfigMap;
     private InitTracker mInitTracker;
@@ -102,7 +102,7 @@
         // is started only after starting another app.
         startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR));
 
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
 
         mModel = LauncherAppState.getInstance(mTargetContext).getModel();
         Executors.MODEL_EXECUTOR.submit(mModel.getModelDbController()::createEmptyDB).get();
diff --git a/quickstep/tests/src/com/android/quickstep/TaskThumbnailCacheTest.java b/quickstep/tests/src/com/android/quickstep/TaskThumbnailCacheTest.java
new file mode 100644
index 0000000..4e04261
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/TaskThumbnailCacheTest.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.res.Resources;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.launcher3.R;
+import com.android.quickstep.util.TaskKeyCache;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.concurrent.Executor;
+
+@SmallTest
+public class TaskThumbnailCacheTest {
+    @Mock
+    private Context mContext;
+
+    @Mock
+    private Resources mResource;
+
+    @Mock
+    private TaskKeyCache mTaskKeyCache;
+
+    @Before
+    public void setup() throws NoSuchFieldException {
+        MockitoAnnotations.initMocks(this);
+        when(mContext.getResources()).thenReturn(mResource);
+    }
+
+    @Test
+    public void increaseCacheSize() {
+        // Mock a cache size increase from 3 to 8
+        when(mTaskKeyCache.getMaxSize()).thenReturn(3);
+        when(mResource.getInteger((R.integer.recentsThumbnailCacheSize))).thenReturn(8);
+        TaskThumbnailCache thumbnailCache = new TaskThumbnailCache(mContext, mock(Executor.class),
+                mTaskKeyCache);
+
+        // Preload is needed when increasing size
+        assertTrue(thumbnailCache.updateCacheSizeAndRemoveExcess());
+        verify(mTaskKeyCache, times(1)).updateCacheSizeAndRemoveExcess(8);
+    }
+
+    @Test
+    public void decreaseCacheSize() {
+        // Mock a cache size decrease from 8 to 3
+        when(mTaskKeyCache.getMaxSize()).thenReturn(8);
+        when(mResource.getInteger((R.integer.recentsThumbnailCacheSize))).thenReturn(3);
+        TaskThumbnailCache thumbnailCache = new TaskThumbnailCache(mContext, mock(Executor.class),
+                mTaskKeyCache);
+        // Preload is not needed when decreasing size
+        assertFalse(thumbnailCache.updateCacheSizeAndRemoveExcess());
+        verify(mTaskKeyCache, times(1)).updateCacheSizeAndRemoveExcess(3);
+    }
+
+    @Test
+    public void keepSameCacheSize() {
+        when(mTaskKeyCache.getMaxSize()).thenReturn(3);
+        when(mResource.getInteger((R.integer.recentsThumbnailCacheSize))).thenReturn(3);
+        TaskThumbnailCache thumbnailCache = new TaskThumbnailCache(mContext, mock(Executor.class),
+                mTaskKeyCache);
+        // Preload is not needed when it has the same cache size
+        assertFalse(thumbnailCache.updateCacheSizeAndRemoveExcess());
+        verify(mTaskKeyCache, never()).updateCacheSizeAndRemoveExcess(anyInt());
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/TaskViewTest.java b/quickstep/tests/src/com/android/quickstep/TaskViewTest.java
new file mode 100644
index 0000000..d744194
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/TaskViewTest.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.pm.ApplicationInfo;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.content.res.TypedArray;
+import android.graphics.Rect;
+import android.util.DisplayMetrics;
+import android.view.MotionEvent;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.launcher3.statemanager.StatefulActivity;
+import com.android.quickstep.util.BorderAnimator;
+import com.android.quickstep.views.TaskView;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+public class TaskViewTest {
+
+    @Mock
+    private StatefulActivity mContext;
+    @Mock
+    private Resources mResource;
+    @Mock
+    private BorderAnimator mHoverAnimator;
+    @Mock
+    private BorderAnimator mFocusAnimator;
+    private TaskView mTaskView;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        when(mResource.getDisplayMetrics()).thenReturn(mock(DisplayMetrics.class));
+        when(mResource.getConfiguration()).thenReturn(new Configuration());
+
+        when(mContext.getResources()).thenReturn(mResource);
+        when(mContext.getTheme()).thenReturn(mock(Resources.Theme.class));
+        when(mContext.getApplicationInfo()).thenReturn(mock(ApplicationInfo.class));
+        when(mContext.obtainStyledAttributes(any(), any(), anyInt(), anyInt())).thenReturn(
+                mock(TypedArray.class));
+
+        mTaskView = new TaskView(mContext, null, 0, 0, mFocusAnimator, mHoverAnimator);
+    }
+
+    @Test
+    public void notShowBorderOnBorderDisabled() {
+        mTaskView.setBorderEnabled(/* enabled= */ false);
+        MotionEvent event = MotionEvent.obtain(0, 0, MotionEvent.ACTION_HOVER_ENTER, 0.0f, 0.0f, 0);
+        mTaskView.onHoverEvent(MotionEvent.obtain(event));
+        verify(mHoverAnimator, never()).setBorderVisibility(/* visible= */ true, /* animated= */
+                true);
+
+        mTaskView.onFocusChanged(false, 0, new Rect());
+        verify(mFocusAnimator, never()).setBorderVisibility(/* visible= */ true, /* animated= */
+                true);
+    }
+
+    @Test
+    public void showBorderOnBorderEnabled() {
+        mTaskView.setBorderEnabled(/* enabled= */ true);
+        MotionEvent event = MotionEvent.obtain(0, 0, MotionEvent.ACTION_HOVER_ENTER, 0.0f, 0.0f, 0);
+        mTaskView.onHoverEvent(MotionEvent.obtain(event));
+        verify(mHoverAnimator, times(1)).setBorderVisibility(/* visible= */ true, /* animated= */
+                true);
+        mTaskView.onFocusChanged(true, 0, new Rect());
+        verify(mFocusAnimator, times(1)).setBorderVisibility(/* visible= */ true, /* animated= */
+                true);
+    }
+
+    @Test
+    public void hideBorderOnBorderDisabled() {
+        mTaskView.setBorderEnabled(/* enabled= */ false);
+        verify(mHoverAnimator, times(1)).setBorderVisibility(/* visible= */ false, /* animated= */
+                true);
+        verify(mFocusAnimator, times(1)).setBorderVisibility(/* visible= */ false, /* animated= */
+                true);
+    }
+
+    @Test
+    public void notShowBorderByDefault() {
+        MotionEvent event = MotionEvent.obtain(0, 0, MotionEvent.ACTION_HOVER_ENTER, 0.0f, 0.0f, 0);
+        mTaskView.onHoverEvent(MotionEvent.obtain(event));
+        verify(mHoverAnimator, never()).setBorderVisibility(/* visible= */ false, /* animated= */
+                true);
+        mTaskView.onFocusChanged(true, 0, new Rect());
+        verify(mHoverAnimator, never()).setBorderVisibility(/* visible= */ false, /* animated= */
+                true);
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/TaskbarModeSwitchRule.java b/quickstep/tests/src/com/android/quickstep/TaskbarModeSwitchRule.java
index 9e41f74..e5657fb 100644
--- a/quickstep/tests/src/com/android/quickstep/TaskbarModeSwitchRule.java
+++ b/quickstep/tests/src/com/android/quickstep/TaskbarModeSwitchRule.java
@@ -123,7 +123,7 @@
         assertTrue(launcher, "Couldn't set taskbar=" + expectTransientTaskbar,
                 isTaskbarTransientMode(context) == expectTransientTaskbar, description);
 
-        AbstractLauncherUiTest.checkDetectedLeaks(launcher);
+        AbstractLauncherUiTest.checkDetectedLeaks(launcher, true);
     }
 
     private static void assertTrue(LauncherInstrumentation launcher, String message,
diff --git a/quickstep/tests/src/com/android/quickstep/taskbar/controllers/TaskbarPinningControllerTest.kt b/quickstep/tests/src/com/android/quickstep/taskbar/controllers/TaskbarPinningControllerTest.kt
new file mode 100644
index 0000000..dbe4624
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/taskbar/controllers/TaskbarPinningControllerTest.kt
@@ -0,0 +1,202 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.taskbar.controllers
+
+import android.animation.AnimatorSet
+import android.animation.ObjectAnimator
+import android.view.View
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.launcher3.LauncherPrefs
+import com.android.launcher3.LauncherPrefs.Companion.TASKBAR_PINNING
+import com.android.launcher3.logging.StatsLogManager
+import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_DIVIDER_MENU_CLOSE
+import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_DIVIDER_MENU_OPEN
+import com.android.launcher3.taskbar.TaskbarActivityContext
+import com.android.launcher3.taskbar.TaskbarBaseTestCase
+import com.android.launcher3.taskbar.TaskbarDividerPopupView
+import com.android.launcher3.taskbar.TaskbarDragLayer
+import com.android.launcher3.taskbar.TaskbarPinningController
+import com.android.launcher3.taskbar.TaskbarPinningController.Companion.PINNING_PERSISTENT
+import com.android.launcher3.taskbar.TaskbarPinningController.Companion.PINNING_TRANSIENT
+import com.android.launcher3.taskbar.TaskbarSharedState
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class TaskbarPinningControllerTest : TaskbarBaseTestCase() {
+    private val taskbarDragLayer = mock<TaskbarDragLayer>()
+    private val taskbarSharedState = mock<TaskbarSharedState>()
+    private val launcherPrefs = mock<LauncherPrefs> { on { get(TASKBAR_PINNING) } doReturn false }
+    private val statsLogger = mock<StatsLogManager.StatsLogger>()
+    private val statsLogManager = mock<StatsLogManager> { on { logger() } doReturn statsLogger }
+    private lateinit var pinningController: TaskbarPinningController
+
+    @Before
+    override fun setup() {
+        super.setup()
+        whenever(taskbarActivityContext.launcherPrefs).thenReturn(launcherPrefs)
+        whenever(taskbarActivityContext.dragLayer).thenReturn(taskbarDragLayer)
+        whenever(taskbarActivityContext.statsLogManager).thenReturn(statsLogManager)
+        pinningController = spy(TaskbarPinningController(taskbarActivityContext))
+        pinningController.init(taskbarControllers, taskbarSharedState)
+    }
+
+    @Test
+    fun testOnCloseCallback_whenClosingPopupView_shouldLogStatsForClosingPopupMenu() {
+        pinningController.onCloseCallback(false)
+        verify(statsLogger, times(1)).log(LAUNCHER_TASKBAR_DIVIDER_MENU_CLOSE)
+    }
+
+    @Test
+    fun testOnCloseCallback_whenClosingPopupView_shouldPostVisibilityChangedToDragLayer() {
+        val argumentCaptor = argumentCaptor<Runnable>()
+        pinningController.onCloseCallback(false)
+        verify(taskbarDragLayer, times(1)).post(argumentCaptor.capture())
+
+        val runnable = argumentCaptor.lastValue
+        assertThat(runnable).isNotNull()
+
+        runnable.run()
+        verify(taskbarActivityContext, times(1)).onPopupVisibilityChanged(false)
+    }
+
+    @Test
+    fun testOnCloseCallback_whenPreferenceUnchanged_shouldNotAnimateTaskbarPinning() {
+        pinningController.onCloseCallback(false)
+        verify(taskbarSharedState, never()).taskbarWasPinned = true
+        verify(pinningController, never()).animateTaskbarPinning(any())
+    }
+
+    @Test
+    fun testOnCloseCallback_whenPreferenceChanged_shouldAnimateToPinnedTaskbar() {
+        whenever(launcherPrefs.get(TASKBAR_PINNING)).thenReturn(false)
+        doNothing().whenever(pinningController).animateTaskbarPinning(any())
+
+        pinningController.onCloseCallback(true)
+
+        verify(taskbarSharedState, times(1)).taskbarWasPinned = false
+        verify(pinningController, times(1)).animateTaskbarPinning(PINNING_PERSISTENT)
+    }
+
+    @Test
+    fun testOnCloseCallback_whenPreferenceChanged_shouldAnimateToTransientTaskbar() {
+        whenever(launcherPrefs.get(TASKBAR_PINNING)).thenReturn(true)
+        doNothing().whenever(pinningController).animateTaskbarPinning(any())
+
+        pinningController.onCloseCallback(true)
+
+        verify(taskbarSharedState, times(1)).taskbarWasPinned = true
+        verify(pinningController, times(1)).animateTaskbarPinning(PINNING_TRANSIENT)
+    }
+
+    @Test
+    fun testShowPinningView_whenShowingPinningView_shouldSetTaskbarWindowFullscreenAndPostRunnableToView() {
+        val popupView =
+            mock<TaskbarDividerPopupView<TaskbarActivityContext>> {
+                on { requestFocus() } doReturn true
+            }
+        val view = mock<View>()
+        val argumentCaptor = argumentCaptor<Runnable>()
+        doReturn(popupView).whenever(pinningController).getPopupView(view)
+
+        pinningController.showPinningView(view)
+
+        verify(view, times(1)).post(argumentCaptor.capture())
+
+        val runnable = argumentCaptor.lastValue
+        assertThat(runnable).isNotNull()
+        runnable.run()
+
+        verify(pinningController, times(1)).getPopupView(view)
+        verify(popupView, times(1)).requestFocus()
+        verify(popupView, times(1)).onCloseCallback = any()
+        verify(taskbarActivityContext, times(1)).onPopupVisibilityChanged(true)
+        verify(popupView, times(1)).show()
+        verify(statsLogger, times(1)).log(LAUNCHER_TASKBAR_DIVIDER_MENU_OPEN)
+    }
+
+    @Test
+    fun testAnimateTaskbarPinning_whenAnimationEnds_shouldInvokeCallbackDoOnEnd() {
+        val animatorSet = spy(AnimatorSet())
+        doReturn(animatorSet)
+            .whenever(pinningController)
+            .getAnimatorSetForTaskbarPinningAnimation(PINNING_PERSISTENT)
+        doNothing().whenever(animatorSet).start()
+        pinningController.animateTaskbarPinning(PINNING_PERSISTENT)
+        animatorSet.listeners[0].onAnimationEnd(ObjectAnimator())
+        verify(pinningController, times(1)).recreateTaskbarAndUpdatePinningValue()
+    }
+
+    @Test
+    fun testAnimateTaskbarPinning_whenAnimatingToPersistentTaskbar_shouldAnimateToPinnedTaskbar() {
+        val animatorSet = spy(AnimatorSet())
+        doReturn(animatorSet)
+            .whenever(pinningController)
+            .getAnimatorSetForTaskbarPinningAnimation(PINNING_PERSISTENT)
+        doNothing().whenever(animatorSet).start()
+        pinningController.animateTaskbarPinning(PINNING_PERSISTENT)
+
+        verify(taskbarOverlayController, times(1)).hideWindow()
+        verify(pinningController, times(1))
+            .getAnimatorSetForTaskbarPinningAnimation(PINNING_PERSISTENT)
+        verify(taskbarViewController, times(1))
+            .animateAwayNotificationDotsDuringTaskbarPinningAnimation()
+        verify(taskbarDragLayer, times(1)).setAnimatingTaskbarPinning(true)
+        assertThat(pinningController.isAnimatingTaskbarPinning).isTrue()
+        assertThat(animatorSet.listeners).isNotNull()
+    }
+
+    @Test
+    fun testAnimateTaskbarPinning_whenAnimatingToTransientTaskbar_shouldAnimateToTransientTaskbar() {
+        val animatorSet = spy(AnimatorSet())
+        doReturn(animatorSet)
+            .whenever(pinningController)
+            .getAnimatorSetForTaskbarPinningAnimation(PINNING_TRANSIENT)
+        doNothing().whenever(animatorSet).start()
+        pinningController.animateTaskbarPinning(PINNING_TRANSIENT)
+
+        verify(taskbarOverlayController, times(1)).hideWindow()
+        verify(pinningController, times(1))
+            .getAnimatorSetForTaskbarPinningAnimation(PINNING_TRANSIENT)
+        verify(taskbarDragLayer, times(1)).setAnimatingTaskbarPinning(true)
+        assertThat(pinningController.isAnimatingTaskbarPinning).isTrue()
+        verify(taskbarViewController, times(1))
+            .animateAwayNotificationDotsDuringTaskbarPinningAnimation()
+        assertThat(animatorSet.listeners).isNotNull()
+    }
+
+    @Test
+    fun testRecreateTaskbarAndUpdatePinningValue_whenAnimationEnds_shouldUpdateTaskbarPinningLauncherPref() {
+        pinningController.recreateTaskbarAndUpdatePinningValue()
+        verify(taskbarDragLayer, times(1)).setAnimatingTaskbarPinning(false)
+        assertThat(pinningController.isAnimatingTaskbarPinning).isFalse()
+        verify(launcherPrefs, times(1)).put(TASKBAR_PINNING, true)
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/util/AppPairsControllerTest.kt b/quickstep/tests/src/com/android/quickstep/util/AppPairsControllerTest.kt
new file mode 100644
index 0000000..1723844
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/util/AppPairsControllerTest.kt
@@ -0,0 +1,147 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep.util
+
+import android.content.Context
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.launcher3.logging.StatsLogManager
+import com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT
+import com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT
+import com.android.wm.shell.common.split.SplitScreenConstants.SNAP_TO_30_70
+import com.android.wm.shell.common.split.SplitScreenConstants.SNAP_TO_50_50
+import com.android.wm.shell.common.split.SplitScreenConstants.SNAP_TO_70_30
+import org.junit.Assert.assertEquals
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.MockitoAnnotations
+
+@RunWith(AndroidJUnit4::class)
+class AppPairsControllerTest {
+    @Mock lateinit var context: Context
+    @Mock lateinit var splitSelectStateController: SplitSelectStateController
+    @Mock lateinit var statsLogManager: StatsLogManager
+
+    private lateinit var appPairsController: AppPairsController
+
+    private val left30: Int by lazy {
+        appPairsController.encodeRank(STAGE_POSITION_TOP_OR_LEFT, SNAP_TO_30_70)
+    }
+    private val left50: Int by lazy {
+        appPairsController.encodeRank(STAGE_POSITION_TOP_OR_LEFT, SNAP_TO_50_50)
+    }
+    private val left70: Int by lazy {
+        appPairsController.encodeRank(STAGE_POSITION_TOP_OR_LEFT, SNAP_TO_70_30)
+    }
+    private val right30: Int by lazy {
+        appPairsController.encodeRank(STAGE_POSITION_BOTTOM_OR_RIGHT, SNAP_TO_30_70)
+    }
+    private val right50: Int by lazy {
+        appPairsController.encodeRank(STAGE_POSITION_BOTTOM_OR_RIGHT, SNAP_TO_50_50)
+    }
+    private val right70: Int by lazy {
+        appPairsController.encodeRank(STAGE_POSITION_BOTTOM_OR_RIGHT, SNAP_TO_70_30)
+    }
+
+    @Before
+    fun setup() {
+        MockitoAnnotations.initMocks(this)
+        appPairsController =
+            AppPairsController(context, splitSelectStateController, statsLogManager)
+    }
+
+    @Test
+    fun shouldEncodeRankCorrectly() {
+        assertEquals("left + 30-70 should encode as 0 (0b0)", 0, left30)
+        assertEquals("left + 50-50 should encode as 1 (0b1)", 1, left50)
+        assertEquals("left + 70-30 should encode as 2 (0b10)", 2, left70)
+        // See AppPairsController#BITMASK_SIZE and BITMASK_FOR_SNAP_POSITION for context
+        assertEquals("right + 30-70 should encode as 1 followed by 16 0s", 1 shl 16, right30)
+        assertEquals("right + 50-50 should encode as the above value + 1", (1 shl 16) + 1, right50)
+        assertEquals("right + 70-30 should encode as the above value + 2", (1 shl 16) + 2, right70)
+    }
+
+    @Test
+    fun shouldDecodeRankCorrectly() {
+        assertEquals(
+            "left + 30-70 should decode to left",
+            STAGE_POSITION_TOP_OR_LEFT,
+            AppPairsController.convertRankToStagePosition(left30),
+        )
+        assertEquals(
+            "left + 30-70 should decode to 30-70",
+            SNAP_TO_30_70,
+            AppPairsController.convertRankToSnapPosition(left30),
+        )
+
+        assertEquals(
+            "left + 50-50 should decode to left",
+            STAGE_POSITION_TOP_OR_LEFT,
+            AppPairsController.convertRankToStagePosition(left50),
+        )
+        assertEquals(
+            "left + 50-50 should decode to 50-50",
+            SNAP_TO_50_50,
+            AppPairsController.convertRankToSnapPosition(left50),
+        )
+
+        assertEquals(
+            "left + 70-30 should decode to left",
+            STAGE_POSITION_TOP_OR_LEFT,
+            AppPairsController.convertRankToStagePosition(left70),
+        )
+        assertEquals(
+            "left + 70-30 should decode to 70-30",
+            SNAP_TO_70_30,
+            AppPairsController.convertRankToSnapPosition(left70),
+        )
+
+        assertEquals(
+            "right + 30-70 should decode to right",
+            STAGE_POSITION_BOTTOM_OR_RIGHT,
+            AppPairsController.convertRankToStagePosition(right30),
+        )
+        assertEquals(
+            "right + 30-70 should decode to 30-70",
+            SNAP_TO_30_70,
+            AppPairsController.convertRankToSnapPosition(right30),
+        )
+
+        assertEquals(
+            "right + 50-50 should decode to right",
+            STAGE_POSITION_BOTTOM_OR_RIGHT,
+            AppPairsController.convertRankToStagePosition(right50),
+        )
+        assertEquals(
+            "right + 50-50 should decode to 50-50",
+            SNAP_TO_50_50,
+            AppPairsController.convertRankToSnapPosition(right50),
+        )
+
+        assertEquals(
+            "right + 70-30 should decode to right",
+            STAGE_POSITION_BOTTOM_OR_RIGHT,
+            AppPairsController.convertRankToStagePosition(right70),
+        )
+        assertEquals(
+            "right + 70-30 should decode to 70-30",
+            SNAP_TO_70_30,
+            AppPairsController.convertRankToSnapPosition(right70),
+        )
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/util/SplitAnimationControllerTest.kt b/quickstep/tests/src/com/android/quickstep/util/SplitAnimationControllerTest.kt
index 7e07b81..de152fa 100644
--- a/quickstep/tests/src/com/android/quickstep/util/SplitAnimationControllerTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/util/SplitAnimationControllerTest.kt
@@ -19,8 +19,15 @@
 
 import android.graphics.Bitmap
 import android.graphics.drawable.Drawable
+import android.view.ContextThemeWrapper
+import android.view.SurfaceControl.Transaction
 import android.view.View
+import android.window.TransitionInfo
 import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.launcher3.apppairs.AppPairIcon
+import com.android.launcher3.statehandlers.DepthController
+import com.android.launcher3.statemanager.StateManager
+import com.android.launcher3.taskbar.TaskbarActivityContext
 import com.android.launcher3.util.SplitConfigurationOptions
 import com.android.quickstep.views.GroupedTaskView
 import com.android.quickstep.views.IconView
@@ -32,39 +39,50 @@
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.MockitoAnnotations
-import org.mockito.Mockito.`when` as whenever
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 class SplitAnimationControllerTest {
 
     private val taskId = 9
+    private val taskId2 = 10
 
-    @Mock lateinit var mockSplitSelectStateController: SplitSelectStateController
+    private val mockSplitSelectStateController: SplitSelectStateController = mock()
     // TaskView
-    @Mock lateinit var mockTaskView: TaskView
-    @Mock lateinit var mockThumbnailView: TaskThumbnailView
-    @Mock lateinit var mockBitmap: Bitmap
-    @Mock lateinit var mockIconView: IconView
-    @Mock lateinit var mockTaskViewDrawable: Drawable
+    private val mockTaskView: TaskView = mock()
+    private val mockThumbnailView: TaskThumbnailView = mock()
+    private val mockBitmap: Bitmap = mock()
+    private val mockIconView: IconView = mock()
+    private val mockTaskViewDrawable: Drawable = mock()
     // GroupedTaskView
-    @Mock lateinit var mockGroupedTaskView: GroupedTaskView
-    @Mock lateinit var mockTask: Task
-    @Mock lateinit var mockTaskKey: Task.TaskKey
-    @Mock lateinit var mockTaskIdAttributeContainer: TaskIdAttributeContainer
+    private val mockGroupedTaskView: GroupedTaskView = mock()
+    private val mockTask: Task = mock()
+    private val mockTaskKey: Task.TaskKey = mock()
+    private val mockTaskIdAttributeContainer: TaskIdAttributeContainer = mock()
+    // AppPairIcon
+    private val mockAppPairIcon: AppPairIcon = mock()
+    private val mockContextThemeWrapper: ContextThemeWrapper = mock()
+    private val mockTaskbarActivityContext: TaskbarActivityContext = mock()
 
     // SplitSelectSource
-    @Mock lateinit var splitSelectSource: SplitConfigurationOptions.SplitSelectSource
-    @Mock lateinit var mockSplitSourceDrawable: Drawable
-    @Mock lateinit var mockSplitSourceView: View
+    private val splitSelectSource: SplitConfigurationOptions.SplitSelectSource = mock()
+    private val mockSplitSourceDrawable: Drawable = mock()
+    private val mockSplitSourceView: View = mock()
+
+    private val stateManager: StateManager<*> = mock()
+    private val depthController: DepthController = mock()
+    private val transitionInfo: TransitionInfo = mock()
+    private val transaction: Transaction = mock()
 
     lateinit var splitAnimationController: SplitAnimationController
 
     @Before
     fun setup() {
-        MockitoAnnotations.initMocks(this)
-
         whenever(mockTaskView.thumbnail).thenReturn(mockThumbnailView)
         whenever(mockThumbnailView.thumbnail).thenReturn(mockBitmap)
         whenever(mockTaskView.iconView).thenReturn(mockIconView)
@@ -85,12 +103,14 @@
         // Missing taskView icon
         whenever(mockIconView.drawable).thenReturn(null)
 
-        val splitAnimInitProps : SplitAnimationController.Companion.SplitAnimInitProps =
-                splitAnimationController.getFirstAnimInitViews(
-                        { mockTaskView }, { splitSelectSource })
+        val splitAnimInitProps: SplitAnimationController.Companion.SplitAnimInitProps =
+            splitAnimationController.getFirstAnimInitViews({ mockTaskView }, { splitSelectSource })
 
-        assertEquals("Did not fallback to use splitSource icon drawable",
-                mockSplitSourceDrawable, splitAnimInitProps.iconDrawable)
+        assertEquals(
+            "Did not fallback to use splitSource icon drawable",
+            mockSplitSourceDrawable,
+            splitAnimInitProps.iconDrawable
+        )
     }
 
     @Test
@@ -99,12 +119,14 @@
         whenever(mockSplitSelectStateController.isAnimateCurrentTaskDismissal).thenReturn(true)
         whenever(mockSplitSelectStateController.isDismissingFromSplitPair).thenReturn(false)
 
-        val splitAnimInitProps : SplitAnimationController.Companion.SplitAnimInitProps =
-                splitAnimationController.getFirstAnimInitViews(
-                        { mockTaskView }, { splitSelectSource })
+        val splitAnimInitProps: SplitAnimationController.Companion.SplitAnimInitProps =
+            splitAnimationController.getFirstAnimInitViews({ mockTaskView }, { splitSelectSource })
 
-        assertEquals("Did not use taskView icon drawable", mockTaskViewDrawable,
-                splitAnimInitProps.iconDrawable)
+        assertEquals(
+            "Did not use taskView icon drawable",
+            mockTaskViewDrawable,
+            splitAnimInitProps.iconDrawable
+        )
     }
 
     @Test
@@ -116,12 +138,14 @@
         // Set split source to null
         whenever(splitSelectSource.drawable).thenReturn(null)
 
-        val splitAnimInitProps : SplitAnimationController.Companion.SplitAnimInitProps =
-                splitAnimationController.getFirstAnimInitViews(
-                        { mockTaskView }, { splitSelectSource })
+        val splitAnimInitProps: SplitAnimationController.Companion.SplitAnimInitProps =
+            splitAnimationController.getFirstAnimInitViews({ mockTaskView }, { splitSelectSource })
 
-        assertEquals("Did not use taskView icon drawable", mockTaskViewDrawable,
-                splitAnimInitProps.iconDrawable)
+        assertEquals(
+            "Did not use taskView icon drawable",
+            mockTaskViewDrawable,
+            splitAnimInitProps.iconDrawable
+        )
     }
 
     @Test
@@ -130,12 +154,14 @@
         whenever(mockSplitSelectStateController.isAnimateCurrentTaskDismissal).thenReturn(false)
         whenever(mockSplitSelectStateController.isDismissingFromSplitPair).thenReturn(false)
 
-        val splitAnimInitProps : SplitAnimationController.Companion.SplitAnimInitProps =
-                splitAnimationController.getFirstAnimInitViews(
-                        { mockTaskView }, { splitSelectSource })
+        val splitAnimInitProps: SplitAnimationController.Companion.SplitAnimInitProps =
+            splitAnimationController.getFirstAnimInitViews({ mockTaskView }, { splitSelectSource })
 
-        assertEquals("Did not use splitSource icon drawable", mockSplitSourceDrawable,
-                splitAnimInitProps.iconDrawable)
+        assertEquals(
+            "Did not use splitSource icon drawable",
+            mockSplitSourceDrawable,
+            splitAnimInitProps.iconDrawable
+        )
     }
 
     @Test
@@ -154,12 +180,151 @@
         whenever(mockTaskKey.getId()).thenReturn(taskId)
         whenever(mockSplitSelectStateController.initialTaskId).thenReturn(taskId)
         whenever(mockGroupedTaskView.taskIdAttributeContainers)
-                .thenReturn(Array(1) { mockTaskIdAttributeContainer })
-        val splitAnimInitProps : SplitAnimationController.Companion.SplitAnimInitProps =
-                splitAnimationController.getFirstAnimInitViews(
-                        { mockGroupedTaskView }, { splitSelectSource })
+            .thenReturn(Array(1) { mockTaskIdAttributeContainer })
+        val splitAnimInitProps: SplitAnimationController.Companion.SplitAnimInitProps =
+            splitAnimationController.getFirstAnimInitViews(
+                { mockGroupedTaskView },
+                { splitSelectSource }
+            )
 
-        assertEquals("Did not use splitSource icon drawable", mockSplitSourceDrawable,
-                splitAnimInitProps.iconDrawable)
+        assertEquals(
+            "Did not use splitSource icon drawable",
+            mockSplitSourceDrawable,
+            splitAnimInitProps.iconDrawable
+        )
     }
-}
\ No newline at end of file
+
+    @Test
+    fun playsAppropriateSplitLaunchAnimation_playsLegacyLaunchCorrectly() {
+        val spySplitAnimationController = spy(splitAnimationController)
+        doNothing()
+            .whenever(spySplitAnimationController)
+            .composeRecentsSplitLaunchAnimatorLegacy(
+                any(), any(), any(), any(), any(), any(), any(), any(), any())
+
+        spySplitAnimationController.playSplitLaunchAnimation(
+            mockGroupedTaskView,
+            null /* launchingIconView */,
+            taskId,
+            taskId2,
+            arrayOf() /* apps */,
+            arrayOf() /* wallpapers */,
+            arrayOf() /* nonApps */,
+            stateManager,
+            depthController,
+            null /* info */,
+            null /* t */,
+            {} /* finishCallback */
+        )
+
+        verify(spySplitAnimationController)
+            .composeRecentsSplitLaunchAnimatorLegacy(
+                any(), any(), any(), any(), any(), any(), any(), any(), any())
+    }
+
+    @Test
+    fun playsAppropriateSplitLaunchAnimation_playsRecentsLaunchCorrectly() {
+        val spySplitAnimationController = spy(splitAnimationController)
+        doNothing()
+            .whenever(spySplitAnimationController)
+            .composeRecentsSplitLaunchAnimator(any(), any(), any(), any(), any(), any())
+
+        spySplitAnimationController.playSplitLaunchAnimation(
+            mockGroupedTaskView,
+            null /* launchingIconView */,
+            taskId,
+            taskId2,
+            null /* apps */,
+            null /* wallpapers */,
+            null /* nonApps */,
+            stateManager,
+            depthController,
+            transitionInfo,
+            transaction,
+            {} /* finishCallback */
+        )
+
+        verify(spySplitAnimationController)
+            .composeRecentsSplitLaunchAnimator(any(), any(), any(), any(), any(), any())
+    }
+
+    @Test
+    fun playsAppropriateSplitLaunchAnimation_playsIconLaunchCorrectly() {
+        val spySplitAnimationController = spy(splitAnimationController)
+        whenever(mockAppPairIcon.context).thenReturn(mockContextThemeWrapper)
+        doNothing()
+            .whenever(spySplitAnimationController)
+            .composeIconSplitLaunchAnimator(any(), any(), any(), any())
+
+        spySplitAnimationController.playSplitLaunchAnimation(
+            null /* launchingTaskView */,
+            mockAppPairIcon,
+            taskId,
+            taskId2,
+            null /* apps */,
+            null /* wallpapers */,
+            null /* nonApps */,
+            stateManager,
+            depthController,
+            transitionInfo,
+            transaction,
+            {} /* finishCallback */
+        )
+
+        verify(spySplitAnimationController)
+            .composeIconSplitLaunchAnimator(any(), any(), any(), any())
+    }
+
+    @Test
+    fun playsAppropriateSplitLaunchAnimation_playsIconLaunchFromTaskbarContextCorrectly() {
+        val spySplitAnimationController = spy(splitAnimationController)
+        whenever(mockAppPairIcon.context).thenReturn(mockTaskbarActivityContext)
+        doNothing()
+            .whenever(spySplitAnimationController)
+            .composeFadeInSplitLaunchAnimator(any(), any(), any(), any(), any())
+
+        spySplitAnimationController.playSplitLaunchAnimation(
+            null /* launchingTaskView */,
+            mockAppPairIcon,
+            taskId,
+            taskId2,
+            null /* apps */,
+            null /* wallpapers */,
+            null /* nonApps */,
+            stateManager,
+            depthController,
+            transitionInfo,
+            transaction,
+            {} /* finishCallback */
+        )
+
+        verify(spySplitAnimationController)
+            .composeFadeInSplitLaunchAnimator(any(), any(), any(), any(), any())
+    }
+
+    @Test
+    fun playsAppropriateSplitLaunchAnimation_playsFadeInLaunchCorrectly() {
+        val spySplitAnimationController = spy(splitAnimationController)
+        doNothing()
+            .whenever(spySplitAnimationController)
+            .composeFadeInSplitLaunchAnimator(any(), any(), any(), any(), any())
+
+        spySplitAnimationController.playSplitLaunchAnimation(
+            null /* launchingTaskView */,
+            null /* launchingIconView */,
+            taskId,
+            taskId2,
+            null /* apps */,
+            null /* wallpapers */,
+            null /* nonApps */,
+            stateManager,
+            depthController,
+            transitionInfo,
+            transaction,
+            {} /* finishCallback */
+        )
+
+        verify(spySplitAnimationController)
+            .composeFadeInSplitLaunchAnimator(any(), any(), any(), any(), any())
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/util/SplitSelectDataHolderTest.kt b/quickstep/tests/src/com/android/quickstep/util/SplitSelectDataHolderTest.kt
index fc767fa..c6c5be4 100644
--- a/quickstep/tests/src/com/android/quickstep/util/SplitSelectDataHolderTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/util/SplitSelectDataHolderTest.kt
@@ -381,7 +381,7 @@
     }
 
     @Test
-    fun clearState() {
+    fun clearState_task() {
         splitSelectDataHolder.setInitialTaskSelect(
             sampleTaskInfo,
             STAGE_POSITION_TOP_OR_LEFT,
@@ -392,4 +392,18 @@
         splitSelectDataHolder.resetState()
         assertFalse(splitSelectDataHolder.isSplitSelectActive())
     }
+
+    @Test
+    fun clearState_intent() {
+        splitSelectDataHolder.setInitialTaskSelect(
+                sampleIntent,
+                STAGE_POSITION_TOP_OR_LEFT,
+                sampleItemInfo,
+                null,
+                INVALID_TASK_ID
+        )
+        splitSelectDataHolder.setSecondTask(sampleIntent, sampleUser)
+        splitSelectDataHolder.resetState()
+        assertFalse(splitSelectDataHolder.isSplitSelectActive())
+    }
 }
diff --git a/quickstep/tests/src/com/android/quickstep/util/SplitSelectStateControllerTest.kt b/quickstep/tests/src/com/android/quickstep/util/SplitSelectStateControllerTest.kt
index 69109c2..1e39a34 100644
--- a/quickstep/tests/src/com/android/quickstep/util/SplitSelectStateControllerTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/util/SplitSelectStateControllerTest.kt
@@ -20,7 +20,6 @@
 import android.app.ActivityManager
 import android.app.PendingIntent
 import android.content.ComponentName
-import android.content.Context
 import android.content.Intent
 import android.graphics.Rect
 import android.os.Handler
@@ -31,12 +30,13 @@
 import com.android.launcher3.model.data.ItemInfo
 import com.android.launcher3.statehandlers.DepthController
 import com.android.launcher3.statemanager.StateManager
+import com.android.launcher3.statemanager.StatefulActivity
 import com.android.launcher3.util.ComponentKey
 import com.android.launcher3.util.SplitConfigurationOptions
-import com.android.launcher3.util.withArgCaptor
 import com.android.quickstep.RecentsModel
 import com.android.quickstep.SystemUiProxy
 import com.android.systemui.shared.recents.model.Task
+import com.android.wm.shell.common.split.SplitScreenConstants.SNAP_TO_50_50
 import java.util.function.Consumer
 import org.junit.Assert.assertEquals
 import org.junit.Assert.assertFalse
@@ -45,22 +45,22 @@
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.`when`
-import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 class SplitSelectStateControllerTest {
 
-    @Mock lateinit var systemUiProxy: SystemUiProxy
-    @Mock lateinit var depthController: DepthController
-    @Mock lateinit var statsLogManager: StatsLogManager
-    @Mock lateinit var stateManager: StateManager<LauncherState>
-    @Mock lateinit var handler: Handler
-    @Mock lateinit var context: Context
-    @Mock lateinit var recentsModel: RecentsModel
-    @Mock lateinit var pendingIntent: PendingIntent
+    private val systemUiProxy: SystemUiProxy = mock()
+    private val depthController: DepthController = mock()
+    private val statsLogManager: StatsLogManager = mock()
+    private val stateManager: StateManager<LauncherState> = mock()
+    private val handler: Handler = mock()
+    private val context: StatefulActivity<*> = mock()
+    private val recentsModel: RecentsModel = mock()
+    private val pendingIntent: PendingIntent = mock()
 
     lateinit var splitSelectStateController: SplitSelectStateController
 
@@ -68,11 +68,12 @@
     private val nonPrimaryUserHandle = UserHandle(ActivityManager.RunningTaskInfo().userId + 10)
 
     private var taskIdCounter = 0
-    private fun getUniqueId(): Int { return ++taskIdCounter }
+    private fun getUniqueId(): Int {
+        return ++taskIdCounter
+    }
 
     @Before
     fun setup() {
-        MockitoAnnotations.initMocks(this)
         splitSelectStateController =
             SplitSelectStateController(
                 context,
@@ -81,7 +82,8 @@
                 depthController,
                 statsLogManager,
                 systemUiProxy,
-                recentsModel
+                recentsModel,
+                null /*activityBackCallback*/
             )
     }
 
@@ -105,17 +107,19 @@
         // Assertions happen in the callback we get from what we pass into
         // #findLastActiveTasksAndRunCallback
         val taskConsumer =
-            Consumer<List<Task>> { assertNull("No tasks should have matched", it[0] /*task*/) }
+            Consumer<Array<Task>> { assertNull("No tasks should have matched", it[0] /*task*/) }
 
         // Capture callback from recentsModel#getTasks()
         val consumer =
-            withArgCaptor<Consumer<ArrayList<GroupTask>>> {
-                splitSelectStateController.findLastActiveTasksAndRunCallback(
-                    listOf(nonMatchingComponent),
-                    taskConsumer
-                )
-                verify(recentsModel).getTasks(capture())
-            }
+            argumentCaptor<Consumer<ArrayList<GroupTask>>> {
+                    splitSelectStateController.findLastActiveTasksAndRunCallback(
+                        listOf(nonMatchingComponent),
+                        false /* findExactPairMatch */,
+                        taskConsumer
+                    )
+                    verify(recentsModel).getTasks(capture())
+                }
+                .lastValue
 
         // Send our mocked tasks
         consumer.accept(tasks)
@@ -144,7 +148,7 @@
         // Assertions happen in the callback we get from what we pass into
         // #findLastActiveTasksAndRunCallback
         val taskConsumer =
-            Consumer<List<Task>> {
+            Consumer<Array<Task>> {
                 assertEquals(
                     "ComponentName package mismatched",
                     it[0].key.baseIntent.component?.packageName,
@@ -160,13 +164,15 @@
 
         // Capture callback from recentsModel#getTasks()
         val consumer =
-            withArgCaptor<Consumer<ArrayList<GroupTask>>> {
-                splitSelectStateController.findLastActiveTasksAndRunCallback(
-                    listOf(matchingComponent),
-                    taskConsumer
-                )
-                verify(recentsModel).getTasks(capture())
-            }
+            argumentCaptor<Consumer<ArrayList<GroupTask>>> {
+                    splitSelectStateController.findLastActiveTasksAndRunCallback(
+                        listOf(matchingComponent),
+                        false /* findExactPairMatch */,
+                        taskConsumer
+                    )
+                    verify(recentsModel).getTasks(capture())
+                }
+                .lastValue
 
         // Send our mocked tasks
         consumer.accept(tasks)
@@ -195,17 +201,19 @@
         // Assertions happen in the callback we get from what we pass into
         // #findLastActiveTasksAndRunCallback
         val taskConsumer =
-            Consumer<List<Task>> { assertNull("No tasks should have matched", it[0] /*task*/) }
+            Consumer<Array<Task>> { assertNull("No tasks should have matched", it[0] /*task*/) }
 
         // Capture callback from recentsModel#getTasks()
         val consumer =
-            withArgCaptor<Consumer<ArrayList<GroupTask>>> {
-                splitSelectStateController.findLastActiveTasksAndRunCallback(
-                    listOf(nonPrimaryUserComponent),
-                    taskConsumer
-                )
-                verify(recentsModel).getTasks(capture())
-            }
+            argumentCaptor<Consumer<ArrayList<GroupTask>>> {
+                    splitSelectStateController.findLastActiveTasksAndRunCallback(
+                        listOf(nonPrimaryUserComponent),
+                        false /* findExactPairMatch */,
+                        taskConsumer
+                    )
+                    verify(recentsModel).getTasks(capture())
+                }
+                .lastValue
 
         // Send our mocked tasks
         consumer.accept(tasks)
@@ -236,7 +244,7 @@
         // Assertions happen in the callback we get from what we pass into
         // #findLastActiveTasksAndRunCallback
         val taskConsumer =
-            Consumer<List<Task>> {
+            Consumer<Array<Task>> {
                 assertEquals(
                     "ComponentName package mismatched",
                     it[0].key.baseIntent.component?.packageName,
@@ -253,13 +261,15 @@
 
         // Capture callback from recentsModel#getTasks()
         val consumer =
-            withArgCaptor<Consumer<ArrayList<GroupTask>>> {
-                splitSelectStateController.findLastActiveTasksAndRunCallback(
-                    listOf(nonPrimaryUserComponent),
-                    taskConsumer
-                )
-                verify(recentsModel).getTasks(capture())
-            }
+            argumentCaptor<Consumer<ArrayList<GroupTask>>> {
+                    splitSelectStateController.findLastActiveTasksAndRunCallback(
+                        listOf(nonPrimaryUserComponent),
+                        false /* findExactPairMatch */,
+                        taskConsumer
+                    )
+                    verify(recentsModel).getTasks(capture())
+                }
+                .lastValue
 
         // Send our mocked tasks
         consumer.accept(tasks)
@@ -288,7 +298,7 @@
         // Assertions happen in the callback we get from what we pass into
         // #findLastActiveTasksAndRunCallback
         val taskConsumer =
-            Consumer<List<Task>> {
+            Consumer<Array<Task>> {
                 assertEquals(
                     "ComponentName package mismatched",
                     it[0].key.baseIntent.component?.packageName,
@@ -304,13 +314,15 @@
 
         // Capture callback from recentsModel#getTasks()
         val consumer =
-            withArgCaptor<Consumer<ArrayList<GroupTask>>> {
-                splitSelectStateController.findLastActiveTasksAndRunCallback(
-                    listOf(matchingComponent),
-                    taskConsumer
-                )
-                verify(recentsModel).getTasks(capture())
-            }
+            argumentCaptor<Consumer<ArrayList<GroupTask>>> {
+                    splitSelectStateController.findLastActiveTasksAndRunCallback(
+                        listOf(matchingComponent),
+                        false /* findExactPairMatch */,
+                        taskConsumer
+                    )
+                    verify(recentsModel).getTasks(capture())
+                }
+                .lastValue
 
         // Send our mocked tasks
         consumer.accept(tasks)
@@ -325,10 +337,7 @@
             ComponentKey(ComponentName(matchingPackage, matchingClass), primaryUserHandle)
 
         val groupTask1 =
-            generateGroupTask(
-                ComponentName("hotdog", "pie"),
-                ComponentName("pumpkin", "pie")
-            )
+            generateGroupTask(ComponentName("hotdog", "pie"), ComponentName("pumpkin", "pie"))
         val groupTask2 =
             generateGroupTask(
                 ComponentName("pomegranate", "juice"),
@@ -341,7 +350,7 @@
         // Assertions happen in the callback we get from what we pass into
         // #findLastActiveTasksAndRunCallback
         val taskConsumer =
-            Consumer<List<Task>> {
+            Consumer<Array<Task>> {
                 assertEquals("Expected array length 2", 2, it.size)
                 assertNull("No tasks should have matched", it[0] /*task*/)
                 assertEquals(
@@ -359,13 +368,15 @@
 
         // Capture callback from recentsModel#getTasks()
         val consumer =
-            withArgCaptor<Consumer<ArrayList<GroupTask>>> {
-                splitSelectStateController.findLastActiveTasksAndRunCallback(
-                    listOf(nonMatchingComponent, matchingComponent),
-                    taskConsumer
-                )
-                verify(recentsModel).getTasks(capture())
-            }
+            argumentCaptor<Consumer<ArrayList<GroupTask>>> {
+                    splitSelectStateController.findLastActiveTasksAndRunCallback(
+                        listOf(nonMatchingComponent, matchingComponent),
+                        false /* findExactPairMatch */,
+                        taskConsumer
+                    )
+                    verify(recentsModel).getTasks(capture())
+                }
+                .lastValue
 
         // Send our mocked tasks
         consumer.accept(tasks)
@@ -379,10 +390,7 @@
             ComponentKey(ComponentName(matchingPackage, matchingClass), primaryUserHandle)
 
         val groupTask1 =
-            generateGroupTask(
-                ComponentName("hotdog", "pie"),
-                ComponentName("pumpkin", "pie")
-            )
+            generateGroupTask(ComponentName("hotdog", "pie"), ComponentName("pumpkin", "pie"))
         val groupTask2 =
             generateGroupTask(
                 ComponentName("pomegranate", "juice"),
@@ -395,7 +403,7 @@
         // Assertions happen in the callback we get from what we pass into
         // #findLastActiveTasksAndRunCallback
         val taskConsumer =
-            Consumer<List<Task>> {
+            Consumer<Array<Task>> {
                 assertEquals("Expected array length 2", 2, it.size)
                 assertEquals(
                     "ComponentName package mismatched",
@@ -413,13 +421,15 @@
 
         // Capture callback from recentsModel#getTasks()
         val consumer =
-            withArgCaptor<Consumer<ArrayList<GroupTask>>> {
-                splitSelectStateController.findLastActiveTasksAndRunCallback(
-                    listOf(matchingComponent, matchingComponent),
-                    taskConsumer
-                )
-                verify(recentsModel).getTasks(capture())
-            }
+            argumentCaptor<Consumer<ArrayList<GroupTask>>> {
+                    splitSelectStateController.findLastActiveTasksAndRunCallback(
+                        listOf(matchingComponent, matchingComponent),
+                        false /* findExactPairMatch */,
+                        taskConsumer
+                    )
+                    verify(recentsModel).getTasks(capture())
+                }
+                .lastValue
 
         // Send our mocked tasks
         consumer.accept(tasks)
@@ -449,7 +459,7 @@
         // Assertions happen in the callback we get from what we pass into
         // #findLastActiveTasksAndRunCallback
         val taskConsumer =
-            Consumer<List<Task>> {
+            Consumer<Array<Task>> {
                 assertEquals("Expected array length 2", 2, it.size)
                 assertEquals(
                     "ComponentName package mismatched",
@@ -477,14 +487,68 @@
 
         // Capture callback from recentsModel#getTasks()
         val consumer =
-            withArgCaptor<Consumer<ArrayList<GroupTask>>> {
-                splitSelectStateController.findLastActiveTasksAndRunCallback(
-                    listOf(matchingComponent, matchingComponent),
-                    taskConsumer
-                )
-                verify(recentsModel).getTasks(capture())
+            argumentCaptor<Consumer<ArrayList<GroupTask>>> {
+                    splitSelectStateController.findLastActiveTasksAndRunCallback(
+                        listOf(matchingComponent, matchingComponent),
+                        false /* findExactPairMatch */,
+                        taskConsumer
+                    )
+                    verify(recentsModel).getTasks(capture())
+                }
+                .lastValue
+
+        // Send our mocked tasks
+        consumer.accept(tasks)
+    }
+
+    @Test
+    fun activeTasks_multipleSearchShouldFindExactPairMatch() {
+        val matchingPackage = "hotdog"
+        val matchingClass = "juice"
+        val matchingComponent =
+            ComponentKey(ComponentName(matchingPackage, matchingClass), primaryUserHandle)
+        val matchingPackage2 = "pomegranate"
+        val matchingClass2 = "juice"
+        val matchingComponent2 =
+            ComponentKey(ComponentName(matchingPackage2, matchingClass2), primaryUserHandle)
+
+        val groupTask1 =
+            generateGroupTask(ComponentName("hotdog", "pie"), ComponentName("pumpkin", "pie"))
+        val groupTask2 =
+            generateGroupTask(
+                ComponentName(matchingPackage2, matchingClass2),
+                ComponentName(matchingPackage, matchingClass)
+            )
+        val groupTask3 =
+            generateGroupTask(
+                ComponentName("hotdog", "pie"),
+                ComponentName(matchingPackage, matchingClass)
+            )
+        val tasks: ArrayList<GroupTask> = ArrayList()
+        tasks.add(groupTask3)
+        tasks.add(groupTask2)
+        tasks.add(groupTask1)
+
+        // Assertions happen in the callback we get from what we pass into
+        // #findLastActiveTasksAndRunCallback
+        val taskConsumer =
+            Consumer<Array<Task>> {
+                assertEquals("Expected array length 2", 2, it.size)
+                assertEquals("Found wrong task", it[0], groupTask2.task1)
             }
 
+        // Capture callback from recentsModel#getTasks()
+        val consumer =
+            argumentCaptor<Consumer<ArrayList<GroupTask>>> {
+                    splitSelectStateController.findLastActiveTasksAndRunCallback(
+                        listOf(matchingComponent2, matchingComponent),
+                        true /* findExactPairMatch */,
+                        taskConsumer
+                    )
+                    verify(recentsModel).getTasks(capture())
+                }
+                .lastValue
+
         // Send our mocked tasks
         consumer.accept(tasks)
     }
@@ -529,7 +593,7 @@
     @Test
     fun secondPendingIntentSet() {
         val itemInfo = ItemInfo()
-        `when`(pendingIntent.creatorUserHandle).thenReturn(primaryUserHandle)
+        whenever(pendingIntent.creatorUserHandle).thenReturn(primaryUserHandle)
         splitSelectStateController.setInitialTaskSelect(null, 0, itemInfo, null, 1)
         splitSelectStateController.setSecondTask(pendingIntent)
         assertTrue(splitSelectStateController.isBothSplitAppsConfirmed)
@@ -558,7 +622,7 @@
         return GroupTask(
             task1,
             task2,
-            SplitConfigurationOptions.SplitBounds(Rect(), Rect(), -1, -1)
+            SplitConfigurationOptions.SplitBounds(Rect(), Rect(), -1, -1, SNAP_TO_50_50)
         )
     }
 
@@ -590,7 +654,7 @@
         return GroupTask(
             task1,
             task2,
-            SplitConfigurationOptions.SplitBounds(Rect(), Rect(), -1, -1)
+            SplitConfigurationOptions.SplitBounds(Rect(), Rect(), -1, -1, SNAP_TO_50_50)
         )
     }
 }
diff --git a/quickstep/tests/src/com/android/quickstep/util/TaskGridNavHelperTest.java b/quickstep/tests/src/com/android/quickstep/util/TaskGridNavHelperTest.java
new file mode 100644
index 0000000..7ef4910
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/util/TaskGridNavHelperTest.java
@@ -0,0 +1,510 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quickstep.util;
+
+import static com.android.quickstep.util.TaskGridNavHelper.CLEAR_ALL_PLACEHOLDER_ID;
+import static com.android.quickstep.util.TaskGridNavHelper.INVALID_FOCUSED_TASK_ID;
+
+import static org.junit.Assert.assertEquals;
+
+import com.android.launcher3.util.IntArray;
+
+import org.junit.Test;
+
+public class TaskGridNavHelperTest {
+
+    @Test
+    public void equalLengthRows_noFocused_onTop_pressDown_goesToBottom() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 1;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_DOWN;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 2, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onTop_pressUp_goesToBottom() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 1;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_UP;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 2, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onBottom_pressDown_goesToTop() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 2;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_DOWN;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 1, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onBottom_pressUp_goesToTop() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 2;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_UP;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 1, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onTop_pressLeft_goesLeft() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 1;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_LEFT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 3, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onBottom_pressLeft_goesLeft() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 2;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_LEFT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 4, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onTop_secondItem_pressRight_goesRight() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 3;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_RIGHT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 1, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onBottom_secondItem_pressRight_goesRight() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 4;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_RIGHT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 2, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onTop_pressRight_cycleToClearAll() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 1;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_RIGHT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", CLEAR_ALL_PLACEHOLDER_ID, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onBottom_pressRight_cycleToClearAll() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 2;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_RIGHT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", CLEAR_ALL_PLACEHOLDER_ID, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onTop_lastItem_pressLeft_toClearAll() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 5;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_LEFT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", CLEAR_ALL_PLACEHOLDER_ID, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onBottom_lastItem_pressLeft_toClearAll() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 6;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_LEFT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", CLEAR_ALL_PLACEHOLDER_ID, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onClearAll_pressLeft_cycleToFirst() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = CLEAR_ALL_PLACEHOLDER_ID;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_LEFT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 1, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onClearAll_pressRight_toLastInBottom() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = CLEAR_ALL_PLACEHOLDER_ID;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_RIGHT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 6, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_withFocused_onFocused_pressLeft_toTop() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int focusedTaskId = 99;
+        int currentPageTaskViewId = focusedTaskId;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_LEFT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, focusedTaskId);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 1, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_withFocused_onFocused_pressUp_stayOnFocused() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int focusedTaskId = 99;
+        int currentPageTaskViewId = focusedTaskId;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_UP;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, focusedTaskId);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", focusedTaskId, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_withFocused_onFocused_pressDown_stayOnFocused() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int focusedTaskId = 99;
+        int currentPageTaskViewId = focusedTaskId;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_DOWN;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, focusedTaskId);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", focusedTaskId, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_withFocused_onFocused_pressRight_cycleToClearAll() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int focusedTaskId = 99;
+        int currentPageTaskViewId = focusedTaskId;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_RIGHT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, focusedTaskId);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", CLEAR_ALL_PLACEHOLDER_ID, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_withFocused_onClearAll_pressLeft_cycleToFocusedTask() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int focusedTaskId = 99;
+        int currentPageTaskViewId = CLEAR_ALL_PLACEHOLDER_ID;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_LEFT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, focusedTaskId);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", focusedTaskId, nextGridPage);
+    }
+
+    @Test
+    public void longerTopRow_noFocused_atEndTopBeyondBottom_pressDown_stayTop() {
+        IntArray topIds = IntArray.wrap(1, 3, 5, 7);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 7;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_DOWN;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 7, nextGridPage);
+    }
+
+    @Test
+    public void longerTopRow_noFocused_atEndTopBeyondBottom_pressUp_stayTop() {
+        IntArray topIds = IntArray.wrap(1, 3, 5, 7);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 7;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_UP;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 7, nextGridPage);
+    }
+
+    @Test
+    public void longerTopRow_noFocused_atEndBottom_pressLeft_goToTop() {
+        IntArray topIds = IntArray.wrap(1, 3, 5, 7);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 6;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_LEFT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 7, nextGridPage);
+    }
+
+    @Test
+    public void longerTopRow_noFocused_atClearAll_pressRight_goToLonger() {
+        IntArray topIds = IntArray.wrap(1, 3, 5, 7);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = CLEAR_ALL_PLACEHOLDER_ID;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_RIGHT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 7, nextGridPage);
+    }
+
+    @Test
+    public void longerBottomRow_noFocused_atClearAll_pressRight_goToLonger() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6, 7);
+        int currentPageTaskViewId = CLEAR_ALL_PLACEHOLDER_ID;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_RIGHT;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 7, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onTop_pressTab_goesToBottom() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 1;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_TAB;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 2, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onBottom_pressTab_goesToNextTop() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 2;
+        int delta = 1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_TAB;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 3, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onTop_pressTabWithShift_goesToPreviousBottom() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 3;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_TAB;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 2, nextGridPage);
+    }
+
+    @Test
+    public void equalLengthRows_noFocused_onBottom_pressTabWithShift_goesToTop() {
+        IntArray topIds = IntArray.wrap(1, 3, 5);
+        IntArray bottomIds = IntArray.wrap(2, 4, 6);
+        int currentPageTaskViewId = 2;
+        int delta = -1;
+        @TaskGridNavHelper.TASK_NAV_DIRECTION int direction = TaskGridNavHelper.DIRECTION_TAB;
+        boolean cycle = true;
+        TaskGridNavHelper taskGridNavHelper =
+                new TaskGridNavHelper(topIds, bottomIds, INVALID_FOCUSED_TASK_ID);
+
+        int nextGridPage =
+                taskGridNavHelper.getNextGridPage(currentPageTaskViewId, delta, direction, cycle);
+
+        assertEquals("Wrong next page returned.", 1, nextGridPage);
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCacheTest.java b/quickstep/tests/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCacheTest.java
new file mode 100644
index 0000000..ea2688a
--- /dev/null
+++ b/quickstep/tests/src/com/android/quickstep/util/TaskKeyByLastActiveTimeCacheTest.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.quickstep.util;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.assertNull;
+
+import android.content.ComponentName;
+import android.content.Intent;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.shared.recents.model.Task;
+import com.android.systemui.shared.recents.model.ThumbnailData;
+
+import org.junit.Test;
+
+@SmallTest
+public class TaskKeyByLastActiveTimeCacheTest {
+    @Test
+    public void add() {
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(3);
+        Task.TaskKey key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 1);
+        ThumbnailData data1 = new ThumbnailData();
+        cache.put(key1, data1);
+
+        Task.TaskKey key2 = new Task.TaskKey(2, 0, new Intent(),
+                new ComponentName("", ""), 0, 2);
+        ThumbnailData data2 = new ThumbnailData();
+        cache.put(key2, data2);
+
+        assertEquals(2, cache.getSize());
+        assertEquals(data1, cache.getAndInvalidateIfModified(key1));
+        assertEquals(data2, cache.getAndInvalidateIfModified(key2));
+
+        assertEquals(2, cache.getQueue().size());
+        assertEquals(key1, cache.getQueue().poll());
+        assertEquals(key2, cache.getQueue().poll());
+    }
+
+    @Test
+    public void addSameTasksWithSameLastActiveTimeTwice() {
+        // Add 2 tasks with same id and last active time, it should only have 1 entry in cache
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(3);
+        Task.TaskKey key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 1000);
+        ThumbnailData data1 = new ThumbnailData();
+        cache.put(key1, data1);
+
+        Task.TaskKey key2 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 1000);
+        ThumbnailData data2 = new ThumbnailData();
+        cache.put(key2, data2);
+
+        assertEquals(1, cache.getSize());
+        assertEquals(data2, cache.getAndInvalidateIfModified(key2));
+
+        assertEquals(1, cache.getQueue().size());
+        assertEquals(key2, cache.getQueue().poll());
+    }
+
+    @Test
+    public void addSameTasksWithDifferentLastActiveTime() {
+        // Add 2 tasks with same id and different last active time, it should only have the
+        // higher last active time entry
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(3);
+        Task.TaskKey key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 1000);
+        ThumbnailData data1 = new ThumbnailData();
+        cache.put(key1, data1);
+
+        Task.TaskKey key2 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 2000);
+        ThumbnailData data2 = new ThumbnailData();
+        cache.put(key2, data2);
+
+        assertEquals(1, cache.getSize());
+        assertEquals(data2, cache.getAndInvalidateIfModified(key2));
+
+        assertEquals(1, cache.getQueue().size());
+        Task.TaskKey queueKey = cache.getQueue().poll();
+        assertEquals(key2, queueKey);
+        // TaskKey's equal method does not check last active time, so we check here
+        assertEquals(2000, queueKey.lastActiveTime);
+    }
+
+    @Test
+    public void remove() {
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(3);
+        Task.TaskKey key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 0);
+        cache.put(key1, new ThumbnailData());
+
+        cache.remove(key1);
+
+        assertEquals(0, cache.getSize());
+        assertEquals(0, cache.getQueue().size());
+    }
+
+    @Test
+    public void removeByStubKey() {
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(3);
+        Task.TaskKey key1 = new Task.TaskKey(1, 1, new Intent(),
+                new ComponentName("", ""), 1, 100);
+        cache.put(key1, new ThumbnailData());
+
+        Task.TaskKey stubKey = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 0);
+        cache.remove(stubKey);
+
+        assertEquals(0, cache.getSize());
+        assertEquals(0, cache.getQueue().size());
+    }
+
+    @Test
+    public void evictAll() {
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(3);
+        Task.TaskKey key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 0);
+        cache.put(key1, new ThumbnailData());
+        Task.TaskKey key2 = new Task.TaskKey(2, 0, new Intent(),
+                new ComponentName("", ""), 0, 0);
+        cache.put(key2, new ThumbnailData());
+
+        cache.evictAll();
+
+        assertEquals(0, cache.getSize());
+        assertEquals(0, cache.getQueue().size());
+    }
+
+    @Test
+    public void removeAllByPredicate() {
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(3);
+        // Add user 1's tasks
+        Task.TaskKey user1Key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 1, 0);
+        cache.put(user1Key1, new ThumbnailData());
+        Task.TaskKey user1Key2 = new Task.TaskKey(2, 0, new Intent(),
+                new ComponentName("", ""), 1, 0);
+        cache.put(user1Key2, new ThumbnailData());
+        // Add user 2's task
+        Task.TaskKey user2Key = new Task.TaskKey(3, 0, new Intent(),
+                new ComponentName("", ""), 2, 0);
+        ThumbnailData user2Data = new ThumbnailData();
+        cache.put(user2Key, user2Data);
+
+        cache.removeAll(key -> key.userId == 1);
+
+        // Only user 2's task remains
+        assertEquals(1, cache.getSize());
+        assertEquals(user2Data, cache.getAndInvalidateIfModified(user2Key));
+
+        assertEquals(1, cache.getQueue().size());
+        assertEquals(user2Key, cache.getQueue().poll());
+    }
+
+    @Test
+    public void getAndInvalidateIfModified() {
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(3);
+        // Add user 1's tasks
+        Task.TaskKey key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 1, 0);
+        ThumbnailData data1 = new ThumbnailData();
+        cache.put(key1, data1);
+
+        // Get result with task key of same last active time
+        Task.TaskKey keyWithSameActiveTime = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 1, 0);
+        ThumbnailData result1 = cache.getAndInvalidateIfModified(keyWithSameActiveTime);
+        assertEquals(data1, result1);
+        assertEquals(1, cache.getQueue().size());
+
+        // Invalidate result with task key of new last active time
+        Task.TaskKey keyWithNewActiveTime = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 1, 1);
+        ThumbnailData result2 = cache.getAndInvalidateIfModified(keyWithNewActiveTime);
+        // No entry is retrieved because the key has higher last active time
+        assertNull(result2);
+        assertEquals(0, cache.getSize());
+        assertEquals(0, cache.getQueue().size());
+    }
+
+    @Test
+    public void removeByLastActiveTimeWhenOverMaxSize() {
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(2);
+        Task.TaskKey key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 200);
+        ThumbnailData task1 = new ThumbnailData();
+        cache.put(key1, task1);
+        Task.TaskKey key2 = new Task.TaskKey(2, 0, new Intent(),
+                new ComponentName("", ""), 0, 100);
+        ThumbnailData task2 = new ThumbnailData();
+        cache.put(key2, task2);
+
+        // Add the 3rd entry which will exceed the max cache size
+        Task.TaskKey key3 = new Task.TaskKey(3, 0, new Intent(),
+                new ComponentName("", ""), 0, 300);
+        ThumbnailData task3 = new ThumbnailData();
+        cache.put(key3, task3);
+
+        // Assert map size and check the remaining entries have higher active time
+        assertEquals(2, cache.getSize());
+        assertEquals(task1, cache.getAndInvalidateIfModified(key1));
+        assertEquals(task3, cache.getAndInvalidateIfModified(key3));
+        assertNull(cache.getAndInvalidateIfModified(key2));
+
+        // Assert queue size and check the remaining entries have higher active time
+        assertEquals(2, cache.getQueue().size());
+        Task.TaskKey queueKey1 = cache.getQueue().poll();
+        assertEquals(key1, queueKey1);
+        assertEquals(200, queueKey1.lastActiveTime);
+        Task.TaskKey queueKey2 = cache.getQueue().poll();
+        assertEquals(key3, queueKey2);
+        assertEquals(300, queueKey2.lastActiveTime);
+    }
+
+    @Test
+    public void updateIfAlreadyInCache() {
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(2);
+        Task.TaskKey key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 200);
+        cache.put(key1, new ThumbnailData());
+
+        // Update original data to new data
+        ThumbnailData newData = new ThumbnailData();
+        cache.updateIfAlreadyInCache(key1.id, newData);
+
+        // Data is updated to newData successfully
+        ThumbnailData result = cache.getAndInvalidateIfModified(key1);
+        assertEquals(newData, result);
+    }
+
+    @Test
+    public void updateCacheSizeAndInvalidateExcess() {
+        // Last active time are not in-sync with insertion order to simulate the real async case
+        TaskKeyByLastActiveTimeCache<ThumbnailData> cache = new TaskKeyByLastActiveTimeCache<>(4);
+        Task.TaskKey key1 = new Task.TaskKey(1, 0, new Intent(),
+                new ComponentName("", ""), 0, 200);
+        cache.put(key1, new ThumbnailData());
+
+        Task.TaskKey key2 = new Task.TaskKey(2, 0, new Intent(),
+                new ComponentName("", ""), 0, 100);
+        cache.put(key2, new ThumbnailData());
+
+        Task.TaskKey key3 = new Task.TaskKey(3, 0, new Intent(),
+                new ComponentName("", ""), 0, 400);
+        cache.put(key3, new ThumbnailData());
+
+        Task.TaskKey key4 = new Task.TaskKey(4, 0, new Intent(),
+                new ComponentName("", ""), 0, 300);
+        cache.put(key4, new ThumbnailData());
+
+        // Check that it has 4 entries before cache size changes
+        assertEquals(4, cache.getSize());
+        assertEquals(4, cache.getQueue().size());
+
+        // Update size to 2
+        cache.updateCacheSizeAndRemoveExcess(2);
+
+        // Number of entries becomes 2, only key3 and key4 remain
+        assertEquals(2, cache.getSize());
+        assertEquals(2, cache.getQueue().size());
+        assertNotNull(cache.getAndInvalidateIfModified(key3));
+        assertNotNull(cache.getAndInvalidateIfModified(key4));
+    }
+}
diff --git a/quickstep/tests/src/com/android/quickstep/util/TaskViewSimulatorTest.java b/quickstep/tests/src/com/android/quickstep/util/TaskViewSimulatorTest.java
index a54dc2d..b365173 100644
--- a/quickstep/tests/src/com/android/quickstep/util/TaskViewSimulatorTest.java
+++ b/quickstep/tests/src/com/android/quickstep/util/TaskViewSimulatorTest.java
@@ -18,11 +18,15 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
+import android.content.Context;
+import android.content.res.Configuration;
 import android.graphics.Point;
 import android.graphics.Rect;
 import android.graphics.RectF;
 import android.util.ArrayMap;
+import android.util.DisplayMetrics;
 import android.view.RemoteAnimationTarget;
 import android.view.Surface;
 
@@ -35,7 +39,6 @@
 import com.android.launcher3.util.DisplayController.Info;
 import com.android.launcher3.util.LauncherModelHelper;
 import com.android.launcher3.util.NavigationMode;
-import com.android.launcher3.util.ReflectionHelpers;
 import com.android.launcher3.util.RotationUtils;
 import com.android.launcher3.util.WindowBounds;
 import com.android.launcher3.util.window.CachedDisplayInfo;
@@ -61,6 +64,7 @@
     public void taskProperlyScaled_portrait_noRotation_sameInsets1() {
         new TaskMatrixVerifier()
                 .withLauncherSize(1200, 2450)
+                .withDensityDpi(420)
                 .withInsets(new Rect(0, 80, 0, 120))
                 .verifyNoTransforms();
     }
@@ -69,6 +73,7 @@
     public void taskProperlyScaled_portrait_noRotation_sameInsets2() {
         new TaskMatrixVerifier()
                 .withLauncherSize(1200, 2450)
+                .withDensityDpi(420)
                 .withInsets(new Rect(55, 80, 55, 120))
                 .verifyNoTransforms();
     }
@@ -77,6 +82,7 @@
     public void taskProperlyScaled_landscape_noRotation_sameInsets1() {
         new TaskMatrixVerifier()
                 .withLauncherSize(2450, 1250)
+                .withDensityDpi(420)
                 .withInsets(new Rect(0, 80, 0, 40))
                 .verifyNoTransforms();
     }
@@ -85,6 +91,7 @@
     public void taskProperlyScaled_landscape_noRotation_sameInsets2() {
         new TaskMatrixVerifier()
                 .withLauncherSize(2450, 1250)
+                .withDensityDpi(420)
                 .withInsets(new Rect(0, 80, 120, 0))
                 .verifyNoTransforms();
     }
@@ -93,6 +100,7 @@
     public void taskProperlyScaled_landscape_noRotation_sameInsets3() {
         new TaskMatrixVerifier()
                 .withLauncherSize(2450, 1250)
+                .withDensityDpi(420)
                 .withInsets(new Rect(55, 80, 55, 120))
                 .verifyNoTransforms();
     }
@@ -101,6 +109,7 @@
     public void taskProperlyScaled_landscape_rotated() {
         new TaskMatrixVerifier()
                 .withLauncherSize(1200, 2450)
+                .withDensityDpi(420)
                 .withInsets(new Rect(0, 80, 0, 120))
                 .withAppBounds(
                         new Rect(0, 0, 2450, 1200),
@@ -112,6 +121,7 @@
     private static class TaskMatrixVerifier extends TransformParams {
 
         private Point mDisplaySize = new Point();
+        private int mDensityDpi = DisplayMetrics.DENSITY_DEFAULT;
         private Rect mDisplayInsets = new Rect();
         private Rect mAppBounds = new Rect();
         private Rect mLauncherInsets = new Rect();
@@ -129,6 +139,11 @@
             return this;
         }
 
+        TaskMatrixVerifier withDensityDpi(int densityDpi) {
+            mDensityDpi = densityDpi;
+            return this;
+        }
+
         TaskMatrixVerifier withInsets(Rect insets) {
             mDisplayInsets.set(insets);
             mLauncherInsets.set(insets);
@@ -173,13 +188,17 @@
                         new ArrayMap<>();
                 perDisplayBoundsCache.put(cdi.normalize(), allBounds);
 
-                DisplayController.Info mockInfo = new Info(
-                        helper.sandboxContext, wmProxy, perDisplayBoundsCache);
+                Configuration configuration = new Configuration();
+                configuration.densityDpi = mDensityDpi;
+                Context configurationContext = helper.sandboxContext.createConfigurationContext(
+                        configuration);
 
-                DisplayController controller =
-                        DisplayController.INSTANCE.get(helper.sandboxContext);
-                controller.close();
-                ReflectionHelpers.setField(controller, "mInfo", mockInfo);
+                DisplayController.Info info = new Info(
+                        configurationContext, wmProxy, perDisplayBoundsCache);
+
+                DisplayController mockController = mock(DisplayController.class);
+                when(mockController.getInfo()).thenReturn(info);
+                helper.sandboxContext.putObject(DisplayController.INSTANCE, mockController);
 
                 mDeviceProfile = InvariantDeviceProfile.INSTANCE.get(helper.sandboxContext)
                         .getBestMatch(mAppBounds.width(), mAppBounds.height(), rotation);
@@ -189,7 +208,7 @@
                         FallbackActivityInterface.INSTANCE);
                 tvs.setDp(mDeviceProfile);
 
-                int launcherRotation = mockInfo.rotation;
+                int launcherRotation = info.rotation;
                 if (mAppRotation < 0) {
                     mAppRotation = launcherRotation;
                 }
diff --git a/quickstep/tests/src/com/android/quickstep/util/unfold/PreemptiveUnfoldTransitionProgressProviderTest.kt b/quickstep/tests/src/com/android/quickstep/util/unfold/PreemptiveUnfoldTransitionProgressProviderTest.kt
index f73be72..6a418a4 100644
--- a/quickstep/tests/src/com/android/quickstep/util/unfold/PreemptiveUnfoldTransitionProgressProviderTest.kt
+++ b/quickstep/tests/src/com/android/quickstep/util/unfold/PreemptiveUnfoldTransitionProgressProviderTest.kt
@@ -21,19 +21,17 @@
 import android.testing.TestableLooper.RunWithLooper
 import android.util.Log
 import androidx.test.filters.SmallTest
-import com.android.launcher3.util.any
-import com.android.launcher3.util.mock
 import com.android.systemui.unfold.UnfoldTransitionProgressProvider
 import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener
 import org.junit.After
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mockito.anyBoolean
-import org.mockito.Mockito.anyFloat
-import org.mockito.Mockito.inOrder
-import org.mockito.Mockito.never
-import org.mockito.Mockito.verify
+import org.mockito.kotlin.any
+import org.mockito.kotlin.inOrder
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.verify
 
 @SmallTest
 @RunWith(AndroidTestingRunner::class)
@@ -74,7 +72,7 @@
         provider.preemptivelyStartTransition(initialProgress = null)
 
         verify(listener).onTransitionStarted()
-        verify(listener, never()).onTransitionProgress(anyFloat())
+        verify(listener, never()).onTransitionProgress(any())
     }
 
     @Test
@@ -90,7 +88,7 @@
         provider.preemptivelyStartTransition()
         provider.cancelPreemptiveStart()
 
-        with(inOrder(listener)) {
+        inOrder(listener) {
             verify(listener).onTransitionStarted()
             verify(listener).onTransitionFinished()
         }
@@ -111,7 +109,7 @@
         source.onTransitionStarted()
         source.onTransitionFinished()
 
-        with(inOrder(listener)) {
+        inOrder(listener) {
             verify(listener).onTransitionStarted()
             verify(listener).onTransitionFinished()
         }
@@ -152,7 +150,7 @@
         provider.preemptivelyStartTransition()
         source.onTransitionFinished()
 
-        with(inOrder(listener)) {
+        inOrder(listener) {
             verify(listener).onTransitionStarted()
             verify(listener).onTransitionFinished()
         }
@@ -165,7 +163,7 @@
         testableLooper.moveTimeForward(PREEMPTIVE_UNFOLD_TIMEOUT_MS + 1)
         testableLooper.processAllMessages()
 
-        with(inOrder(listener)) {
+        inOrder(listener) {
             verify(listener).onTransitionStarted()
             verify(listener).onTransitionFinished()
         }
@@ -178,7 +176,7 @@
         testableLooper.moveTimeForward(PREEMPTIVE_UNFOLD_TIMEOUT_MS + 1)
         testableLooper.processAllMessages()
 
-        verify(testWtfHandler).onTerribleFailure(any(), any(), anyBoolean())
+        verify(testWtfHandler).onTerribleFailure(any(), any(), any())
     }
 
     @Test
@@ -225,7 +223,7 @@
 
         source.onTransitionFinished()
 
-        with(inOrder(listener)) {
+        inOrder(listener) {
             verify(listener).onTransitionStarted()
             verify(listener).onTransitionFinished()
         }
diff --git a/res/color-night-v31/folder_preview_dark.xml b/res/color-night-v31/folder_preview_dark.xml
index 644d61a..6dd20a1 100644
--- a/res/color-night-v31/folder_preview_dark.xml
+++ b/res/color-night-v31/folder_preview_dark.xml
@@ -16,5 +16,5 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android" >
     <item
         android:color="@android:color/system_neutral1_900"
-        android:lStar="17" />
+        android:lStar="12" />
 </selector>
diff --git a/res/drawable-sw720dp/ic_transient_taskbar_all_apps_search_button.xml b/res/drawable-sw720dp/ic_transient_taskbar_all_apps_search_button.xml
new file mode 100644
index 0000000..eb5b41e
--- /dev/null
+++ b/res/drawable-sw720dp/ic_transient_taskbar_all_apps_search_button.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="52dp"
+    android:height="52dp"
+    android:autoMirrored="true"
+    android:viewportHeight="52"
+    android:viewportWidth="52">
+
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M18.25,17.75m-6,0a6,6 0,1 1,12 0a6,6 0,1 1,-12 0" />
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M18.25,34.25m-6,0a6,6 0,1 1,12 0a6,6 0,1 1,-12 0" />
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M34.75,17.75m-6,0a6,6 0,1 1,12 0a6,6 0,1 1,-12 0" />
+  <path
+      android:fillColor="#FF000000"
+      android:fillType="evenOdd"
+      android:pathData="M37.75,34.25C37.75,32.6 36.4,31.25 34.75,31.25C33.1,31.25 31.75,32.6 31.75,34.25C31.75,35.9 33.1,37.25 34.75,37.25C36.4,37.25 37.75,35.9 37.75,34.25ZM28.75,34.25C28.75,30.935 31.435,28.25 34.75,28.25C38.065,28.25 40.75,30.935 40.75,34.25C40.75,35.361 40.449,36.401 39.923,37.292L44.5,41.884L42.386,43.999L37.795,39.422C36.902,39.948 35.862,40.25 34.75,40.25C31.435,40.25 28.75,37.565 28.75,34.25Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable-v31/bg_deferred_app_widget.xml b/res/drawable-v31/bg_deferred_app_widget.xml
deleted file mode 100644
index a08998d..0000000
--- a/res/drawable-v31/bg_deferred_app_widget.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2021 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<inset xmlns:android="http://schemas.android.com/apk/res/android"
-    android:inset="8dp">
-    <shape android:shape="rectangle">
-        <corners android:radius="@android:dimen/system_app_widget_background_radius" />
-        <solid android:color="#77000000" />
-    </shape>
-</inset>
diff --git a/res/drawable/bg_deferred_app_widget.xml b/res/drawable/bg_deferred_app_widget.xml
deleted file mode 100644
index 07bae48..0000000
--- a/res/drawable/bg_deferred_app_widget.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2015, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<inset
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:inset="8dp">
-    <color android:color="#77000000" />
-</inset>
diff --git a/res/drawable/bg_ps_header.xml b/res/drawable/bg_ps_header.xml
new file mode 100644
index 0000000..526bb5a
--- /dev/null
+++ b/res/drawable/bg_ps_header.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="@dimen/ps_container_corner_radius" />
+    <solid android:color="?attr/materialColorSurfaceContainerHigh" />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/bg_ps_lock_button.xml b/res/drawable/bg_ps_lock_button.xml
new file mode 100644
index 0000000..aef1e81
--- /dev/null
+++ b/res/drawable/bg_ps_lock_button.xml
@@ -0,0 +1,32 @@
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="@dimen/ps_lock_button_width"
+    android:height="@dimen/ps_button_height"
+    android:viewportWidth="89"
+    android:viewportHeight="36">
+    <path
+        android:pathData="M18,0L71,0A18,18 0,0 1,89 18L89,18A18,18 0,0 1,71 36L18,36A18,18 0,0 1,0 18L0,18A18,18 0,0 1,18 0z"
+        android:fillColor="?attr/materialColorPrimaryFixedDim"/>
+    <path
+        android:pathData="M26.167,14.667H27C27.917,14.667 28.667,15.417 28.667,16.333V24.667C28.667,25.583 27.917,26.333 27,26.333H17C16.083,26.333 15.333,25.583 15.333,24.667V16.333C15.333,15.417 16.083,14.667 17,14.667H17.833V13C17.833,10.7 19.7,8.833 22,8.833C24.3,8.833 26.167,10.7 26.167,13V14.667ZM22,10.5C20.617,10.5 19.5,11.617 19.5,13V14.667H24.5V13C24.5,11.617 23.383,10.5 22,10.5ZM17,24.667V16.333H27V24.667H17ZM23.667,20.5C23.667,21.417 22.917,22.167 22,22.167C21.083,22.167 20.333,21.417 20.333,20.5C20.333,19.583 21.083,18.833 22,18.833C22.917,18.833 23.667,19.583 23.667,20.5Z"
+        android:fillColor="?attr/materialColorOnPrimaryFixed"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M41.204,23V12.976H42.73V21.544H47.504V23H41.204ZM52.352,23.224C51.615,23.224 50.976,23.061 50.434,22.734C49.893,22.398 49.473,21.936 49.174,21.348C48.885,20.76 48.74,20.083 48.74,19.318C48.74,18.543 48.885,17.867 49.174,17.288C49.473,16.7 49.893,16.243 50.434,15.916C50.976,15.58 51.615,15.412 52.352,15.412C53.099,15.412 53.738,15.58 54.27,15.916C54.812,16.243 55.227,16.7 55.516,17.288C55.815,17.867 55.964,18.543 55.964,19.318C55.964,20.083 55.815,20.76 55.516,21.348C55.227,21.936 54.812,22.398 54.27,22.734C53.738,23.061 53.099,23.224 52.352,23.224ZM52.352,21.838C52.772,21.838 53.141,21.74 53.458,21.544C53.776,21.348 54.023,21.063 54.2,20.69C54.378,20.307 54.466,19.85 54.466,19.318C54.466,18.777 54.378,18.319 54.2,17.946C54.023,17.573 53.776,17.288 53.458,17.092C53.141,16.896 52.777,16.798 52.366,16.798C51.946,16.798 51.578,16.896 51.26,17.092C50.943,17.288 50.691,17.573 50.504,17.946C50.327,18.319 50.238,18.777 50.238,19.318C50.238,19.859 50.327,20.317 50.504,20.69C50.691,21.063 50.943,21.348 51.26,21.544C51.587,21.74 51.951,21.838 52.352,21.838ZM60.899,23.224C60.199,23.224 59.583,23.065 59.051,22.748C58.528,22.421 58.118,21.964 57.819,21.376C57.529,20.788 57.385,20.102 57.385,19.318C57.385,18.525 57.534,17.839 57.833,17.26C58.141,16.672 58.561,16.219 59.093,15.902C59.634,15.575 60.255,15.412 60.955,15.412C61.832,15.412 62.556,15.631 63.125,16.07C63.694,16.509 64.039,17.111 64.161,17.876L62.705,18.114C62.611,17.713 62.411,17.395 62.103,17.162C61.804,16.919 61.412,16.798 60.927,16.798C60.544,16.798 60.199,16.896 59.891,17.092C59.583,17.279 59.335,17.559 59.149,17.932C58.972,18.305 58.883,18.767 58.883,19.318C58.883,19.859 58.972,20.321 59.149,20.704C59.326,21.077 59.569,21.362 59.877,21.558C60.185,21.745 60.535,21.838 60.927,21.838C61.394,21.838 61.771,21.721 62.061,21.488C62.36,21.255 62.579,20.909 62.719,20.452L64.133,20.788C63.956,21.507 63.596,22.095 63.055,22.552C62.514,23 61.795,23.224 60.899,23.224ZM65.985,23V12.136H67.483V18.688L70.381,15.636H72.187V15.72L69.499,18.492L72.257,22.916V23H70.549L68.435,19.598L67.483,20.564V23H65.985Z"
+        android:fillColor="?attr/materialColorOnPrimaryFixed"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/bg_ps_settings_button.xml b/res/drawable/bg_ps_settings_button.xml
new file mode 100644
index 0000000..c06e0c0
--- /dev/null
+++ b/res/drawable/bg_ps_settings_button.xml
@@ -0,0 +1,35 @@
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="@dimen/ps_button_height"
+    android:height="@dimen/ps_button_height"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+    <path
+        android:pathData="M20,0L20,0A20,20 0,0 1,40 20L40,20A20,20 0,0 1,20 40L20,40A20,20 0,0 1,0 20L0,20A20,20 0,0 1,20 0z"
+        android:fillColor="?attr/materialColorSurfaceBright"/>
+    <group>
+        <clip-path
+            android:pathData="M10,10h20v20h-20z"/>
+        <path
+            android:pathData="M21.542,28.542H18.458C17.841,28.542 17.325,28.092 17.25,27.483L17.025,25.908C16.8,25.792 16.583,25.667 16.367,25.525L14.866,26.125C14.283,26.342 13.642,26.1 13.358,25.583L11.833,22.942C11.542,22.392 11.667,21.742 12.133,21.375L13.408,20.383C13.4,20.258 13.392,20.133 13.392,20C13.392,19.875 13.4,19.742 13.408,19.617L12.142,18.625C11.65,18.25 11.525,17.575 11.833,17.058L13.375,14.4C13.658,13.883 14.3,13.65 14.866,13.875L16.375,14.483C16.591,14.342 16.808,14.217 17.025,14.1L17.25,12.508C17.325,11.925 17.841,11.467 18.45,11.467H21.533C22.15,11.467 22.667,11.917 22.742,12.525L22.966,14.1C23.191,14.217 23.408,14.342 23.625,14.483L25.125,13.883C25.716,13.667 26.358,13.908 26.642,14.425L28.175,17.075C28.475,17.625 28.341,18.275 27.875,18.642L26.608,19.633C26.617,19.758 26.625,19.883 26.625,20.017C26.625,20.15 26.617,20.275 26.608,20.4L27.875,21.392C28.341,21.767 28.475,22.417 28.183,22.942L26.633,25.625C26.35,26.142 25.708,26.375 25.133,26.15L23.633,25.55C23.417,25.692 23.2,25.817 22.983,25.933L22.758,27.525C22.675,28.092 22.158,28.542 21.542,28.542ZM21.1,27.267C21.1,27.275 21.1,27.275 21.1,27.283V27.267ZM18.9,27.25V27.267C18.908,27.267 18.908,27.258 18.9,27.25ZM18.85,26.875H21.15L21.458,24.75L21.9,24.567C22.267,24.417 22.633,24.2 23.017,23.917L23.392,23.633L25.375,24.433L26.525,22.433L24.833,21.117L24.892,20.65C24.917,20.433 24.941,20.225 24.941,20C24.941,19.775 24.917,19.558 24.892,19.35L24.833,18.883L26.525,17.567L25.367,15.567L23.375,16.367L23,16.075C22.65,15.808 22.275,15.592 21.892,15.433L21.458,15.25L21.15,13.125H18.85L18.542,15.25L18.1,15.425C17.733,15.583 17.367,15.792 16.983,16.083L16.608,16.358L14.625,15.567L13.467,17.558L15.158,18.875L15.1,19.342C15.075,19.558 15.05,19.783 15.05,20C15.05,20.217 15.066,20.442 15.1,20.65L15.158,21.117L13.467,22.433L14.616,24.433L16.608,23.633L16.983,23.925C17.341,24.2 17.7,24.408 18.091,24.567L18.533,24.75L18.85,26.875ZM25.183,24.767C25.183,24.775 25.175,24.783 25.175,24.792L25.183,24.767ZM14.808,24.758L14.816,24.775C14.816,24.767 14.808,24.758 14.808,24.758ZM25.183,15.225C25.183,15.233 25.191,15.242 25.191,15.242L25.183,15.225ZM14.825,15.208L14.816,15.225C14.816,15.225 14.825,15.217 14.825,15.208ZM21.091,12.733C21.091,12.742 21.091,12.742 21.091,12.75V12.733ZM18.908,12.717V12.733C18.908,12.725 18.908,12.725 18.908,12.717Z"
+            android:fillColor="?attr/materialColorOnSurfaceVariant"/>
+        <path
+            android:pathData="M20,22.917C21.611,22.917 22.916,21.611 22.916,20C22.916,18.389 21.611,17.083 20,17.083C18.389,17.083 17.083,18.389 17.083,20C17.083,21.611 18.389,22.917 20,22.917Z"
+            android:fillColor="?attr/materialColorOnSurfaceVariant"/>
+    </group>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/bg_ps_transition_image.xml b/res/drawable/bg_ps_transition_image.xml
new file mode 100644
index 0000000..dfad3cf
--- /dev/null
+++ b/res/drawable/bg_ps_transition_image.xml
@@ -0,0 +1,35 @@
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:name="vector"
+    android:width="@dimen/ps_button_height"
+    android:height="@dimen/ps_button_height"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+    <path
+        android:name="path"
+        android:pathData="M 19.998 36.668 C 10.816 36.668 3.332 29.184 3.332 20 C 3.332 10.818 10.816 3.334 19.998 3.334 C 20.916 3.334 21.666 4.084 21.666 5 C 21.666 5.918 20.916 6.668 19.998 6.668 C 12.648 6.668 6.666 12.65 6.666 20 C 6.666 27.35 12.648 33.334 19.998 33.334 C 27.348 33.334 33.332 27.35 33.332 20 C 33.332 19.084 34.082 18.334 34.998 18.334 C 35.916 18.334 36.666 19.084 36.666 20 C 36.666 29.184 29.182 36.668 19.998 36.668 Z"
+        android:fillColor="?attr/materialColorOnPrimaryFixed"/>
+    <path
+        android:name="path_3"
+        android:pathData="M 20 0 C 25.302 0 30.393 2.109 34.142 5.858 C 37.891 9.607 40 14.698 40 20 C 40 25.302 37.891 30.393 34.142 34.142 C 30.393 37.891 25.302 40 20 40 C 14.698 40 9.607 37.891 5.858 34.142 C 2.109 30.393 0 25.302 0 20 C 0 14.698 2.109 9.607 5.858 5.858 C 9.607 2.109 14.698 0 20 0"
+        android:fillColor="?attr/materialColorPrimaryFixedDim"/>
+    <path
+        android:name="path_4"
+        android:pathData="M 19.999 28.334 C 15.408 28.334 11.666 24.592 11.666 20 C 11.666 15.409 15.408 11.667 19.999 11.667 C 20.458 11.667 20.833 12.042 20.833 12.5 C 20.833 12.959 20.458 13.334 19.999 13.334 C 16.324 13.334 13.333 16.325 13.333 20 C 13.333 23.675 16.324 26.667 19.999 26.667 C 23.674 26.667 26.666 23.675 26.666 20 C 26.666 19.542 27.041 19.167 27.499 19.167 C 27.958 19.167 28.333 19.542 28.333 20 C 28.333 24.592 24.591 28.334 19.999 28.334 Z"
+        android:fillColor="?attr/materialColorOnPrimaryFixed"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/bg_ps_unlock_button.xml b/res/drawable/bg_ps_unlock_button.xml
new file mode 100644
index 0000000..d5eedd2
--- /dev/null
+++ b/res/drawable/bg_ps_unlock_button.xml
@@ -0,0 +1,29 @@
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="@dimen/ps_button_height"
+    android:height="@dimen/ps_button_height"
+    android:viewportWidth="36"
+    android:viewportHeight="36">
+    <path
+        android:pathData="M18,0L18,0A18,18 0,0 1,36 18L36,18A18,18 0,0 1,18 36L18,36A18,18 0,0 1,0 18L0,18A18,18 0,0 1,18 0z"
+        android:fillColor="?attr/materialColorPrimaryFixedDim"/>
+    <path
+        android:pathData="M22.167,14.667H23C23.917,14.667 24.667,15.417 24.667,16.333V24.667C24.667,25.583 23.917,26.333 23,26.333H13C12.083,26.333 11.333,25.583 11.333,24.667V16.333C11.333,15.417 12.083,14.667 13,14.667H13.833V13C13.833,10.7 15.7,8.833 18,8.833C20.3,8.833 22.167,10.7 22.167,13V14.667ZM18,10.5C16.617,10.5 15.5,11.617 15.5,13V14.667H20.5V13C20.5,11.617 19.383,10.5 18,10.5ZM13,24.667V16.333H23V24.667H13ZM19.667,20.5C19.667,21.417 18.917,22.167 18,22.167C17.083,22.167 16.333,21.417 16.333,20.5C16.333,19.583 17.083,18.833 18,18.833C18.917,18.833 19.667,19.583 19.667,20.5Z"
+        android:fillColor="?attr/materialColorOnPrimaryFixed"
+        android:fillType="evenOdd"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/bg_rounded_corner_bottom_sheet_handle.xml b/res/drawable/bg_rounded_corner_bottom_sheet_handle.xml
index c502178..379e0e5 100644
--- a/res/drawable/bg_rounded_corner_bottom_sheet_handle.xml
+++ b/res/drawable/bg_rounded_corner_bottom_sheet_handle.xml
@@ -17,6 +17,6 @@
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     android:shape="rectangle" >
-    <solid android:color="?androidprv:attr/colorSurfaceVariant"/>
+    <solid android:color="?androidprv:attr/materialColorOutlineVariant"/>
     <corners android:radius="@dimen/bottom_sheet_handle_corner_radius" />
 </shape>
diff --git a/res/drawable/encrypted_24px.xml b/res/drawable/encrypted_24px.xml
new file mode 100644
index 0000000..cf4d2df
--- /dev/null
+++ b/res/drawable/encrypted_24px.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M420,600L540,600L517,471Q537,461 548.5,442Q560,423 560,400Q560,367 536.5,343.5Q513,320 480,320Q447,320 423.5,343.5Q400,367 400,400Q400,423 411.5,442Q423,461 443,471L420,600ZM480,880Q341,845 250.5,720.5Q160,596 160,444L160,200L480,80L800,200L800,444Q800,596 709.5,720.5Q619,845 480,880ZM480,796Q584,763 652,664Q720,565 720,444L720,255L480,165L240,255L240,444Q240,565 308,664Q376,763 480,796ZM480,480Q480,480 480,480Q480,480 480,480L480,480L480,480L480,480L480,480Q480,480 480,480Q480,480 480,480Z"/>
+</vector>
diff --git a/res/drawable/ic_drag_handle.xml b/res/drawable/ic_drag_handle.xml
deleted file mode 100644
index 9db75f4..0000000
--- a/res/drawable/ic_drag_handle.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="@dimen/deep_shortcut_drag_handle_size"
-        android:height="@dimen/deep_shortcut_drag_handle_size"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
-        android:tint="?android:attr/textColorPrimary" >
-
-    <path
-        android:pathData="M20,9H4v2h16V9z M4,15h16v-2H4V15z"
-        android:fillColor="@android:color/white" />
-</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_install_to_private.xml b/res/drawable/ic_install_to_private.xml
new file mode 100644
index 0000000..7f00f8d
--- /dev/null
+++ b/res/drawable/ic_install_to_private.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?attr/colorControlNormal">
+
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M420,600L540,600L517,471Q537,461 548.5,442Q560,423 560,400Q560,367 536.5,343.5Q513,320 480,320Q447,320 423.5,343.5Q400,367 400,400Q400,423 411.5,442Q423,461 443,471L420,600ZM480,880Q341,845 250.5,720.5Q160,596 160,444L160,200L480,80L800,200L800,444Q800,596 709.5,720.5Q619,845 480,880ZM480,796Q584,763 652,664Q720,565 720,444L720,255L480,165L240,255L240,444Q240,565 308,664Q376,763 480,796ZM480,480Q480,480 480,480Q480,480 480,480L480,480L480,480L480,480L480,480Q480,480 480,480Q480,480 480,480Z"/>
+</vector>
diff --git a/res/drawable/ic_taskbar_all_apps_search_button.xml b/res/drawable/ic_taskbar_all_apps_search_button.xml
new file mode 100644
index 0000000..5b4b01b
--- /dev/null
+++ b/res/drawable/ic_taskbar_all_apps_search_button.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="44dp"
+    android:height="44dp"
+    android:autoMirrored="true"
+    android:viewportHeight="44"
+    android:viewportWidth="44">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M14.333,14.333m-5.333,0a5.333,5.333 0,1 1,10.667 0a5.333,5.333 0,1 1,-10.667 0" />
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M14.333,28.997m-5.333,0a5.333,5.333 0,1 1,10.667 0a5.333,5.333 0,1 1,-10.667 0" />
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M28.999,14.333m-5.333,0a5.333,5.333 0,1 1,10.667 0a5.333,5.333 0,1 1,-10.667 0" />
+  <path
+      android:fillColor="#FF000000"
+      android:fillType="evenOdd"
+      android:pathData="M31.668,29.005C31.668,27.538 30.468,26.338 29.001,26.338C27.535,26.338 26.335,27.538 26.335,29.005C26.335,30.472 27.535,31.672 29.001,31.672C30.468,31.672 31.668,30.472 31.668,29.005ZM23.668,29.005C23.668,26.059 26.055,23.672 29.001,23.672C31.948,23.672 34.335,26.059 34.335,29.005C34.335,29.992 34.067,30.917 33.6,31.709L37.669,35.791L35.789,37.671L31.708,33.602C30.915,34.07 29.989,34.339 29.001,34.339C26.055,34.339 23.668,31.952 23.668,29.005Z" />
+</vector>
diff --git a/res/drawable/ic_transient_taskbar_all_apps_search_button.xml b/res/drawable/ic_transient_taskbar_all_apps_search_button.xml
new file mode 100644
index 0000000..85a17f5
--- /dev/null
+++ b/res/drawable/ic_transient_taskbar_all_apps_search_button.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="48dp"
+    android:height="48dp"
+    android:autoMirrored="true"
+    android:viewportHeight="48"
+    android:viewportWidth="48">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M16.833,16.333m-5.333,0a5.333,5.333 0,1 1,10.667 0a5.333,5.333 0,1 1,-10.667 0" />
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M16.833,30.997m-5.333,0a5.333,5.333 0,1 1,10.667 0a5.333,5.333 0,1 1,-10.667 0" />
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M31.499,16.333m-5.333,0a5.333,5.333 0,1 1,10.667 0a5.333,5.333 0,1 1,-10.667 0" />
+  <path
+      android:fillColor="#FF000000"
+      android:fillType="evenOdd"
+      android:pathData="M34.168,31.005C34.168,29.538 32.968,28.338 31.501,28.338C30.035,28.338 28.835,29.538 28.835,31.005C28.835,32.472 30.035,33.672 31.501,33.672C32.968,33.672 34.168,32.472 34.168,31.005ZM26.168,31.005C26.168,28.059 28.555,25.672 31.501,25.672C34.448,25.672 36.835,28.059 36.835,31.005C36.835,31.992 36.567,32.917 36.1,33.709L40.169,37.791L38.289,39.671L34.208,35.602C33.415,36.07 32.489,36.339 31.501,36.339C28.555,36.339 26.168,33.952 26.168,31.005Z" />
+</vector>
diff --git a/res/drawable/icon_menu_arrow_background.xml b/res/drawable/icon_menu_arrow_background.xml
new file mode 100644
index 0000000..2eb1dfc
--- /dev/null
+++ b/res/drawable/icon_menu_arrow_background.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2023 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:autoMirrored="true">
+    <gradient
+        android:type="linear"
+        android:angle="0"
+        android:startColor="#00000000"
+        android:centerX="0.25"
+        android:centerColor="?androidprv:attr/materialColorSurfaceBright"
+        android:endColor="?androidprv:attr/materialColorSurfaceBright" />
+    <corners android:radius="@dimen/dialogCornerRadius" />
+</shape>
\ No newline at end of file
diff --git a/res/layout/popup_container_material_u.xml b/res/drawable/icon_menu_background.xml
similarity index 60%
rename from res/layout/popup_container_material_u.xml
rename to res/drawable/icon_menu_background.xml
index d34c500..8a95c3e 100644
--- a/res/layout/popup_container_material_u.xml
+++ b/res/drawable/icon_menu_background.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
+<!--
+     Copyright (C) 2023 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,11 +14,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.launcher3.popup.PopupContainerWithArrow
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/popup_container"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:orientation="vertical"/>
\ No newline at end of file
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:shape="rectangle">
+    <solid android:color="?androidprv:attr/materialColorSurfaceBright" />
+</shape>
\ No newline at end of file
diff --git a/res/layout/popup_container_material_u.xml b/res/drawable/icon_menu_background_corners.xml
similarity index 60%
copy from res/layout/popup_container_material_u.xml
copy to res/drawable/icon_menu_background_corners.xml
index d34c500..16e3fe2 100644
--- a/res/layout/popup_container_material_u.xml
+++ b/res/drawable/icon_menu_background_corners.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
+<!--
+     Copyright (C) 2023 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,11 +14,9 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.launcher3.popup.PopupContainerWithArrow
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/popup_container"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:orientation="vertical"/>
\ No newline at end of file
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:shape="rectangle">
+    <solid android:color="?androidprv:attr/materialColorSurfaceBright" />
+    <corners android:radius="@dimen/task_thumbnail_icon_menu_corner_radius" />
+</shape>
\ No newline at end of file
diff --git a/res/layout/popup_container_material_u.xml b/res/drawable/icon_menu_elevation_background.xml
similarity index 60%
copy from res/layout/popup_container_material_u.xml
copy to res/drawable/icon_menu_elevation_background.xml
index d34c500..16e3fe2 100644
--- a/res/layout/popup_container_material_u.xml
+++ b/res/drawable/icon_menu_elevation_background.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
+<!--
+     Copyright (C) 2023 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,11 +14,9 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.launcher3.popup.PopupContainerWithArrow
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/popup_container"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:clipChildren="false"
-    android:clipToPadding="false"
-    android:orientation="vertical"/>
\ No newline at end of file
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:shape="rectangle">
+    <solid android:color="?androidprv:attr/materialColorSurfaceBright" />
+    <corners android:radius="@dimen/task_thumbnail_icon_menu_corner_radius" />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/notification_circle.xml b/res/drawable/notification_circle.xml
deleted file mode 100644
index 65fbaea..0000000
--- a/res/drawable/notification_circle.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="oval">
-
-    <solid android:color="?attr/popupNotificationDotColor"/>
-
-    <size
-        android:width="@dimen/notification_circle_icon_size"
-        android:height="@dimen/notification_circle_icon_size"/>
-</shape>
\ No newline at end of file
diff --git a/res/drawable/popup_background_material_u.xml b/res/drawable/popup_background.xml
similarity index 100%
rename from res/drawable/popup_background_material_u.xml
rename to res/drawable/popup_background.xml
diff --git a/res/drawable/private_space_install_app_icon.xml b/res/drawable/private_space_install_app_icon.xml
new file mode 100644
index 0000000..4c167ba
--- /dev/null
+++ b/res/drawable/private_space_install_app_icon.xml
@@ -0,0 +1,31 @@
+<!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="60dp"
+    android:height="60dp"
+    android:viewportWidth="60"
+    android:viewportHeight="60">
+    <group>
+        <clip-path
+            android:pathData="M30 0H30A30 30 0 0 1 60 30V30A30 30 0 0 1 30 60H30A30 30 0 0 1 0 30V30A30 30 0 0 1 30 0Z" />
+        <path
+            android:pathData="M30 0H30A30 30 0 0 1 60 30V30A30 30 0 0 1 30 60H30A30 30 0 0 1 0 30V30A30 30 0 0 1 30 0Z"
+            android:fillColor="@color/material_color_surface_bright" />
+        <path
+            android:pathData="M29 31h-6v-2h6v-6h2v6h6v2h-6v6h-2v-6Z"
+            android:fillColor="@color/material_color_on_surface_variant" />
+    </group>
+</vector>
diff --git a/res/drawable/widget_internal_focus_bg.xml b/res/drawable/widget_internal_focus_bg.xml
index 4d4bea6..b1f45a4 100644
--- a/res/drawable/widget_internal_focus_bg.xml
+++ b/res/drawable/widget_internal_focus_bg.xml
@@ -23,6 +23,7 @@
     <item android:state_selected="true">
         <shape android:shape="rectangle">
             <stroke android:color="#fff" android:width="2dp" />
+            <corners android:radius="@dimen/focus_outline_radius" />
         </shape>
     </item>
 </selector>
\ No newline at end of file
diff --git a/res/layout/add_item_confirmation_activity.xml b/res/layout/add_item_confirmation_activity.xml
index e29e1b1..d113a38 100644
--- a/res/layout/add_item_confirmation_activity.xml
+++ b/res/layout/add_item_confirmation_activity.xml
@@ -16,7 +16,7 @@
 ** limitations under the License.
 */
 -->
-<com.android.launcher3.dragndrop.AddItemDragLayer
+<com.android.launcher3.dragndrop.SimpleDragLayer
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/add_item_drag_layer"
     android:layout_width="match_parent"
@@ -121,6 +121,6 @@
         </LinearLayout>
     </com.android.launcher3.widget.AddItemWidgetsBottomSheet>
 
-</com.android.launcher3.dragndrop.AddItemDragLayer>
+</com.android.launcher3.dragndrop.SimpleDragLayer>
 
 
diff --git a/res/layout/app_pair_icon.xml b/res/layout/app_pair_icon.xml
index 2b9a98b..4e2dd58 100644
--- a/res/layout/app_pair_icon.xml
+++ b/res/layout/app_pair_icon.xml
@@ -20,6 +20,11 @@
     android:layout_height="match_parent"
     android:orientation="vertical"
     android:focusable="true" >
+    <com.android.launcher3.apppairs.AppPairIconGraphic
+        android:id="@+id/app_pair_icon_graphic"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:focusable="false" />
     <com.android.launcher3.views.DoubleShadowBubbleTextView
         style="@style/BaseIcon.Workspace"
         android:id="@+id/app_pair_icon_name"
diff --git a/res/layout/arrow_toast.xml b/res/layout/arrow_toast.xml
index 004e778..9e44917 100644
--- a/res/layout/arrow_toast.xml
+++ b/res/layout/arrow_toast.xml
@@ -29,11 +29,11 @@
         android:background="@drawable/arrow_toast_rounded_background"
         android:elevation="@dimen/arrow_toast_elevation"
         android:textColor="?attr/arrowTipTextColor"
-        android:textSize="14sp"/>
+        android:textSize="@dimen/arrow_toast_text_size"/>
 
     <View
         android:id="@+id/arrow"
         android:elevation="@dimen/arrow_toast_elevation"
         android:layout_width="@dimen/arrow_toast_arrow_width"
-        android:layout_height="10dp"/>
+        android:layout_height="@dimen/arrow_toast_arrow_height"/>
 </merge>
diff --git a/res/layout/deep_shortcut.xml b/res/layout/deep_shortcut.xml
index b175d17..6c1a2f7 100644
--- a/res/layout/deep_shortcut.xml
+++ b/res/layout/deep_shortcut.xml
@@ -13,10 +13,10 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
 <com.android.launcher3.shortcuts.DeepShortcutView
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:launcher="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/deep_shortcut_material"
     android:layout_width="@dimen/bg_popup_item_width"
     android:layout_height="@dimen/bg_popup_item_height"
     android:elevation="@dimen/deep_shortcuts_elevation"
@@ -31,12 +31,11 @@
         android:textAlignment="viewStart"
         android:paddingStart="@dimen/deep_shortcuts_text_padding_start"
         android:paddingEnd="@dimen/popup_padding_end"
-        android:drawableEnd="@drawable/ic_drag_handle"
         android:drawablePadding="@dimen/deep_shortcut_drawable_padding"
         android:singleLine="true"
         android:ellipsize="end"
         android:textSize="14sp"
-        android:textColor="?android:attr/textColorPrimary"
+        android:textColor="?attr/popupTextColor"
         launcher:layoutHorizontal="true"
         launcher:iconDisplay="shortcut_popup"
         launcher:iconSizeOverride="@dimen/deep_shortcut_icon_size" />
@@ -48,5 +47,4 @@
         android:layout_marginStart="@dimen/popup_padding_start"
         android:layout_gravity="start|center_vertical"
         android:background="@drawable/ic_deepshortcut_placeholder"/>
-
-</com.android.launcher3.shortcuts.DeepShortcutView>
+</com.android.launcher3.shortcuts.DeepShortcutView>
\ No newline at end of file
diff --git a/res/layout/deep_shortcut_container.xml b/res/layout/deep_shortcut_container.xml
index b6c3f56..bf9124a 100644
--- a/res/layout/deep_shortcut_container.xml
+++ b/res/layout/deep_shortcut_container.xml
@@ -16,7 +16,7 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/deep_shortcuts_container"
-    android:background="@drawable/popup_background_material_u"
+    android:background="@drawable/popup_background"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:tag="@string/popup_container_iterate_children"
diff --git a/res/layout/deep_shortcut_material_u.xml b/res/layout/deep_shortcut_material_u.xml
deleted file mode 100644
index 2e21ddb..0000000
--- a/res/layout/deep_shortcut_material_u.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<com.android.launcher3.shortcuts.DeepShortcutView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:launcher="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/deep_shortcut_material"
-    android:layout_width="@dimen/bg_popup_item_width"
-    android:layout_height="@dimen/bg_popup_item_height"
-    android:elevation="@dimen/deep_shortcuts_elevation"
-    android:background="@drawable/middle_item_primary"
-    android:theme="@style/PopupItem" >
-
-    <com.android.launcher3.shortcuts.DeepShortcutTextView
-        style="@style/BaseIcon"
-        android:id="@+id/bubble_text"
-        android:background="?android:attr/selectableItemBackground"
-        android:gravity="start|center_vertical"
-        android:textAlignment="viewStart"
-        android:paddingStart="@dimen/deep_shortcuts_text_padding_start"
-        android:paddingEnd="@dimen/popup_padding_end"
-        android:drawablePadding="@dimen/deep_shortcut_drawable_padding"
-        android:singleLine="true"
-        android:ellipsize="end"
-        android:textSize="14sp"
-        android:textColor="?attr/popupTextColor"
-        launcher:layoutHorizontal="true"
-        launcher:iconDisplay="shortcut_popup"
-        launcher:iconSizeOverride="@dimen/deep_shortcut_icon_size" />
-
-    <View
-        android:id="@+id/icon"
-        android:layout_width="@dimen/deep_shortcut_icon_size"
-        android:layout_height="@dimen/deep_shortcut_icon_size"
-        android:layout_marginStart="@dimen/popup_padding_start"
-        android:layout_gravity="start|center_vertical"
-        android:background="@drawable/ic_deepshortcut_placeholder"/>
-</com.android.launcher3.shortcuts.DeepShortcutView>
\ No newline at end of file
diff --git a/res/layout/developer_options_top_bar.xml b/res/layout/developer_options_top_bar.xml
new file mode 100644
index 0000000..1b138ea
--- /dev/null
+++ b/res/layout/developer_options_top_bar.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="horizontal"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:showDividers="middle">
+
+    <EditText
+        android:id="@+id/filter_box"
+        android:layout_width="0dp"
+        android:layout_weight="1"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="@dimen/developer_options_filter_margins"
+        android:hint="@string/developer_options_filter_hint"
+        android:inputType="text"
+        android:maxLines="1"
+        android:imeOptions="actionDone"
+        />
+    <Button
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical"
+        android:text="Apply"
+        android:visibility="invisible"
+        android:id="@+id/flag_apply_btn" />
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/floating_app_pair_view.xml b/res/layout/floating_app_pair_view.xml
new file mode 100644
index 0000000..88ec655
--- /dev/null
+++ b/res/layout/floating_app_pair_view.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.android.quickstep.views.FloatingAppPairView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+</com.android.quickstep.views.FloatingAppPairView>
\ No newline at end of file
diff --git a/res/layout/folder_icon.xml b/res/layout/folder_icon.xml
index 4093744..6af346e 100644
--- a/res/layout/folder_icon.xml
+++ b/res/layout/folder_icon.xml
@@ -19,7 +19,8 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
-    android:focusable="true" >
+    android:focusable="true"
+    android:defaultFocusHighlightEnabled="false">
     <com.android.launcher3.views.DoubleShadowBubbleTextView
         style="@style/BaseIcon.Workspace"
         android:id="@+id/folder_icon_name"
diff --git a/res/layout/home_settings.xml b/res/layout/home_settings.xml
index c0f16e2..62900a8 100644
--- a/res/layout/home_settings.xml
+++ b/res/layout/home_settings.xml
@@ -3,22 +3,5 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <EditText
-        android:id="@+id/filter_box"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginHorizontal="@dimen/developer_options_filter_margins"
-        android:hint="@string/developer_options_filter_hint"
-        android:visibility="gone"
-        android:inputType="text"
-        android:maxLines="1"
-        android:imeOptions="actionDone"
-        />
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:id="@android:id/list_container"/>
-</LinearLayout>
\ No newline at end of file
+    android:layout_height="match_parent"
+    android:id="@android:id/list_container"/>
diff --git a/res/layout/notification_content.xml b/res/layout/notification_content.xml
deleted file mode 100644
index 0763d48..0000000
--- a/res/layout/notification_content.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<com.android.launcher3.notification.NotificationMainView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="@dimen/notification_container_height"
-    android:orientation="vertical">
-
-    <!-- header -->
-    <FrameLayout
-        android:id="@+id/header"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingEnd="@dimen/notification_padding_end"
-        android:paddingTop="@dimen/notification_padding_header_top"
-        android:paddingStart="@dimen/notification_header_padding_start">
-        <TextView
-            android:id="@+id/notification_text"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="top|start"
-            android:text="@string/notifications_header"
-            android:textColor="?android:attr/textColorPrimary"
-            android:textSize="@dimen/notification_header_text_size"
-            style="@style/TextHeadline"/>
-        <TextView
-            android:id="@+id/notification_count"
-            android:layout_width="@dimen/notification_circle_icon_size"
-            android:layout_height="@dimen/notification_circle_icon_size"
-            android:background="@drawable/notification_circle"
-            android:layout_gravity="top|end"
-            android:gravity="center"
-            android:textColor="?android:attr/textColorPrimary"
-            android:textSize="@dimen/notification_header_count_text_size"
-            style="@style/TextHeadline"/>
-    </FrameLayout>
-
-    <!-- Main view -->
-    <FrameLayout
-        android:id="@+id/main_view"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingTop="@dimen/notification_padding_top"
-        android:paddingBottom="@dimen/notification_padding_bottom"
-        android:focusable="true" >
-
-        <LinearLayout
-            android:id="@+id/text_and_background"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:gravity="center_vertical"
-            android:orientation="vertical"
-            android:paddingEnd="@dimen/notification_padding_end"
-            android:paddingStart="@dimen/notification_main_text_padding_start">
-            <TextView
-                android:id="@+id/title"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:ellipsize="end"
-                android:lines="1"
-                android:textAlignment="viewStart"
-                android:textColor="?android:attr/textColorPrimary"
-                android:textSize="@dimen/notification_main_title_size"
-                style="@style/TextHeadline" />
-
-            <TextView
-                android:id="@+id/text"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:ellipsize="end"
-                android:lines="1"
-                android:textColor="?android:attr/textColorPrimary"
-                android:textSize="@dimen/notification_main_text_size" />
-        </LinearLayout>
-
-        <View
-            android:id="@+id/popup_item_icon"
-            android:layout_width="@dimen/notification_icon_size"
-            android:layout_height="@dimen/notification_icon_size"
-            android:layout_gravity="start|center_vertical"
-            android:layout_marginStart="@dimen/notification_icon_padding_start"/>
-
-    </FrameLayout>
-</com.android.launcher3.notification.NotificationMainView>
\ No newline at end of file
diff --git a/res/layout/popup_container.xml b/res/layout/popup_container.xml
index 9327287..bf7b126 100644
--- a/res/layout/popup_container.xml
+++ b/res/layout/popup_container.xml
@@ -13,27 +13,11 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
 <com.android.launcher3.popup.PopupContainerWithArrow
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/popup_container"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:clipToPadding="false"
     android:clipChildren="false"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:id="@+id/deep_shortcuts_container"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:tag="@string/popup_container_iterate_children"
-        android:elevation="@dimen/deep_shortcuts_elevation"
-        android:orientation="vertical"/>
-
-    <com.android.launcher3.notification.NotificationContainer
-        android:id="@+id/notification_container"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:visibility="gone"/>
-</com.android.launcher3.popup.PopupContainerWithArrow>
\ No newline at end of file
+    android:clipToPadding="false"
+    android:orientation="vertical"/>
\ No newline at end of file
diff --git a/res/layout/private_space_header.xml b/res/layout/private_space_header.xml
new file mode 100644
index 0000000..24e290d
--- /dev/null
+++ b/res/layout/private_space_header.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<RelativeLayout
+        android:id="@+id/ps_header_layout"
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/ps_header_height"
+        android:background="@drawable/bg_ps_header"
+        android:clipToOutline="true"
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
+
+    <ImageButton
+        android:id="@+id/ps_lock_unlock_button"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/ps_header_image_height"
+        android:layout_alignParentEnd="true"
+        android:layout_centerVertical="true"
+        android:background="@android:color/transparent"
+        android:layout_marginEnd="@dimen/ps_header_layout_margin"
+        android:contentDescription="@string/ps_container_lock_unlock_button" />
+
+    <ImageButton
+        android:id="@+id/ps_settings_button"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/ps_header_image_height"
+        android:layout_toStartOf="@+id/ps_lock_unlock_button"
+        android:layout_centerVertical="true"
+        android:background="@android:color/transparent"
+        android:layout_marginEnd="@dimen/ps_header_settings_icon_margin_end"
+        android:src="@drawable/bg_ps_settings_button"
+        android:contentDescription="@string/ps_container_settings" />
+
+    <ImageView
+        android:id="@+id/ps_transition_image"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/ps_header_image_height"
+        android:layout_alignParentEnd="true"
+        android:layout_centerVertical="true"
+        android:background="@android:color/transparent"
+        android:layout_marginEnd="@dimen/ps_header_layout_margin"
+        android:src="@drawable/bg_ps_transition_image"
+        android:contentDescription="@string/ps_container_transition" />
+
+    <TextView
+        android:id="@+id/ps_container_header"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/ps_header_text_height"
+        android:layout_alignParentStart="true"
+        android:layout_centerVertical="true"
+        android:gravity="center_vertical"
+        android:layout_marginStart="@dimen/ps_header_layout_margin"
+        android:text="@string/ps_container_title"
+        android:theme="@style/PrivateSpaceHeaderTextStyle"/>
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/system_shortcut_icons_container.xml b/res/layout/system_shortcut_icons_container.xml
index fa92ba3..a5c0be3 100644
--- a/res/layout/system_shortcut_icons_container.xml
+++ b/res/layout/system_shortcut_icons_container.xml
@@ -17,9 +17,10 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/system_shortcuts_container"
+    android:tag="@string/popup_container_iterate_children"
     android:layout_width="match_parent"
     android:layout_height="@dimen/system_shortcut_header_height"
     android:orientation="horizontal"
     android:gravity="end|center_vertical"
-    android:background="@drawable/single_item_primary"
+    android:background="@drawable/popup_background"
     android:elevation="@dimen/deep_shortcuts_elevation"/>
diff --git a/res/layout/system_shortcut_icons_container_material_u.xml b/res/layout/system_shortcut_icons_container_material_u.xml
deleted file mode 100644
index fbf18af..0000000
--- a/res/layout/system_shortcut_icons_container_material_u.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/system_shortcuts_container"
-    android:tag="@string/popup_container_iterate_children"
-    android:layout_width="match_parent"
-    android:layout_height="@dimen/system_shortcut_header_height"
-    android:orientation="horizontal"
-    android:gravity="end|center_vertical"
-    android:background="@drawable/popup_background_material_u"
-    android:elevation="@dimen/deep_shortcuts_elevation"/>
diff --git a/res/layout/system_shortcut_rows_container.xml b/res/layout/system_shortcut_rows_container.xml
index f992ef5..1940139 100644
--- a/res/layout/system_shortcut_rows_container.xml
+++ b/res/layout/system_shortcut_rows_container.xml
@@ -17,6 +17,7 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/system_shortcuts_container"
+    android:background="@drawable/popup_background"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:tag="@string/popup_container_iterate_children"
diff --git a/res/layout/system_shortcut_rows_container_material_u.xml b/res/layout/system_shortcut_rows_container_material_u.xml
deleted file mode 100644
index 006e280..0000000
--- a/res/layout/system_shortcut_rows_container_material_u.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2023 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/system_shortcuts_container"
-    android:background="@drawable/popup_background_material_u"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:tag="@string/popup_container_iterate_children"
-    android:elevation="@dimen/deep_shortcuts_elevation"
-    android:orientation="vertical"/>
diff --git a/res/layout/widget_shortcut_container_material_u.xml b/res/layout/widget_shortcut_container_material_u.xml
index aab34e3..3a49c70 100644
--- a/res/layout/widget_shortcut_container_material_u.xml
+++ b/res/layout/widget_shortcut_container_material_u.xml
@@ -17,7 +17,7 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/widget_shortcut_container"
-    android:background="@drawable/popup_background_material_u"
+    android:background="@drawable/popup_background"
     android:layout_width="match_parent"
     android:layout_height="@dimen/system_shortcut_header_height"
     android:orientation="horizontal"
diff --git a/res/layout/work_apps_edu.xml b/res/layout/work_apps_edu.xml
index eeb7f4f..f557fb6 100644
--- a/res/layout/work_apps_edu.xml
+++ b/res/layout/work_apps_edu.xml
@@ -19,7 +19,7 @@
     android:paddingTop="@dimen/work_edu_card_margin"
     android:paddingBottom="@dimen/work_edu_card_bottom_margin"
     android:gravity="center">
-    <RelativeLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="horizontal"
@@ -28,40 +28,33 @@
         android:paddingEnd="@dimen/work_card_margin"
         android:paddingStart="@dimen/work_card_margin"
         android:paddingTop="@dimen/work_card_margin"
+        android:paddingBottom="@dimen/work_card_margin"
         android:id="@+id/wrapper">
         <TextView
             style="@style/PrimaryHeadline"
             android:textColor="?android:attr/textColorPrimary"
             android:id="@+id/work_apps_paused_title"
-            android:layout_width="wrap_content"
+            android:layout_width="0dp"
             android:layout_height="wrap_content"
-            android:layout_marginBottom="@dimen/work_card_margin"
-            android:layout_marginEnd="@dimen/work_card_margin"
+            android:layout_weight="1"
+            android:paddingEnd="@dimen/work_edu_card_text_end_margin"
             android:text="@string/work_profile_edu_work_apps"
             android:textDirection="locale"
             android:textSize="18sp" />
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/padded_rounded_button_height"
-            android:orientation="horizontal">
-            <FrameLayout
-                android:layout_width="@dimen/rounded_button_width"
-                android:layout_height="@dimen/rounded_button_width"
-                android:layout_alignParentEnd="true"
-                android:background="@drawable/rounded_action_button"
-                android:padding="@dimen/rounded_button_padding">
-                <ImageButton
-                    android:id="@+id/action_btn"
-                    android:layout_width="@dimen/x_icon_size"
-                    android:layout_height="@dimen/x_icon_size"
-                    android:layout_gravity="center"
-                    android:padding="@dimen/x_icon_padding"
-                    android:contentDescription="@string/accessibility_close"
-                    android:src="@drawable/ic_remove_no_shadow" />
-            </FrameLayout>
-        </RelativeLayout>
-    </RelativeLayout>
-
-
-
-</com.android.launcher3.allapps.WorkEduCard>
\ No newline at end of file
+        <FrameLayout
+            android:layout_width="@dimen/rounded_button_width"
+            android:layout_height="@dimen/rounded_button_width"
+            android:background="@drawable/rounded_action_button"
+            android:padding="@dimen/rounded_button_padding">
+            <ImageButton
+                android:id="@+id/action_btn"
+                android:layout_width="@dimen/x_icon_size"
+                android:layout_height="@dimen/x_icon_size"
+                android:layout_gravity="center"
+                android:contentDescription="@string/accessibility_close"
+                android:padding="@dimen/x_icon_padding"
+                android:background="@android:color/transparent"
+                android:src="@drawable/ic_remove_no_shadow" />
+        </FrameLayout>
+    </LinearLayout>
+</com.android.launcher3.allapps.WorkEduCard>
diff --git a/res/layout/work_mode_fab.xml b/res/layout/work_mode_fab.xml
index 32e3b77..276d73e 100644
--- a/res/layout/work_mode_fab.xml
+++ b/res/layout/work_mode_fab.xml
@@ -37,11 +37,14 @@
         android:id="@+id/pause_text"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:maxWidth="@dimen/work_fab_width"
         android:textColor="@color/work_fab_icon_color"
         android:textSize="14sp"
         android:includeFontPadding="false"
         android:textDirection="locale"
         android:text="@string/work_apps_pause_btn_text"
         android:layout_marginStart="@dimen/work_fab_text_start_margin"
+        android:ellipsize="end"
+        android:maxLines="1"
         style="@style/TextHeadline"/>
 </com.android.launcher3.allapps.WorkModeSwitch>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index aa96397..44c29ec 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Verdeelde skerm"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Programinligting vir %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Stoor apppaar"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Raak en hou om \'n legstuk te skuif."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dubbeltik en hou om \'n legstuk te skuif of gebruik gepasmaakte handelinge."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Vouer hernoem na <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Vouer: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> items"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Vouer: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> of meer items"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Apppaar: <xliff:g id="APP1">%1$s</xliff:g> en <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Muurpapier en styl"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Wysig tuisskerm"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Tuis-instellings"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Onderbreek werkprogramme"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Hervat"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Deursoek jou foon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Deursoek jou tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Misluk: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privaat ruimte"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privaat"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Privaat Ruimte-instellings"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Sluit/ontsluit Privaat Ruimte"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Privaat Ruimte-oorgang"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Oorvloei"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index bcc626e..b56c79a 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"የተከፈለ ማያ ገፅ"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"የመተግበሪያ መረጃ ለ%1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"የመተግበሪያ ጥምረትን ያስቀምጡ"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"ምግብርን ለማንቀሳቀስ ይንኩ እና ይያዙ።"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ምግብርን ለማንቀሳቀስ ወይም ብጁ እርምጃዎችን ለመጠቀም ሁለቴ መታ ያድርጉ እና ይያዙ።"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"አቃፊ <xliff:g id="NAME">%1$s</xliff:g> ተብሎ ዳግም ተሰይሟል"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"አቃፊ፦ <xliff:g id="NAME">%1$s</xliff:g>፣ <xliff:g id="SIZE">%2$d</xliff:g> ንጥሎች"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"አቃፊ፦ <xliff:g id="NAME">%1$s</xliff:g>፣ <xliff:g id="SIZE">%2$d</xliff:g> ወይም ተጨማሪ ንጥሎች"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"የመተግበሪያ ጥምረት፦ <xliff:g id="APP1">%1$s</xliff:g> እና <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ልጣፍ እና ቅጥ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"መነሻ ማያ ገጽን አርትዕ"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"የመነሻ ቅንብሮች"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"የሥራ መተግበሪያዎችን ባሉበት አቁም"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ካቆመበት ቀጥል"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"አጣራ"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"ስልክዎን ይፈልጉ"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ጡባዊዎን ይፈልጉ"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"አልተሳካም፦ <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"የግል ቦታ"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"የግል"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"የግል ቦታ ቅንብሮች"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"የግል ቦታን ቆልፍ/ክፈት"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"የግል ቦታ ሽግግር"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ትርፍ ፍሰት"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 69e96cb..1394661 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"تقسيم الشاشة"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"‏معلومات تطبيق %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"حفظ إعدادات ميزة \"استخدام تطبيقين في الوقت نفسه\""</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | ‏<xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"انقر مع الاستمرار لنقل أداة."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"انقر مرتين مع تثبيت إصبعك لنقل أداة أو استخدام الإجراءات المخصّصة."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"تمت إعادة تسمية المجلد إلى <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"المجلد: <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="SIZE">%2$d</xliff:g> عنصر"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"المجلد: <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="SIZE">%2$d</xliff:g> عنصر أو أكثر"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"استخدام تطبيقين في الوقت نفسه: تطبيق \"<xliff:g id="APP1">%1$s</xliff:g>\" و\"<xliff:g id="APP2">%2$s</xliff:g>\""</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"الخلفية والأسلوب"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"تعديل الشاشة الرئيسية"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"إعدادات الشاشة الرئيسية"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"إيقاف تطبيقات العمل مؤقتًا"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"إلغاء الإيقاف المؤقت"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"فلتر"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"البحث في هاتفك"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"البحث في جهازك اللوحي"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"تعذَّر <xliff:g id="WHAT">%1$s</xliff:g>."</string>
+    <string name="private_space_label" msgid="2359721649407947001">"مساحة خاصة"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"المساحة الخاصة"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"إعدادات المساحة الخاصة"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"قفل المساحة الخاصة أو فتح قفلها"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"النقل إلى المساحة الخاصة"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"القائمة الكاملة"</string>
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 8c18e8d..9deda79 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"বিভাজিত স্ক্ৰীন"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$sৰ বাবে এপৰ তথ্য"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"এপৰ পেয়াৰ ছেভ কৰক"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"ৱিজেট স্থানান্তৰ কৰিবলৈ টিপি ধৰি ৰাখক।"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"কোনো ৱিজেট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক অথবা কাষ্টম কাৰ্য ব্যৱহাৰ কৰক।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ফ\'ল্ডাৰৰ নাম সলনি কৰি <xliff:g id="NAME">%1$s</xliff:g> কৰা হৈছে"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ফ’ল্ডাৰ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> টা বস্তু"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ফ’ল্ডাৰ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> টা অথবা তাতকৈ অধিক বস্তু"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"এপ্ পেয়াৰ কৰা: <xliff:g id="APP1">%1$s</xliff:g> আৰু <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ৱালপেপাৰ আৰু শৈলী"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"গৃহ স্ক্ৰীন সম্পাদনা কৰক"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"গৃহ ছেটিং"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"কৰ্মস্থানৰ এপ্‌ পজ কৰক"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"আনপজ কৰক"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ফিল্টাৰ"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"আপোনাৰ ফ’নৰ বস্তু সন্ধান কৰক"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"আপোনাৰ টেবলেটৰ বস্তু সন্ধান কৰক"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"বিফল: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"ব্যক্তিগত স্পে’চ"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ব্যক্তিগত"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"ব্যক্তিগত স্পে’চৰ ছেটিং"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ব্যক্তিগত স্পে’চ লক/আনলক কৰক"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"ব্যক্তিগত স্পে’চৰ স্থানান্তৰণ"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"অ’ভাৰফ্ল’"</string>
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index bf12761..971163e 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Ekran bölünməsi"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s ilə bağlı tətbiq məlumatı"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Tətbiq cütünü saxlayın"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Vidceti daşımaq üçün toxunub saxlayın."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Vidceti daşımaq üçün iki dəfə toxunub saxlayın və ya fərdi əməliyyatlardan istifadə edin."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Qovluq adı <xliff:g id="NAME">%1$s</xliff:g> ilə dəyişdirildi"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Qovluq: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> element"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Qovluq: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> və ya daha çox element"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Tətbiq cütü: <xliff:g id="APP1">%1$s</xliff:g> və <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Divar kağızı və üslub"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Əsas ekranı redaktə edin"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Home ayarları"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"İş tətbiqlərini durdurun"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Davam etdirin"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtr"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Telefonunuzu axtarın"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Planşetinizi axtarın"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Alınmadı: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Şəxsi yer"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Şəxsi"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Şəxsi məkan ayarları"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Şəxsi məkanı kilidləyin/kiliddən çıxarın"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Şəxsi məkana keçid"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Kənara çıxma"</string>
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index cfb6fbd..c13989c 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Podeljeni ekran"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informacije o aplikaciji za: %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Sačuvaj par aplikacija"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Dodirnite i zadržite radi pomeranja vidžeta."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvaput dodirnite i zadržite da biste pomerali vidžet ili koristite prilagođene radnje."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d×%2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Folder je preimenovan u <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> stavke"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ili više stavki"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Par aplikacija: <xliff:g id="APP1">%1$s</xliff:g> i <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Pozadina i stil"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Izmeni početni ekran"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Podešavanja početnog ekrana"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pauziraj poslovne aplikacije"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Ponovo aktiviraj"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Pretražite telefon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pretražite tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Nije uspelo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privatni prostor"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privatno"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Podešavanja privatnog prostora"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Zaključaj/otključaj privatni prostor"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Prenos privatnog prostora"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Preklopno"</string>
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 5950ec5..31709c0 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Падзелены экран"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Інфармацыя пра праграму для: %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Захаваць спалучэнне праграм"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Націсніце і ўтрымлівайце віджэт для перамяшчэння."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Дакраніцеся двойчы і ўтрымлівайце, каб перамясціць віджэт або выкарыстоўваць спецыяльныя дзеянні."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Папка перайменавана ў <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Папка: <xliff:g id="NAME">%1$s</xliff:g>, элементы: <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка: <xliff:g id="NAME">%1$s</xliff:g>, элементы: <xliff:g id="SIZE">%2$d</xliff:g> ці больш"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Спалучэнне праграм: <xliff:g id="APP1">%1$s</xliff:g> і <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Шпалеры і стыль"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Змяніць Галоўны экран"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Налады галоўнага экрана"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Прыпыніць працоўныя праграмы"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Актываваць"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Фільтр"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Пошук на тэлефоне"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Пошук на планшэце"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Не ўдалося: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Прыватная вобласць"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Прыватная"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Налады прыватнай вобласці"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Заблакіраваць (разблакіраваць) прыватную вобласць"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Пераход у прыватную вобласць"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Дадатковае меню"</string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index b0f1c4c..01ee2df 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Разделен екран"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Информация за приложението за %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Запазване на двойката приложения"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Докоснете и задръжте за преместване на приспособление"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Докоснете двукратно и задръжте за преместване на приспособление или използвайте персонал. действия."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Папката е преименувана на „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Папка: „<xliff:g id="NAME">%1$s</xliff:g>“ – <xliff:g id="SIZE">%2$d</xliff:g> елемента"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка: „<xliff:g id="NAME">%1$s</xliff:g>“ – <xliff:g id="SIZE">%2$d</xliff:g> или повече елементи"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Двойка приложения: <xliff:g id="APP1">%1$s</xliff:g> и <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тапет и стил"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Редактиране на началния екран"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Настройки за началния екран"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Поставяне на пауза на служебните приложения"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Отмяна на паузата"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Филтър"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Търсене в телефона ви"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Търсене в таблета ви"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Неуспешно: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Лично пространство"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Лично"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Настройки за личното пространство"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Заключване/отключване на личното пространство"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Преминаване към личното пространство"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Препълване"</string>
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index e28638b..665a95f 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"স্প্লিট স্ক্রিন"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s-এর জন্য অ্যাপ সম্পর্কিত তথ্য"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"অ্যাপ পেয়ার সেভ করুন"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"কোনও উইজেট সরাতে সেটি টাচ করে ধরে রাখুন।"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"একটি উইজেট সরাতে বা কাস্টম অ্যাকশন ব্যবহার করতে ডবল ট্যাপ করে ধরে রাখুন।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ফোল্ডারের নাম পাল্টে <xliff:g id="NAME">%1$s</xliff:g> করা হয়েছে"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ফোল্ডার: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g>টি আইটেম"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ফোল্ডার: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g>টি বা তার বেশি আইটেম"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"অ্যাপ পেয়ার: <xliff:g id="APP1">%1$s</xliff:g> ও <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ওয়ালপেপার এবং স্টাইল"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"হোম স্ক্রিন এডিট করুন"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"হোম সেটিংস"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"অফিসের অ্যাপ পজ করুন"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"আনপজ করুন"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ফিল্টার"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"ফোনে সার্চ করে দেখুন"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"আপনার ট্যাবলেটে সার্চ করুন"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"কাজটি করা যায়নি: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"ব্যক্তিগত স্পেস"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ব্যক্তিগত"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"ব্যক্তিগত স্পেসের সেটিংস"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ব্যক্তিগত স্পেস লক/আনলক করুন"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"ব্যক্তিগত স্পেস ট্রানজিট করা"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ওভারফ্লো"</string>
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 8387f14..f0ee1b4 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Podijeljeni ekran"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informacije o aplikaciji %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Sačuvaj par aplikacija"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Dodirnite i zadržite da pomjerite vidžet."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvaput dodirnite i zadržite da pomjerite vidžet ili da koristite prilagođene radnje."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Ime foldera je promijenjeno u <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, br. stavki: <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ili više stavki"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Par aplikacija: <xliff:g id="APP1">%1$s</xliff:g> i <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Pozadinska slika i stil"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Uredi Početni ekran"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Postavke početnog ekrana"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pauziraj poslovne aplikacije"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Ponovo pokreni"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtrirajte"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Pretražite telefon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pretražite tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Nije uspjelo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privatan prostor"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privatno"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Postavke privatnog prostora"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Zaključavanje/otključavanje privatnog prostora"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Prelazak u privatan prostor"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Preklopni meni"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index dd2d03f..e1c9a2b 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Pantalla dividida"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informació de l\'aplicació %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Desa la parella d\'aplicacions"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Fes doble toc i mantén premut per moure un widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Fes doble toc i mantén premut per moure un widget o per utilitzar accions personalitzades."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"S\'ha canviat el nom de la carpeta a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Carpeta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elements"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Carpeta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> o més elements"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Parella d\'aplicacions: <xliff:g id="APP1">%1$s</xliff:g> i <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Estil i fons de pantalla"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Edita la pantalla d\'inici"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Config. pantalla d\'inici"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Posa en pausa les aplicacions de treball"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Reactiva"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtra"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Cerca al telèfon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Cerca a la tauleta"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Error: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Espai privat"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privat"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Configuració d\'Espai privat"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Bloqueja o desbloqueja Espai privat"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Canvia a Espai privat"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Menú addicional"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index f9c7c77..7a5e838 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Rozdělit obrazovku"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informace o aplikaci %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Uložit pár aplikací"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Widget přesunete klepnutím a podržením."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvojitým klepnutím a podržením přesunete widget, případně použijte vlastní akce."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Složka přejmenována na <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Složka: <xliff:g id="NAME">%1$s</xliff:g>, počet položek: <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Složka: <xliff:g id="NAME">%1$s</xliff:g>, počet položek: <xliff:g id="SIZE">%2$d</xliff:g> nebo více"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Dvojice aplikací: <xliff:g id="APP1">%1$s</xliff:g> a <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Tapeta a styl"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Upravit plochu"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Nastavení plochy"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pozastavit pracovní aplikace"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Zrušit pozastavení"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtr"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Prohledávání telefonu"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Vyhledávání na tabletu"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Selhalo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Soukromý prostor"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Soukromé"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Nastavení soukromého prostoru"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Zamknout/odemknout soukromý prostor"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Převádění soukromého prostoru"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Rozbalovací nabídka"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 134cbb0..9c46dd9 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Opdel skærm"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Appinfo for %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Gem appsammenknytning"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Hold en widget nede for at flytte den."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Tryk to gange, og hold en widget nede for at flytte den eller bruge tilpassede handlinger."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Mappen er omdøbt til <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Mappe: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elementer"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Mappe: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> eller flere elementer"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Appsammenknytning: <xliff:g id="APP1">%1$s</xliff:g> og <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Baggrund og stil"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Rediger startskærm"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Indst. for startskærm"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Sæt arbejdsapps på pause"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Genoptag"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Søg på din telefon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Søg på din tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Mislykket: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privat område"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privat"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Indstillinger for privat rum"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Lås/oplås det private område"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Ændringer af tilstanden for det private område"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Overløb"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 2fa7f91..f27cb90 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Splitscreen"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"App-Info für %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"App-Paar speichern"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Zum Verschieben des Widgets berühren und halten"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Doppeltippen und halten, um ein Widget zu bewegen oder benutzerdefinierte Aktionen zu nutzen."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Ordner umbenannt in <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Ordner: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> Elemente"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Ordner: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> oder mehr Elemente"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"App-Paar: <xliff:g id="APP1">%1$s</xliff:g> und <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Hintergrund und Stil"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Startbildschirm bearbeiten"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Einstellungen"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Geschäftliche Apps pausieren"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Nicht mehr pausieren"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Auf dem Smartphone suchen"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Auf dem Tablet suchen"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Fehler: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privater Bereich"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privat"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Einstellungen für privaten Bereich"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Privaten Bereich sperren/entsperren"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Sperrzustand des privaten Bereichs wird gerade geändert"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Weitere Optionen"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 35cac5b..d4740d4 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Διαχωρισμός οθόνης"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Πληροφορίες εφαρμογής για %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Αποθήκευση ζεύγους εφαρμογών"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Πατήστε παρατετ. για μετακίνηση γραφ. στοιχείου."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Πατήστε δύο φορές παρατεταμένα για μετακίνηση γραφικού στοιχείου ή χρήση προσαρμοσμένων ενεργειών."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Ο φάκελος μετονομάστηκε σε <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Φάκελος: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> στοιχεία"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Φάκελος: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ή περισσότερα στοιχεία"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Ζεύγος εφαρμογών: <xliff:g id="APP1">%1$s</xliff:g> και <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Ταπετσαρία και στιλ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Επεξεργασία αρχικής οθόνης"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Ρυθμίσεις Αρχ. Οθ."</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Παύση εφαρμογών εργασιών"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Αναίρεση παύσης"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Φίλτρο"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Αναζήτηση στο τηλέφωνό σας"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Αναζήτηση στο tablet σας"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Αποτυχία: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Ιδιωτικός χώρος"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Ιδιωτικό"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Ρυθμίσεις Ιδιωτικού χώρου"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Κλείδωμα/Ξεκλείδωμα Ιδιωτικού χώρου"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Μετάβαση στον Ιδιωτικό χώρο"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Υπερχείλιση"</string>
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 47a67a8..85ab76b 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Split screen"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"App info for %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Save app pair"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Touch and hold to move a widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Double-tap &amp; hold to move a widget or use custom actions."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Folder renamed to <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> items"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> or more items"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"App pair: <xliff:g id="APP1">%1$s</xliff:g> and <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Edit home screen"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pause work apps"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Unpause"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Search your phone"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Search your tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Failed: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Private space"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Private"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Private Space Settings"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Lock/Unlock Private Space"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Private Space transitioning"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Overflow"</string>
 </resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index cc86e87..bb03769 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Split screen"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"App info for %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Save app pair"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Touch and hold to move a widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Double-tap and hold to move a widget or use custom actions."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Folder renamed to <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> items"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> or more items"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"App pair: <xliff:g id="APP1">%1$s</xliff:g> and <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Edit Home Screen"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pause work apps"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Unpause"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Search your phone"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Search your tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Failed: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Private space"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Private"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Private Space Settings"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Lock/Unlock Private Space"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Private Space Transitioning"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Overflow"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 47a67a8..85ab76b 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Split screen"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"App info for %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Save app pair"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Touch and hold to move a widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Double-tap &amp; hold to move a widget or use custom actions."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Folder renamed to <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> items"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> or more items"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"App pair: <xliff:g id="APP1">%1$s</xliff:g> and <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Edit home screen"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pause work apps"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Unpause"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Search your phone"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Search your tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Failed: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Private space"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Private"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Private Space Settings"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Lock/Unlock Private Space"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Private Space transitioning"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Overflow"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 47a67a8..85ab76b 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Split screen"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"App info for %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Save app pair"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Touch and hold to move a widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Double-tap &amp; hold to move a widget or use custom actions."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Folder renamed to <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> items"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> or more items"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"App pair: <xliff:g id="APP1">%1$s</xliff:g> and <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Edit home screen"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pause work apps"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Unpause"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Search your phone"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Search your tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Failed: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Private space"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Private"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Private Space Settings"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Lock/Unlock Private Space"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Private Space transitioning"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Overflow"</string>
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index cca6551..ef85c5c 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎Split screen‎‏‎‎‏‎"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎App info for %1$s‎‏‎‎‏‎"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‎Save app pair‎‏‎‎‏‎"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="APP1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ | ‎‏‎‎‏‏‎<xliff:g id="APP2">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎‎‏‏‎‎‎‎‎‏‎‏‎‎‏‎Touch &amp; hold to move a widget.‎‏‎‎‏‎"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‏‎‎Double-tap &amp; hold to move a widget or use custom actions.‎‏‎‎‏‎"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‏‏‏‎%1$d × %2$d‎‏‎‎‏‎"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‎‎‎‎Folder renamed to ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‎‎‎‎‎‏‏‎Folder: ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎<xliff:g id="SIZE">%2$d</xliff:g>‎‏‎‎‏‏‏‎ items‎‏‎‎‏‎"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎Folder: ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎, ‎‏‎‎‏‏‎<xliff:g id="SIZE">%2$d</xliff:g>‎‏‎‎‏‏‏‎ or more items‎‏‎‎‏‎"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎App pair: ‎‏‎‎‏‏‎<xliff:g id="APP1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ and ‎‏‎‎‏‏‎<xliff:g id="APP2">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‎‎Wallpaper &amp; style‎‏‎‎‏‎"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‎Edit Home Screen‎‏‎‎‏‎"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎Home settings‎‏‎‎‏‎"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎Pause work apps‎‏‎‎‏‎"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‎Unpause‎‏‎‎‏‎"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎‎‎‎‎‎Filter‎‏‎‎‏‎"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‎‏‏‎‎‏‏‎‎‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎Search your phone‎‏‎‎‏‎"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‎‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎Search your tablet‎‏‎‎‏‎"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎Failed: ‎‏‎‎‏‏‎<xliff:g id="WHAT">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎‏‏‏‏‏‎‎‏‎Private space‎‏‎‎‏‎"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎Private‎‏‎‎‏‎"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‎‎‏‎‎‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎Private Space Settings‎‏‎‎‏‎"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‏‎Lock/Unlock Private Space‎‏‎‎‏‎"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‎Private Space Transitioning‎‏‎‎‏‎"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‎‎Overflow‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index c49fa0e..bce0430 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Pantalla dividida"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Información de la app de %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Guardar vinculación de apps"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Mantén presionado para mover un widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Presiona dos veces y mantén presionado para mover un widget o usar acciones personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"El nombre de la carpeta se cambió a <xliff:g id="NAME">%1$s</xliff:g>."</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Carpeta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elementos"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Carpeta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> o más elementos"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Vinculación de apps: <xliff:g id="APP1">%1$s</xliff:g> y <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fondo de pantalla y estilo"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Editar pantalla principal"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Configuración de pantalla principal"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Detener apps de trabajo"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Reanudar"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtro"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Busca tu teléfono"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Busca en tu tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Error: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Espacio privado"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privado"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Configuración de Espacio privado"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Bloquear o desbloquear Espacio privado"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Pasar a Espacio privado"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Ampliada"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index b89a717..6bb325c 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Pantalla dividida"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Información de la aplicación %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Guardar aplicaciones emparejadas"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Mantén pulsado un widget para moverlo"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Toca dos veces y mantén pulsado un widget para moverlo o usar acciones personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Se ha cambiado el nombre de la carpeta a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Carpeta: <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SIZE">%2$d</xliff:g> elementos)"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Carpeta: <xliff:g id="NAME">%1$s</xliff:g> (<xliff:g id="SIZE">%2$d</xliff:g> o más elementos)"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Aplicaciones emparejadas: <xliff:g id="APP1">%1$s</xliff:g> y <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fondo de pantalla y estilo"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Editar pantalla de inicio"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Ajustes de la pantalla de inicio"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pausar aplicaciones de trabajo"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Reanudar"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtro"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Busca en tu teléfono"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Buscar en tu tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Se ha producido un error: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Espacio privado"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privado"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Ajustes del espacio privado"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Bloquear/Desbloquear espacio privado"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Cambiar a espacio privado"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Desplegable"</string>
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 333fded..cabd7ab 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Jagatud ekraanikuva"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Rakenduse teave: %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Salvesta rakendusepaar"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Vidina teisaldamiseks puudutage ja hoidke all."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Vidina teisaldamiseks või kohandatud toimingute kasutamiseks topeltpuudutage ja hoidke all."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Kausta uus nimi: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Kaust: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> üksust"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Kaust: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> või rohkem üksust"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Rakendusepaar: <xliff:g id="APP1">%1$s</xliff:g> ja <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Taustapilt ja stiil"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Muuda avaekraani"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Avakuva seaded"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Peata töörakendused"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Lõpeta peatamine"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Otsimine telefonist"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Otsimine tahvelarvutist"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Nurjus: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privaatne ruum"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privaatne"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Privaatse ruumi seaded"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Privaatse ruumi lukustamine/avamine"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Privaatse ruumi üleviimine"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Ületäide"</string>
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index fb4a438..ff68d74 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Pantaila zatitzea"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s aplikazioari buruzko informazioa"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Gorde aplikazio parea"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Eduki sakatuta widget bat mugitzeko."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Sakatu birritan eta eduki sakatuta widget bat mugitzeko edo ekintza pertsonalizatuak erabiltzeko."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -79,9 +80,9 @@
     <string name="permlab_install_shortcut" msgid="5632423390354674437">"Instalatu lasterbideak"</string>
     <string name="permdesc_install_shortcut" msgid="923466509822011139">"Erabiltzaileak ezer egin gabe lasterbideak gehitzeko baimena ematen die aplikazioei."</string>
     <string name="permlab_read_settings" msgid="5136500343007704955">"irakurri hasierako pantailako ezarpenak eta lasterbideak"</string>
-    <string name="permdesc_read_settings" msgid="4208061150510996676">"Hasierako pantailako ezarpenak eta lasterbideak irakurtzeko baimena ematen dio aplikazioari."</string>
+    <string name="permdesc_read_settings" msgid="4208061150510996676">"Hasierako pantailako ezarpenak eta lasterbideak irakurtzeko baimena ematen die aplikazioei."</string>
     <string name="permlab_write_settings" msgid="4820028712156303762">"idatzi hasierako pantailako ezarpenak eta lasterbideak"</string>
-    <string name="permdesc_write_settings" msgid="726859348127868466">"Hasierako pantailako ezarpenak eta lasterbideak aldatzeko baimena ematen dio aplikazioari."</string>
+    <string name="permdesc_write_settings" msgid="726859348127868466">"Hasierako pantailako ezarpenak eta lasterbideak aldatzeko baimena ematen die aplikazioei."</string>
     <string name="gadget_error_text" msgid="740356548025791839">"Ezin da kargatu widgeta"</string>
     <string name="gadget_setup_text" msgid="8348374825537681407">"Widgetaren ezarpenak"</string>
     <string name="gadget_complete_setup_text" msgid="309040266978007925">"Sakatu konfiguratzen amaitzeko"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Karpetari <xliff:g id="NAME">%1$s</xliff:g> izena eman zaio"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"<xliff:g id="NAME">%1$s</xliff:g> karpeta (<xliff:g id="SIZE">%2$d</xliff:g> elementu)"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"<xliff:g id="NAME">%1$s</xliff:g> karpeta (<xliff:g id="SIZE">%2$d</xliff:g> elementu edo gehiago)"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Aplikazio parea: <xliff:g id="APP1">%1$s</xliff:g> eta <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Horma-papera eta estiloa"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Editatu hasierako pantaila"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Hasierako pantailaren ezarpenak"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pausatu laneko aplikazioak"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Aktibatu berriro"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Iragazi"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Bilatu telefonoan"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Bilatu tabletan"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Huts egin du: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Eremu pribatua"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Pribatua"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Eremu pribatuaren ezarpenak"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Blokeatu/Desblokeatu eremu pribatua"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Eremu pribaturako trantsizioa"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Luzapena"</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 4ec760e..444d550 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"صفحهٔ دونیمه"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"‏اطلاعات برنامه %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ذخیره جفت برنامه"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"برای جابه‌جا کردن ابزارک، لمس کنید و نگه دارید."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"برای جابه‌جا کردن ابزارک یا استفاده از کنش‌های سفارشی، دوضربه بزنید و نگه دارید."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"نام پوشه به <xliff:g id="NAME">%1$s</xliff:g> تغییر کرد"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"پوشه: <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="SIZE">%2$d</xliff:g> مورد"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"پوشه: <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="SIZE">%2$d</xliff:g> مورد یا بیشتر"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"جفت برنامه: <xliff:g id="APP1">%1$s</xliff:g> و <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"کاغذدیواری و سبک"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"ویرایش «صفحه اصلی»"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"تنظیمات صفحه اصلی"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"توقف موقت برنامه‌های کاری"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ازسرگیری"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"فیلتر"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"جستجوی تلفن"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"جستجوی رایانه لوحی"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"ناموفق بود: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"فضای خصوصی"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"خصوصی"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"تنظیمات «فضای خصوصی»"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"قفل/ باز کردن «فضای خصوصی»"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"انتقال «فضای خصوصی»"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"سرریز"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 16dabb7..d812e99 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Jaettu näyttö"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Sovellustiedot: %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Tallenna sovelluspari"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Kosketa pitkään, niin voit siirtää widgetiä."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Kaksoisnapauta ja paina pitkään, niin voit siirtää widgetiä tai käyttää muokattuja toimintoja."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Kansion nimeksi vaihdettiin <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Kansio: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> kohdetta"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Kansio: <xliff:g id="NAME">%1$s</xliff:g>, ainakin <xliff:g id="SIZE">%2$d</xliff:g> kohdetta"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Sovelluspari: <xliff:g id="APP1">%1$s</xliff:g> ja <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Taustakuva ja tyyli"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Muokkaa aloitusnäyttöä"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Aloitusnäyttö"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Keskeytä työsovellusten käyttö"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Jatka"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Suodatin"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Hae puhelimesta"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Hae tabletilta"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Epäonnistui: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Yksityinen tila"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Yksityinen"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Yksityisen tilan asetukset"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Lukitse yksityinen tila / avaa sen lukitus"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Yksityisen tilan siirtäminen"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Ylivuoto"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 1267205..0fc6129 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Écran partagé"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Renseignements sur l\'appli pour %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Enregistrer la paire d\'applications"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Maintenez le doigt sur un widget pour le déplacer."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Touchez 2x un widget et maintenez le doigt dessus pour le déplacer ou utiliser des actions personnalisées."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Nouveau nom du dossier : <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Dossier : <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> élément(s)"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Dossier : <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> éléments ou plus"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Paire d\'applications : <xliff:g id="APP1">%1$s</xliff:g> et <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fond d\'écran et style"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Modifier l\'écran d\'accueil"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Paramètres d\'accueil"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Mettre en pause les applications professionnelles"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Réactiver"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtrer"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Rechercher sur votre téléphone"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Rechercher sur votre tablette"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Échec : <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Espace privé"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privé"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Paramètres de l\'Espace privé"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Verrouiller/Déverrouiller l\'Espace privé"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Transition vers l\'Espace privé"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Menu à développer"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 1addca7..fb658f5 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Écran partagé"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Infos sur l\'appli pour %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Enregistrer la paire d\'applis"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Appuyez de manière prolongée sur un widget pour le déplacer."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Appuyez deux fois et maintenez la pression pour déplacer widget ou utiliser actions personnalisées."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d x %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Nouveau nom du dossier : <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Dossier : <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> éléments"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Dossier : <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> éléments ou plus"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Paire d\'applications : <xliff:g id="APP1">%1$s</xliff:g> et <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fond d\'écran et style"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Modifier l\'écran d\'accueil"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Paramètres de l\'accueil"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Mettre en pause les applis professionnelles"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Réactiver"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtre"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Rechercher sur votre téléphone"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Rechercher sur votre tablette"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Échec : <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Espace privé"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privé"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Paramètres d\'Espace privé"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Verrouiller/Déverrouiller Espace privé"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Transition vers Espace privé"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Dépassement"</string>
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index cf6ac1c..4a455f5 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Pantalla dividida"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Información da aplicación para %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Gardar emparellamento de aplicacións"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Mantén premido un widget para movelo."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Toca dúas veces un widget e manteno premido para movelo ou utiliza accións personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"O cartafol cambiou o nome a <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Cartafol: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elementos"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Cartafol: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elementos ou máis"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Emparellamento de aplicacións: <xliff:g id="APP1">%1$s</xliff:g> e <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Estilo e fondo de pantalla"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Editar pantalla de inicio"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Axustes de Inicio"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pór en pausa aplicacións do traballo"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Volver activar"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtra"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Buscar no teléfono"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Facer buscas na tableta"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Erro: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Espazo privado"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privado"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Configuración do espazo privado"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Bloquear ou desbloquear o espazo privado"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Transición ao espazo privado"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Menú adicional"</string>
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 7f5c39f..be0fdba 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"સ્ક્રીનને વિભાજિત કરો"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s માટે ઍપ માહિતી"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ઍપની જોડી સાચવો"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"વિજેટ ખસેડવા ટચ કરીને થોડી વાર દબાવી રાખો."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"વિજેટ ખસેડવા બે વાર ટૅપ કરીને દબાવી રાખો અથવા કસ્ટમ ક્રિયાઓનો ઉપયોગ કરો."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ફોલ્ડરનું નામ બદલીને <xliff:g id="NAME">%1$s</xliff:g> કર્યું"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ફોલ્ડર: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> આઇટમ"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ફોલ્ડર: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> કે વધુ આઇટમ"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"ઍપની જોડી: <xliff:g id="APP1">%1$s</xliff:g> અને <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"વૉલપેપર અને સ્ટાઇલ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"હોમ સ્ક્રીનમાં ફેરફાર કરો"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"હોમ સેટિંગ"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ઑફિસની ઍપ થોભાવો"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ફરી ચાલુ કરો"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ફિલ્ટર કરો"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"તમારો ફોન શોધો"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"તમારું ટૅબ્લેટ શોધો"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"નિષ્ફળ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"ખાનગી સ્પેસ"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ખાનગી"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"ખાનગી સ્પેસના સેટિંગ"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ખાનગી સ્પેસને લૉક/અનલૉક કરો"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"ખાનગી સ્પેસ પર સ્થાનાંતરણ"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ઓવરફ્લો"</string>
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 8301194..f7972eb 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"स्प्लिट स्क्रीन"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s के लिए ऐप्लिकेशन की जानकारी"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"साथ में इस्तेमाल किए जा सकने वाले ऐप्लिकेशन की जानकारी सेव करें"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"किसी विजेट को एक से दूसरी जगह ले जाने के लिए, उसे दबाकर रखें."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"किसी विजेट को एक से दूसरी जगह ले जाने के लिए, उस पर दो बार टैप करके दबाकर रखें या पसंद के मुताबिक कार्रवाइयां इस्तेमाल करें."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"फ़ोल्डर का नाम बदलकर <xliff:g id="NAME">%1$s</xliff:g> किया गया"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"फ़ोल्डर: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> आइटम"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"फ़ोल्डर: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> या इससे ज़्यादा आइटम"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"साथ में इस्तेमाल किए जा सकने वाले ऐप्लिकेशन: <xliff:g id="APP1">%1$s</xliff:g> और <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"वॉलपेपर और स्टाइल"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"होम स्क्रीन में बदलाव करें"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"होम स्क्रीन की सेटिंग"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"वर्क ऐप्लिकेशन रोकें"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"चालू करें"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"फ़िल्टर"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"अपने फ़ोन में खोजें"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"अपने टैबलेट में खोजें"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"पूरा नहीं हुआ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"प्राइवेट स्पेस"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"निजी"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"प्राइवेट स्पेस सेटिंग"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"प्राइवेट स्पेस को लॉक करें/अनलॉक करें"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"प्राइवेट स्पेस की सेटिंग में बदलाव किया जा रहा है"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ओवरफ़्लो"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 59630f4..9f6ae3a 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Podijeljeni zaslon"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informacije o aplikaciji %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Spremi par aplikacija"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Dodirnite i zadržite da biste premjestili widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvaput dodirnite i zadržite pritisak da biste premjestili widget ili upotrijebite prilagođene radnje"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Mapa je preimenovana u <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Mapa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> stavke"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Mapa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ili više stavki"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Par aplikacija: <xliff:g id="APP1">%1$s</xliff:g> i <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Pozadina i stil"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Uredi početni zaslon"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Postavke početnog zaslona"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pauziraj poslovne aplikacije"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Ponovno pokreni"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtrirajte"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Pretraživanje telefona"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pretraživanje tableta"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Nije uspjelo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privatni prostor"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privatno"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Postavke privatnog prostora"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Zaključavanje/otključavanje privatnog prostora"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Prelazak na privatni prostor"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Dodatni izbornik"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 3bcf350..8e0fa14 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Osztott képernyő"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Alkalmazásinformáció a következőhöz: %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Alkalmazáspár mentése"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Tartsa lenyomva a modult az áthelyezéshez."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Modul áthelyezéséhez koppintson duplán, tartsa nyomva az ujját, vagy használjon egyéni műveleteket."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"A mappa új neve: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Mappa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elem"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Mappa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> vagy több elem"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Alkalmazáspár: <xliff:g id="APP1">%1$s</xliff:g> és <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Háttérkép és stílus"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Kezdőképernyő szerkesztése"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Kezdőképernyő beállításai"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Munkahelyi alkalmazások szüneteltetése"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Folytatás"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Szűrő"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Keresés a telefonon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Keresés a táblagépen"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Sikertelen: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privát terület"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privát"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Privát terület beállításai"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Privát terület zárolása/zárolásának feloldása"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Átállás privát területre…"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Túlcsordulás"</string>
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index ccc028f..c909b54 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Տրոհել էկրանը"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Տեղեկություններ %1$s հավելվածի մասին"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Պահել հավելվածների զույգը"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Հպեք և պահեք՝ վիջեթ տեղափոխելու համար։"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Կրկնակի հպեք և պահեք՝ վիջեթ տեղափոխելու համար, կամ օգտվեք հատուկ գործողություններից։"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Պանակը վերանվանվեց <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Պանակ՝ <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> տարր"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Պանակ՝ <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> կամ ավելի տարրեր"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Հավելվածների զույգ՝ <xliff:g id="APP1">%1$s</xliff:g> և <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Պաստառ և ոճ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Փոփոխել հիմնական էկրանը"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Գլխավոր էկրանի կարգավորումներ"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Դադարեցնել աշխատանքային հավելվածները"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Վերսկսել"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Զտեք"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Որոնում հեռախոսում"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Որոնում պլանշետում"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Չհաջողվեց կատարել գործողությունը (<xliff:g id="WHAT">%1$s</xliff:g>)"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Անձնական տարածք"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Անձնական"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Անձնական տարածքի կարգավորումներ"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Կողպել/ապակողպել անձնական տարածքը"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Անցում անձնական տարածք"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Լրացուցիչ ընտրացանկ"</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index c1d62d4..d7bb8dc 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Layar terpisah"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Info aplikasi untuk %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Simpan pasangan aplikasi"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Sentuh lama untuk memindahkan widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Ketuk dua kali &amp; tahan untuk memindahkan widget atau gunakan tindakan khusus."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Folder diganti namanya menjadi <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> item"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> item atau lebih"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Pasangan aplikasi: <xliff:g id="APP1">%1$s</xliff:g> dan <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper &amp; gaya"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Edit Layar Utama"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Setelan layar utama"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Jeda aplikasi kerja"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Aktifkan lagi"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Telusuri di ponsel"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Telusuri di tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Gagal: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Ruang pribadi"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Pribadi"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Setelan Ruang Pribadi"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Kunci/Buka Kunci Ruang Pribadi"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Ruang Pribadi Bertransisi"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Menu tambahan"</string>
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index e336a4b..1c9759f 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Skipta skjá"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Upplýsingar um forrit fyrir %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Vista forritapar"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Haltu fingri á græju til að færa hana."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Ýttu tvisvar og haltu fingri á græju til að færa hana eða notaðu sérsniðnar aðgerðir."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Heiti möppu breytt í <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Mappa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> atriði"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Mappa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> eða fleiri atriði"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Forritapar: <xliff:g id="APP1">%1$s</xliff:g> og <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Veggfóður og stíll"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Breyta heimaskjá"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Heimastillingar"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Setja vinnuforrit í bið"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Ljúka hléi"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Sía"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Leita í símanum"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Leita í spjaldtölvunni"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Mistókst: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Einkarými"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Lokað"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Stillingar einkarýmis"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Læsaeinkarými/taka einkarými úr lás"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Einkarými að breytast"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Yfirflæði"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 4342ce6..fd7c4bf 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Schermo diviso"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informazioni sull\'app %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Salva coppia di app"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Tocca e tieni premuto per spostare un widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Tocca due volte e tieni premuto per spostare un widget o per usare le azioni personalizzate."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Nome della cartella sostituito con <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Cartella: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elementi"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Cartella: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> o più elementi"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Coppia di app: <xliff:g id="APP1">%1$s</xliff:g> and <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Sfondo e stile"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Modifica la schermata Home"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Impostazioni schermata Home"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Metti in pausa le app di lavoro"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Riattiva"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtra"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Ricerche sul telefono"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Ricerche sul tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Operazione non riuscita: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Spazio privato"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privato"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Impostazioni dello Spazio privato"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Blocca/sblocca Spazio privato"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Transizione dello Spazio privato in corso…"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Extra"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 808d324..79a6e88 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"מסך מפוצל"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"‏פרטים על האפליקציה %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"שמירה של צמד אפליקציות"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"להעברת ווידג\'ט למקום אחר לוחצים עליו לחיצה ארוכה."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"כדי להעביר ווידג\'ט למקום אחר או להשתמש בפעולות מותאמות אישית, יש ללחוץ פעמיים ולא להרפות."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"שם התיקייה שונה ל-<xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"תיקייה: <xliff:g id="NAME">%1$s</xliff:g>, מספר הפריטים: <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"תיקייה: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> פריטים או יותר"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"צמד אפליקציות: <xliff:g id="APP1">%1$s</xliff:g> ו-<xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"טפט וסגנון"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"עריכה של מסך הבית"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"הגדרות של מסך הבית"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"השהיית האפליקציות לעבודה"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ביטול ההשהיה"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"סינון"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"חיפוש בטלפון"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"חיפוש בטאבלט"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"הפעולה נכשלה: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"מרחב פרטי"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"פרטי"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"הגדרות המרחב הפרטי"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"נעילה או ביטול הנעילה של המרחב הפרטי"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"מעבר למרחב הפרטי"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"אפשרויות נוספות"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index a6b1a21..ac63dab 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"分割画面"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s のアプリ情報"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"アプリのペア設定を保存"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"長押ししてウィジェットを移動させます。"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ウィジェットをダブルタップして長押ししながら移動するか、カスタム操作を使用してください。"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$dx%2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"フォルダの名前を「<xliff:g id="NAME">%1$s</xliff:g>」に変更しました"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"フォルダ: <xliff:g id="NAME">%1$s</xliff:g>、<xliff:g id="SIZE">%2$d</xliff:g> 件のアイテム"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"フォルダ: <xliff:g id="NAME">%1$s</xliff:g>、<xliff:g id="SIZE">%2$d</xliff:g> 件以上のアイテム"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"アプリのペア設定: <xliff:g id="APP1">%1$s</xliff:g> と <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"壁紙とスタイル"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"ホーム画面を編集"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"ホームの設定"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"仕事用アプリを一時停止"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"停止解除"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"フィルタ"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"スマートフォンを検索"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"タブレットを探す"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"失敗: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"プライベート スペース"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"プライベート"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"プライベート スペースの設定"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"プライベート スペースをロック / ロック解除する"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"プライベート スペース移行中"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"オーバーフロー"</string>
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 7e79faa..eeb33fb 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"ეკრანის გაყოფა"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s-ის აპის ინფო"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"აპთა წყვილის შენახვა"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"შეხებით აირჩიეთ და გეჭიროთ ვიჯეტის გადასაადგილებლად."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ორმაგი შეხებით აირჩიეთ და გეჭიროთ ვიჯეტის გადასაადგილებლად ან მორგებული მოქმედებების გამოსაყენებლად."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"საქაღალდეს შეეცვალა სახელი „<xliff:g id="NAME">%1$s</xliff:g>“-ად"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"საქაღალდე: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ერთეული"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"საქაღალდე: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ან მეტი ერთეული"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"აპთა წყვილი: <xliff:g id="APP1">%1$s</xliff:g> და <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ფონი და სტილი"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"მთავარი ეკრანის რედაქტირება"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"მთავარი გვერდის პარამეტრები"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"სამსახურის აპების დაპაუზება"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"პაუზის გაუქმება"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ფილტრი"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"მოიძიეთ თქვენს ტელეფონში"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ძიება თქვენს ტაბლეტში"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"ვერ მოხერხდა: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"პირადი სივრცე"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"პირადი"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"პირადი სივრცის პარამეტრები"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"პირადი სივრცის ჩაკეტვა/განბლოკვა"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"პირად სივრცეზე გადასვლა"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"გადავსება"</string>
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index cb514d8..85e7b6c 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Экранды бөлу"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s қолданбасы туралы ақпарат"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Қолданбаларды жұптау әрекетін сақтау"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Виджетті жылжыту үшін басып тұрыңыз."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Виджетті жылжыту үшін екі рет түртіңіз де, ұстап тұрыңыз немесе арнаулы әрекеттерді пайдаланыңыз."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Қалта атауы <xliff:g id="NAME">%1$s</xliff:g> болып өзгертілді"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Қалта: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> элемент бар"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Қалта: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> не одан көп элемент бар"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Қолданбаларды жұптау: <xliff:g id="APP1">%1$s</xliff:g> және <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тұсқағаз және стиль"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Негізгі экранды өзгерту"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Негізгі экран параметрлері"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Жұмыс қолданбаларын кідірту"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Қайта қосу"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Сүзгі"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Телефоннан іздеу"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Планшеттен іздеу"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Қате шықты: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Жеке бөлме"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Жеке"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Жеке бөлме параметрлері"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Жеке бөлмені құлыптау/оның құлпын ашу"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Жеке бөлмеге өту"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Қосымша мәзір"</string>
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index bdb9f0d..49c2b35 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"មុខងារ​បំបែកអេក្រង់"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"ព័ត៌មានកម្មវិធី​សម្រាប់ %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"រក្សាទុកគូកម្មវិធី"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"ចុចឱ្យជាប់​ដើម្បីផ្លាស់ទី​ធាតុក្រាហ្វិក​។"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ចុចពីរដង រួចសង្កត់ឱ្យជាប់ ដើម្បីផ្លាស់ទី​ធាតុក្រាហ្វិក ឬប្រើ​សកម្មភាព​តាមបំណង​។"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"បាន​ប្ដូរ​ឈ្មោះ​ថត​ជា <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ថត៖ <xliff:g id="NAME">%1$s</xliff:g>, ធាតុ <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ថត៖ <xliff:g id="NAME">%1$s</xliff:g>, ធាតុ <xliff:g id="SIZE">%2$d</xliff:g> ឬច្រើនជាងនេះ"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"គូកម្មវិធី៖ <xliff:g id="APP1">%1$s</xliff:g> និង <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ផ្ទាំងរូបភាព និងរចនាប័ទ្ម"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"កែអេក្រង់ដើម"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"ការកំណត់​ទំព័រដើម"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ផ្អាក​កម្មវិធី​ការងារ"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ឈប់ផ្អាក"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"តម្រង"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"ស្វែងរកក្នុងទូរសព្ទរបស់អ្នក"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ស្វែងរកក្នុង​ថេប្លេតរបស់អ្នក"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"បានបរាជ័យ៖ <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"បន្ទប់​ឯកជន"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ឯកជន"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"ការកំណត់ Private Space"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ចាក់សោ/ដោះសោ Private Space"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"ការផ្លាស់ប្ដូរ Private Space"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ម៉ឺនុយបន្ថែម"</string>
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 8fc15d8..21e226c 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s ಗಾಗಿ ಆ್ಯಪ್ ಮಾಹಿತಿ"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ಆ್ಯಪ್ ಜೋಡಿ ಉಳಿಸಿ"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"ವಿಜೆಟ್ ಸರಿಸಲು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ವಿಜೆಟ್ ಸರಿಸಲು ಅಥವಾ ಕಸ್ಟಮ್ ಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ಫೋಲ್ಡರ್‌ ಅನ್ನು <xliff:g id="NAME">%1$s</xliff:g> ಗೆ ಮರುಹೆಸರಿಸಲಾಗಿದೆ"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ಫೋಲ್ಡರ್: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ಐಟಂಗಳು"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ಫೋಲ್ಡರ್: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ಅಥವಾ ಹೆಚ್ಚಿನ ಐಟಂಗಳು"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"ಆ್ಯಪ್ ಜೋಡಿ: <xliff:g id="APP1">%1$s</xliff:g> ಮತ್ತು <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ವಾಲ್‌ಪೇಪರ್ ಮತ್ತು ಶೈಲಿ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"ಹೋಮ್ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಎಡಿಟ್ ಮಾಡಿ"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"ಮುಖಪುಟ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ವಿರಾಮಗೊಳಿಸಿ"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ವಿರಾಮವನ್ನು ರದ್ದುಗೊಳಿಸಿ"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ಫಿಲ್ಟರ್‌"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಹುಡುಕಿ"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಹುಡುಕಿ"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"ವಿಫಲವಾಗಿದೆ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"ಖಾಸಗಿ ಸ್ಪೇಸ್"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ಖಾಸಗಿ"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಲಾಕ್/ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಪರಿವರ್ತನೆಯಾಗುತ್ತಿದೆ"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ಓವರ್‌ಫ್ಲೋ"</string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 955af0b..643a513 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"화면 분할"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s 앱 정보"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"앱 페어링 저장"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"길게 터치하여 위젯을 이동하세요."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"두 번 탭한 다음 길게 터치하여 위젯을 이동하거나 맞춤 작업을 사용하세요."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d×%2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"폴더 이름 변경: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"폴더: <xliff:g id="NAME">%1$s</xliff:g>, 항목 <xliff:g id="SIZE">%2$d</xliff:g>개"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"폴더: <xliff:g id="NAME">%1$s</xliff:g>, 항목 <xliff:g id="SIZE">%2$d</xliff:g>개 이상"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"앱 페어링: <xliff:g id="APP1">%1$s</xliff:g> 및 <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"배경화면 및 스타일"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"홈 화면 수정"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"홈 설정"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"직장 앱 일시중지"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"일시중지 해제"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"필터"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"휴대전화 속 항목 검색"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"태블릿 속 항목 검색"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"실패: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"비공개 스페이스"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"비공개"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"비공개 스페이스 설정"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"비공개 스페이스 잠금/잠금 해제"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"비공개 스페이스 전환"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"오버플로"</string>
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 7d77440..2274389 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Экранды бөлүү"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s колдонмосу жөнүндө маалымат"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Эки колдонмону бир маалда пайдаланууну сактоо"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Виджетти кое бербей басып туруп жылдырыңыз."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Виджетти жылдыруу үчүн эки жолу таптап, кармап туруңуз же ыңгайлаштырылган аракеттерди колдонуңуз."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Фолдердин аты <xliff:g id="NAME">%1$s</xliff:g> деп өзгөртүлдү"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"<xliff:g id="NAME">%1$s</xliff:g> папкасындагы объекттер: <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"<xliff:g id="NAME">%1$s</xliff:g> папкасындагы объекттер: <xliff:g id="SIZE">%2$d</xliff:g> же андан көбүрөөк"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Эки колдонмону бир маалда пайдалануу: <xliff:g id="APP1">%1$s</xliff:g> жана <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тушкагаз жана стиль"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Башкы экранды түзөтүү"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Башкы бет параметрлери"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Жумуш колдонмолорун тындыруу"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Улантуу"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Чыпкалоо"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Телефондо издөө"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Планшетте издөө"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Аткарылган жок: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Жеке чөйрө"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Жеке"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Жеке чөйрөнүн параметрлери"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Жеке чөйрөнү кулпулоо/кулпусун ачуу"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Жеке чөйрөгө өтүү"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Кошумча меню"</string>
 </resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 9c26cfa..175e8f5 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"ແບ່ງໜ້າຈໍ"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"ຂໍ້ມູນແອັບສຳລັບ %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ບັນທຶກຈັບຄູ່ແອັບ"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"ແຕະຄ້າງໄວ້ເພື່ອຍ້າຍວິດເຈັດ."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ແຕະສອງເທື່ອຄ້າງໄວ້ເພື່ອຍ້າຍວິດເຈັດ ຫຼື ໃຊ້ຄຳສັ່ງກຳນົດເອງ."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ປ່ຽນຊື່ໂຟນເດີເປັນ <xliff:g id="NAME">%1$s</xliff:g> ແລ້ວ"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ໂຟນເດີ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ລາຍການ"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ໂຟນເດີ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ຫຼື ລາຍການເພີ່ມເຕີມ"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"ຈັບຄູ່ແອັບ: <xliff:g id="APP1">%1$s</xliff:g> ແລະ <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ຮູບພື້ນຫຼັງ ແລະ ຮູບແບບ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"ແກ້ໄຂໂຮມສະກຣີນ"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"ການຕັ້ງຄ່າໜ້າຫຼັກ"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ຢຸດແອັບບ່ອນເຮັດວຽກຊົ່ວຄາວ"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ຍົກເລີກການຢຸດຊົ່ວຄາວ"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ກັ່ນຕອງ"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"ຊອກຫາໂທລະສັບຂອງທ່ານ"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ຊອກຫາແທັບເລັດຂອງທ່ານ"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"ບໍ່ສຳເລັດ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"ພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ສ່ວນຕົວ"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"ການຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ລັອກ/ປົດລັອກພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"ການປ່ຽນແປງພື້ນທີ່ສ່ວນຕົວ"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ການດຳເນີນການເພີ່ມເຕີມ"</string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 7d69c57..ef56c1a 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Išskaidyto ekrano režimas"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Programos „%1$s“ informacija"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Išsaugoti programų porą"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Dukart pal. ir palaik., kad perkeltumėte valdiklį."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dukart palieskite ir palaikykite, kad perkeltumėte valdiklį ar naudotumėte tinkintus veiksmus."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Aplankas pervardytas kaip „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Aplankas: „<xliff:g id="NAME">%1$s</xliff:g>“, elementų: <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Aplankas: „<xliff:g id="NAME">%1$s</xliff:g>“, elementų: <xliff:g id="SIZE">%2$d</xliff:g> ar daugiau"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Programų pora: „<xliff:g id="APP1">%1$s</xliff:g>“ ir „<xliff:g id="APP2">%2$s</xliff:g>“"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Ekrano fonas ir stilius"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Redaguoti pagrindinį ekraną"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"„Home“ nustatymai"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pristabdyti darbo programas"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Atšaukti pristabdymą"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtruoti"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Paieška telefone"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Paieška planšetiniame kompiuteryje"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Nepavyko: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privati erdvė"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privatus"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Privačios erdvės nustatymai"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Užrakinti ir (arba) atrakinti privačią erdvę"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Privačios erdvės perkėlimas"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Perpildymas"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 6dc9564..f2e8a87 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Sadalīt ekrānu"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s: informācija par lietotni"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Saglabāt lietotņu pāri"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Lai pārvietotu logrīku, pieskarieties un turiet."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Lai pārvietotu logrīku, uz tā veiciet dubultskārienu un turiet. Varat arī veikt pielāgotas darbības."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Mape pārdēvēta par: <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Mape <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> vienumi"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Mape <xliff:g id="NAME">%1$s</xliff:g>, vienumu skaits mapē: vismaz <xliff:g id="SIZE">%2$d</xliff:g>"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Lietotņu pāris: <xliff:g id="APP1">%1$s</xliff:g> un <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fona tapete un stils"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Rediģēt sākuma ekrānu"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Sākumlapas iestatījumi"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pārtraukt darba lietotņu darbību"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Atsākt"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtrs"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Meklēšana tālrunī"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Meklēšana planšetdatorā"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Neizdevās: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privātā telpa"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privātā mape"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Privātās mapes iestatījumi"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Bloķēt/atbloķēt privāto mapi"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Pāriet uz privāto mapi"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Pārpilde"</string>
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index eff0e15..cfbd3ba 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Поделен екран"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Податоци за апликација за %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Зачувај го парот апликации"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Допрете и задржете за да преместите виџет."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Допрете двапати и задржете за да преместите виџет или користете приспособени дејства."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Папката е преименувана во <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Папка: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ставки"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> или повеќе ставки"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Пар апликации: <xliff:g id="APP1">%1$s</xliff:g> и <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тапет и стил"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Изменете го почетниот екран"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Поставки за почетен екран"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Паузирај ги работните апликации"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Прекини ја паузата"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Филтер"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Пребарување низ телефонот"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Пребарување низ таблетот"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Не успеа: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Приватен простор"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Приватен"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Поставки за „Приватен простор“"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Заклучување/отклучување на „Приватен простор“"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Префрлање на „Приватен простор“"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Проширено балонче"</string>
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index d7feb3c..2ae3c2f 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"സ്‌ക്രീൻ വിഭജന മോഡ്"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s എന്നതിന്റെ ആപ്പ് വിവരങ്ങൾ"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ആപ്പ് ജോടി സംരക്ഷിക്കുക"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"വിജറ്റ് നീക്കാൻ സ്‌പർശിച്ച് പിടിക്കുക."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"വിജറ്റ് നീക്കാൻ ഡബിൾ ടാപ്പ് ചെയ്യൂ, ഹോൾഡ് ചെയ്യൂ അല്ലെങ്കിൽ ഇഷ്‌ടാനുസൃത പ്രവർത്തനങ്ങൾ ഉപയോഗിക്കൂ."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ഫോൾഡറിന്റെ പേര് <xliff:g id="NAME">%1$s</xliff:g> എന്നായി മാറ്റി"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ഫോൾഡർ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ഇനങ്ങൾ"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ഫോൾഡർ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> അല്ലെങ്കിൽ അതിലധികം ഇനങ്ങൾ"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"ആപ്പ് ജോടി: <xliff:g id="APP1">%1$s</xliff:g>, <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"വാൾപേപ്പറും സ്‌റ്റൈലും"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"ഹോം സ്‌ക്രീൻ എഡിറ്റ് ചെയ്യുക"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"ഹോം ക്രമീകരണം"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ഔദ്യോഗിക ആപ്പുകൾ താൽക്കാലികമായി നിർത്തുക"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"താൽക്കാലികമായി നിർത്തിയത് മാറ്റുക"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ഫിൽട്ടർ ചെയ്യുക"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"നിങ്ങളുടെ ഫോണിലുള്ളവ തിരയുക"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"നിങ്ങളുടെ ടാബ്‌ലെറ്റിലുള്ളവ തിരയുക"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"പരാജയപ്പെട്ടു: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"സ്വകാര്യ സ്പേസ്"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"സ്വകാര്യം"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"സ്വകാര്യ സ്‌പേസ് ക്രമീകരണം"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"സ്വകാര്യ സ്‌പേസ് ലോക്ക് ചെയ്യുക/അൺലോക്ക് ചെയ്യുക"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"പ്രൈവറ്റ് സ്‌പേസ് ട്രാൻസിഷനിംഗ്"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ഓവർഫ്ലോ"</string>
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 716bd85..31dda29 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Дэлгэцийг хуваах"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s-н аппын мэдээлэл"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Апп хослуулалтыг хадгалах"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Виджетийг зөөх бол хүрээд, удаан дарна уу."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Виджетийг зөөх эсвэл захиалгат үйлдлийг ашиглахын тулд хоёр товшоод, удаан дарна уу."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Фолдерын нэр <xliff:g id="NAME">%1$s</xliff:g> болов"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Фолдер: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> зүйл"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Фолдер: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> эсвэл үүнээс олон зүйл"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Апп хослуулалт: <xliff:g id="APP1">%1$s</xliff:g> болон <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Дэлгэцийн зураг, загвар"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Үндсэн нүүрийг засах"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Нүүр хуудасны тохиргоо"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Ажлын аппуудыг түр зогсоох"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Түр зогсоохоо болих"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Шүүлтүүр"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Утаснаасаа хайх"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Таблетнаасаа хайх"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Амжилтгүй болсон: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Хувийн орон зай"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Хувийн"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Private Space-н тохиргоо"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Private Space-г түгжих/түгжээг тайлах"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Private Space-н шилжилт"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Урт цэс"</string>
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index c73295d..635a422 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"स्प्लिट स्क्रीन"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s साठी ॲपशी संबंधित माहिती"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ॲपची जोडी सेव्ह करा"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"विजेट हलवण्यासाठी स्पर्श करा आणि धरून ठेवा."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"विजेट हलवण्यासाठी किंवा कस्टम कृती वापरण्यासाठी दोनदा टॅप करा आणि धरून ठेवा."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"फोल्डरचे नाव बदलून <xliff:g id="NAME">%1$s</xliff:g> असे ठेवले"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"फोल्डर: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> आयटम"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"फोल्डर: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> किंवा त्याहून अधिक आयटम"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"ॲपची जोडी: <xliff:g id="APP1">%1$s</xliff:g> आणि <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"वॉलपेपर आणि शैली"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"होम स्क्रीन संपादित करा"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"होम सेटिंग्‍ज"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"कार्य ॲप्स थांबवा"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"अनपॉझ करा"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"फिल्टर"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"तुमच्या फोनमध्ये शोधा"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"तुमच्या टॅबलेटमध्ये शोधा"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"हे करता आले नाही: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"खाजगी स्पेस"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"खाजगी"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"खाजगी स्पेस ची सेटिंग्ज"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"खाजगी स्पेस लॉक/अनलॉक करा"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"खाजगी स्पेस वर स्विच करणे"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ओव्हरफ्लो"</string>
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index e4a2e57..566ea85 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Skrin pisah"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Maklumat apl untuk %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Simpan gandingan apl"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Sentuh &amp; tahan untuk menggerakkan widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Ketik dua kali &amp; tahan untuk menggerakkan widget atau menggunakan tindakan tersuai."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Folder dinamakan semula kepada <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> item"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> atau lebih banyak item"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Gandingan apl: <xliff:g id="APP1">%1$s</xliff:g> dan <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Hiasan latar &amp; gaya"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Edit Skrin Utama"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Tetapan skrin utama"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Jeda apl kerja"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Nyahjeda"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Tapis"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Cari pada telefon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Cari pada tablet anda"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Gagal: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Ruang peribadi"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Peribadi"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Tetapan Ruang Peribadi"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Kunci/Buka kunci Ruang Peribadi"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Peralihan Ruang Peribadi"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Limpahan"</string>
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 1ec09f5..ced9f61 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"မျက်နှာပြင် ခွဲ၍ပြသခြင်း"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s အတွက် အက်ပ်အချက်အလက်"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"အက်ပ်တွဲချိတ်ခြင်း သိမ်းရန်"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"ဝိဂျက်ကို ရွှေ့ရန် တို့ပြီး ဖိထားပါ။"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ဝိဂျက်ကို ရွှေ့ရန် (သို့) စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို သုံးရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ပြောင်းလဲလိုက်သော အကန့်အမည် <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ဖိုင်တွဲ - <xliff:g id="NAME">%1$s</xliff:g>၊ <xliff:g id="SIZE">%2$d</xliff:g> ဖိုင်များ"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ဖိုင်တွဲ - <xliff:g id="NAME">%1$s</xliff:g>၊ <xliff:g id="SIZE">%2$d</xliff:g> သို့မဟုတ် နောက်ထပ်ဖိုင်များ"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"အက်ပ်တွဲချိတ်ခြင်း- <xliff:g id="APP1">%1$s</xliff:g> နှင့် <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"နောက်ခံနှင့် ပုံစံ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"ပင်မစာမျက်နှာ တည်းဖြတ်ရန်"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"ပင်မဆက်တင်များ"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"အလုပ်သုံးအက်ပ်များကို ခဏရပ်ရန်"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ပြန်ဖွင့်ရန်"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"စစ်ထုတ်ရန်"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"သင့်ဖုန်းတွင် ရှာခြင်း"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"သင့်တက်ဘလက်ကို ရှာခြင်း"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"မအောင်မြင်ပါ− <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"သီးသန့်ချတ်ခန်း"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"သီးသန့်"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"သီးသန့်ချတ်ခန်း ဆက်တင်များ"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"သီးသန့်ချတ်ခန်း လော့ခ်ချ/ဖွင့်ရန်"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"သီးသန့်ချတ်ခန်း အပြောင်းအလဲ"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"မီနူးအပို"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 7266a81..cb0fd95 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Delt skjerm"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Appinformasjon for %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Lagre apptilkoblingen"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Trykk og hold for å flytte en modul."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dobbelttrykk og hold inne for å flytte en modul eller bruke tilpassede handlinger."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Mappen heter nå <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Mappe: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elementer"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Mappe: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> eller flere elementer"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Apptilkobling: <xliff:g id="APP1">%1$s</xliff:g> og <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Bakgrunn og stil"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Endre startsiden"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Startsideinnstillinger"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Sett jobbapper på pause"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Gjenoppta"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Søk på telefonen"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Søk på nettbrettet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Mislyktes: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privat område"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privat"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Innstillinger for Private Space"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Lås / lås opp Private Space"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Private Space-overgang"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Overflyt"</string>
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index a73f2a3..d8df060 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"स्प्लिट स्क्रिन"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s का हकमा एपसम्बन्धी जानकारी"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"एपको पेयर सेभ गर्नुहोस्"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"कुनै विजेट सार्न डबल ट्याप गरेर छोइराख्नुहोस्।"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"कुनै विजेट सार्न वा आफ्नो रोजाइका कारबाही प्रयोग गर्न डबल ट्याप गरेर छोइराख्नुहोस्।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"फोल्डर <xliff:g id="NAME">%1$s</xliff:g> मा पुनःनामाकरण गरियो।"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"फोल्डर: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> वस्तुहरू"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"फोल्डर: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> वा सोभन्दा बढी वस्तुहरू"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"एप पेयर: <xliff:g id="APP1">%1$s</xliff:g> र <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"वालपेपर तथा शैली"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"होम स्क्रिन बदल्नुहोस्"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"होम पेजका सेटिङहरू"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"कामसम्बन्धी एपहरू पज गर्नुहोस्"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"सुचारु गर्नुहोस्"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"फिल्टर"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"आफ्नो फोन खोज्नुहोस्"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"आफ्नो ट्याबलेटमा खोज्नुहोस्"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"कार्य पूरा गर्न सकिएन: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"निजी स्पेस"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"निजी"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"निजी स्पेससम्बन्धी सेटिङ"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"निजी स्पेस लक/अनलक गर्नुहोस्"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"निजी स्पेस ट्रान्जिसन गरिँदै छ"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ओभरफ्लो"</string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 8d2aa21..86a5f40 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Gesplitst scherm"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"App-info voor %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"App-paar opslaan"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Tik en houd vast om een widget te verplaatsen."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dubbeltik en houd vast om een widget te verplaatsen of aangepaste acties te gebruiken."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"De naam van de map is gewijzigd in <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Map: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> items"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Map: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> of meer items"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"App-paar: <xliff:g id="APP1">%1$s</xliff:g> en <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Achtergrond en stijl"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Startscherm bewerken"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Instellingen start"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Werk-apps pauzeren"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Hervatten"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filteren"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Zoeken op je telefoon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Zoeken op je tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Mislukt: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privéruimte"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privé"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Instellingen voor privéruimte"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Privéruimte vergrendelen/ontgrendelen"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Overschakelen naar privéruimte"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Overloop"</string>
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 555913e..c726e50 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"ସ୍କ୍ରିନ‌କୁ ସ୍ପ୍ଲିଟ କରନ୍ତୁ"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s ପାଇଁ ଆପ ସୂଚନା"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ଆପ ପେୟାର ସେଭ କରନ୍ତୁ"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"ଏକ ୱିଜେଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ଏକ ୱିଜେଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ କିମ୍ବା କଷ୍ଟମ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ଫୋଲ୍ଡରର ନାମ <xliff:g id="NAME">%1$s</xliff:g>କୁ ବଦଳାଗଲା"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ଫୋଲ୍ଡର୍: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ଆଇଟମଗୁଡ଼ିକ"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ଫୋଲ୍ଡର୍: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> କିମ୍ବା ଅଧିକ ଆଇଟମ୍"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"ଆପ ପେୟାର: <xliff:g id="APP1">%1$s</xliff:g> ଏବଂ <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ୱାଲପେପର ଏବଂ ଷ୍ଟାଇଲ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"ହୋମ ସ୍କ୍ରିନକୁ ଏଡିଟ କରନ୍ତୁ"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"ହୋମ ସେଟିଂସ"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ୱାର୍କ ଆପ୍ସ ବିରତ କରନ୍ତୁ"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ପୁଣି ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ଫିଲ୍ଟର୍"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"ଆପଣଙ୍କ ଫୋନରେ ସନ୍ଧାନ କରନ୍ତୁ"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ଆପଣଙ୍କ ଟାବଲେଟରେ ସନ୍ଧାନ କରନ୍ତୁ"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"ବିଫଳ ହୋଇଛି: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"ପ୍ରାଇଭେଟ ସ୍ପେସ"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ପ୍ରାଇଭେଟ"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟିଂସ"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଲକ/ଅନଲକ କରନ୍ତୁ"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଟ୍ରାଞ୍ଜିସନିଂ"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ଓଭରଫ୍ଲୋ"</string>
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index e6e3f07..46e750a 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"ਸਪਲਿਟ ਸਕ੍ਰੀਨ"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s ਲਈ ਐਪ ਜਾਣਕਾਰੀ"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ਐਪ ਜੋੜਾਬੱਧ ਰੱਖਿਅਤ ਕਰੋ"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"ਕਿਸੇ ਵਿਜੇਟ ਨੂੰ ਲਿਜਾਉਣ ਲਈ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ਵਿਜੇਟ ਲਿਜਾਉਣ ਲਈ ਜਾਂ ਵਿਉਂਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਵਰਤਣ ਲਈ ਦੋ ਵਾਰ ਟੈਪ ਕਰਕੇ ਦਬਾ ਕੇ ਰੱਖੋ।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ਫੋਲਡਰ ਨੂੰ <xliff:g id="NAME">%1$s</xliff:g> ਮੁੜ ਨਾਮ ਦਿੱਤਾ ਗਿਆ"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ਫੋਲਡਰ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ਆਈਟਮਾਂ"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ਫੋਲਡਰ: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ਜਾਂ ਹੋਰ ਆਈਟਮਾਂ"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"ਐਪ ਜੋੜਾਬੱਧ: <xliff:g id="APP1">%1$s</xliff:g> ਅਤੇ <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ਵਾਲਪੇਪਰ ਅਤੇ ਸਟਾਈਲ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"ਹੋਮ ਸਕ੍ਰੀਨ ਦਾ ਸੰਪਾਦਨ ਕਰੋ"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"ਹੋਮ ਸੈਟਿੰਗਾਂ"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਰੋਕੋ"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ਰੋਕ ਹਟਾਓ"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ਫਿਲਟਰ"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"ਆਪਣਾ ਫ਼ੋਨ ਖੋਜੋ"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ਆਪਣਾ ਟੈਬਲੈੱਟ ਖੋਜੋ"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"ਇਹ ਕਾਰਵਾਈ ਅਸਫਲ ਹੋਈ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"ਨਿੱਜੀ ਸਪੇਸ"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ਨਿੱਜੀ"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"ਨਿੱਜੀ ਸਪੇਸ ਸੰਬੰਧੀ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਲਾਕ/ਅਣਲਾਕ ਕਰੋ"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਤਬਦੀਲ ਕਰਨਾ"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ਓਵਰਫ਼ਲੋ"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 739ef6c..4b6a612 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Podziel ekran"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informacje o aplikacji: %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Zapisz parę aplikacji"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Naciśnij i przytrzymaj, aby przenieść widżet."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Naciśnij dwukrotnie i przytrzymaj, aby przenieść widżet lub użyć działań niestandardowych."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Nazwa folderu zmieniona na <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elementy"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, liczba elementów: <xliff:g id="SIZE">%2$d</xliff:g> lub więcej"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Para aplikacji: <xliff:g id="APP1">%1$s</xliff:g> oraz <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Tapeta i styl"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Edytuj ekran główny"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Ustawienia ekranu głównego"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Wstrzymaj aplikacje służbowe"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Cofnij wstrzymywanie"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtruj"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Przeszukuj telefon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Przeszukuj tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Niepowodzenie: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Obszar prywatny"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Prywatne"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Ustawienia obszaru prywatnego"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Zablokuj/odblokuj obszar prywatny"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Przenoszenie obszaru prywatnego"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Rozwiń menu"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 76c65a4..4803138 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Ecrã dividido"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informações da app para %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Guardar par de apps"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Toque sem soltar para mover um widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Toque duas vezes sem soltar para mover um widget ou utilizar ações personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Nome de pasta alterado para <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Pasta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> itens"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Pasta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ou mais itens"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Par de apps: <xliff:g id="APP1">%1$s</xliff:g> e <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Imagem fundo/estilo"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Editar ecrã principal"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Definições de início"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pausar apps de trabalho"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Retomar"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtrar"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Pesquise no telemóvel"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pesquise no tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Falhou: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Espaço privado"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privado"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Definições do espaço privado"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Bloquear/desbloquear espaço privado"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Transição do espaço privado"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Menu adicional"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 29ce022..40af95d 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Tela dividida"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informações do app %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Salvar par de apps"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Toque e pressione para mover um widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Toque duas vezes e mantenha a tela pressionada para mover um widget ou usar ações personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Pasta renomeada para <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Pasta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> itens"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Pasta: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ou mais itens"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Par de apps: <xliff:g id="APP1">%1$s</xliff:g> e <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Plano de fundo e estilo"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Editar tela inicial"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Configurações da tela inicial"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pausar apps de trabalho"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Ativar"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtrar"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Pesquisar no smartphone"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Pesquisar no tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Falha: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Espaço particular"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Particular"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Configurações do Espaço particular"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Bloquear/desbloquear o Espaço particular"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Espaço particular em transição"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Balão flutuante"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index fc9c5d1..2d66f9b 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Ecran împărțit"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informații despre aplicație pentru %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Salvează perechea de aplicații"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Atinge și ține apăsat pentru a muta un widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Atinge de două ori și ține apăsat pentru a muta un widget sau folosește acțiuni personalizate."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Dosar redenumit <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Dosar: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> elemente"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Dosar: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> sau mai multe elemente"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Pereche de aplicații: <xliff:g id="APP1">%1$s</xliff:g> și <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Imagine de fundal și stil"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Editează ecranul de pornire"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Setări ecran de pornire"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Întrerupe aplicațiile pentru lucru"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Anulează întreruperea"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtru"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Caută pe telefon"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Caută pe tabletă"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Eșuare: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Spațiu privat"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privat"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Setări spațiu privat"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Blochează / deblochează spațiul privat"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Tranziție pentru spațiul privat"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Suplimentar"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index b3ff865..063126d 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Разделить экран"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Сведения о приложении \"%1$s\""</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Сохранить настройки одновременного использования двух приложений"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Чтобы переместить виджет, нажмите на него и удерживайте"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Чтобы использовать специальные действия или перенести виджет, нажмите на него дважды и удерживайте."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d x %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Папка переименована в \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Папка \"<xliff:g id="NAME">%1$s</xliff:g>\" (объектов: <xliff:g id="SIZE">%2$d</xliff:g>)"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка \"<xliff:g id="NAME">%1$s</xliff:g>\" (объектов: <xliff:g id="SIZE">%2$d</xliff:g> или больше)"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Одновременное использование двух приложений: <xliff:g id="APP1">%1$s</xliff:g> и <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Обои и стиль"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Изменить главный экран"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Главный экран"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Приостановить рабочие приложения"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Возобновить"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Фильтр"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Поиск на телефоне"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Поиск на планшете"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Не удалось выполнить действие (<xliff:g id="WHAT">%1$s</xliff:g>)."</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Личное пространство"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Доступно только вам"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Настройки личного пространства"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Блокировка и разблокировка личного пространства"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Переход к личному пространству"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Дополнительное меню"</string>
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 6f93989..e5660ce 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"බෙදුම් තිරය"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s සඳහා යෙදුම් තතු"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"යෙදුම් යුගල සුරකින්න"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"විජට් එකක් ගෙන යාමට ස්පර්ශ කර අල්ලා ගෙන සිටින්න."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"විජට් එකක් ගෙන යාමට හෝ අභිරුචි ක්‍රියා භාවිත කිරීමට දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"<xliff:g id="NAME">%1$s</xliff:g> වෙත ෆෝල්ඩරය නැවත නම් කෙරිණි"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ෆෝල්ඩරය: <xliff:g id="NAME">%1$s</xliff:g>, අයිතම <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ෆෝල්ඩර: <xliff:g id="NAME">%1$s</xliff:g>, අයිතම <xliff:g id="SIZE">%2$d</xliff:g>ක් හෝ වැඩි ගණනක්"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"යෙදුම් යුගල: <xliff:g id="APP1">%1$s</xliff:g> සහ <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"වෝල්පේපරය සහ මෝස්තරය"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"මුල් තිරය සංස්කරණය කරන්න"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"නිවසේ සැකසීම්"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"කාර්යාල යෙදුම් විරාම කරන්න"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"විරාම නොකරන්න"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"පෙරහන"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"ඔබගේ දුරකථනය සොයන්න"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ඔබගේ ටැබ්ලටය සොයන්න"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"අසාර්ථකයි: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"පෞද්ගලික ඉඩ"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"පෞද්ගලික"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"පෞද්ගලික අවකාශ සැකසීම්"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"පෞද්ගලික අවකාශය අගුළු දමන්න/අගුළු හරින්න"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"පෞද්ගලික අවකාශ සංක්‍රමණය"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"පිටාර යාම"</string>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 742d726..89c64bf 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Rozdeliť obrazovku"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informácie o aplikácii pre %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Uložiť pár aplikácií"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Pridržaním presuňte miniaplikáciu."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvojitým klepnutím a pridržaním presuňte miniaplikáciu alebo použite vlastné akcie."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Priečinok bol premenovaný na <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Priečinok: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> položky"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Priečinok: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> alebo viac položiek"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Pár aplikácií: <xliff:g id="APP1">%1$s</xliff:g> a <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Tapeta a štýl"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Upraviť plochu"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Nastavenia plochy"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pozastaviť pracovné aplikácie"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Zrušiť pozastavenie"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtrujte"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Vyhľadávanie v telefóne"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Vyhľadávanie v tablete"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Zlyhalo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Súkromný priestor"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Súkromné"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Nastavenia súkromného priestoru"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Súkromný priestor zamykania a odomykania"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Prechod súkromného priestoru"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Rozšírená ponuka"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 57289d3..5f18f26 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Razdeljen zaslon"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Podatki o aplikaciji za: %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Shrani par aplikacij"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Pridržite pripomoček, da ga premaknete."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvakrat se dotaknite pripomočka in ga pridržite, da ga premaknete, ali pa uporabite dejanja po meri."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Mapa je preimenovana v <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Mapa: <xliff:g id="NAME">%1$s</xliff:g>, št. elementov: <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Mapa: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ali več elementov"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Par aplikacij: <xliff:g id="APP1">%1$s</xliff:g> in <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Zaslonsko ozadje in slog"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Urejanje začetnega zaslona"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Domače nastavitve"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Začasno zaustavi delovne aplikacije"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Znova aktiviraj"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtriranje"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Iskanje po telefonu"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Iskanje po tabličnem računalniku"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Ni uspelo: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Zasebni prostor"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Zasebno"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Nastavitve zasebnega prostora"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Zaklepanje/odklepanje zasebnega prostora"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Preklapljanje zasebnega prostora"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Oblaček z dodatnimi elementi"</string>
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 7dee8aa..c06fc7e 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Ekrani i ndarë"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Informacioni i aplikacionit për %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Ruaj çiftin e aplikacioneve"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Prek dhe mbaj shtypur një miniaplikacion për ta zhvendosur."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Trokit dy herë dhe mbaje shtypur një miniapliikacion për ta zhvendosur atë ose për të përdorur veprimet e personalizuara."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Dosja u riemërtua në <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Dosja: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> artikuj"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Dosja: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ose më shumë artikuj"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Çifti i aplikacioneve: <xliff:g id="APP1">%1$s</xliff:g> dhe <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Imazhi i sfondit dhe stili"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Modifiko ekranin bazë"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Cilësimet e ekranit bazë"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Vendos në pauzë aplikacionet e punës"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Hiq nga pauza"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtro"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Kërko në telefonin tënd"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Kërko në tabletin tënd"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Dështoi: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Hapësira private"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Private"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Cilësimet e \"Hapësirës private\""</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Kyç/Shkyç \"Hapësirën private\""</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Kalimi te \"Hapësira private\""</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Tejkalimi"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 7121c53..eb3bc64 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Подељени екран"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Информације о апликацији за: %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Сачувај пар апликација"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Додирните и задржите ради померања виџета."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Двапут додирните и задржите да бисте померали виџет или користите прилагођене радње."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d×%2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Фолдер је преименован у <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Фолдер: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ставке"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Фолдер: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> или више ставки"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Пар апликација: <xliff:g id="APP1">%1$s</xliff:g> и <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Позадина и стил"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Измени почетни екран"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Подешавања почетног екрана"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Паузирај пословне апликације"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Поново активирај"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Филтер"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Претражите телефон"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Претражите таблет"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Није успело: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Приватни простор"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Приватно"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Подешавања приватног простора"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Закључај/откључај приватни простор"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Пренос приватног простора"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Преклопно"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index aeaf708..6824cc1 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Delad skärm"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Appinformation för %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Spara appar som ska användas tillsammans"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Tryck länge för att flytta en widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Tryck snabbt två gånger och håll kvar för att flytta en widget eller använda anpassade åtgärder."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Mappen har bytt namn till <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Mapp: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> objekt"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Mapp: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> eller fler objekt"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Appar som ska användas tillsammans: <xliff:g id="APP1">%1$s</xliff:g> och <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Bakgrund och utseende"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Redigera startskärm"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Startinställningar"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Pausa jobbappar"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Återuppta"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Sök på telefonen"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Sök på surfplattan"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Misslyckades: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Privat rum"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Privat"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Inställningar för privat rum"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Lås eller lås upp ditt privata rum"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Överföring av privat rum"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Fler alternativ"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 5be3bf3..788a06a 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Gawa skrini"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Maelezo ya programu ya %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Hifadhi jozi ya programu"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Gusa na ushikilie ili usogeze wijeti."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Gusa mara mbili na ushikilie ili usogeze wijeti au utumie vitendo maalum."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Folda imebadilishwa jina kuwa <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folda: <xliff:g id="NAME">%1$s</xliff:g>, vipengee <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folda: <xliff:g id="NAME">%1$s</xliff:g>, vipengee <xliff:g id="SIZE">%2$d</xliff:g> au zaidi"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Jozi ya programu: <xliff:g id="APP1">%1$s</xliff:g> na <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Mandhari na mtindo"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Badilisha Skrini ya Kwanza"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Mipangilio ya mwanzo"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Simamisha programu za kazini"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Acha kusimamisha"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Kichujio"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Tafuta kwenye simu yako"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Tafuta kwenye kompyuta kibao yako"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Hitilafu: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Nafasi ya faragha"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Ya Faragha"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Mipangilio ya Nafasi ya Faragha"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Funga/Fungua Nafasi ya Faragha"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Mabadiliko ya Nafasi ya Faragha"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Menyu ya vipengee vya ziada"</string>
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index ec287f5..6c89de9 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"திரைப் பிரிப்பு"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$sக்கான ஆப்ஸ் தகவல்கள்"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ஆப்ஸ் ஜோடியைச் சேமி"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"விட்ஜெட்டை நகர்த்தத் தொட்டுப் பிடிக்கவும்."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"விட்ஜெட்டை நகர்த்த இருமுறை தட்டிப் பிடிக்கவும் அல்லது பிரத்தியேகச் செயல்களைப் பயன்படுத்தவும்."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ஃபோல்டர் <xliff:g id="NAME">%1$s</xliff:g> என மறுபெயரிடப்பட்டது"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ஃபோல்டர்: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ஃபைல்கள்"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ஃபோல்டர்: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> அல்லது அதற்கு அதிகமான ஃபைல்கள்"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"ஆப்ஸ் ஜோடி: <xliff:g id="APP1">%1$s</xliff:g> மற்றும் <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"வால்பேப்பர் &amp; ஸ்டைல்"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"முகப்புத் திரையில் மாற்று"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"முகப்பு அமைப்புகள்"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"பணி ஆப்ஸை இடைநிறுத்து"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"மீண்டும் இயக்கு"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"வடிப்பான்"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"உங்கள் மொபைலில் தேடுதல்"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"உங்கள் டேப்லெட்டில் தேடுதல்"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"தோல்வி: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"தனிப்பட்ட சேமிப்பிடம்"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"தனிப்பட்டது"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"தனிப்பட்ட சேமிப்பிட அமைப்புகள்"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"தனிப்பட்ட சேமிப்பிடத்தை லாக்/அன்லாக் செய்யும்"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"தனிப்பட்ட சேமிப்பிடத்திற்கு மாற்றுகிறது"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"கூடுதல் விருப்பங்களைக் காட்டும்"</string>
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 032a241..e58039f 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"స్ప్లిట్ స్క్రీన్"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s కోసం యాప్ సమాచారం"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"యాప్ పెయిర్‌ను సేవ్ చేయండి"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"విడ్జెట్‌ను తరలించడానికి తాకి &amp; నొక్కి ఉంచండి."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"విడ్జెట్‌ను తరలించడానికి లేదా అనుకూల చర్యలను ఉపయోగించడానికి రెండుసార్లు నొక్కండి &amp; హోల్డ్ చేయి."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"ఫోల్డర్ పేరు <xliff:g id="NAME">%1$s</xliff:g>గా మార్చబడింది"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"ఫోల్డర్: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> ఐటెమ్‌లు"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"ఫోల్డర్: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> లేదా అంతకంటే ఎక్కువ ఐటెమ్‌లు"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"యాప్ పెయిర్: <xliff:g id="APP1">%1$s</xliff:g>, <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"వాల్‌పేపర్ &amp; స్టయిల్"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"మొదటి స్క్రీన్‌ను ఎడిట్ చేయండి"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"మొదటి స్క్రీన్ సెట్టింగ్‌లు"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"వర్క్ యాప్‌లను పాజ్ చేయండి"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"పాజ్ నుండి తీసివేయండి"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ఫిల్టర్ చేయి"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"మీ ఫోన్‌లో సెర్చ్ చేయండి"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"మీ టాబ్లెట్‌లో సెర్చ్ చేయండి"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"విఫలమైంది: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"ప్రైవేట్ స్పేస్"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ప్రైవేట్"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"ప్రైవేట్ స్పేస్ సెట్టింగ్‌లు"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ప్రైవేట్ స్పేస్‌ను లాక్/అన్‌లాక్ చేయండి"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"ప్రైవేట్ స్పేస్ కేటాయించడం జరుగుతుంది"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"ఓవర్‌ఫ్లో"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index fe79b12..0eff887 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"แยกหน้าจอ"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"ข้อมูลแอปสำหรับ %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"บันทึกคู่แอป"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"แตะค้างไว้เพื่อย้ายวิดเจ็ต"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"แตะสองครั้งค้างไว้เพื่อย้ายวิดเจ็ตหรือใช้การดำเนินการที่กำหนดเอง"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"เปลี่ยนชื่อโฟลเดอร์เป็น <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"โฟลเดอร์: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> รายการ"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"โฟลเดอร์: <xliff:g id="NAME">%1$s</xliff:g>, อย่างน้อย <xliff:g id="SIZE">%2$d</xliff:g> รายการ"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"คู่แอป: <xliff:g id="APP1">%1$s</xliff:g> และ <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"วอลเปเปอร์และรูปแบบ"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"แก้ไขหน้าจอหลัก"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"การตั้งค่าหน้าจอหลัก"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"หยุดแอปงานชั่วคราว"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"ยกเลิกการหยุดชั่วคราว"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"ตัวกรอง"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"ค้นหาในโทรศัพท์"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"ค้นหาในแท็บเล็ต"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"ไม่สำเร็จ: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"พื้นที่ส่วนตัว"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"ส่วนตัว"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"การตั้งค่าพื้นที่ส่วนตัว"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"ล็อก/ปลดล็อกพื้นที่ส่วนตัว"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"การเปลี่ยนไปใช้พื้นที่ส่วนตัว"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"การดำเนินการเพิ่มเติม"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index fe4aac1..3db2aba 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Split screen"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Impormasyon ng app para sa %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"I-save ang pares ng app"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Pindutin nang matagal para ilipat ang widget."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"I-double tap at pindutin nang matagal para ilipat ang widget o gumamit ng mga custom na pagkilos."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Pinalitan ang pangalan ng folder ng <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> (na) item"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Folder: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> o higit pang item"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Pares ng app: <xliff:g id="APP1">%1$s</xliff:g> at <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper &amp; istilo"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"I-edit ang Home Screen"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Mga setting ng Home"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"I-pause ang mga app para sa trabaho"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"I-unpause"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filter"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Maghanap sa iyong telepono"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Maghanap sa iyong tablet"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Hindi nagawa: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Pribadong space"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Pribado"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Mga Setting ng Pribadong Space"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"I-lock/I-unlock ang Pribadong Space"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Pag-transition ng Pribadong Space"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Overflow"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 8a836e6..78fc596 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Bölünmüş ekran"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s uygulama bilgileri"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Uygulama çiftini kaydedin"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Widget\'ı taşımak için dokunup basılı tutun."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Widget\'ı taşımak veya özel işlemleri kullanmak için iki kez dokunup basılı tutun."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Klasörün adı <xliff:g id="NAME">%1$s</xliff:g> olarak değiştirildi"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Klasör: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> öğe"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Klasör: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> veya daha fazla öğe"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Uygulama çifti: <xliff:g id="APP1">%1$s</xliff:g> ve <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Duvar kağıdı ve stil"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Ana ekranı düzenleyin"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Ana ekran ayarları"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"İş uygulamalarını duraklat"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Devam ettir"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Filtre"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"telefonunuzda arama yapmak"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Tabletinizde arama yapma"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Başarısız: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Gizli alan"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Gizli"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Gizli Alan Ayarları"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Gizli Alanı Kilitleyin/Kilidini Açın"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Gizli Alana Geçiş"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Taşma"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 5dc5d8e..b69558f 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Розділити екран"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Інформація про додаток для %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Зберегти пару додатків"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Натисніть і втримуйте, щоб перемістити віджет."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Двічі натисніть і втримуйте віджет, щоб перемістити його або виконати інші дії."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Папку перейменовано на <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Папка \"<xliff:g id="NAME">%1$s</xliff:g>\", елементів: <xliff:g id="SIZE">%2$d</xliff:g>"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Папка \"<xliff:g id="NAME">%1$s</xliff:g>\", елементів: <xliff:g id="SIZE">%2$d</xliff:g> або більше"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Одночасне використання двох додатків: <xliff:g id="APP1">%1$s</xliff:g> і <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Оформлення і стиль"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Редагувати головний екран"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Налаштування головного екрана"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Призупинити робочі додатки"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Відновити"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Фільтр"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Пошук на телефоні"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Пошук на планшеті"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Не вдалося <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Приватний простір"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Приватні"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Налаштування приватного простору"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Заблокувати/розблокувати приватний простір"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Перехід у приватний простір"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Додаткове меню"</string>
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 3994810..549f2a1 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"اسپلٹ اسکرین"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"‏%1$s کے لیے ایپ کی معلومات"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"ایپس کے جوڑے کو محفوظ کریں"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"ویجیٹ منتقل کرنے کے لیے ٹچ کریں اور پکڑ کر رکھیں۔"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ویجیٹ کو منتقل کرنے یا حسب ضرورت کارروائیاں استعمال کرنے کے لیے دوبار تھپتھپائیں اور پکڑ کر رکھیں۔"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"فولڈر کا نام تبدیل کر کے <xliff:g id="NAME">%1$s</xliff:g> کر دیا گیا"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"فولڈر: <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="SIZE">%2$d</xliff:g> آئٹمز"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"فولڈر: <xliff:g id="NAME">%1$s</xliff:g>، <xliff:g id="SIZE">%2$d</xliff:g> یا مزید آئٹمز"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"ایپس کا جوڑا: <xliff:g id="APP1">%1$s</xliff:g> اور <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"وال پیپر اور طرز"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"ہوم اسکرین میں ترمیم کریں"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"ہوم ترتیبات"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"ورک ایپس موقوف کریں"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"چلائیں"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"فلٹر"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"اپنے فون پر تلاش کریں"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"اپنے ٹیبلیٹ پر تلاش کریں"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"ناکام ہو گيا: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"نجی اسپیس"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"نجی"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"نجی اسپیس کی ترتیبات"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"نجی اسپیس کو مقفل کریں/غیر مقفل کریں"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"نجی اسپیس کی منتقلی"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"اوورفلو"</string>
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 405c4ef..7cacd96 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Ekranni ikkiga ajratish"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s ilovasi axboroti"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Ilova juftini saqlash"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Vidjetni bosib turgan holatda suring."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Ikki marta bosib va bosib turgan holatda vidjetni tanlang yoki maxsus amaldan foydalaning."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Jild nomi <xliff:g id="NAME">%1$s</xliff:g>ga o‘zgartirildi"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Jild: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> fayllar"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Jild: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> va undan ortiq fayllar"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Ilovani juftlash: <xliff:g id="APP1">%1$s</xliff:g> va <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fon rasmi va uslubi"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Bosh ekranni tahrirlash"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Bosh ekran sozlamalari"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Ishga oid ilovalarni pauza qilish"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Pauzadan chiqarish"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Saralash"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Telefondan qidirish"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Planshetingizni qidiring"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Xato: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Shaxsiy xona"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Yopiq"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Shaxsiy xona sozlamalari"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Shaxsiy xonani ochish/qulflash"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Maxfiy joyga almashtirish"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Kengaytirish"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 075a7b0..7f4487c 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Chia đôi màn hình"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Thông tin ứng dụng cho %1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Lưu cặp ứng dụng"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Chạm và giữ để di chuyển một tiện ích."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Nhấn đúp và giữ để di chuyển một tiện ích hoặc sử dụng các thao tác tùy chỉnh."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Đã đổi tên thư mục thành <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Thư mục: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> mục"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Thư mục: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> mục trở lên"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Cặp ứng dụng: <xliff:g id="APP1">%1$s</xliff:g> và <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Hình nền và phong cách"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Chỉnh sửa Màn hình chính"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Cài đặt màn hình chính"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Tạm dừng các ứng dụng công việc"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Bỏ tạm dừng"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Bộ lọc"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Tìm trên điện thoại"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Tìm kiếm trong máy tính bảng của bạn"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Không thực hiện được thao tác: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Không gian riêng tư"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Riêng tư"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Cài đặt không gian riêng tư"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Khoá/mở khoá không gian riêng tư"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Chuyển đổi sang không gian riêng tư"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Bong bóng bổ sung"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index e525c02..cfae584 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"分屏"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s 的应用信息"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"保存应用对"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"轻触并按住即可移动微件。"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"点按两次并按住微件即可移动该微件或使用自定义操作。"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"已将文件夹重命名为“<xliff:g id="NAME">%1$s</xliff:g>”"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"文件夹:<xliff:g id="NAME">%1$s</xliff:g>,<xliff:g id="SIZE">%2$d</xliff:g> 个项目"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"文件夹:<xliff:g id="NAME">%1$s</xliff:g>,<xliff:g id="SIZE">%2$d</xliff:g> 个或更多项目"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"应用对:“<xliff:g id="APP1">%1$s</xliff:g>”和“<xliff:g id="APP2">%2$s</xliff:g>”"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"壁纸与个性化"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"修改主屏幕"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"主屏幕设置"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"暂停工作应用"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"取消暂停"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"过滤器"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"手机内搜索"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"平板电脑内搜索"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"失败:<xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"私密空间"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"私密"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"私密空间设置"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"锁定/解锁私密空间"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"私密空间转换"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"菜单"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 0f0960e..e94a808 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"分割螢幕"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"%1$s 的應用程式資料"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"儲存應用程式配對"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"輕觸並按住即可移動小工具。"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"㩒兩下之後㩒住,就可以郁小工具或者用自訂操作。"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"資料夾已重新命名為「<xliff:g id="NAME">%1$s</xliff:g>」"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"資料夾:<xliff:g id="NAME">%1$s</xliff:g>,<xliff:g id="SIZE">%2$d</xliff:g> 個項目"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"資料夾:<xliff:g id="NAME">%1$s</xliff:g>,<xliff:g id="SIZE">%2$d</xliff:g> 個或以上的項目"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"應用程式配對:<xliff:g id="APP1">%1$s</xliff:g> 和 <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"桌布和樣式"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"編輯主畫面"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"主畫面設定"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"暫停工作應用程式"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"取消暫停"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"篩選器"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"搜尋手機內容"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"搜尋平板電腦內容"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"操作失敗:<xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"私人空間"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"私人"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"「私人空間」設定"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"鎖定/解鎖「私人空間」"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"轉為「私人空間」"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"顯示更多"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index cf40155..957bf45 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"分割畫面"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"「%1$s」的應用程式資訊"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"儲存應用程式配對"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"按住即可移動小工具。"</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"輕觸兩下並按住即可移動小工具或使用自訂操作。"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"已將資料夾重新命名為「<xliff:g id="NAME">%1$s</xliff:g>」"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"資料夾:<xliff:g id="NAME">%1$s</xliff:g>,<xliff:g id="SIZE">%2$d</xliff:g> 個項目"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"資料夾:<xliff:g id="NAME">%1$s</xliff:g>,<xliff:g id="SIZE">%2$d</xliff:g> 個以上的項目"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"應用程式配對:「<xliff:g id="APP1">%1$s</xliff:g>」與「<xliff:g id="APP2">%2$s</xliff:g>」"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"桌布和樣式"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"編輯主畫面"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"主畫面設定"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"暫停工作應用程式"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"取消暫停"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"篩選器"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"搜尋手機內容"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"搜尋平板電腦內容"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"失敗:<xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"私人空間"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"私人"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"私人空間設定"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"鎖定/取消鎖定私人空間"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"轉換私人空間狀態"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"溢位"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 6ccc4be..3051d09 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -30,6 +30,7 @@
     <string name="recent_task_option_split_screen" msgid="6690461455618725183">"Hlukanisa isikrini"</string>
     <string name="split_app_info_accessibility" msgid="5475288491241414932">"Ulwazi lwe-App ye-%1$s"</string>
     <string name="save_app_pair" msgid="5647523853662686243">"Londoloza i-app ebhangqiwe"</string>
+    <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="long_press_widget_to_add" msgid="3587712543577675817">"Thinta uphinde ubambe ukuze uhambise iwijethi."</string>
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Thepha kabili uphinde ubambe ukuze uhambise iwijethi noma usebenzise izindlela ezingokwezifiso."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
@@ -99,6 +100,7 @@
     <string name="folder_renamed" msgid="1794088362165669656">"Ifolda iqanjwe kabusha ngo-<xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="folder_name_format_exact" msgid="8626242716117004803">"Ifolda: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> izinto"</string>
     <string name="folder_name_format_overflow" msgid="4270108890534995199">"Ifolda: <xliff:g id="NAME">%1$s</xliff:g>, <xliff:g id="SIZE">%2$d</xliff:g> noma izinto eziningi"</string>
+    <string name="app_pair_name_format" msgid="8134106404716224054">"Ama-app abhangqwayo: I-<xliff:g id="APP1">%1$s</xliff:g> ne-<xliff:g id="APP2">%2$s</xliff:g>"</string>
     <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Isithombe sangemuva nesitayela"</string>
     <string name="edit_home_screen" msgid="8947858375782098427">"Hlela Isikrini Sasekhaya"</string>
     <string name="settings_button_text" msgid="8873672322605444408">"Amasethingi asekhaya"</string>
@@ -170,7 +172,15 @@
     <string name="work_apps_pause_btn_text" msgid="4669288269140620646">"Misa ama-app omsebenzi"</string>
     <string name="work_apps_enable_btn_text" msgid="1736198302467317371">"Susa ukumisa"</string>
     <string name="developer_options_filter_hint" msgid="5896817443635989056">"Hlunga"</string>
-    <string name="search_pref_screen_title" msgid="3258959643336315962">"Sesha ifoni yakho"</string>
-    <string name="search_pref_screen_title_tablet" msgid="5220319680451343959">"Sesha ithebulethi yakho"</string>
     <string name="remote_action_failed" msgid="1383965239183576790">"Yehlulekile: <xliff:g id="WHAT">%1$s</xliff:g>"</string>
+    <string name="private_space_label" msgid="2359721649407947001">"Isikhala esiyimfihlo"</string>
+    <string name="ps_container_title" msgid="4391796149519594205">"Okuyimfihlo"</string>
+    <string name="ps_container_settings" msgid="6059734123353320479">"Amasethingi Esikhala Esiyimfihlo"</string>
+    <string name="ps_container_lock_unlock_button" msgid="7605602332253423755">"Khiya/Vula Isikhala Esiyimfihlo"</string>
+    <string name="ps_container_transition" msgid="8667331812048014412">"Ukuguqulwa Kwendawo Yangasese"</string>
+    <!-- no translation found for ps_add_button_label (8611055839242385935) -->
+    <skip />
+    <!-- no translation found for ps_add_button_content_description (3254274107740952556) -->
+    <skip />
+    <string name="bubble_bar_overflow_description" msgid="7410995531938041192">"Ukugcwala kakhulu"</string>
 </resources>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index f046eca..754f0cb 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -42,6 +42,7 @@
     <attr name="overviewScrimColor" format="color" />
     <attr name="popupNotificationDotColor" format="color" />
     <attr name="notificationDotColor" format="color" />
+    <attr name="focusOutlineColor" format="color" />
 
     <attr name="folderPaginationColor" format="color" />
     <attr name="folderPreviewColor" format="color" />
@@ -164,7 +165,19 @@
 
         <!-- numFolderRows & numFolderColumns defaults to numRows & numColumns, if not specified -->
         <attr name="numFolderRows" format="integer" />
+        <!-- defaults to numFolderRows, if not specified -->
+        <attr name="numFolderRowsLandscape" format="integer" />
+        <!-- defaults to numFolderRows, if not specified -->
+        <attr name="numFolderRowsTwoPanelLandscape" format="integer" />
+        <!-- defaults to numFolderRows, if not specified -->
+        <attr name="numFolderRowsTwoPanelPortrait" format="integer" />
         <attr name="numFolderColumns" format="integer" />
+        <!-- defaults to numFolderColumns, if not specified -->
+        <attr name="numFolderColumnsLandscape" format="integer" />
+        <!-- defaults to numFolderColumns, if not specified -->
+        <attr name="numFolderColumnsTwoPanelLandscape" format="integer" />
+        <!-- defaults to numFolderColumns, if not specified -->
+        <attr name="numFolderColumnsTwoPanelPortrait" format="integer" />
         <!-- Support attributes in FolderStyle -->
         <attr name="folderStyle" format="reference" />
 
@@ -177,6 +190,10 @@
          defaults to 2 * numAllAppsColumns -->
         <attr name="numExtendedAllAppsColumns" format="integer" />
 
+        <!-- Number of rows to calculate the cell height for all apps when it's necessary.
+          Defaults to numRows. Requires FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE to be enabled. -->
+        <attr name="numAllAppsRowsForCellHeightCalculation" format="integer" />
+
         <!-- numHotseatIcons defaults to numColumns, if not specified -->
         <attr name="numHotseatIcons" format="integer" />
         <!-- Number of icons to use when extending the hotseat size,
@@ -207,19 +224,33 @@
         <!-- File that contains the specs for the workspace.
         Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
         <attr name="workspaceSpecsId" format="reference" />
+        <!-- defaults to workspaceSpecsId, if not specified -->
         <attr name="workspaceSpecsTwoPanelId" format="reference" />
         <!-- File that contains the specs for all apps.
         Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
         <attr name="allAppsSpecsId" format="reference" />
+        <!-- defaults to allAppsSpecsId, if not specified -->
         <attr name="allAppsSpecsTwoPanelId" format="reference" />
         <!-- File that contains the specs for the workspace.
         Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
         <attr name="folderSpecsId" format="reference" />
+        <!-- defaults to folderSpecsId, if not specified -->
         <attr name="folderSpecsTwoPanelId" format="reference" />
         <!-- File that contains the specs for hotseat bar.
         Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
         <attr name="hotseatSpecsId" format="reference" />
+        <!-- defaults to hotseatSpecsId, if not specified -->
         <attr name="hotseatSpecsTwoPanelId" format="reference" />
+        <!-- File that contains the specs for workspace icon and text size.
+        Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
+        <attr name="workspaceCellSpecsId" format="reference" />
+        <!-- defaults to workspaceCellSpecsId, if not specified -->
+        <attr name="workspaceCellSpecsTwoPanelId" format="reference" />
+        <!-- File that contains the specs for all apps icon and text size.
+        Needs FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE enabled -->
+        <attr name="allAppsCellSpecsId" format="reference" />
+        <!-- defaults to allAppsCellSpecsId, if not specified -->
+        <attr name="allAppsCellSpecsTwoPanelId" format="reference" />
 
         <!-- By default all categories are enabled -->
         <attr name="deviceCategory" format="integer">
@@ -261,30 +292,39 @@
 
     <!--  Responsive grids attributes  -->
     <declare-styleable name="ResponsiveSpec">
-        <attr name="specType" format="integer">
+        <attr name="dimensionType" format="integer">
             <enum name="height" value="0" />
             <enum name="width" value="1" />
         </attr>
         <attr name="maxAvailableSize" format="dimension" />
     </declare-styleable>
 
+    <declare-styleable name="ResponsiveSpecGroup">
+        <attr name="maxAspectRatio" format="float" />
+    </declare-styleable>
+
     <declare-styleable name="WorkspaceSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="FolderSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="AllAppsSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="HotseatSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
+        <attr name="maxAvailableSize" />
+    </declare-styleable>
+
+    <declare-styleable name="CellSpec">
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 6c3b54c..6a484d7 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -71,7 +71,7 @@
     <color name="folder_background_dark">#1F2020</color>
 
     <color name="folder_preview_light">#7FCFFF</color>
-    <color name="folder_preview_dark">#2A2A2A</color>
+    <color name="folder_preview_dark">#1E1F20</color>
 
     <color name="folder_pagination_color_light">#0B57D0</color>
     <color name="folder_pagination_color_dark">#A8C7FA</color>
diff --git a/res/values/config.xml b/res/values/config.xml
index 8f9731c..2a8ec28 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -86,6 +86,7 @@
     <string name="widget_holder_factory_class" translatable="false"></string>
     <string name="taskbar_search_session_controller_class" translatable="false"></string>
     <string name="taskbar_model_callbacks_factory_class" translatable="false"></string>
+    <string name="launcher_restore_event_logger_class" translatable="false"></string>
 
     <!-- View ID to use for QSB widget -->
     <item type="id" name="qsb_widget" />
@@ -118,8 +119,6 @@
     <item type="id" name="action_move_screen_forwards" />
     <item type="id" name="action_resize" />
     <item type="id" name="action_deep_shortcuts" />
-    <item type="id" name="action_shortcuts_and_notifications"/>
-    <item type="id" name="action_dismiss_notification" />
     <item type="id" name="action_remote_action_shortcut" />
     <item type="id" name="action_dismiss_prediction" />
     <item type="id" name="action_pin_prediction"/>
@@ -200,7 +199,6 @@
 
     <!-- Swipe back to home related -->
     <dimen name="swipe_back_window_scale_x_margin">10dp</dimen>
-    <dimen name="swipe_back_window_max_delta_y">160dp</dimen>
     <dimen name="swipe_back_window_corner_radius">40dp</dimen>
 
     <!-- The duration of the bottom sheet opening and closing animation -->
@@ -228,6 +226,10 @@
     <dimen name="iconSize60dp">66dp</dimen>
     <dimen name="iconSize66dp">72dp</dimen>
     <dimen name="iconSize72dp">79dp</dimen>
+    <dimen name="iconSize82dp">90dp</dimen>
+    <dimen name="iconSize110dp">121dp</dimen>
+    <dimen name="iconSize144dp">158dp</dimen>
+
 
     <!--  Icon size steps in dp  -->
     <integer-array name="icon_size_steps">
@@ -240,5 +242,19 @@
         <item>@dimen/iconSize60dp</item>
         <item>@dimen/iconSize66dp</item>
         <item>@dimen/iconSize72dp</item>
+        <item>@dimen/iconSize82dp</item>
+        <item>@dimen/iconSize110dp</item>
+        <item>@dimen/iconSize144dp</item>
     </integer-array>
+
+    <dimen name="minimum_icon_label_size">8sp</dimen>
+
+    <!--  Used for custom widgets  -->
+    <array name="custom_widget_providers"/>
+
+
+    <!-- Skip "Install to private" long-press shortcut packages name -->
+    <string-array name="skip_private_profile_shortcut_packages" translatable="false">
+        <item>com.android.settings</item>
+    </string-array>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 1079e00..603e697 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -103,6 +103,7 @@
     <dimen name="all_apps_search_bar_content_overlap">24dp</dimen>
     <dimen name="all_apps_search_bar_bottom_padding">30dp</dimen>
     <dimen name="all_apps_empty_search_message_top_offset">40dp</dimen>
+    <dimen name="all_apps_search_top_row_extra_height">4dp</dimen>
     <dimen name="all_apps_header_pill_height">48dp</dimen>
     <dimen name="all_apps_header_pill_corner_radius">12dp</dimen>
     <dimen name="all_apps_header_tab_height">48dp</dimen>
@@ -125,6 +126,9 @@
     <dimen name="all_apps_tip_bottom_margin">8dp</dimen>
     <dimen name="all_apps_height_extra">6dp</dimen>
     <dimen name="all_apps_paged_view_top_padding">40dp</dimen>
+    <dimen name="all_apps_recycler_view_decorator_padding">1dp</dimen>
+    <dimen name="all_apps_recycler_view_decorator_group_radius">28dp</dimen>
+    <dimen name="all_apps_recycler_view_decorator_result_radius">4dp</dimen>
 
     <dimen name="all_apps_icon_drawable_padding">8dp</dimen>
     <dimen name="all_apps_predicted_icon_vertical_padding">8dp</dimen>
@@ -132,6 +136,8 @@
     <dimen name="arrow_toast_corner_radius">2dp</dimen>
     <dimen name="arrow_toast_elevation">2dp</dimen>
     <dimen name="arrow_toast_arrow_width">10dp</dimen>
+    <dimen name="arrow_toast_arrow_height">10dp</dimen>
+    <dimen name="arrow_toast_text_size">14sp</dimen>
 
     <dimen name="all_apps_divider_margin_vertical">8dp</dimen>
 
@@ -141,6 +147,7 @@
     <dimen name="work_fab_icon_size">24dp</dimen>
     <dimen name="work_fab_text_start_margin">8dp</dimen>
     <dimen name="work_card_padding_horizontal">10dp</dimen>
+    <dimen name="work_fab_width">214dp</dimen>
     <dimen name="work_card_button_height">52dp</dimen>
     <dimen name="work_fab_margin">16dp</dimen>
     <dimen name="work_fab_margin_bottom">20dp</dimen>
@@ -149,6 +156,7 @@
     <dimen name="work_edu_card_margin">16dp</dimen>
     <dimen name="work_edu_card_radius">16dp</dimen>
     <dimen name="work_edu_card_bottom_margin">26dp</dimen>
+    <dimen name="work_edu_card_text_end_margin">32dp</dimen>
     <dimen name="work_apps_paused_button_stroke">1dp</dimen>
 
     <dimen name="work_card_margin">24dp</dimen>
@@ -173,6 +181,7 @@
     <dimen name="widget_tabs_horizontal_padding">16dp</dimen>
     <dimen name="widget_apps_tabs_vertical_padding">6dp</dimen>
     <dimen name="widget_picker_landscape_tablet_left_right_margin">117dp</dimen>
+    <dimen name="widget_picker_two_panels_left_right_margin">0dp</dimen>
 
     <dimen name="recommended_widgets_table_vertical_padding">8dp</dimen>
 
@@ -244,8 +253,7 @@
     <dimen name="keyboard_drag_stroke_width">4dp</dimen>
 
     <!-- Folders -->
-    <dimen name="page_indicator_dot_size">8dp</dimen>
-    <dimen name="page_indicator_dot_size_v2">6dp</dimen>
+    <dimen name="page_indicator_dot_size">6dp</dimen>
     <dimen name="page_indicator_size">10dp</dimen>
 
 
@@ -282,12 +290,12 @@
     <dimen name="pre_drag_view_scale">6dp</dimen>
     <!-- an icon with shortcuts must be dragged this far before the container is removed. -->
     <dimen name="deep_shortcuts_start_drag_threshold">16dp</dimen>
-    <dimen name="deep_shortcut_icon_size">32dp</dimen>
+    <!-- Possibly related to b/235886078, icon needs to be scaled up to match expected visual size of 32 dp -->
+    <dimen name="deep_shortcut_icon_size">35dp</dimen>
     <dimen name="popup_margin">2dp</dimen>
     <dimen name="popup_single_item_radius">100dp</dimen>
     <dimen name="popup_smaller_radius">4dp</dimen>
     <dimen name="deep_shortcut_drawable_padding">16dp</dimen>
-    <dimen name="deep_shortcut_drag_handle_size">16dp</dimen>
     <dimen name="popup_padding_start">10dp</dimen>
     <dimen name="popup_padding_end">14dp</dimen>
     <dimen name="popup_vertical_padding">4dp</dimen>
@@ -361,6 +369,12 @@
 
     <!-- Taskbar related (placeholders to compile in Launcher3 without Quickstep) -->
     <dimen name="taskbar_size">0dp</dimen>
+    <dimen name="taskbar_phone_size">@*android:dimen/navigation_bar_frame_height</dimen>
+    <dimen name="taskbar_phone_home_button_size">80dp</dimen>
+    <dimen name="taskbar_phone_content_padding">8dp</dimen>
+    <dimen name="taskbar_phone_rounded_corner_content_margin">
+        @*android:dimen/rounded_corner_content_padding
+    </dimen>
     <dimen name="taskbar_stashed_size">0dp</dimen>
     <dimen name="qsb_widget_height">0dp</dimen>
     <dimen name="qsb_shadow_height">0dp</dimen>
@@ -385,6 +399,9 @@
     <dimen name="taskbar_button_margin_split">0dp</dimen>
     <dimen name="taskbar_button_margin_6_5">0dp</dimen>
 
+    <!-- Bubble bar (placeholders to compile in Launcher3 without Quickstep) -->
+    <dimen name="bubblebar_hotseat_adjustment_threshold">0dp</dimen>
+
     <!-- Size of the maximum radius for the enforced rounded rectangles. -->
     <dimen name="enforced_rounded_corner_max_radius">16dp</dimen>
 
@@ -395,6 +412,13 @@
     <dimen name="task_thumbnail_icon_size">0dp</dimen>
     <dimen name="task_thumbnail_icon_drawable_size">0dp</dimen>
     <dimen name="task_thumbnail_icon_drawable_size_grid">0dp</dimen>
+    <dimen name="task_thumbnail_icon_menu_max_width">0dp</dimen>
+    <dimen name="task_thumbnail_icon_menu_start_margin">0dp</dimen>
+    <dimen name="task_thumbnail_icon_menu_background_max_width">0dp</dimen>
+    <dimen name="task_thumbnail_icon_menu_corner_radius">0dp</dimen>
+    <dimen name="task_thumbnail_icon_menu_drawable_size">0dp</dimen>
+    <dimen name="task_thumbnail_icon_menu_drawable_touch_size">0dp</dimen>
+    <dimen name="task_menu_edge_padding">0dp</dimen>
     <dimen name="overview_task_margin">0dp</dimen>
     <dimen name="overview_actions_height">0dp</dimen>
     <dimen name="overview_actions_button_spacing">0dp</dimen>
@@ -403,6 +427,9 @@
     <dimen name="overview_grid_side_margin">0dp</dimen>
     <dimen name="overview_grid_row_spacing">0dp</dimen>
     <dimen name="overview_page_spacing">0dp</dimen>
+    <dimen name="overview_top_margin_grid_only">0dp</dimen>
+    <dimen name="overview_bottom_margin_grid_only">0dp</dimen>
+
     <dimen name="split_placeholder_size">72dp</dimen>
     <dimen name="split_placeholder_inset">16dp</dimen>
     <dimen name="split_placeholder_icon_size">44dp</dimen>
@@ -414,9 +441,13 @@
     <dimen name="split_instructions_drawable_padding">10dp</dimen>
     <dimen name="split_instructions_bottom_margin_phone_landscape">24dp</dimen>
     <dimen name="split_instructions_bottom_margin_phone_portrait">60dp</dimen>
-    
+    <dimen name="split_instructions_start_margin_cancel">8dp</dimen>
+
+    <dimen name="focus_outline_radius">16dp</dimen>
+    <dimen name="focus_outline_stroke_width">3dp</dimen>
+
     <!-- Workspace grid visualization parameters -->
-    <dimen name="grid_visualization_rounding_radius">28dp</dimen>
+    <dimen name="grid_visualization_rounding_radius">16dp</dimen>
     <dimen name="grid_visualization_horizontal_cell_spacing">6dp</dimen>
     <dimen name="grid_visualization_vertical_cell_spacing">6dp</dimen>
 
@@ -443,4 +474,17 @@
     <!-- Default Ime height. Used only for logging purposes.
     Assume this is default keyboard height in EN locale in case the keyboard height is not known when queried.-->
     <dimen name="default_ime_height">300dp</dimen>
+
+    <!-- Private Space parameters -->
+    <dimen name="ps_container_corner_radius">24dp</dimen>
+    <dimen name="ps_header_height">64dp</dimen>
+    <dimen name="ps_header_relative_layout_height">48dp</dimen>
+    <dimen name="ps_header_image_height">36dp</dimen>
+    <dimen name="ps_header_text_height">24dp</dimen>
+    <dimen name="ps_header_layout_margin">16dp</dimen>
+    <dimen name="ps_header_settings_icon_margin_end">8dp</dimen>
+    <dimen name="ps_header_text_size">16sp</dimen>
+    <dimen name="ps_button_height">36dp</dimen>
+    <dimen name="ps_button_width">36dp</dimen>
+    <dimen name="ps_lock_button_width">89dp</dimen>
 </resources>
diff --git a/res/values/id.xml b/res/values/id.xml
index 7b812de..6156c91 100644
--- a/res/values/id.xml
+++ b/res/values/id.xml
@@ -43,4 +43,12 @@
     <item type="id" name="saved_floating_widget_foreground" />
     <item type="id" name="saved_floating_widget_background" />
 
+    <item type="id" name="dismiss_view" />
+
+    <!-- Private Space parameters -->
+    <item type="id" name="ps_container_header" />
+    <item type="id" name="ps_lock_unlock_button" />
+    <item type="id" name="ps_settings_button" />
+    <item type="id" name="ps_transition_image" />
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1b46b4d..5efe940 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -44,6 +44,8 @@
 
     <!-- App pairs -->
     <string name="save_app_pair">Save app pair</string>
+    <!-- App pair default title -->
+    <string name="app_pair_default_title"><xliff:g id="app1" example="Chrome">%1$s</xliff:g> | <xliff:g id="app2" example="YouTube">%2$s</xliff:g></string>
 
     <!-- Widgets -->
     <!-- Message to tell the user to press and hold on a widget to add it [CHAR_LIMIT=50] -->
@@ -169,9 +171,11 @@
     <string name="uninstall_drop_target_label">Uninstall</string>
     <!-- Label for app info drop target. [CHAR_LIMIT=20] -->
     <string name="app_info_drop_target_label">App info</string>
+    <!-- Label for install to private profile shortcut label. [CHAR_LIMIT=20] -->
+    <string name="install_private_system_shortcut_label">Install in private</string>
     <!-- Label for install drop target. [CHAR_LIMIT=20] -->
     <string name="install_drop_target_label">Install</string>
-    <!-- Label for install dismiss prediction. -->
+    <!-- Label for dismiss prediction. -->
     <string name="dismiss_prediction_label">Don\'t suggest app</string>
     <!-- Label for pinning predicted app. -->
     <string name="pin_prediction">Pin Prediction</string>
@@ -248,6 +252,10 @@
     <!-- Folder name format when folder has 4 or more items shown in preview-->
     <string name="folder_name_format_overflow">Folder: <xliff:g id="name" example="Games">%1$s</xliff:g>, <xliff:g id="size" example="2">%2$d</xliff:g> or more items</string>
 
+    <!-- App pair accessibility -->
+    <!-- App pair name -->
+    <string name="app_pair_name_format">App pair: <xliff:g id="app1" example="Chrome">%1$s</xliff:g> and <xliff:g id="app2" example="YouTube">%2$s</xliff:g></string>
+
     <!-- Strings for the customization mode -->
     <!-- Text for wallpaper change button [CHAR LIMIT=30]-->
     <string name="styles_wallpaper_button_text">Wallpaper &amp; style</string>
@@ -394,9 +402,6 @@
 
     <!-- Accessibility action to show quick actions menu for an icon. [CHAR_LIMIT=30] -->
     <string name="action_deep_shortcut">Shortcuts</string>
-    <!-- Accessibility description when the context menu of a launcher icon that has notifications as well as shortcuts (providing quick access to app's actions). The "shortcuts" translation should be consistent with the one for action_deep_shortcut. [CHAR_LIMIT=50] -->
-    <string name="shortcuts_menu_with_notifications_description">Shortcuts and notifications
-    </string>
 
     <!-- Accessibility action to dismiss a notification in the shortcuts menu for an icon. [CHAR_LIMIT=30] -->
     <string name="action_dismiss_notification">Dismiss</string>
@@ -404,9 +409,6 @@
     <!-- Content description for arrow tip close button. [CHAR LIMIT=NONE] -->
     <string name="accessibility_close">Close</string>
 
-    <!-- Accessibility confirmation for notification being dismissed. -->
-    <string name="notification_dismissed">Notification dismissed</string>
-
     <!-- Label of tab to indicate personal apps -->
     <string name="all_apps_personal_tab">Personal</string>
 
@@ -433,7 +435,7 @@
     <!-- button string shown to dismiss work tab education -->
     <string name="work_apps_paused_edu_accept">Got it</string>
 
-    <!-- button string shown pause work profile -->
+    <!-- button string shown pause work profile [CHAR LIMIT=28] -->
     <string name="work_apps_pause_btn_text">Pause work apps</string>
     <!-- button string shown enable work profile -->
     <string name="work_apps_enable_btn_text">Unpause</string>
@@ -441,10 +443,26 @@
     <!-- A hint shown in launcher settings develop options filter box -->
     <string name="developer_options_filter_hint">Filter</string>
 
-    <!-- Title for preference screen show in Home Settings related to smart search preferences. [CHAR LIMIT=50]-->
-    <string name="search_pref_screen_title">Search your phone</string>
-    <!-- Title for preference screen show in Home Settings related to smart search preferences. [CHAR LIMIT=50]-->
-    <string name="search_pref_screen_title_tablet">Search your tablet</string>
     <!-- Failed action error message: e.g. Failed: Pause -->
     <string name="remote_action_failed">Failed: <xliff:g id="what" example="Pause">%1$s</xliff:g></string>
+
+    <!-- Strings for Private Space -->
+    <!-- Private space label -->
+    <string name="private_space_label">Private space</string>
+    <!-- Title for Private Space Container shown at the bottom of all apps drawer -->
+    <string name="ps_container_title">Private</string>
+    <!-- Description for Private Space Settings button -->
+    <string name="ps_container_settings">Private Space Settings</string>
+    <!-- Description for Private Space Lock/Unlock button -->
+    <string name="ps_container_lock_unlock_button">Lock/Unlock Private Space</string>
+    <!-- Description for Private Space Transition button -->
+    <string name="ps_container_transition">Private Space Transitioning</string>
+    <!-- Title for Private Space install app icon -->
+    <string name="ps_add_button_label">Install apps</string>
+    <!-- Content description for install app icon -->
+    <string name="ps_add_button_content_description">Install apps to Private Space</string>
+
+    <!-- Strings for bubble bar -->
+    <!-- content description for the overflow bubble [CHAR_LIMIT=none] -->
+    <string name="bubble_bar_overflow_description">Overflow</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 4cb6414..b83be35 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -52,6 +52,7 @@
         <item name="workspaceAmbientShadowColor">#40000000</item>
         <item name="workspaceKeyShadowColor">#89000000</item>
         <item name="widgetsTheme">@style/WidgetContainerTheme</item>
+        <item name="focusOutlineColor">@color/material_color_on_secondary_container</item>
         <item name="folderPaginationColor">@color/folder_pagination_color_light</item>
         <item name="folderPreviewColor">@color/folder_preview_light</item>
         <item name="folderBackgroundColor">@color/folder_background_light</item>
@@ -409,6 +410,12 @@
         <item name="android:windowTranslucentStatus">true</item>
     </style>
 
+    <style name="ProxyActivityStarterTheme" parent="@android:style/Theme.Translucent.NoTitleBar">
+        <item name="android:navigationBarColor">@android:color/transparent</item>
+        <item name="android:statusBarColor">@android:color/transparent</item>
+        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
+    </style>
+
     <style name="FolderStyleDefault">
         <item name="folderTopPadding">24dp</item>
         <item name="folderCellHeight">94dp</item>
@@ -429,4 +436,10 @@
         <item name="arrowTipBackground">@color/arrow_tip_view_bg</item>
         <item name="arrowTipTextColor">@color/arrow_tip_view_content</item>
     </style>
+
+    <style name="PrivateSpaceHeaderTextStyle">
+        <item name="android:textSize">16sp</item>
+        <item name="android:textColor">@color/material_color_on_surface</item>
+        <item name="android:fontFamily">google-sans-text-medium</item>
+    </style>
 </resources>
diff --git a/src/com/android/launcher3/AbstractFloatingView.java b/src/com/android/launcher3/AbstractFloatingView.java
index b845c88..f72c556 100644
--- a/src/com/android/launcher3/AbstractFloatingView.java
+++ b/src/com/android/launcher3/AbstractFloatingView.java
@@ -104,6 +104,7 @@
     public static final int TYPE_ADD_TO_HOME_CONFIRMATION = 1 << 19;
     public static final int TYPE_TASKBAR_OVERLAY_PROXY = 1 << 20;
     public static final int TYPE_TASKBAR_PINNING_POPUP = 1 << 21;
+    public static final int TYPE_PIN_IME_POPUP = 1 << 22;
 
     public static final int TYPE_ALL = TYPE_FOLDER | TYPE_ACTION_POPUP
             | TYPE_WIDGETS_BOTTOM_SHEET | TYPE_WIDGET_RESIZE_FRAME | TYPE_WIDGETS_FULL_SHEET
@@ -112,17 +113,18 @@
             | TYPE_ICON_SURFACE | TYPE_DRAG_DROP_POPUP | TYPE_PIN_WIDGET_FROM_EXTERNAL_POPUP
             | TYPE_WIDGETS_EDUCATION_DIALOG | TYPE_TASKBAR_EDUCATION_DIALOG | TYPE_TASKBAR_ALL_APPS
             | TYPE_OPTIONS_POPUP_DIALOG | TYPE_ADD_TO_HOME_CONFIRMATION
-            | TYPE_TASKBAR_OVERLAY_PROXY | TYPE_TASKBAR_PINNING_POPUP;
+            | TYPE_TASKBAR_OVERLAY_PROXY | TYPE_TASKBAR_PINNING_POPUP | TYPE_PIN_IME_POPUP;
 
     // Type of popups which should be kept open during launcher rebind
     public static final int TYPE_REBIND_SAFE = TYPE_WIDGETS_FULL_SHEET
             | TYPE_WIDGETS_BOTTOM_SHEET | TYPE_ON_BOARD_POPUP | TYPE_DISCOVERY_BOUNCE
             | TYPE_ALL_APPS_EDU | TYPE_ICON_SURFACE | TYPE_WIDGETS_EDUCATION_DIALOG
             | TYPE_TASKBAR_EDUCATION_DIALOG | TYPE_TASKBAR_ALL_APPS | TYPE_OPTIONS_POPUP_DIALOG
-            | TYPE_TASKBAR_OVERLAY_PROXY;
+            | TYPE_TASKBAR_OVERLAY_PROXY | TYPE_PIN_IME_POPUP;
 
+    /** Type of popups that should get exclusive accessibility focus. */
     public static final int TYPE_ACCESSIBLE = TYPE_ALL & ~TYPE_DISCOVERY_BOUNCE & ~TYPE_LISTENER
-            & ~TYPE_ALL_APPS_EDU;
+            & ~TYPE_ALL_APPS_EDU & ~TYPE_TASKBAR_ALL_APPS & ~TYPE_PIN_IME_POPUP;
 
     // These view all have particular operation associated with swipe down interaction.
     public static final int TYPE_STATUS_BAR_SWIPE_DOWN_DISALLOW = TYPE_WIDGETS_BOTTOM_SHEET |
@@ -133,7 +135,12 @@
     public static final int TYPE_TASKBAR_OVERLAYS =
             TYPE_TASKBAR_ALL_APPS | TYPE_TASKBAR_EDUCATION_DIALOG;
 
-    public static final int TYPE_ALL_EXCEPT_ON_BOARD_POPUP = TYPE_ALL & ~TYPE_ON_BOARD_POPUP;
+    // Floating views that a TouchController should not try to intercept touches from.
+    public static final int TYPE_TOUCH_CONTROLLER_NO_INTERCEPT = TYPE_ALL & ~TYPE_DISCOVERY_BOUNCE
+            & ~TYPE_LISTENER & ~TYPE_TASKBAR_OVERLAYS;
+
+    public static final int TYPE_ALL_EXCEPT_ON_BOARD_POPUP = TYPE_ALL & ~TYPE_ON_BOARD_POPUP
+            & ~TYPE_PIN_IME_POPUP;
 
     protected boolean mIsOpen;
 
diff --git a/src/com/android/launcher3/AppWidgetResizeFrame.java b/src/com/android/launcher3/AppWidgetResizeFrame.java
index 7131452..79b831e 100644
--- a/src/com/android/launcher3/AppWidgetResizeFrame.java
+++ b/src/com/android/launcher3/AppWidgetResizeFrame.java
@@ -3,6 +3,7 @@
 import static com.android.launcher3.CellLayout.SPRING_LOADED_PROGRESS;
 import static com.android.launcher3.LauncherAnimUtils.LAYOUT_HEIGHT;
 import static com.android.launcher3.LauncherAnimUtils.LAYOUT_WIDTH;
+import static com.android.launcher3.LauncherPrefs.RECONFIGURABLE_WIDGET_EDUCATION_TIP_SEEN;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_WIDGET_RESIZE_COMPLETED;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_WIDGET_RESIZE_STARTED;
 import static com.android.launcher3.views.BaseDragLayer.LAYOUT_X;
@@ -11,6 +12,7 @@
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.AnimatorSet;
+import android.animation.LayoutTransition;
 import android.animation.ObjectAnimator;
 import android.animation.PropertyValuesHolder;
 import android.appwidget.AppWidgetProviderInfo;
@@ -26,12 +28,15 @@
 import android.widget.ImageButton;
 import android.widget.ImageView;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.Px;
 
+import com.android.launcher3.LauncherConstants.ActivityCodes;
 import com.android.launcher3.accessibility.DragViewStateAnnouncer;
 import com.android.launcher3.celllayout.CellLayoutLayoutParams;
 import com.android.launcher3.celllayout.CellPosMapper.CellPos;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.dragndrop.DragLayer;
 import com.android.launcher3.keyboard.ViewGroupFocusHelper;
 import com.android.launcher3.logging.InstanceId;
@@ -47,15 +52,16 @@
 import java.util.List;
 
 public class AppWidgetResizeFrame extends AbstractFloatingView implements View.OnKeyListener {
-    private static final int SNAP_DURATION = 150;
+    private static final int SNAP_DURATION_MS = 150;
     private static final float DIMMED_HANDLE_ALPHA = 0f;
     private static final float RESIZE_THRESHOLD = 0.66f;
+    private static final int RESIZE_TRANSITION_DURATION_MS = 150;
 
-    private static final String KEY_RECONFIGURABLE_WIDGET_EDUCATION_TIP_SEEN =
-            "launcher.reconfigurable_widget_education_tip_seen";
     private static final Rect sTmpRect = new Rect();
     private static final Rect sTmpRect2 = new Rect();
 
+    private static final int[] sDragLayerLoc = new int[2];
+
     private static final int HANDLE_COUNT = 4;
     private static final int INDEX_LEFT = 0;
     private static final int INDEX_TOP = 1;
@@ -124,6 +130,12 @@
     private int mTopTouchRegionAdjustment = 0;
     private int mBottomTouchRegionAdjustment = 0;
 
+    private int[] mWidgetViewWindowPos;
+    private final Rect mWidgetViewOldRect = new Rect();
+    private final Rect mWidgetViewNewRect = new Rect();
+    private final @Nullable LauncherAppWidgetHostView.CellChildViewPreLayoutListener
+            mCellChildViewPreLayoutListener;
+
     private int mXDown, mYDown;
 
     public AppWidgetResizeFrame(Context context) {
@@ -140,6 +152,18 @@
         mLauncher = Launcher.getLauncher(context);
         mStateAnnouncer = DragViewStateAnnouncer.createFor(this);
 
+        mCellChildViewPreLayoutListener = FeatureFlags.ENABLE_WIDGET_TRANSITION_FOR_RESIZING.get()
+                ? (v, left, top, right, bottom) -> {
+                            if (mWidgetViewWindowPos == null) {
+                                mWidgetViewWindowPos = new int[2];
+                            }
+                            v.getLocationInWindow(mWidgetViewWindowPos);
+                            mWidgetViewOldRect.set(v.getLeft(), v.getTop(), v.getRight(),
+                                    v.getBottom());
+                            mWidgetViewNewRect.set(left, top, right, bottom);
+                        }
+                : null;
+
         mBackgroundPadding = getResources()
                 .getDimensionPixelSize(R.dimen.resize_frame_background_padding);
         mTouchTargetWidth = 2 * mBackgroundPadding;
@@ -247,19 +271,26 @@
                         .startConfigActivity(
                                 mLauncher,
                                 mWidgetView.getAppWidgetId(),
-                                Launcher.REQUEST_RECONFIGURE_APPWIDGET);
+                                ActivityCodes.REQUEST_RECONFIGURE_APPWIDGET);
             });
             if (!hasSeenReconfigurableWidgetEducationTip()) {
                 post(() -> {
                     if (showReconfigurableWidgetEducationTip() != null) {
-                        mLauncher.getSharedPrefs().edit()
-                                .putBoolean(KEY_RECONFIGURABLE_WIDGET_EDUCATION_TIP_SEEN,
-                                        true).apply();
+                        LauncherPrefs.get(getContext()).put(
+                                RECONFIGURABLE_WIDGET_EDUCATION_TIP_SEEN, true);
                     }
                 });
             }
         }
 
+        if (FeatureFlags.ENABLE_WIDGET_TRANSITION_FOR_RESIZING.get()) {
+            mWidgetView.setCellChildViewPreLayoutListener(mCellChildViewPreLayoutListener);
+            mWidgetViewOldRect.set(mWidgetView.getLeft(), mWidgetView.getTop(),
+                    mWidgetView.getRight(),
+                    mWidgetView.getBottom());
+            mWidgetViewNewRect.set(mWidgetViewOldRect);
+        }
+
         CellLayoutLayoutParams lp = (CellLayoutLayoutParams) mWidgetView.getLayoutParams();
         ItemInfo widgetInfo = (ItemInfo) mWidgetView.getTag();
         CellPos presenterPos = mLauncher.getCellPosMapper().mapModelToPresenter(widgetInfo);
@@ -344,22 +375,6 @@
 
         resizeWidgetIfNeeded(false);
 
-        // When the widget resizes in multi-window mode, the translation value changes to maintain
-        // a center fit. These overrides ensure the resize frame always aligns with the widget view.
-        getSnappedRectRelativeToDragLayer(sTmpRect);
-        if (mLeftBorderActive) {
-            lp.width = sTmpRect.width() + sTmpRect.left - lp.x;
-        }
-        if (mTopBorderActive) {
-            lp.height = sTmpRect.height() + sTmpRect.top - lp.y;
-        }
-        if (mRightBorderActive) {
-            lp.x = sTmpRect.left;
-        }
-        if (mBottomBorderActive) {
-            lp.y = sTmpRect.top;
-        }
-
         // Handle invalid resize across CellLayouts in the two panel UI.
         if (mCellLayout.getParent() instanceof Workspace) {
             Workspace<?> workspace = (Workspace<?>) mCellLayout.getParent();
@@ -508,9 +523,13 @@
      * Returns the rect of this view when the frame is snapped around the widget, with the bounds
      * relative to the {@link DragLayer}.
      */
-    private void getSnappedRectRelativeToDragLayer(Rect out) {
+    private void getSnappedRectRelativeToDragLayer(@NonNull Rect out) {
         float scale = mWidgetView.getScaleToFit();
-        mDragLayer.getViewRectRelativeToSelf(mWidgetView, out);
+        if (FeatureFlags.ENABLE_WIDGET_TRANSITION_FOR_RESIZING.get()) {
+            getViewRectRelativeToDragLayer(out);
+        } else {
+            mDragLayer.getViewRectRelativeToSelf(mWidgetView, out);
+        }
 
         int width = 2 * mBackgroundPadding + Math.round(scale * out.width());
         int height = 2 * mBackgroundPadding + Math.round(scale * out.height());
@@ -523,7 +542,41 @@
         out.bottom = out.top + height;
     }
 
+    private void getViewRectRelativeToDragLayer(@NonNull Rect out) {
+        int[] afterPos = getViewPosRelativeToDragLayer();
+        out.set(afterPos[0], afterPos[1], afterPos[0] + mWidgetViewNewRect.width(),
+                afterPos[1] + mWidgetViewNewRect.height());
+    }
+
+    /** Returns the relative x and y values of the widget view after the layout transition */
+    private int[] getViewPosRelativeToDragLayer() {
+        mDragLayer.getLocationInWindow(sDragLayerLoc);
+        int x = sDragLayerLoc[0];
+        int y = sDragLayerLoc[1];
+
+        if (mWidgetViewWindowPos == null) {
+            mWidgetViewWindowPos = new int[2];
+            mWidgetView.getLocationInWindow(mWidgetViewWindowPos);
+        }
+
+        int leftOffset = mWidgetViewNewRect.left - mWidgetViewOldRect.left;
+        int topOffset = mWidgetViewNewRect.top - mWidgetViewOldRect.top;
+
+        return new int[] {mWidgetViewWindowPos[0] - x + leftOffset,
+                mWidgetViewWindowPos[1] - y + topOffset};
+    }
+
     private void snapToWidget(boolean animate) {
+        // The widget is guaranteed to be attached to the cell layout at this point, thus setting
+        // the transition here
+        if (FeatureFlags.ENABLE_WIDGET_TRANSITION_FOR_RESIZING.get()
+                && mWidgetView.getLayoutTransition() == null) {
+            final LayoutTransition transition = new LayoutTransition();
+            transition.setDuration(RESIZE_TRANSITION_DURATION_MS);
+            transition.enableTransitionType(LayoutTransition.CHANGING);
+            mWidgetView.setLayoutTransition(transition);
+        }
+
         getSnappedRectRelativeToDragLayer(sTmpRect);
         int newWidth = sTmpRect.width();
         int newHeight = sTmpRect.height();
@@ -585,7 +638,7 @@
                 updateInvalidResizeEffect(mCellLayout, pairedCellLayout, /* alpha= */ 1f,
                         /* springLoadedProgress= */ 0f, /* animatorSet= */ set);
             }
-            set.setDuration(SNAP_DURATION);
+            set.setDuration(SNAP_DURATION_MS);
             set.start();
         }
 
@@ -665,6 +718,10 @@
 
     @Override
     protected void handleClose(boolean animate) {
+        if (FeatureFlags.ENABLE_WIDGET_TRANSITION_FOR_RESIZING.get()) {
+            mWidgetView.clearCellChildViewPreLayoutListener();
+            mWidgetView.setLayoutTransition(null);
+        }
         mDragLayer.removeView(this);
     }
 
@@ -814,8 +871,7 @@
     }
 
     private boolean hasSeenReconfigurableWidgetEducationTip() {
-        return mLauncher.getSharedPrefs()
-                .getBoolean(KEY_RECONFIGURABLE_WIDGET_EDUCATION_TIP_SEEN, false)
+        return LauncherPrefs.get(getContext()).get(RECONFIGURABLE_WIDGET_EDUCATION_TIP_SEEN)
                 || Utilities.isRunningInTestHarness();
     }
 }
diff --git a/src/com/android/launcher3/AppWidgetsRestoredReceiver.java b/src/com/android/launcher3/AppWidgetsRestoredReceiver.java
index ec874b9..429978e 100644
--- a/src/com/android/launcher3/AppWidgetsRestoredReceiver.java
+++ b/src/com/android/launcher3/AppWidgetsRestoredReceiver.java
@@ -1,177 +1,56 @@
 package com.android.launcher3;
 
-import static android.os.Process.myUserHandle;
+import static com.android.launcher3.LauncherPrefs.APP_WIDGET_IDS;
+import static com.android.launcher3.LauncherPrefs.OLD_APP_WIDGET_IDS;
 
-import android.appwidget.AppWidgetHost;
 import android.appwidget.AppWidgetManager;
-import android.appwidget.AppWidgetProviderInfo;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
-import android.database.Cursor;
 import android.util.Log;
 
-import androidx.annotation.NonNull;
-import androidx.annotation.WorkerThread;
-
-import com.android.launcher3.LauncherSettings.Favorites;
-import com.android.launcher3.model.LoaderTask;
-import com.android.launcher3.model.ModelDbController;
-import com.android.launcher3.model.WidgetsModel;
-import com.android.launcher3.model.data.LauncherAppWidgetInfo;
-import com.android.launcher3.pm.UserCache;
+import com.android.launcher3.logging.FileLog;
 import com.android.launcher3.provider.RestoreDbTask;
-import com.android.launcher3.util.ContentWriter;
 import com.android.launcher3.util.IntArray;
 import com.android.launcher3.widget.LauncherWidgetHolder;
 
+import java.util.Arrays;
+
 public class AppWidgetsRestoredReceiver extends BroadcastReceiver {
 
-    private static final String TAG = "AWRestoredReceiver";
+    private static final String TAG = "AppWidgetsRestoredReceiver";
 
     @Override
     public void onReceive(final Context context, Intent intent) {
         if (AppWidgetManager.ACTION_APPWIDGET_HOST_RESTORED.equals(intent.getAction())) {
             int hostId = intent.getIntExtra(AppWidgetManager.EXTRA_HOST_ID, 0);
-            Log.d(TAG, "Widget ID map received for host:" + hostId);
+            Log.d(TAG, "onReceive: Widget ID map received for host:" + hostId);
             if (hostId != LauncherWidgetHolder.APPWIDGET_HOST_ID) {
+                Log.w(TAG,  "onReceive: hostId does not match Launcher."
+                        + " Expected: " + LauncherWidgetHolder.APPWIDGET_HOST_ID
+                        + ", Actual: " + hostId);
                 return;
             }
 
             final int[] oldIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_OLD_IDS);
             final int[] newIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS);
             if (oldIds != null && newIds != null && oldIds.length == newIds.length) {
-                RestoreDbTask.setRestoredAppWidgetIds(context, oldIds, newIds);
-            } else {
-                Log.e(TAG, "Invalid host restored received");
-            }
-        }
-    }
-
-    /**
-     * Updates the app widgets whose id has changed during the restore process.
-     */
-    @WorkerThread
-    public static void restoreAppWidgetIds(Context context, ModelDbController controller,
-            int[] oldWidgetIds, int[] newWidgetIds, @NonNull AppWidgetHost host) {
-        if (WidgetsModel.GO_DISABLE_WIDGETS) {
-            Log.e(TAG, "Skipping widget ID remap as widgets not supported");
-            host.deleteHost();
-            return;
-        }
-        if (!RestoreDbTask.isPending(context)) {
-            // Someone has already gone through our DB once, probably LoaderTask. Skip any further
-            // modifications of the DB.
-            Log.e(TAG, "Skipping widget ID remap as DB already in use");
-            for (int widgetId : newWidgetIds) {
-                Log.d(TAG, "Deleting widgetId: " + widgetId);
-                host.deleteAppWidgetId(widgetId);
-            }
-            return;
-        }
-
-        final AppWidgetManager widgets = AppWidgetManager.getInstance(context);
-
-        Log.d(TAG, "restoreAppWidgetIds: "
-                + "oldWidgetIds=" + IntArray.wrap(oldWidgetIds).toConcatString()
-                + ", newWidgetIds=" + IntArray.wrap(newWidgetIds).toConcatString());
-
-        // TODO(b/234700507): Remove the logs after the bug is fixed
-        logDatabaseWidgetInfo(controller);
-
-        for (int i = 0; i < oldWidgetIds.length; i++) {
-            Log.i(TAG, "Widget state restore id " + oldWidgetIds[i] + " => " + newWidgetIds[i]);
-
-            final AppWidgetProviderInfo provider = widgets.getAppWidgetInfo(newWidgetIds[i]);
-            final int state;
-            if (LoaderTask.isValidProvider(provider)) {
-                // This will ensure that we show 'Click to setup' UI if required.
-                state = LauncherAppWidgetInfo.FLAG_UI_NOT_READY;
-            } else {
-                state = LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY;
-            }
-
-            // b/135926478: Work profile widget restore is broken in platform. This forces us to
-            // recreate the widget during loading with the correct host provider.
-            long mainProfileId = UserCache.INSTANCE.get(context)
-                    .getSerialNumberForUser(myUserHandle());
-            long controllerProfileId = controller.getSerialNumberForUser(myUserHandle());
-            String oldWidgetId = Integer.toString(oldWidgetIds[i]);
-            final String where = "appWidgetId=? and (restored & 1) = 1 and profileId=?";
-            String profileId = Long.toString(mainProfileId);
-            final String[] args = new String[] { oldWidgetId, profileId };
-            Log.d(TAG, "restoreAppWidgetIds: querying profile id=" + profileId
-                    + " with controller profile ID=" + controllerProfileId);
-            int result = new ContentWriter(context,
-                            new ContentWriter.CommitParams(controller, where, args))
-                    .put(LauncherSettings.Favorites.APPWIDGET_ID, newWidgetIds[i])
-                    .put(LauncherSettings.Favorites.RESTORED, state)
-                    .commit();
-            if (result == 0) {
-                // TODO(b/234700507): Remove the logs after the bug is fixed
-                Log.e(TAG, "restoreAppWidgetIds: remapping failed since the widget is not in"
-                        + " the database anymore");
-                try (Cursor cursor = controller.getDb().query(
-                        Favorites.TABLE_NAME,
-                        new String[]{Favorites.APPWIDGET_ID},
-                        "appWidgetId=?", new String[]{oldWidgetId}, null, null, null)) {
-                    if (!cursor.moveToFirst()) {
-                        // The widget no long exists.
-                        Log.d(TAG, "Deleting widgetId: " + newWidgetIds[i] + " with old id: "
-                                + oldWidgetId);
-                        host.deleteAppWidgetId(newWidgetIds[i]);
-                    }
+                LauncherPrefs.get(context).putSync(
+                        OLD_APP_WIDGET_IDS.to(IntArray.wrap(oldIds).toConcatString()),
+                        APP_WIDGET_IDS.to(IntArray.wrap(newIds).toConcatString()));
+                FileLog.d(TAG, "onReceive: Valid Widget IDs received."
+                        + " old IDs=" + Arrays.toString(oldIds)
+                        + ", new IDs=" + Arrays.toString(newIds));
+                if (!RestoreDbTask.isPending(context)) {
+                    FileLog.w(TAG, "onReceive: Restored App Widget Ids received but Launcher"
+                            + " restore is not pending. New widget Ids might not get restored.");
                 }
+            } else {
+                Log.e(TAG, "onReceive: Invalid widget ids received for Launcher"
+                        + ", skipping restore of widget ids."
+                        + " newIds=" + Arrays.toString(newIds)
+                        + ", oldIds=" + Arrays.toString(oldIds));
             }
         }
-
-        LauncherAppState app = LauncherAppState.getInstanceNoCreate();
-        if (app != null) {
-            app.getModel().forceReload();
-        }
     }
-
-    private static void logDatabaseWidgetInfo(ModelDbController controller) {
-        try (Cursor cursor = controller.getDb().query(Favorites.TABLE_NAME,
-                new String[]{Favorites.APPWIDGET_ID, Favorites.RESTORED, Favorites.PROFILE_ID},
-                Favorites.APPWIDGET_ID + "!=" + LauncherAppWidgetInfo.NO_ID, null,
-                null, null, null)) {
-            IntArray widgetIdList = new IntArray();
-            IntArray widgetRestoreList = new IntArray();
-            IntArray widgetProfileIdList = new IntArray();
-
-            if (cursor.moveToFirst()) {
-                final int widgetIdColumnIndex = cursor.getColumnIndex(Favorites.APPWIDGET_ID);
-                final int widgetRestoredColumnIndex = cursor.getColumnIndex(Favorites.RESTORED);
-                final int widgetProfileIdIndex = cursor.getColumnIndex(Favorites.PROFILE_ID);
-                while (!cursor.isAfterLast()) {
-                    int widgetId = cursor.getInt(widgetIdColumnIndex);
-                    int widgetRestoredFlag = cursor.getInt(widgetRestoredColumnIndex);
-                    int widgetProfileId = cursor.getInt(widgetProfileIdIndex);
-
-                    widgetIdList.add(widgetId);
-                    widgetRestoreList.add(widgetRestoredFlag);
-                    widgetProfileIdList.add(widgetProfileId);
-                    cursor.moveToNext();
-                }
-            }
-
-            StringBuilder builder = new StringBuilder();
-            builder.append("[");
-            for (int i = 0; i < widgetIdList.size(); i++) {
-                builder.append("[")
-                        .append(widgetIdList.get(i))
-                        .append(", ")
-                        .append(widgetRestoreList.get(i))
-                        .append(", ")
-                        .append(widgetProfileIdList.get(i))
-                        .append("]");
-            }
-            builder.append("]");
-            Log.d(TAG, "restoreAppWidgetIds: all widget ids in database: "
-                    + builder.toString());
-        } catch (Exception ex) {
-            Log.e(TAG, "Getting widget ids from the database failed", ex);
-        }
-    }
-}
+}
\ No newline at end of file
diff --git a/src/com/android/launcher3/BaseActivity.java b/src/com/android/launcher3/BaseActivity.java
index 05a6452..1049314 100644
--- a/src/com/android/launcher3/BaseActivity.java
+++ b/src/com/android/launcher3/BaseActivity.java
@@ -29,7 +29,6 @@
 import android.content.res.Configuration;
 import android.os.Bundle;
 import android.util.Log;
-import android.view.View;
 import android.window.OnBackInvokedDispatcher;
 
 import androidx.annotation.IntDef;
@@ -38,6 +37,7 @@
 import com.android.launcher3.logging.StatsLogManager;
 import com.android.launcher3.testing.TestLogging;
 import com.android.launcher3.testing.shared.TestProtocol;
+import com.android.launcher3.util.RunnableList;
 import com.android.launcher3.util.SystemUiController;
 import com.android.launcher3.util.ViewCache;
 import com.android.launcher3.views.ActivityContext;
@@ -153,6 +153,18 @@
 
     private final ViewCache mViewCache = new ViewCache();
 
+    @Retention(SOURCE)
+    @IntDef({EVENT_STARTED, EVENT_RESUMED, EVENT_STOPPED, EVENT_DESTROYED})
+    public @interface ActivityEvent { }
+    public static final int EVENT_STARTED = 0;
+    public static final int EVENT_RESUMED = 1;
+    public static final int EVENT_STOPPED = 2;
+    public static final int EVENT_DESTROYED = 3;
+
+    // Callback array that corresponds to events defined in @ActivityEvent
+    private final RunnableList[] mEventCallbacks =
+            {new RunnableList(), new RunnableList(), new RunnableList(), new RunnableList()};
+
     @Override
     public ViewCache getViewCache() {
         return mViewCache;
@@ -205,12 +217,14 @@
     protected void onStart() {
         addActivityFlags(ACTIVITY_STATE_STARTED);
         super.onStart();
+        mEventCallbacks[EVENT_STARTED].executeAllAndClear();
     }
 
     @Override
     protected void onResume() {
         setResumed();
         super.onResume();
+        mEventCallbacks[EVENT_RESUMED].executeAllAndClear();
     }
 
     @Override
@@ -232,6 +246,8 @@
         removeActivityFlags(ACTIVITY_STATE_STARTED | ACTIVITY_STATE_USER_ACTIVE);
         mForceInvisible = 0;
         super.onStop();
+        mEventCallbacks[EVENT_STOPPED].executeAllAndClear();
+
 
         // Reset the overridden sysui flags used for the task-swipe launch animation, this is a
         // catch all for if we do not get resumed (and therefore not paused below)
@@ -239,6 +255,12 @@
     }
 
     @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        mEventCallbacks[EVENT_DESTROYED].executeAllAndClear();
+    }
+
+    @Override
     protected void onPause() {
         setPaused();
         super.onPause();
@@ -258,7 +280,6 @@
         } else {
             removeActivityFlags(ACTIVITY_STATE_WINDOW_FOCUSED);
         }
-
     }
 
     protected void registerBackDispatcher() {
@@ -364,9 +385,15 @@
     }
 
     /**
-     * Attempts to clear accessibility focus on {@param view}.
+     * Adds a callback for the provided activity event
      */
-    public void tryClearAccessibilityFocus(View view) {
+    public void addEventCallback(@ActivityEvent int event, Runnable callback) {
+        mEventCallbacks[event].add(callback);
+    }
+
+    /** Removes a previously added callback */
+    public void removeEventCallback(@ActivityEvent int event, Runnable callback) {
+        mEventCallbacks[event].remove(callback);
     }
 
     public interface MultiWindowModeChangedListener {
diff --git a/src/com/android/launcher3/BaseDraggingActivity.java b/src/com/android/launcher3/BaseDraggingActivity.java
index 808cf70..b6f6615 100644
--- a/src/com/android/launcher3/BaseDraggingActivity.java
+++ b/src/com/android/launcher3/BaseDraggingActivity.java
@@ -38,9 +38,7 @@
 import com.android.launcher3.util.DisplayController.DisplayInfoChangeListener;
 import com.android.launcher3.util.DisplayController.Info;
 import com.android.launcher3.util.OnColorHintListener;
-import com.android.launcher3.util.RunnableList;
 import com.android.launcher3.util.Themes;
-import com.android.launcher3.util.TraceHelper;
 import com.android.launcher3.util.WallpaperColorHints;
 import com.android.launcher3.util.WindowBounds;
 
@@ -51,25 +49,17 @@
 public abstract class BaseDraggingActivity extends BaseActivity
         implements OnColorHintListener, DisplayInfoChangeListener {
 
-    private static final String TAG = "BaseDraggingActivity";
-
     // When starting an action mode, setting this tag will cause the action mode to be cancelled
     // automatically when user interacts with the launcher.
     public static final Object AUTO_CANCEL_ACTION_MODE = new Object();
 
     private ActionMode mCurrentActionMode;
-    protected boolean mIsSafeModeEnabled;
 
-    private Runnable mOnStartCallback;
-    private final RunnableList mOnResumeCallbacks = new RunnableList();
     private int mThemeRes = R.style.AppTheme;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-
-        mIsSafeModeEnabled = TraceHelper.allowIpcs("isSafeMode",
-                () -> getPackageManager().isSafeMode());
         DisplayController.INSTANCE.get(this).addChangeListener(this);
 
         // Update theme
@@ -81,16 +71,6 @@
         }
     }
 
-    @Override
-    protected void onResume() {
-        super.onResume();
-        mOnResumeCallbacks.executeAllAndClear();
-    }
-
-    public void addOnResumeCallback(Runnable callback) {
-        mOnResumeCallbacks.add(callback);
-    }
-
     @MainThread
     @Override
     public void onColorHintsChanged(int colorHints) {
@@ -146,42 +126,24 @@
     @NonNull
     public ActivityOptionsWrapper getActivityLaunchOptions(View v, @Nullable ItemInfo item) {
         ActivityOptionsWrapper wrapper = super.getActivityLaunchOptions(v, item);
-        addOnResumeCallback(wrapper.onEndCallback::executeAllAndDestroy);
+        addEventCallback(EVENT_RESUMED, wrapper.onEndCallback::executeAllAndDestroy);
         return wrapper;
     }
 
     @Override
     public ActivityOptionsWrapper makeDefaultActivityOptions(int splashScreenStyle) {
         ActivityOptionsWrapper wrapper = super.makeDefaultActivityOptions(splashScreenStyle);
-        addOnResumeCallback(wrapper.onEndCallback::executeAllAndDestroy);
+        addEventCallback(EVENT_RESUMED, wrapper.onEndCallback::executeAllAndDestroy);
         return wrapper;
     }
 
     @Override
-    protected void onStart() {
-        super.onStart();
-
-        if (mOnStartCallback != null) {
-            mOnStartCallback.run();
-            mOnStartCallback = null;
-        }
-    }
-
-    @Override
     protected void onDestroy() {
         super.onDestroy();
         DisplayController.INSTANCE.get(this).removeChangeListener(this);
         WallpaperColorHints.get(this).unregisterOnColorsChangedListener(this);
     }
 
-    public void runOnceOnStart(Runnable action) {
-        mOnStartCallback = action;
-    }
-
-    public void clearRunOnceOnStartCallback() {
-        mOnStartCallback = null;
-    }
-
     protected void onDeviceProfileInitiated() {
         if (mDeviceProfile.isVerticalBarLayout()) {
             mDeviceProfile.updateIsSeascape(this);
@@ -216,6 +178,6 @@
 
     @Override
     public boolean isAppBlockedForSafeMode() {
-        return mIsSafeModeEnabled;
+        return LauncherAppState.getInstance(this).isSafeModeEnabled();
     }
 }
diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java
index a539148..ba65bea 100644
--- a/src/com/android/launcher3/BubbleTextView.java
+++ b/src/com/android/launcher3/BubbleTextView.java
@@ -16,11 +16,13 @@
 
 package com.android.launcher3;
 
-import static com.android.launcher3.config.FeatureFlags.ENABLE_CURSOR_HOVER_STATES;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_DOWNLOAD_APP_UX_V2;
+import static android.text.Layout.Alignment.ALIGN_NORMAL;
+
+import static com.android.launcher3.Flags.enableCursorHoverStates;
 import static com.android.launcher3.config.FeatureFlags.ENABLE_ICON_LABEL_AUTO_SCALING;
 import static com.android.launcher3.graphics.PreloadIconDrawable.newPendingIcon;
 import static com.android.launcher3.icons.BitmapInfo.FLAG_NO_BADGE;
+import static com.android.launcher3.icons.BitmapInfo.FLAG_SKIP_USER_BADGE;
 import static com.android.launcher3.icons.BitmapInfo.FLAG_THEMED;
 import static com.android.launcher3.icons.GraphicsUtils.setColorAlphaBound;
 import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_INCREMENTAL_DOWNLOAD_ACTIVE;
@@ -39,6 +41,7 @@
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.icu.text.MessageFormat;
+import android.text.StaticLayout;
 import android.text.TextPaint;
 import android.text.TextUtils;
 import android.text.TextUtils.TruncateAt;
@@ -148,6 +151,7 @@
     private final MultiTranslateDelegate mTranslateDelegate = new MultiTranslateDelegate(this);
     private final ActivityContext mActivity;
     private FastBitmapDrawable mIcon;
+    private DeviceProfile mDeviceProfile;
     private boolean mCenterVertically;
 
     protected int mDisplay;
@@ -161,6 +165,8 @@
     @ViewDebug.ExportedProperty(category = "launcher")
     private boolean mHideBadge = false;
     @ViewDebug.ExportedProperty(category = "launcher")
+    private boolean mSkipUserBadge = false;
+    @ViewDebug.ExportedProperty(category = "launcher")
     private boolean mIsIconVisible = true;
     @ViewDebug.ExportedProperty(category = "launcher")
     private int mTextColor;
@@ -172,6 +178,7 @@
     @ViewDebug.ExportedProperty(category = "launcher")
     private DotInfo mDotInfo;
     private DotRenderer mDotRenderer;
+    private Locale mCurrentLocale;
     @ViewDebug.ExportedProperty(category = "launcher", deepExport = true)
     protected DotRenderer.DrawParams mDotParams;
     private Animator mDotScaleAnim;
@@ -199,42 +206,42 @@
     public BubbleTextView(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
         mActivity = ActivityContext.lookupContext(context);
-        FastBitmapDrawable.setFlagHoverEnabled(ENABLE_CURSOR_HOVER_STATES.get());
+        FastBitmapDrawable.setFlagHoverEnabled(enableCursorHoverStates());
 
         TypedArray a = context.obtainStyledAttributes(attrs,
                 R.styleable.BubbleTextView, defStyle, 0);
         mLayoutHorizontal = a.getBoolean(R.styleable.BubbleTextView_layoutHorizontal, false);
         mIsRtl = (getResources().getConfiguration().getLayoutDirection()
                 == View.LAYOUT_DIRECTION_RTL);
-        DeviceProfile grid = mActivity.getDeviceProfile();
+        mDeviceProfile = mActivity.getDeviceProfile();
 
         mDisplay = a.getInteger(R.styleable.BubbleTextView_iconDisplay, DISPLAY_WORKSPACE);
         final int defaultIconSize;
         if (mDisplay == DISPLAY_WORKSPACE) {
-            setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.iconTextSizePx);
-            setCompoundDrawablePadding(grid.iconDrawablePaddingPx);
-            defaultIconSize = grid.iconSizePx;
-            setCenterVertically(grid.iconCenterVertically);
+            setTextSize(TypedValue.COMPLEX_UNIT_PX, mDeviceProfile.iconTextSizePx);
+            setCompoundDrawablePadding(mDeviceProfile.iconDrawablePaddingPx);
+            defaultIconSize = mDeviceProfile.iconSizePx;
+            setCenterVertically(mDeviceProfile.iconCenterVertically);
         } else if (mDisplay == DISPLAY_ALL_APPS || mDisplay == DISPLAY_PREDICTION_ROW
                 || mDisplay == DISPLAY_SEARCH_RESULT_APP_ROW) {
-            setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.allAppsIconTextSizePx);
-            setCompoundDrawablePadding(grid.allAppsIconDrawablePaddingPx);
-            defaultIconSize = grid.allAppsIconSizePx;
+            setTextSize(TypedValue.COMPLEX_UNIT_PX, mDeviceProfile.allAppsIconTextSizePx);
+            setCompoundDrawablePadding(mDeviceProfile.allAppsIconDrawablePaddingPx);
+            defaultIconSize = mDeviceProfile.allAppsIconSizePx;
         } else if (mDisplay == DISPLAY_FOLDER) {
-            setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.folderChildTextSizePx);
-            setCompoundDrawablePadding(grid.folderChildDrawablePaddingPx);
-            defaultIconSize = grid.folderChildIconSizePx;
+            setTextSize(TypedValue.COMPLEX_UNIT_PX, mDeviceProfile.folderChildTextSizePx);
+            setCompoundDrawablePadding(mDeviceProfile.folderChildDrawablePaddingPx);
+            defaultIconSize = mDeviceProfile.folderChildIconSizePx;
         } else if (mDisplay == DISPLAY_SEARCH_RESULT) {
-            setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.allAppsIconTextSizePx);
+            setTextSize(TypedValue.COMPLEX_UNIT_PX, mDeviceProfile.allAppsIconTextSizePx);
             defaultIconSize = getResources().getDimensionPixelSize(R.dimen.search_row_icon_size);
         } else if (mDisplay == DISPLAY_SEARCH_RESULT_SMALL) {
             defaultIconSize = getResources().getDimensionPixelSize(
                     R.dimen.search_row_small_icon_size);
         } else if (mDisplay == DISPLAY_TASKBAR) {
-            defaultIconSize = grid.iconSizePx;
+            defaultIconSize = mDeviceProfile.iconSizePx;
         } else {
             // widget_selection or shortcut_popup
-            defaultIconSize = grid.iconSizePx;
+            defaultIconSize = mDeviceProfile.iconSizePx;
         }
 
         mCenterVertically = a.getBoolean(R.styleable.BubbleTextView_centerVertically, false);
@@ -247,6 +254,7 @@
 
         mDotParams = new DotRenderer.DrawParams();
 
+        mCurrentLocale = context.getResources().getConfiguration().locale;
         setEllipsize(TruncateAt.END);
         setAccessibilityDelegate(mActivity.getAccessibilityDelegate());
         setTextAlpha(1f);
@@ -263,6 +271,10 @@
         mHideBadge = hideBadge;
     }
 
+    public void setSkipUserBadge(boolean skipUserBadge) {
+        mSkipUserBadge = skipUserBadge;
+    }
+
     /**
      * Resets the view so it can be recycled.
      */
@@ -274,8 +286,7 @@
         mDotParams.scale = 0f;
         mForceHideDot = false;
         setBackground(null);
-        if (FeatureFlags.ENABLE_TWOLINE_ALLAPPS.get()
-                || FeatureFlags.ENABLE_TWOLINE_DEVICESEARCH.get()) {
+        if (FeatureFlags.enableTwolineAllapps() || FeatureFlags.ENABLE_TWOLINE_DEVICESEARCH.get()) {
             setMaxLines(1);
         }
 
@@ -292,7 +303,7 @@
         }
     }
 
-    private void animateDotScale(float... dotScales) {
+    public void animateDotScale(float... dotScales) {
         cancelDotScaleAnim();
         mDotScaleAnim = ObjectAnimator.ofFloat(this, DOT_SCALE_PROPERTY, dotScales);
         mDotScaleAnim.addListener(new AnimatorListenerAdapter() {
@@ -385,12 +396,17 @@
         setTag(itemInfo);
     }
 
+    @VisibleForTesting
     @UiThread
-    protected void applyIconAndLabel(ItemInfoWithIcon info) {
+    public void applyIconAndLabel(ItemInfoWithIcon info) {
         int flags = shouldUseTheme() ? FLAG_THEMED : 0;
-        if (mHideBadge) {
+        // Remove badge on icons smaller than 48dp.
+        if (mHideBadge || mDisplay == DISPLAY_SEARCH_RESULT_SMALL) {
             flags |= FLAG_NO_BADGE;
         }
+        if (mSkipUserBadge) {
+            flags |= FLAG_SKIP_USER_BADGE;
+        }
         FastBitmapDrawable iconDrawable = info.newIcon(getContext(), flags);
         mDotParams.appColor = iconDrawable.getIconColor();
         mDotParams.dotColor = Themes.getAttrColor(getContext(), R.attr.notificationDotColor);
@@ -399,17 +415,20 @@
     }
 
     protected boolean shouldUseTheme() {
-        return mDisplay == DISPLAY_WORKSPACE || mDisplay == DISPLAY_FOLDER
-                || mDisplay == DISPLAY_TASKBAR;
+        return (mDisplay == DISPLAY_WORKSPACE || mDisplay == DISPLAY_FOLDER
+                || mDisplay == DISPLAY_TASKBAR) && Themes.isThemedIconEnabled(getContext());
     }
 
     /**
      *  Only if actual text can be displayed in two line, the {@code true} value will be effective.
      */
     protected boolean shouldUseTwoLine() {
-        return  (FeatureFlags.ENABLE_TWOLINE_ALLAPPS.get() && mDisplay == DISPLAY_ALL_APPS)
-                || (FeatureFlags.ENABLE_TWOLINE_DEVICESEARCH.get()
-                && mDisplay == DISPLAY_SEARCH_RESULT);
+        return (FeatureFlags.enableTwolineAllapps() && isCurrentLanguageEnglish())
+                && (mDisplay == DISPLAY_ALL_APPS || mDisplay == DISPLAY_PREDICTION_ROW);
+    }
+
+    protected boolean isCurrentLanguageEnglish() {
+        return mCurrentLocale.equals(Locale.US);
     }
 
     @UiThread
@@ -641,7 +660,7 @@
         return mForceHideDot;
     }
 
-    private boolean hasDot() {
+    public boolean hasDot() {
         return mDotInfo != null;
     }
 
@@ -690,21 +709,28 @@
 
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        int height = MeasureSpec.getSize(heightMeasureSpec);
         if (mCenterVertically) {
             Paint.FontMetrics fm = getPaint().getFontMetrics();
             int cellHeightPx = mIconSize + getCompoundDrawablePadding() +
                     (int) Math.ceil(fm.bottom - fm.top);
-            int height = MeasureSpec.getSize(heightMeasureSpec);
             setPadding(getPaddingLeft(), (height - cellHeightPx) / 2, getPaddingRight(),
                     getPaddingBottom());
         }
         // Only apply two line for all_apps and device search only if necessary.
         if (shouldUseTwoLine() && (mLastOriginalText != null)) {
+            int allowedVerticalSpace = height - getPaddingTop() - getPaddingBottom()
+                    - mDeviceProfile.allAppsIconSizePx
+                    - mDeviceProfile.allAppsIconDrawablePaddingPx;
             CharSequence modifiedString = modifyTitleToSupportMultiLine(
                     MeasureSpec.getSize(widthMeasureSpec) - getCompoundPaddingLeft()
                             - getCompoundPaddingRight(),
+                    allowedVerticalSpace,
                     mLastOriginalText,
-                    getPaint(), mBreakPointsIntArray);
+                    getPaint(),
+                    mBreakPointsIntArray,
+                    getLineSpacingMultiplier(),
+                    getLineSpacingExtra());
             if (!TextUtils.equals(modifiedString, mLastModifiedText)) {
                 mLastModifiedText = modifiedString;
                 setText(modifiedString);
@@ -784,7 +810,8 @@
      * many words as it can until the limit is reached. Once the limit is reached, we decide to
      * either return the original title or continue on a new line. How to get the new string is by
      * iterating through the list of break points and determining if the strings between the break
-     * points can fit within the line it is in.
+     * points can fit within the line it is in. We will show the modified string if there is enough
+     * horizontal and vertical space, otherwise this method will just return the original string.
      *  Example assuming each character takes up one spot:
      *  title = "Battery Stats", breakpoint = [6], stringPtr = 0, limitedWidth = 7
      *  We get the current word -> from sublist(0, breakpoint[i]+1) so sublist (0,7) -> Battery,
@@ -793,8 +820,9 @@
      *  if the first char is a SPACE, we trim to append "Stats". So resulting string would be
      *  "Battery\nStats"
      */
-    public static CharSequence modifyTitleToSupportMultiLine(int limitedWidth, CharSequence title,
-            TextPaint paint, IntArray breakPoints) {
+    public static CharSequence modifyTitleToSupportMultiLine(int limitedWidth, int limitedHeight,
+            CharSequence title, TextPaint paint, IntArray breakPoints, float spacingMultiplier,
+            float spacingExtra) {
         // current title is less than the width allowed so we can just skip
         if (title == null || paint.measureText(title, 0, title.length()) <= limitedWidth) {
             return title;
@@ -802,6 +830,8 @@
         float currentWordWidth, runningWidth = 0;
         CharSequence currentWord;
         StringBuilder newString = new StringBuilder();
+        // TODO: Remove when ENABLE_ICON_LABEL_AUTO_SCALING feature flag is being cleaned up.
+        paint.setLetterSpacing(MIN_LETTER_SPACING);
         int stringPtr = 0;
         for (int i = 0; i < breakPoints.size()+1; i++) {
             if (i < breakPoints.size()) {
@@ -815,11 +845,7 @@
             if (runningWidth <= limitedWidth) {
                 newString.append(currentWord);
             } else {
-                // there is no more space
-                if (i == 0) {
-                    // if the first words exceeds width, just return as the first line will ellipse
-                    return title;
-                } else {
+                if (i != 0)  {
                     // If putting word onto a new line, make sure there is no space or new line
                     // character in the beginning of the current word and just put in the rest of
                     // the characters.
@@ -833,8 +859,14 @@
                                 : EMPTY;
                     }
                     newString.append(NEW_LINE).append(lastCharacters);
-                    return newString.toString();
+                    StaticLayout staticLayout = new StaticLayout(newString, paint, limitedWidth,
+                            ALIGN_NORMAL, spacingMultiplier, spacingExtra, false);
+                    if (staticLayout.getHeight() < limitedHeight) {
+                        return newString.toString();
+                    }
                 }
+                // if the first words exceeds width, just return as the first line will ellipse
+                return title;
             }
             if (i >= breakPoints.size()) {
                 // no need to look forward into the string if we've already finished processing
@@ -864,7 +896,7 @@
             if ((info.runtimeStatusFlags & FLAG_INCREMENTAL_DOWNLOAD_ACTIVE) != 0
                     || info.hasPromiseIconUi()
                     || (info.runtimeStatusFlags & FLAG_INSTALL_SESSION_ACTIVE) != 0
-                    || (ENABLE_DOWNLOAD_APP_UX_V2.get() && icon != null)) {
+                    || (icon != null)) {
                 updateProgressBarUi(info.getProgressLevel() == 100 ? icon : null);
             }
         }
@@ -901,9 +933,7 @@
             if (mIcon instanceof PreloadIconDrawable) {
                 preloadIconDrawable = (PreloadIconDrawable) mIcon;
                 preloadIconDrawable.setLevel(progressLevel);
-                preloadIconDrawable.setIsDisabled(ENABLE_DOWNLOAD_APP_UX_V2.get()
-                        ? info.getProgressLevel() == 0
-                        : !info.isAppStartable());
+                preloadIconDrawable.setIsDisabled(isIconDisabled(info));
             } else {
                 preloadIconDrawable = makePreloadIcon();
                 setIcon(preloadIconDrawable);
@@ -928,12 +958,18 @@
         final PreloadIconDrawable preloadDrawable = newPendingIcon(getContext(), info);
 
         preloadDrawable.setLevel(progressLevel);
-        preloadDrawable.setIsDisabled(ENABLE_DOWNLOAD_APP_UX_V2.get()
-                ? info.getProgressLevel() == 0
-                : !info.isAppStartable());
+        preloadDrawable.setIsDisabled(isIconDisabled(info));
         return preloadDrawable;
     }
 
+    private boolean isIconDisabled(ItemInfoWithIcon info) {
+        if (info.isArchived()) {
+            return info.getProgressLevel() == 0
+                    && (info.runtimeStatusFlags & FLAG_INSTALL_SESSION_ACTIVE) != 0;
+        }
+        return info.getProgressLevel() == 0;
+    }
+
     public void applyDotState(ItemInfo itemInfo, boolean animate) {
         if (mIcon instanceof FastBitmapDrawable) {
             boolean wasDotted = mDotInfo != null;
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java
index 08e5def..5443ff9 100644
--- a/src/com/android/launcher3/CellLayout.java
+++ b/src/com/android/launcher3/CellLayout.java
@@ -57,6 +57,8 @@
 import android.view.accessibility.AccessibilityEvent;
 
 import androidx.annotation.IntDef;
+import androidx.annotation.Nullable;
+import androidx.annotation.Px;
 import androidx.core.graphics.ColorUtils;
 import androidx.core.view.ViewCompat;
 
@@ -65,7 +67,10 @@
 import com.android.launcher3.accessibility.DragAndDropAccessibilityDelegate;
 import com.android.launcher3.celllayout.CellLayoutLayoutParams;
 import com.android.launcher3.celllayout.CellPosMapper.CellPos;
+import com.android.launcher3.celllayout.DelegatedCellDrawing;
+import com.android.launcher3.celllayout.ItemConfiguration;
 import com.android.launcher3.celllayout.ReorderAlgorithm;
+import com.android.launcher3.celllayout.ReorderParameters;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.dragndrop.DraggableView;
 import com.android.launcher3.folder.PreviewBackground;
@@ -84,9 +89,6 @@
 import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
 import java.util.Stack;
 
 public class CellLayout extends ViewGroup {
@@ -117,6 +119,8 @@
     // return an (x, y) value from helper functions. Do NOT use them to maintain other state.
     @Thunk final int[] mTmpPoint = new int[2];
     @Thunk final int[] mTempLocation = new int[2];
+
+    @Thunk final Rect mTempOnDrawCellToRect = new Rect();
     final PointF mTmpPointF = new PointF();
 
     protected GridOccupancy mOccupied;
@@ -173,6 +177,8 @@
 
     private final TimeInterpolator mEaseOutInterpolator;
     protected final ShortcutAndWidgetContainer mShortcutsAndWidgets;
+    @Px
+    protected int mSpaceBetweenCellLayoutsPx = 0;
 
     @Retention(RetentionPolicy.SOURCE)
     @IntDef({WORKSPACE, HOTSEAT, FOLDER})
@@ -600,23 +606,18 @@
         DeviceProfile dp = mActivity.getDeviceProfile();
         int paddingX = Math.min((mCellWidth - dp.iconSizePx) / 2, dp.gridVisualizationPaddingX);
         int paddingY = Math.min((mCellHeight - dp.iconSizePx) / 2, dp.gridVisualizationPaddingY);
-        mVisualizeGridRect.set(paddingX, paddingY,
-                mCellWidth - paddingX,
-                mCellHeight - paddingY);
 
         mVisualizeGridPaint.setStrokeWidth(8);
-        int paintAlpha = (int) (120 * mGridAlpha);
-        mVisualizeGridPaint.setColor(ColorUtils.setAlphaComponent(mGridColor, paintAlpha));
 
+        // This is used for debugging purposes only
         if (mVisualizeCells) {
+            int paintAlpha = (int) (120 * mGridAlpha);
+            mVisualizeGridPaint.setColor(ColorUtils.setAlphaComponent(mGridColor, paintAlpha));
             for (int i = 0; i < mCountX; i++) {
                 for (int j = 0; j < mCountY; j++) {
-                    int transX = i * mCellWidth + (i * mBorderSpace.x) + getPaddingLeft()
-                            + paddingX;
-                    int transY = j * mCellHeight + (j * mBorderSpace.y) + getPaddingTop()
-                            + paddingY;
-
-                    mVisualizeGridRect.offsetTo(transX, transY);
+                    cellToRect(i, j, 1, 1, mTempOnDrawCellToRect);
+                    mVisualizeGridRect.set(mTempOnDrawCellToRect);
+                    mVisualizeGridRect.inset(paddingX, paddingY);
                     mVisualizeGridPaint.setStyle(Paint.Style.FILL);
                     canvas.drawRoundRect(mVisualizeGridRect, mGridVisualizationRoundingRadius,
                             mGridVisualizationRoundingRadius, mVisualizeGridPaint);
@@ -628,35 +629,30 @@
             for (int i = 0; i < mDragOutlines.length; i++) {
                 final float alpha = mDragOutlineAlphas[i];
                 if (alpha <= 0) continue;
+                CellLayoutLayoutParams params = mDragOutlines[i];
+                cellToRect(params.getCellX(), params.getCellY(), params.cellHSpan, params.cellVSpan,
+                        mTempOnDrawCellToRect);
+                mVisualizeGridRect.set(mTempOnDrawCellToRect);
+                mVisualizeGridRect.inset(paddingX, paddingY);
 
                 mVisualizeGridPaint.setAlpha(255);
-                int x = mDragOutlines[i].getCellX();
-                int y = mDragOutlines[i].getCellY();
-                int spanX = mDragOutlines[i].cellHSpan;
-                int spanY = mDragOutlines[i].cellVSpan;
-
-                // TODO b/194414754 clean this up, reconcile with cellToRect
-                mVisualizeGridRect.set(paddingX, paddingY,
-                        mCellWidth * spanX + mBorderSpace.x * (spanX - 1) - paddingX,
-                        mCellHeight * spanY + mBorderSpace.y * (spanY - 1) - paddingY);
-
-                int transX = x * mCellWidth + (x * mBorderSpace.x)
-                        + getPaddingLeft() + paddingX;
-                int transY = y * mCellHeight + (y * mBorderSpace.y)
-                        + getPaddingTop() + paddingY;
-
-                mVisualizeGridRect.offsetTo(transX, transY);
-
                 mVisualizeGridPaint.setStyle(Paint.Style.STROKE);
                 mVisualizeGridPaint.setColor(Color.argb((int) (alpha),
                         Color.red(mGridColor), Color.green(mGridColor), Color.blue(mGridColor)));
 
+                canvas.save();
+                canvas.translate(getMarginForGivenCellParams(params), 0);
                 canvas.drawRoundRect(mVisualizeGridRect, mGridVisualizationRoundingRadius,
                         mGridVisualizationRoundingRadius, mVisualizeGridPaint);
+                canvas.restore();
             }
         }
     }
 
+    protected float getMarginForGivenCellParams(CellLayoutLayoutParams params) {
+        return 0;
+    }
+
     @Override
     protected void dispatchDraw(Canvas canvas) {
         super.dispatchDraw(canvas);
@@ -1438,9 +1434,8 @@
             View child = mShortcutsAndWidgets.getChildAt(i);
             if (child == dragView) continue;
             CellAndSpan c = solution.map.get(child);
-            boolean skip = mode == ReorderPreviewAnimation.MODE_HINT && solution.intersectingViews
-                    != null && !solution.intersectingViews.contains(child);
-
+            boolean skip = mode == ReorderPreviewAnimation.MODE_HINT
+                    && !solution.intersectingViews.contains(child);
 
             CellLayoutLayoutParams lp = (CellLayoutLayoutParams) child.getLayoutParams();
             if (c != null && !skip && (child instanceof Reorderable)) {
@@ -1662,15 +1657,16 @@
         }
     }
 
-    // For a given cell and span, fetch the set of views intersecting the region.
-    public void getViewsIntersectingRegion(int cellX, int cellY, int spanX, int spanY,
-            View dragView, Rect boundingRect, ArrayList<View> intersectingViews) {
-        if (boundingRect != null) {
-            boundingRect.set(cellX, cellY, cellX + spanX, cellY + spanY);
-        }
-        intersectingViews.clear();
-        Rect r0 = new Rect(cellX, cellY, cellX + spanX, cellY + spanY);
+    /**
+     * For a given region, return the rectangle of the overlapping cell and span with the given
+     * region including the region itself. If there is no overlap the rectangle will be
+     * invalid i.e. -1, 0, -1, 0.
+     */
+    @Nullable
+    public Rect getIntersectingRectanglesInRegion(final Rect region, final View dragView) {
+        Rect boundingRect = new Rect(region);
         Rect r1 = new Rect();
+        boolean isOverlapping = false;
         final int count = mShortcutsAndWidgets.getChildCount();
         for (int i = 0; i < count; i++) {
             View child = mShortcutsAndWidgets.getChildAt(i);
@@ -1679,21 +1675,21 @@
                     lp = (CellLayoutLayoutParams) child.getLayoutParams();
             r1.set(lp.getCellX(), lp.getCellY(), lp.getCellX() + lp.cellHSpan,
                     lp.getCellY() + lp.cellVSpan);
-            if (Rect.intersects(r0, r1)) {
-                mIntersectingViews.add(child);
-                if (boundingRect != null) {
-                    boundingRect.union(r1);
-                }
+            if (Rect.intersects(region, r1)) {
+                isOverlapping = true;
+                boundingRect.union(r1);
             }
         }
+        return isOverlapping ? boundingRect : null;
     }
 
     public boolean isNearestDropLocationOccupied(int pixelX, int pixelY, int spanX, int spanY,
             View dragView, int[] result) {
         result = findNearestAreaIgnoreOccupied(pixelX, pixelY, spanX, spanY, result);
-        getViewsIntersectingRegion(result[0], result[1], spanX, spanY, dragView, null,
-                mIntersectingViews);
-        return !mIntersectingViews.isEmpty();
+        return getIntersectingRectanglesInRegion(
+                new Rect(result[0], result[1], result[0] + spanX, result[1] + spanY),
+                dragView
+        ) != null;
     }
 
     void revertTempState() {
@@ -1746,651 +1742,6 @@
         return swapSolution.isSolution;
     }
 
-    /**
-     * Find a vacant area that will fit the given bounds nearest the requested
-     * cell location, and will also weigh in a suggested direction vector of the
-     * desired location. This method computers distance based on unit grid distances,
-     * not pixel distances.
-     *
-     * @param cellX The X cell nearest to which you want to search for a vacant area.
-     * @param cellY The Y cell nearest which you want to search for a vacant area.
-     * @param spanX Horizontal span of the object.
-     * @param spanY Vertical span of the object.
-     * @param direction The favored direction in which the views should move from x, y
-     * @param occupied The array which represents which cells in the CellLayout are occupied
-     * @param blockOccupied The array which represents which cells in the specified block (cellX,
-     *        cellY, spanX, spanY) are occupied. This is used when try to move a group of views.
-     * @param result Array in which to place the result, or null (in which case a new array will
-     *        be allocated)
-     * @return The X, Y cell of a vacant area that can contain this object,
-     *         nearest the requested location.
-     */
-    private int[] findNearestArea(int cellX, int cellY, int spanX, int spanY, int[] direction,
-            boolean[][] occupied, boolean blockOccupied[][], int[] result) {
-        // Keep track of best-scoring drop area
-        final int[] bestXY = result != null ? result : new int[2];
-        float bestDistance = Float.MAX_VALUE;
-        int bestDirectionScore = Integer.MIN_VALUE;
-
-        final int countX = mCountX;
-        final int countY = mCountY;
-
-        for (int y = 0; y < countY - (spanY - 1); y++) {
-            inner:
-            for (int x = 0; x < countX - (spanX - 1); x++) {
-                // First, let's see if this thing fits anywhere
-                for (int i = 0; i < spanX; i++) {
-                    for (int j = 0; j < spanY; j++) {
-                        if (occupied[x + i][y + j] && (blockOccupied == null || blockOccupied[i][j])) {
-                            continue inner;
-                        }
-                    }
-                }
-
-                float distance = (float) Math.hypot(x - cellX, y - cellY);
-                int[] curDirection = mTmpPoint;
-                computeDirectionVector(x - cellX, y - cellY, curDirection);
-                // The direction score is just the dot product of the two candidate direction
-                // and that passed in.
-                int curDirectionScore = direction[0] * curDirection[0] +
-                        direction[1] * curDirection[1];
-                if (Float.compare(distance,  bestDistance) < 0 ||
-                        (Float.compare(distance, bestDistance) == 0
-                                && curDirectionScore > bestDirectionScore)) {
-                    bestDistance = distance;
-                    bestDirectionScore = curDirectionScore;
-                    bestXY[0] = x;
-                    bestXY[1] = y;
-                }
-            }
-        }
-
-        // Return -1, -1 if no suitable location found
-        if (bestDistance == Float.MAX_VALUE) {
-            bestXY[0] = -1;
-            bestXY[1] = -1;
-        }
-        return bestXY;
-    }
-
-    private boolean addViewToTempLocation(View v, Rect rectOccupiedByPotentialDrop,
-            int[] direction, ItemConfiguration currentState) {
-        CellAndSpan c = currentState.map.get(v);
-        boolean success = false;
-        mTmpOccupied.markCells(c, false);
-        mTmpOccupied.markCells(rectOccupiedByPotentialDrop, true);
-
-        findNearestArea(c.cellX, c.cellY, c.spanX, c.spanY, direction,
-                mTmpOccupied.cells, null, mTempLocation);
-
-        if (mTempLocation[0] >= 0 && mTempLocation[1] >= 0) {
-            c.cellX = mTempLocation[0];
-            c.cellY = mTempLocation[1];
-            success = true;
-        }
-        mTmpOccupied.markCells(c, true);
-        return success;
-    }
-
-    private boolean pushViewsToTempLocation(ArrayList<View> views, Rect rectOccupiedByPotentialDrop,
-            int[] direction, View dragView, ItemConfiguration currentState) {
-
-        ViewCluster cluster = new ViewCluster(views, currentState);
-        Rect clusterRect = cluster.getBoundingRect();
-        int whichEdge;
-        int pushDistance;
-        boolean fail = false;
-
-        // Determine the edge of the cluster that will be leading the push and how far
-        // the cluster must be shifted.
-        if (direction[0] < 0) {
-            whichEdge = ViewCluster.LEFT;
-            pushDistance = clusterRect.right - rectOccupiedByPotentialDrop.left;
-        } else if (direction[0] > 0) {
-            whichEdge = ViewCluster.RIGHT;
-            pushDistance = rectOccupiedByPotentialDrop.right - clusterRect.left;
-        } else if (direction[1] < 0) {
-            whichEdge = ViewCluster.TOP;
-            pushDistance = clusterRect.bottom - rectOccupiedByPotentialDrop.top;
-        } else {
-            whichEdge = ViewCluster.BOTTOM;
-            pushDistance = rectOccupiedByPotentialDrop.bottom - clusterRect.top;
-        }
-
-        // Break early for invalid push distance.
-        if (pushDistance <= 0) {
-            return false;
-        }
-
-        // Mark the occupied state as false for the group of views we want to move.
-        for (View v: views) {
-            CellAndSpan c = currentState.map.get(v);
-            mTmpOccupied.markCells(c, false);
-        }
-
-        // We save the current configuration -- if we fail to find a solution we will revert
-        // to the initial state. The process of finding a solution modifies the configuration
-        // in place, hence the need for revert in the failure case.
-        currentState.save();
-
-        // The pushing algorithm is simplified by considering the views in the order in which
-        // they would be pushed by the cluster. For example, if the cluster is leading with its
-        // left edge, we consider sort the views by their right edge, from right to left.
-        cluster.sortConfigurationForEdgePush(whichEdge);
-
-        while (pushDistance > 0 && !fail) {
-            for (View v: currentState.sortedViews) {
-                // For each view that isn't in the cluster, we see if the leading edge of the
-                // cluster is contacting the edge of that view. If so, we add that view to the
-                // cluster.
-                if (!cluster.views.contains(v) && v != dragView) {
-                    if (cluster.isViewTouchingEdge(v, whichEdge)) {
-                        CellLayoutLayoutParams lp = (CellLayoutLayoutParams) v.getLayoutParams();
-                        if (!lp.canReorder) {
-                            // The push solution includes the all apps button, this is not viable.
-                            fail = true;
-                            break;
-                        }
-                        cluster.addView(v);
-                        CellAndSpan c = currentState.map.get(v);
-
-                        // Adding view to cluster, mark it as not occupied.
-                        mTmpOccupied.markCells(c, false);
-                    }
-                }
-            }
-            pushDistance--;
-
-            // The cluster has been completed, now we move the whole thing over in the appropriate
-            // direction.
-            cluster.shift(whichEdge, 1);
-        }
-
-        boolean foundSolution = false;
-        clusterRect = cluster.getBoundingRect();
-
-        // Due to the nature of the algorithm, the only check required to verify a valid solution
-        // is to ensure that completed shifted cluster lies completely within the cell layout.
-        if (!fail && clusterRect.left >= 0 && clusterRect.right <= mCountX && clusterRect.top >= 0 &&
-                clusterRect.bottom <= mCountY) {
-            foundSolution = true;
-        } else {
-            currentState.restore();
-        }
-
-        // In either case, we set the occupied array as marked for the location of the views
-        for (View v: cluster.views) {
-            CellAndSpan c = currentState.map.get(v);
-            mTmpOccupied.markCells(c, true);
-        }
-
-        return foundSolution;
-    }
-
-    /**
-     * This helper class defines a cluster of views. It helps with defining complex edges
-     * of the cluster and determining how those edges interact with other views. The edges
-     * essentially define a fine-grained boundary around the cluster of views -- like a more
-     * precise version of a bounding box.
-     */
-    private class ViewCluster {
-        final static int LEFT = 1 << 0;
-        final static int TOP = 1 << 1;
-        final static int RIGHT = 1 << 2;
-        final static int BOTTOM = 1 << 3;
-
-        final ArrayList<View> views;
-        final ItemConfiguration config;
-        final Rect boundingRect = new Rect();
-
-        final int[] leftEdge = new int[mCountY];
-        final int[] rightEdge = new int[mCountY];
-        final int[] topEdge = new int[mCountX];
-        final int[] bottomEdge = new int[mCountX];
-        int dirtyEdges;
-        boolean boundingRectDirty;
-
-        @SuppressWarnings("unchecked")
-        public ViewCluster(ArrayList<View> views, ItemConfiguration config) {
-            this.views = (ArrayList<View>) views.clone();
-            this.config = config;
-            resetEdges();
-        }
-
-        void resetEdges() {
-            for (int i = 0; i < mCountX; i++) {
-                topEdge[i] = -1;
-                bottomEdge[i] = -1;
-            }
-            for (int i = 0; i < mCountY; i++) {
-                leftEdge[i] = -1;
-                rightEdge[i] = -1;
-            }
-            dirtyEdges = LEFT | TOP | RIGHT | BOTTOM;
-            boundingRectDirty = true;
-        }
-
-        void computeEdge(int which) {
-            int count = views.size();
-            for (int i = 0; i < count; i++) {
-                CellAndSpan cs = config.map.get(views.get(i));
-                switch (which) {
-                    case LEFT:
-                        int left = cs.cellX;
-                        for (int j = cs.cellY; j < cs.cellY + cs.spanY; j++) {
-                            if (left < leftEdge[j] || leftEdge[j] < 0) {
-                                leftEdge[j] = left;
-                            }
-                        }
-                        break;
-                    case RIGHT:
-                        int right = cs.cellX + cs.spanX;
-                        for (int j = cs.cellY; j < cs.cellY + cs.spanY; j++) {
-                            if (right > rightEdge[j]) {
-                                rightEdge[j] = right;
-                            }
-                        }
-                        break;
-                    case TOP:
-                        int top = cs.cellY;
-                        for (int j = cs.cellX; j < cs.cellX + cs.spanX; j++) {
-                            if (top < topEdge[j] || topEdge[j] < 0) {
-                                topEdge[j] = top;
-                            }
-                        }
-                        break;
-                    case BOTTOM:
-                        int bottom = cs.cellY + cs.spanY;
-                        for (int j = cs.cellX; j < cs.cellX + cs.spanX; j++) {
-                            if (bottom > bottomEdge[j]) {
-                                bottomEdge[j] = bottom;
-                            }
-                        }
-                        break;
-                }
-            }
-        }
-
-        boolean isViewTouchingEdge(View v, int whichEdge) {
-            CellAndSpan cs = config.map.get(v);
-
-            if ((dirtyEdges & whichEdge) == whichEdge) {
-                computeEdge(whichEdge);
-                dirtyEdges &= ~whichEdge;
-            }
-
-            switch (whichEdge) {
-                case LEFT:
-                    for (int i = cs.cellY; i < cs.cellY + cs.spanY; i++) {
-                        if (leftEdge[i] == cs.cellX + cs.spanX) {
-                            return true;
-                        }
-                    }
-                    break;
-                case RIGHT:
-                    for (int i = cs.cellY; i < cs.cellY + cs.spanY; i++) {
-                        if (rightEdge[i] == cs.cellX) {
-                            return true;
-                        }
-                    }
-                    break;
-                case TOP:
-                    for (int i = cs.cellX; i < cs.cellX + cs.spanX; i++) {
-                        if (topEdge[i] == cs.cellY + cs.spanY) {
-                            return true;
-                        }
-                    }
-                    break;
-                case BOTTOM:
-                    for (int i = cs.cellX; i < cs.cellX + cs.spanX; i++) {
-                        if (bottomEdge[i] == cs.cellY) {
-                            return true;
-                        }
-                    }
-                    break;
-            }
-            return false;
-        }
-
-        void shift(int whichEdge, int delta) {
-            for (View v: views) {
-                CellAndSpan c = config.map.get(v);
-                switch (whichEdge) {
-                    case LEFT:
-                        c.cellX -= delta;
-                        break;
-                    case RIGHT:
-                        c.cellX += delta;
-                        break;
-                    case TOP:
-                        c.cellY -= delta;
-                        break;
-                    case BOTTOM:
-                    default:
-                        c.cellY += delta;
-                        break;
-                }
-            }
-            resetEdges();
-        }
-
-        public void addView(View v) {
-            views.add(v);
-            resetEdges();
-        }
-
-        public Rect getBoundingRect() {
-            if (boundingRectDirty) {
-                config.getBoundingRectForViews(views, boundingRect);
-            }
-            return boundingRect;
-        }
-
-        final PositionComparator comparator = new PositionComparator();
-        class PositionComparator implements Comparator<View> {
-            int whichEdge = 0;
-            public int compare(View left, View right) {
-                CellAndSpan l = config.map.get(left);
-                CellAndSpan r = config.map.get(right);
-                switch (whichEdge) {
-                    case LEFT:
-                        return (r.cellX + r.spanX) - (l.cellX + l.spanX);
-                    case RIGHT:
-                        return l.cellX - r.cellX;
-                    case TOP:
-                        return (r.cellY + r.spanY) - (l.cellY + l.spanY);
-                    case BOTTOM:
-                    default:
-                        return l.cellY - r.cellY;
-                }
-            }
-        }
-
-        public void sortConfigurationForEdgePush(int edge) {
-            comparator.whichEdge = edge;
-            Collections.sort(config.sortedViews, comparator);
-        }
-    }
-
-    // This method tries to find a reordering solution which satisfies the push mechanic by trying
-    // to push items in each of the cardinal directions, in an order based on the direction vector
-    // passed.
-    private boolean attemptPushInDirection(ArrayList<View> intersectingViews, Rect occupied,
-            int[] direction, View ignoreView, ItemConfiguration solution) {
-        if ((Math.abs(direction[0]) + Math.abs(direction[1])) > 1) {
-            // If the direction vector has two non-zero components, we try pushing
-            // separately in each of the components.
-            int temp = direction[1];
-            direction[1] = 0;
-
-            if (pushViewsToTempLocation(intersectingViews, occupied, direction,
-                    ignoreView, solution)) {
-                return true;
-            }
-            direction[1] = temp;
-            temp = direction[0];
-            direction[0] = 0;
-
-            if (pushViewsToTempLocation(intersectingViews, occupied, direction,
-                    ignoreView, solution)) {
-                return true;
-            }
-            // Revert the direction
-            direction[0] = temp;
-
-            // Now we try pushing in each component of the opposite direction
-            direction[0] *= -1;
-            direction[1] *= -1;
-            temp = direction[1];
-            direction[1] = 0;
-            if (pushViewsToTempLocation(intersectingViews, occupied, direction,
-                    ignoreView, solution)) {
-                return true;
-            }
-
-            direction[1] = temp;
-            temp = direction[0];
-            direction[0] = 0;
-            if (pushViewsToTempLocation(intersectingViews, occupied, direction,
-                    ignoreView, solution)) {
-                return true;
-            }
-            // revert the direction
-            direction[0] = temp;
-            direction[0] *= -1;
-            direction[1] *= -1;
-
-        } else {
-            // If the direction vector has a single non-zero component, we push first in the
-            // direction of the vector
-            if (pushViewsToTempLocation(intersectingViews, occupied, direction,
-                    ignoreView, solution)) {
-                return true;
-            }
-            // Then we try the opposite direction
-            direction[0] *= -1;
-            direction[1] *= -1;
-            if (pushViewsToTempLocation(intersectingViews, occupied, direction,
-                    ignoreView, solution)) {
-                return true;
-            }
-            // Switch the direction back
-            direction[0] *= -1;
-            direction[1] *= -1;
-
-            // If we have failed to find a push solution with the above, then we try
-            // to find a solution by pushing along the perpendicular axis.
-
-            // Swap the components
-            int temp = direction[1];
-            direction[1] = direction[0];
-            direction[0] = temp;
-            if (pushViewsToTempLocation(intersectingViews, occupied, direction,
-                    ignoreView, solution)) {
-                return true;
-            }
-
-            // Then we try the opposite direction
-            direction[0] *= -1;
-            direction[1] *= -1;
-            if (pushViewsToTempLocation(intersectingViews, occupied, direction,
-                    ignoreView, solution)) {
-                return true;
-            }
-            // Switch the direction back
-            direction[0] *= -1;
-            direction[1] *= -1;
-
-            // Swap the components back
-            temp = direction[1];
-            direction[1] = direction[0];
-            direction[0] = temp;
-        }
-        return false;
-    }
-
-    /*
-     * Returns a pair (x, y), where x,y are in {-1, 0, 1} corresponding to vector between
-     * the provided point and the provided cell
-     */
-    private void computeDirectionVector(float deltaX, float deltaY, int[] result) {
-        double angle = Math.atan(deltaY / deltaX);
-
-        result[0] = 0;
-        result[1] = 0;
-        if (Math.abs(Math.cos(angle)) > 0.5f) {
-            result[0] = (int) Math.signum(deltaX);
-        }
-        if (Math.abs(Math.sin(angle)) > 0.5f) {
-            result[1] = (int) Math.signum(deltaY);
-        }
-    }
-
-    /* This seems like it should be obvious and straight-forward, but when the direction vector
-    needs to match with the notion of the dragView pushing other views, we have to employ
-    a slightly more subtle notion of the direction vector. The question is what two points is
-    the vector between? The center of the dragView and its desired destination? Not quite, as
-    this doesn't necessarily coincide with the interaction of the dragView and items occupying
-    those cells. Instead we use some heuristics to often lock the vector to up, down, left
-    or right, which helps make pushing feel right.
-    */
-    public void getDirectionVectorForDrop(int dragViewCenterX, int dragViewCenterY, int spanX,
-            int spanY, View dragView, int[] resultDirection) {
-
-        //TODO(adamcohen) b/151776141 use the items visual center for the direction vector
-        int[] targetDestination = new int[2];
-
-        findNearestAreaIgnoreOccupied(dragViewCenterX, dragViewCenterY, spanX, spanY,
-                targetDestination);
-        Rect dragRect = new Rect();
-        cellToRect(targetDestination[0], targetDestination[1], spanX, spanY, dragRect);
-        dragRect.offset(dragViewCenterX - dragRect.centerX(), dragViewCenterY - dragRect.centerY());
-
-        Rect dropRegionRect = new Rect();
-        getViewsIntersectingRegion(targetDestination[0], targetDestination[1], spanX, spanY,
-                dragView, dropRegionRect, mIntersectingViews);
-
-        int dropRegionSpanX = dropRegionRect.width();
-        int dropRegionSpanY = dropRegionRect.height();
-
-        cellToRect(dropRegionRect.left, dropRegionRect.top, dropRegionRect.width(),
-                dropRegionRect.height(), dropRegionRect);
-
-        int deltaX = (dropRegionRect.centerX() - dragViewCenterX) / spanX;
-        int deltaY = (dropRegionRect.centerY() - dragViewCenterY) / spanY;
-
-        if (dropRegionSpanX == mCountX || spanX == mCountX) {
-            deltaX = 0;
-        }
-        if (dropRegionSpanY == mCountY || spanY == mCountY) {
-            deltaY = 0;
-        }
-
-        if (deltaX == 0 && deltaY == 0) {
-            // No idea what to do, give a random direction.
-            resultDirection[0] = 1;
-            resultDirection[1] = 0;
-        } else {
-            computeDirectionVector(deltaX, deltaY, resultDirection);
-        }
-    }
-
-    private boolean addViewsToTempLocation(ArrayList<View> views, Rect rectOccupiedByPotentialDrop,
-            int[] direction, View dragView, ItemConfiguration currentState) {
-        if (views.size() == 0) return true;
-
-        boolean success = false;
-        Rect boundingRect = new Rect();
-        // We construct a rect which represents the entire group of views passed in
-        currentState.getBoundingRectForViews(views, boundingRect);
-
-        // Mark the occupied state as false for the group of views we want to move.
-        for (View v: views) {
-            CellAndSpan c = currentState.map.get(v);
-            mTmpOccupied.markCells(c, false);
-        }
-
-        GridOccupancy blockOccupied = new GridOccupancy(boundingRect.width(), boundingRect.height());
-        int top = boundingRect.top;
-        int left = boundingRect.left;
-        // We mark more precisely which parts of the bounding rect are truly occupied, allowing
-        // for interlocking.
-        for (View v: views) {
-            CellAndSpan c = currentState.map.get(v);
-            blockOccupied.markCells(c.cellX - left, c.cellY - top, c.spanX, c.spanY, true);
-        }
-
-        mTmpOccupied.markCells(rectOccupiedByPotentialDrop, true);
-
-        findNearestArea(boundingRect.left, boundingRect.top, boundingRect.width(),
-                boundingRect.height(), direction,
-                mTmpOccupied.cells, blockOccupied.cells, mTempLocation);
-
-        // If we successfully found a location by pushing the block of views, we commit it
-        if (mTempLocation[0] >= 0 && mTempLocation[1] >= 0) {
-            int deltaX = mTempLocation[0] - boundingRect.left;
-            int deltaY = mTempLocation[1] - boundingRect.top;
-            for (View v: views) {
-                CellAndSpan c = currentState.map.get(v);
-                c.cellX += deltaX;
-                c.cellY += deltaY;
-            }
-            success = true;
-        }
-
-        // In either case, we set the occupied array as marked for the location of the views
-        for (View v: views) {
-            CellAndSpan c = currentState.map.get(v);
-            mTmpOccupied.markCells(c, true);
-        }
-        return success;
-    }
-
-    public boolean rearrangementExists(int cellX, int cellY, int spanX, int spanY, int[] direction,
-            View ignoreView, ItemConfiguration solution) {
-        // Return early if get invalid cell positions
-        if (cellX < 0 || cellY < 0) return false;
-
-        mIntersectingViews.clear();
-        mOccupiedRect.set(cellX, cellY, cellX + spanX, cellY + spanY);
-
-        // Mark the desired location of the view currently being dragged.
-        if (ignoreView != null) {
-            CellAndSpan c = solution.map.get(ignoreView);
-            if (c != null) {
-                c.cellX = cellX;
-                c.cellY = cellY;
-            }
-        }
-        Rect r0 = new Rect(cellX, cellY, cellX + spanX, cellY + spanY);
-        Rect r1 = new Rect();
-        // The views need to be sorted so that the results are deterministic on the views positions
-        // and not by the views hash which is "random".
-        // The views are sorted twice, once for the X position and a second time for the Y position
-        // to ensure same order everytime.
-        Comparator comparator = Comparator.comparing(view ->
-                        ((CellLayoutLayoutParams) ((View) view).getLayoutParams()).getCellX())
-                .thenComparing(view ->
-                        ((CellLayoutLayoutParams) ((View) view).getLayoutParams()).getCellY());
-        List<View> views = solution.map.keySet().stream().sorted(comparator).toList();
-        for (View child : views) {
-            if (child == ignoreView) continue;
-            CellAndSpan c = solution.map.get(child);
-            CellLayoutLayoutParams lp = (CellLayoutLayoutParams) child.getLayoutParams();
-            r1.set(c.cellX, c.cellY, c.cellX + c.spanX, c.cellY + c.spanY);
-            if (Rect.intersects(r0, r1)) {
-                if (!lp.canReorder) {
-                    return false;
-                }
-                mIntersectingViews.add(child);
-            }
-        }
-
-        solution.intersectingViews = new ArrayList<>(mIntersectingViews);
-
-        // First we try to find a solution which respects the push mechanic. That is,
-        // we try to find a solution such that no displaced item travels through another item
-        // without also displacing that item.
-        if (attemptPushInDirection(mIntersectingViews, mOccupiedRect, direction, ignoreView,
-                solution)) {
-            return true;
-        }
-
-        // Next we try moving the views as a block, but without requiring the push mechanic.
-        if (addViewsToTempLocation(mIntersectingViews, mOccupiedRect, direction, ignoreView,
-                solution)) {
-            return true;
-        }
-
-        // Ok, they couldn't move as a block, let's move them individually
-        for (View v : mIntersectingViews) {
-            if (!addViewToTempLocation(v, mOccupiedRect, direction, solution)) {
-                return false;
-            }
-        }
-        return true;
-    }
-
     public ReorderAlgorithm createReorderAlgorithm() {
         return new ReorderAlgorithm(this);
     }
@@ -2398,22 +1749,20 @@
     protected ItemConfiguration findReorderSolution(int pixelX, int pixelY, int minSpanX,
             int minSpanY, int spanX, int spanY, int[] direction, View dragView, boolean decX,
             ItemConfiguration solution) {
-        return createReorderAlgorithm().findReorderSolution(pixelX, pixelY, minSpanX, minSpanY,
-                spanX, spanY, direction, dragView, decX, solution);
+        ItemConfiguration configuration = new ItemConfiguration();
+        copyCurrentStateToSolution(configuration);
+        ReorderParameters parameters = new ReorderParameters(pixelX, pixelY, spanX, spanY, minSpanX,
+                minSpanY, dragView, configuration);
+        return createReorderAlgorithm().findReorderSolution(parameters, decX);
     }
 
-    public void copyCurrentStateToSolution(ItemConfiguration solution, boolean temp) {
+    public void copyCurrentStateToSolution(ItemConfiguration solution) {
         int childCount = mShortcutsAndWidgets.getChildCount();
         for (int i = 0; i < childCount; i++) {
             View child = mShortcutsAndWidgets.getChildAt(i);
             CellLayoutLayoutParams lp = (CellLayoutLayoutParams) child.getLayoutParams();
-            CellAndSpan c;
-            if (temp) {
-                c = new CellAndSpan(lp.getTmpCellX(), lp.getTmpCellY(), lp.cellHSpan, lp.cellVSpan);
-            } else {
-                c = new CellAndSpan(lp.getCellX(), lp.getCellY(), lp.cellHSpan, lp.cellVSpan);
-            }
-            solution.add(child, c);
+            solution.add(child,
+                    new CellAndSpan(lp.getCellX(), lp.getCellY(), lp.cellHSpan, lp.cellVSpan));
         }
     }
 
@@ -2434,8 +1783,12 @@
      */
     public ItemConfiguration calculateReorder(int pixelX, int pixelY, int minSpanX, int minSpanY,
             int spanX, int spanY, View dragView) {
-        return createReorderAlgorithm().calculateReorder(pixelX, pixelY, minSpanX, minSpanY,
-                spanX, spanY, dragView);
+        ItemConfiguration configuration = new ItemConfiguration();
+        copyCurrentStateToSolution(configuration);
+        return createReorderAlgorithm().calculateReorder(
+                new ReorderParameters(pixelX, pixelY, spanX, spanY,  minSpanX, minSpanY, dragView,
+                        configuration)
+        );
     }
 
     int[] performReorder(int pixelX, int pixelY, int minSpanX, int minSpanY, int spanX, int spanY,
@@ -2534,54 +1887,6 @@
     }
 
     /**
-     * Represents the solution to a reorder of items in the Workspace.
-     */
-    public static class ItemConfiguration extends CellAndSpan {
-        public final ArrayMap<View, CellAndSpan> map = new ArrayMap<>();
-        private final ArrayMap<View, CellAndSpan> savedMap = new ArrayMap<>();
-        public final ArrayList<View> sortedViews = new ArrayList<>();
-        public ArrayList<View> intersectingViews;
-        public boolean isSolution = false;
-
-        public void save() {
-            // Copy current state into savedMap
-            for (View v: map.keySet()) {
-                savedMap.get(v).copyFrom(map.get(v));
-            }
-        }
-
-        public void restore() {
-            // Restore current state from savedMap
-            for (View v: savedMap.keySet()) {
-                map.get(v).copyFrom(savedMap.get(v));
-            }
-        }
-
-        public void add(View v, CellAndSpan cs) {
-            map.put(v, cs);
-            savedMap.put(v, new CellAndSpan());
-            sortedViews.add(v);
-        }
-
-        public int area() {
-            return spanX * spanY;
-        }
-
-        public void getBoundingRectForViews(ArrayList<View> views, Rect outRect) {
-            boolean first = true;
-            for (View v: views) {
-                CellAndSpan c = map.get(v);
-                if (first) {
-                    outRect.set(c.cellX, c.cellY, c.cellX + c.spanX, c.cellY + c.spanY);
-                    first = false;
-                } else {
-                    outRect.union(c.cellX, c.cellY, c.cellX + c.spanX, c.cellY + c.spanY);
-                }
-            }
-        }
-    }
-
-    /**
      * Find a starting cell position that will fit the given bounds nearest the requested
      * cell location. Uses Euclidean distance to score multiple vacant areas.
      *
@@ -2760,52 +2065,6 @@
         return new CellLayoutLayoutParams(p);
     }
 
-    // This class stores info for two purposes:
-    // 1. When dragging items (mDragInfo in Workspace), we store the View, its cellX & cellY,
-    //    its spanX, spanY, and the screen it is on
-    // 2. When long clicking on an empty cell in a CellLayout, we save information about the
-    //    cellX and cellY coordinates and which page was clicked. We then set this as a tag on
-    //    the CellLayout that was long clicked
-    public static final class CellInfo extends CellAndSpan {
-        public final View cell;
-        final int screenId;
-        final int container;
-
-        public CellInfo(View v, ItemInfo info, CellPos cellPos) {
-            cellX = cellPos.cellX;
-            cellY = cellPos.cellY;
-            spanX = info.spanX;
-            spanY = info.spanY;
-            cell = v;
-            screenId = cellPos.screenId;
-            container = info.container;
-        }
-
-        @Override
-        public String toString() {
-            return "Cell[view=" + (cell == null ? "null" : cell.getClass())
-                    + ", x=" + cellX + ", y=" + cellY + "]";
-        }
-    }
-
-    /**
-     * A Delegated cell Drawing for drawing on CellLayout
-     */
-    public abstract static class DelegatedCellDrawing {
-        public int mDelegateCellX;
-        public int mDelegateCellY;
-
-        /**
-         * Draw under CellLayout
-         */
-        public abstract void drawUnderItem(Canvas canvas);
-
-        /**
-         * Draw over CellLayout
-         */
-        public abstract void drawOverItem(Canvas canvas);
-    }
-
     /**
      * Returns whether an item can be placed in this CellLayout (after rearranging and/or resizing
      * if necessary).
@@ -2859,4 +2118,8 @@
     public boolean isRegionVacant(int x, int y, int spanX, int spanY) {
         return mOccupied.isRegionVacant(x, y, spanX, spanY);
     }
+
+    public void setSpaceBetweenCellLayoutsPx(@Px int spaceBetweenCellLayoutsPx) {
+        mSpaceBetweenCellLayoutsPx = spaceBetweenCellLayoutsPx;
+    }
 }
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 936229a..e9545c8 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -17,6 +17,7 @@
 package com.android.launcher3;
 
 import static com.android.app.animation.Interpolators.LINEAR;
+import static com.android.launcher3.Flags.enableOverviewIconMenu;
 import static com.android.launcher3.InvariantDeviceProfile.INDEX_DEFAULT;
 import static com.android.launcher3.InvariantDeviceProfile.INDEX_LANDSCAPE;
 import static com.android.launcher3.InvariantDeviceProfile.INDEX_TWO_PANEL_LANDSCAPE;
@@ -53,15 +54,16 @@
 import com.android.launcher3.icons.DotRenderer;
 import com.android.launcher3.icons.IconNormalizer;
 import com.android.launcher3.model.data.ItemInfo;
-import com.android.launcher3.responsive.AllAppsSpecs;
-import com.android.launcher3.responsive.CalculatedAllAppsSpec;
-import com.android.launcher3.responsive.CalculatedFolderSpec;
+import com.android.launcher3.responsive.CalculatedCellSpec;
 import com.android.launcher3.responsive.CalculatedHotseatSpec;
-import com.android.launcher3.responsive.CalculatedWorkspaceSpec;
-import com.android.launcher3.responsive.FolderSpecs;
-import com.android.launcher3.responsive.HotseatSpecs;
-import com.android.launcher3.responsive.WorkspaceSpecs;
+import com.android.launcher3.responsive.CalculatedResponsiveSpec;
+import com.android.launcher3.responsive.HotseatSpecsProvider;
+import com.android.launcher3.responsive.ResponsiveCellSpecsProvider;
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType;
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType;
+import com.android.launcher3.responsive.ResponsiveSpecsProvider;
 import com.android.launcher3.uioverrides.ApiWrapper;
+import com.android.launcher3.util.CellContentDimensions;
 import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.DisplayController.Info;
 import com.android.launcher3.util.IconSizeSteps;
@@ -76,13 +78,16 @@
 public class DeviceProfile {
 
     private static final int DEFAULT_DOT_SIZE = 100;
-    private static final float ALL_APPS_TABLET_MAX_ROWS = 5.5f;
     private static final float MIN_FOLDER_TEXT_SIZE_SP = 16f;
     private static final float MIN_WIDGET_PADDING_DP = 6f;
 
+    // Minimum aspect ratio beyond which an extra top padding may be applied to a bottom sheet.
+    private static final float MIN_ASPECT_RATIO_FOR_EXTRA_TOP_PADDING = 1.5f;
+
     public static final PointF DEFAULT_SCALE = new PointF(1.0f, 1.0f);
     public static final ViewScaleProvider DEFAULT_PROVIDER = itemInfo -> DEFAULT_SCALE;
-    public static final Consumer<DeviceProfile> DEFAULT_DIMENSION_PROVIDER = dp -> {};
+    public static final Consumer<DeviceProfile> DEFAULT_DIMENSION_PROVIDER = dp -> {
+    };
 
     public final InvariantDeviceProfile inv;
     private final Info mInfo;
@@ -102,6 +107,8 @@
     public final boolean isMultiWindowMode;
     public final boolean isGestureMode;
 
+    public final boolean isLeftRightSplit;
+
     public final int windowX;
     public final int windowY;
     public final int widthPx;
@@ -117,13 +124,15 @@
 
     // Responsive grid
     private final boolean mIsResponsiveGrid;
-    private CalculatedWorkspaceSpec mResponsiveWidthSpec;
-    private CalculatedWorkspaceSpec mResponsiveHeightSpec;
-    private CalculatedAllAppsSpec mAllAppsResponsiveWidthSpec;
-    private CalculatedAllAppsSpec mAllAppsResponsiveHeightSpec;
-    private CalculatedFolderSpec mResponsiveFolderWidthSpec;
-    private CalculatedFolderSpec mResponsiveFolderHeightSpec;
+    private CalculatedResponsiveSpec mResponsiveWorkspaceWidthSpec;
+    private CalculatedResponsiveSpec mResponsiveWorkspaceHeightSpec;
+    private CalculatedResponsiveSpec mResponsiveAllAppsWidthSpec;
+    private CalculatedResponsiveSpec mResponsiveAllAppsHeightSpec;
+    private CalculatedResponsiveSpec mResponsiveFolderWidthSpec;
+    private CalculatedResponsiveSpec mResponsiveFolderHeightSpec;
     private CalculatedHotseatSpec mResponsiveHotseatSpec;
+    private CalculatedCellSpec mResponsiveWorkspaceCellSpec;
+    private CalculatedCellSpec mResponsiveAllAppsCellSpec;
 
     /**
      * The maximum amount of left/right workspace padding as a percentage of the screen width.
@@ -164,7 +173,7 @@
     public int iconSizePx;
     public int iconTextSizePx;
     public int iconDrawablePaddingPx;
-    private final int mIconDrawablePaddingOriginalPx;
+    private int mIconDrawablePaddingOriginalPx;
     public boolean iconCenterVertically;
 
     public float cellScaleToFit;
@@ -175,7 +184,9 @@
     public int cellYPaddingPx = -1;
 
     // Folder
-    public float folderLabelTextScale;
+    public final int numFolderRows;
+    public final int numFolderColumns;
+    public final float folderLabelTextScale;
     public int folderLabelTextSizePx;
     public int folderFooterHeightPx;
     public int folderIconSizePx;
@@ -205,9 +216,11 @@
     public int hotseatBarEndOffset;
     public int hotseatQsbSpace;
     public int springLoadedHotseatBarTopMarginPx;
-    // Start is the side next to the nav bar, end is the side next to the workspace
-    public final int hotseatBarSidePaddingStartPx;
-    public final int hotseatBarSidePaddingEndPx;
+    // These 2 values are only used for isVerticalBar
+    // Padding between edge of screen and hotseat
+    public final int mHotseatBarEdgePaddingPx;
+    // Space between hotseat and workspace (not used in responsive)
+    public final int mHotseatBarWorkspaceSpacePx;
     public int hotseatQsbWidth; // only used when isQsbInline
     public final int hotseatQsbHeight;
     public final int hotseatQsbVisualHeight;
@@ -217,6 +230,9 @@
     private final int mMinHotseatQsbWidthPx;
     private final int mMaxHotseatIconSpacePx;
     public final int inlineNavButtonsEndSpacingPx;
+    // Space required for the bubble bar between the hotseat and the edge of the screen. If there's
+    // not enough space, the hotseat will adjust itself for the bubble bar.
+    private final int mBubbleBarSpaceThresholdPx;
 
     // Bottom sheets
     public int bottomSheetTopPadding;
@@ -228,14 +244,13 @@
     // All apps
     public Point allAppsBorderSpacePx;
     public int allAppsShiftRange;
-    public int allAppsTopPadding;
+    public Rect allAppsPadding = new Rect();
     public int allAppsOpenDuration;
     public int allAppsCloseDuration;
     public int allAppsCellHeightPx;
     public int allAppsCellWidthPx;
     public int allAppsIconSizePx;
     public int allAppsIconDrawablePaddingPx;
-    public int allAppsLeftRightPadding;
     public int allAppsLeftRightMargin;
     public final int numShownAllAppsColumns;
     public float allAppsIconTextSizePx;
@@ -245,6 +260,7 @@
     public int overviewTaskIconSizePx;
     public int overviewTaskIconDrawableSizePx;
     public int overviewTaskIconDrawableSizeGridPx;
+    public int overviewTaskIconAppChipMenuDrawableSizePx;
     public int overviewTaskThumbnailTopMarginPx;
     public final int overviewActionsHeight;
     public final int overviewActionsTopMarginPx;
@@ -292,10 +308,10 @@
     public final int stashedTaskbarHeight;
     public final int taskbarBottomMargin;
     public final int taskbarIconSize;
+    private final int mTransientTaskbarClaimedSpace;
     // If true, used to layout taskbar in 3 button navigation mode.
     public final boolean startAlignTaskbar;
     public final boolean isTransientTaskbar;
-
     // DragController
     public int flingToDeleteThresholdVelocity;
 
@@ -304,7 +320,8 @@
             SparseArray<DotRenderer> dotRendererCache, boolean isMultiWindowMode,
             boolean transposeLayoutWithOrientation, boolean isMultiDisplay, boolean isGestureMode,
             @NonNull final ViewScaleProvider viewScaleProvider,
-            @NonNull final Consumer<DeviceProfile> dimensionOverrideProvider) {
+            @NonNull final Consumer<DeviceProfile> dimensionOverrideProvider,
+            boolean isTransientTaskbar) {
 
         this.inv = inv;
         this.isLandscape = windowBounds.isLandscape();
@@ -321,7 +338,9 @@
         mIsResponsiveGrid = inv.workspaceSpecsId != INVALID_RESOURCE_HANDLE
                 && inv.allAppsSpecsId != INVALID_RESOURCE_HANDLE
                 && inv.folderSpecsId != INVALID_RESOURCE_HANDLE
-                && inv.hotseatSpecsId != INVALID_RESOURCE_HANDLE;
+                && inv.hotseatSpecsId != INVALID_RESOURCE_HANDLE
+                && inv.workspaceCellSpecsId != INVALID_RESOURCE_HANDLE
+                && inv.allAppsCellSpecsId != INVALID_RESOURCE_HANDLE;
 
         mIsScalableGrid = inv.isScalable && !isVerticalBarLayout() && !isMultiWindowMode;
         // Determine device posture.
@@ -339,7 +358,7 @@
         final Resources res = context.getResources();
         mMetrics = res.getDisplayMetrics();
 
-        mIconSizeSteps = mIsResponsiveGrid ? new IconSizeSteps(res) : null;
+        mIconSizeSteps = new IconSizeSteps(res);
 
         // Determine sizes.
         widthPx = windowBounds.bounds.width();
@@ -362,19 +381,24 @@
             }
         }
 
-        isTransientTaskbar = DisplayController.isTransientTaskbar(context);
+        this.isTransientTaskbar = isTransientTaskbar;
+        int transientTaskbarIconSize = pxFromDp(inv.transientTaskbarIconSize[mTypeIndex], mMetrics);
+        int transientTaskbarBottomMargin =
+                res.getDimensionPixelSize(R.dimen.transient_taskbar_bottom_margin);
+        int transientTaskbarHeight =
+                Math.round((transientTaskbarIconSize * ICON_VISIBLE_AREA_FACTOR)
+                        + (2 * res.getDimensionPixelSize(R.dimen.transient_taskbar_padding)));
+        mTransientTaskbarClaimedSpace = transientTaskbarHeight + 2 * transientTaskbarBottomMargin;
+
         if (!isTaskbarPresent) {
             taskbarIconSize = taskbarHeight = stashedTaskbarHeight = taskbarBottomMargin = 0;
             startAlignTaskbar = false;
         } else if (isTransientTaskbar) {
-            float invTransientIconSizeDp = inv.transientTaskbarIconSize[mTypeIndex];
-            taskbarIconSize = pxFromDp(invTransientIconSizeDp, mMetrics);
-            taskbarHeight = Math.round((taskbarIconSize * ICON_VISIBLE_AREA_FACTOR)
-                    + (2 * res.getDimensionPixelSize(R.dimen.transient_taskbar_padding)));
+            taskbarIconSize = transientTaskbarIconSize;
+            taskbarHeight = transientTaskbarHeight;
             stashedTaskbarHeight =
                     res.getDimensionPixelSize(R.dimen.transient_taskbar_stashed_height);
-            taskbarBottomMargin =
-                    res.getDimensionPixelSize(R.dimen.transient_taskbar_bottom_margin);
+            taskbarBottomMargin = transientTaskbarBottomMargin;
             startAlignTaskbar = false;
         } else {
             taskbarIconSize = pxFromDp(ResourcesCompat.getFloat(res, R.dimen.taskbar_icon_size),
@@ -393,8 +417,14 @@
         gridVisualizationPaddingY = res.getDimensionPixelSize(
                 R.dimen.grid_visualization_vertical_cell_spacing);
 
+        // Tablet portrait mode uses a single pane widget picker and extra padding may be applied on
+        // top to avoid making it look too elongated.
+        final boolean applyExtraTopPadding = isTablet
+                && !isLandscape
+                && (aspectRatio > MIN_ASPECT_RATIO_FOR_EXTRA_TOP_PADDING);
         bottomSheetTopPadding = mInsets.top // statusbar height
-                + res.getDimensionPixelSize(R.dimen.bottom_sheet_extra_top_padding)
+                + (applyExtraTopPadding ? res.getDimensionPixelSize(
+                R.dimen.bottom_sheet_extra_top_padding) : 0)
                 + (isTablet ? 0 : edgeMarginPx); // phones need edgeMarginPx additional padding
         bottomSheetOpenDuration = res.getInteger(R.integer.config_bottomSheetOpenDuration);
         bottomSheetCloseDuration = res.getInteger(R.integer.config_bottomSheetCloseDuration);
@@ -419,6 +449,8 @@
         }
 
         folderLabelTextScale = res.getFloat(R.dimen.folder_label_text_scale);
+        numFolderRows = inv.numFolderRows[mTypeIndex];
+        numFolderColumns = inv.numFolderColumns[mTypeIndex];
 
         if (mIsScalableGrid && inv.folderStyle != INVALID_RESOURCE_HANDLE) {
             TypedArray folderStyle = context.obtainStyledAttributes(inv.folderStyle,
@@ -454,17 +486,19 @@
         mWorkspacePageIndicatorOverlapWorkspace =
                 res.getDimensionPixelSize(R.dimen.workspace_page_indicator_overlap_workspace);
 
-        TypedArray cellStyle;
-        if (inv.cellStyle != INVALID_RESOURCE_HANDLE) {
-            cellStyle = context.obtainStyledAttributes(inv.cellStyle,
-                    R.styleable.CellStyle);
-        } else {
-            cellStyle = context.obtainStyledAttributes(R.style.CellStyleDefault,
-                    R.styleable.CellStyle);
+        if (!mIsResponsiveGrid) {
+            TypedArray cellStyle;
+            if (inv.cellStyle != INVALID_RESOURCE_HANDLE) {
+                cellStyle = context.obtainStyledAttributes(inv.cellStyle,
+                        R.styleable.CellStyle);
+            } else {
+                cellStyle = context.obtainStyledAttributes(R.style.CellStyleDefault,
+                        R.styleable.CellStyle);
+            }
+            mIconDrawablePaddingOriginalPx = cellStyle.getDimensionPixelSize(
+                    R.styleable.CellStyle_iconDrawablePadding, 0);
+            cellStyle.recycle();
         }
-        mIconDrawablePaddingOriginalPx = cellStyle.getDimensionPixelSize(
-                R.styleable.CellStyle_iconDrawablePadding, 0);
-        cellStyle.recycle();
 
         dropTargetBarSizePx = res.getDimensionPixelSize(R.dimen.dynamic_grid_drop_target_size);
         dropTargetBarTopMarginPx = res.getDimensionPixelSize(R.dimen.drop_target_top_margin);
@@ -502,46 +536,72 @@
         numShownAllAppsColumns =
                 isTwoPanels ? inv.numDatabaseAllAppsColumns : inv.numAllAppsColumns;
 
-        int hotseatBarBottomSpace = pxFromDp(inv.hotseatBarBottomSpace[mTypeIndex], mMetrics);
+        int hotseatBarBottomSpace;
         int minQsbMargin = res.getDimensionPixelSize(R.dimen.min_qsb_margin);
 
         if (mIsResponsiveGrid) {
-            HotseatSpecs hotseatSpecs =
-                    HotseatSpecs.create(new ResourceHelper(context,
+            float responsiveAspectRatio = (float) widthPx / heightPx;
+            HotseatSpecsProvider hotseatSpecsProvider =
+                    HotseatSpecsProvider.create(new ResourceHelper(context,
                             isTwoPanels ? inv.hotseatSpecsTwoPanelId : inv.hotseatSpecsId));
-            mResponsiveHotseatSpec = hotseatSpecs.getCalculatedHeightSpec(heightPx);
+            mResponsiveHotseatSpec =
+                    isVerticalBarLayout() ? hotseatSpecsProvider.getCalculatedSpec(
+                            responsiveAspectRatio, DimensionType.WIDTH, widthPx)
+                            : hotseatSpecsProvider.getCalculatedSpec(responsiveAspectRatio,
+                                    DimensionType.HEIGHT, heightPx);
             hotseatQsbSpace = mResponsiveHotseatSpec.getHotseatQsbSpace();
+            hotseatBarBottomSpace =
+                    isVerticalBarLayout() ? 0 : mResponsiveHotseatSpec.getEdgePadding();
+            mHotseatBarEdgePaddingPx =
+                    isVerticalBarLayout() ? mResponsiveHotseatSpec.getEdgePadding() : 0;
+            mHotseatBarWorkspaceSpacePx = 0;
+
+            ResponsiveCellSpecsProvider workspaceCellSpecs = ResponsiveCellSpecsProvider.create(
+                    new ResourceHelper(context,
+                            isTwoPanels ? inv.workspaceCellSpecsTwoPanelId
+                                    : inv.workspaceCellSpecsId));
+            mResponsiveWorkspaceCellSpec = workspaceCellSpecs.getCalculatedSpec(
+                    responsiveAspectRatio, heightPx);
         } else {
             hotseatQsbSpace = pxFromDp(inv.hotseatQsbSpace[mTypeIndex], mMetrics);
+            hotseatBarBottomSpace = pxFromDp(inv.hotseatBarBottomSpace[mTypeIndex], mMetrics);
+            mHotseatBarEdgePaddingPx =
+                    isVerticalBarLayout() ? workspacePageIndicatorHeight : 0;
+            mHotseatBarWorkspaceSpacePx =
+                    res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_side_padding);
         }
 
-        // Have a little space between the inset and the QSB
-        if (mInsets.bottom + minQsbMargin > hotseatBarBottomSpace) {
-            int availableSpace = hotseatQsbSpace - (mInsets.bottom - hotseatBarBottomSpace);
+        if (!isVerticalBarLayout()) {
+            // Have a little space between the inset and the QSB
+            if (mInsets.bottom + minQsbMargin > hotseatBarBottomSpace) {
+                int availableSpace = hotseatQsbSpace - (mInsets.bottom - hotseatBarBottomSpace);
 
-            // Only change the spaces if there is space
-            if (availableSpace > 0) {
-                // Make sure there is enough space between hotseat/QSB and QSB/navBar
-                if (availableSpace < minQsbMargin * 2) {
-                    minQsbMargin = availableSpace / 2;
-                    hotseatQsbSpace = minQsbMargin;
-                } else {
-                    hotseatQsbSpace -= minQsbMargin;
+                // Only change the spaces if there is space
+                if (availableSpace > 0) {
+                    // Make sure there is enough space between hotseat/QSB and QSB/navBar
+                    if (availableSpace < minQsbMargin * 2) {
+                        minQsbMargin = availableSpace / 2;
+                        hotseatQsbSpace = minQsbMargin;
+                    } else {
+                        hotseatQsbSpace -= minQsbMargin;
+                    }
                 }
-            }
-            hotseatBarBottomSpacePx = mInsets.bottom + minQsbMargin;
+                hotseatBarBottomSpacePx = mInsets.bottom + minQsbMargin;
 
-        } else {
-            hotseatBarBottomSpacePx = hotseatBarBottomSpace;
+            } else {
+                hotseatBarBottomSpacePx = hotseatBarBottomSpace;
+            }
         }
 
         springLoadedHotseatBarTopMarginPx = res.getDimensionPixelSize(
                 R.dimen.spring_loaded_hotseat_top_margin);
-        hotseatBarSidePaddingEndPx =
-                res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_side_padding);
-        // Add a bit of space between nav bar and hotseat in vertical bar layout.
-        hotseatBarSidePaddingStartPx = isVerticalBarLayout() ? workspacePageIndicatorHeight : 0;
-        updateHotseatSizes(pxFromDp(inv.iconSize[INDEX_DEFAULT], mMetrics));
+
+        if (mIsResponsiveGrid) {
+            updateHotseatSizes(mResponsiveWorkspaceCellSpec.getIconSize());
+        } else {
+            updateHotseatSizes(pxFromDp(inv.iconSize[mTypeIndex], mMetrics));
+        }
+
         if (areNavButtonsInline && !isPhone) {
             inlineNavButtonsEndSpacingPx =
                     res.getDimensionPixelSize(inv.inlineNavButtonsEndSpacing);
@@ -558,51 +618,78 @@
             hotseatBarEndOffset = 0;
         }
 
+        mBubbleBarSpaceThresholdPx =
+                res.getDimensionPixelSize(R.dimen.bubblebar_hotseat_adjustment_threshold);
+
         // Needs to be calculated after hotseatBarSizePx is correct,
         // for the available height to be correct
         if (mIsResponsiveGrid) {
-            WorkspaceSpecs workspaceSpecs = WorkspaceSpecs.create(
-                    new ResourceHelper(context,
-                            isTwoPanels ? inv.workspaceSpecsTwoPanelId : inv.workspaceSpecsId));
             int availableResponsiveWidth =
                     availableWidthPx - (isVerticalBarLayout() ? hotseatBarSizePx : 0);
-            int numColumns = getPanelCount() * inv.numColumns;
-            // don't use availableHeightPx because it subtracts bottom padding,
-            // but the workspace go behind it
-            int availableResponsiveHeight =
-                    heightPx - mInsets.top - (isVerticalBarLayout() ? 0 : hotseatBarSizePx);
-            mResponsiveWidthSpec = workspaceSpecs.getCalculatedWidthSpec(numColumns,
-                    availableResponsiveWidth);
-            mResponsiveHeightSpec = workspaceSpecs.getCalculatedHeightSpec(inv.numRows,
-                    availableResponsiveHeight);
+            int numWorkspaceColumns = getPanelCount() * inv.numColumns;
+            // don't use availableHeightPx because it subtracts mInsets.bottom
+            int availableResponsiveHeight = heightPx - mInsets.top
+                    - (isVerticalBarLayout() ? 0 : hotseatBarSizePx);
+            float responsiveAspectRatio = (float) widthPx / heightPx;
 
-            AllAppsSpecs allAppsSpecs = AllAppsSpecs.create(
+            ResponsiveSpecsProvider workspaceSpecs = ResponsiveSpecsProvider.create(
                     new ResourceHelper(context,
-                            isTwoPanels ? inv.allAppsSpecsTwoPanelId : inv.allAppsSpecsId));
-            mAllAppsResponsiveWidthSpec = allAppsSpecs.getCalculatedWidthSpec(numColumns,
-                    mResponsiveWidthSpec.getAvailableSpace(), mResponsiveWidthSpec);
-            mAllAppsResponsiveHeightSpec = allAppsSpecs.getCalculatedHeightSpec(inv.numRows,
-                    mResponsiveHeightSpec.getAvailableSpace(), mResponsiveHeightSpec);
+                            isTwoPanels ? inv.workspaceSpecsTwoPanelId : inv.workspaceSpecsId),
+                    ResponsiveSpecType.Workspace);
+            mResponsiveWorkspaceWidthSpec = workspaceSpecs.getCalculatedSpec(responsiveAspectRatio,
+                    DimensionType.WIDTH, numWorkspaceColumns, availableResponsiveWidth);
+            mResponsiveWorkspaceHeightSpec = workspaceSpecs.getCalculatedSpec(responsiveAspectRatio,
+                    DimensionType.HEIGHT, inv.numRows, availableResponsiveHeight);
 
-            FolderSpecs folderSpecs = FolderSpecs.create(
+            ResponsiveSpecsProvider allAppsSpecs = ResponsiveSpecsProvider.create(
                     new ResourceHelper(context,
-                            isTwoPanels ? inv.folderSpecsTwoPanelId : inv.folderSpecsId));
-            mResponsiveFolderWidthSpec = folderSpecs.getCalculatedWidthSpec(inv.numFolderColumns,
-                    mResponsiveWidthSpec.getAvailableSpace(), mResponsiveWidthSpec);
-            mResponsiveFolderHeightSpec = folderSpecs.getCalculatedHeightSpec(inv.numFolderRows,
-                    mResponsiveHeightSpec.getAvailableSpace(), mResponsiveHeightSpec);
+                            isTwoPanels ? inv.allAppsSpecsTwoPanelId : inv.allAppsSpecsId),
+                    ResponsiveSpecType.AllApps);
+            mResponsiveAllAppsWidthSpec = allAppsSpecs.getCalculatedSpec(responsiveAspectRatio,
+                    DimensionType.WIDTH, numShownAllAppsColumns, availableWidthPx,
+                    mResponsiveWorkspaceWidthSpec);
+            mResponsiveAllAppsHeightSpec = allAppsSpecs.getCalculatedSpec(responsiveAspectRatio,
+                    DimensionType.HEIGHT, inv.numAllAppsRowsForCellHeightCalculation,
+                    heightPx - mInsets.top, mResponsiveWorkspaceHeightSpec);
+
+            ResponsiveSpecsProvider folderSpecs = ResponsiveSpecsProvider.create(
+                    new ResourceHelper(context,
+                            isTwoPanels ? inv.folderSpecsTwoPanelId : inv.folderSpecsId),
+                    ResponsiveSpecType.Folder);
+            mResponsiveFolderWidthSpec = folderSpecs.getCalculatedSpec(responsiveAspectRatio,
+                    DimensionType.WIDTH, numFolderColumns,
+                    mResponsiveWorkspaceWidthSpec.getAvailableSpace(),
+                    mResponsiveWorkspaceWidthSpec);
+            mResponsiveFolderHeightSpec = folderSpecs.getCalculatedSpec(responsiveAspectRatio,
+                    DimensionType.HEIGHT, numFolderRows,
+                    mResponsiveWorkspaceHeightSpec.getAvailableSpace(),
+                    mResponsiveWorkspaceHeightSpec);
+
+            ResponsiveCellSpecsProvider allAppsCellSpecs = ResponsiveCellSpecsProvider.create(
+                    new ResourceHelper(context,
+                            isTwoPanels ? inv.allAppsCellSpecsTwoPanelId
+                                    : inv.allAppsCellSpecsId));
+            mResponsiveAllAppsCellSpec = allAppsCellSpecs.getCalculatedSpec(
+                    responsiveAspectRatio,
+                    mResponsiveAllAppsHeightSpec.getAvailableSpace(),
+                    mResponsiveWorkspaceCellSpec);
         }
 
         desiredWorkspaceHorizontalMarginPx = getHorizontalMarginPx(inv, res);
         desiredWorkspaceHorizontalMarginOriginalPx = desiredWorkspaceHorizontalMarginPx;
 
         overviewTaskMarginPx = res.getDimensionPixelSize(R.dimen.overview_task_margin);
-        overviewTaskIconSizePx = res.getDimensionPixelSize(R.dimen.task_thumbnail_icon_size);
+        overviewTaskIconSizePx = enableOverviewIconMenu() ? res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_drawable_touch_size) : res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_size);
         overviewTaskIconDrawableSizePx =
                 res.getDimensionPixelSize(R.dimen.task_thumbnail_icon_drawable_size);
         overviewTaskIconDrawableSizeGridPx =
                 res.getDimensionPixelSize(R.dimen.task_thumbnail_icon_drawable_size_grid);
-        overviewTaskThumbnailTopMarginPx = overviewTaskIconSizePx + overviewTaskMarginPx;
+        overviewTaskIconAppChipMenuDrawableSizePx = res.getDimensionPixelSize(
+                R.dimen.task_thumbnail_icon_menu_drawable_size);
+        overviewTaskThumbnailTopMarginPx =
+                enableOverviewIconMenu() ? 0 : overviewTaskIconSizePx + overviewTaskMarginPx;
         // Don't add margin with floating search bar to minimize risk of overlapping.
         overviewActionsTopMarginPx = FeatureFlags.ENABLE_FLOATING_SEARCH_BAR.get() ? 0
                 : res.getDimensionPixelSize(R.dimen.overview_actions_top_margin);
@@ -614,6 +701,20 @@
         overviewGridSideMargin = res.getDimensionPixelSize(R.dimen.overview_grid_side_margin);
 
         splitPlaceholderInset = res.getDimensionPixelSize(R.dimen.split_placeholder_inset);
+        // We need to use the full window bounds for split determination because on near-square
+        // devices, the available bounds (bounds minus insets) may actually be in landscape while
+        // actually portrait
+        int leftRightSplitPortraitResId = Resources.getSystem().getIdentifier(
+                "config_leftRightSplitInPortrait", "bool", "android");
+        boolean allowLeftRightSplitInPortrait =
+                com.android.wm.shell.Flags.enableLeftRightSplitInPortrait()
+                    && leftRightSplitPortraitResId > 0
+                    && res.getBoolean(leftRightSplitPortraitResId);
+        if (allowLeftRightSplitInPortrait && isTablet) {
+            isLeftRightSplit = !isLandscape;
+        } else {
+            isLeftRightSplit = isLandscape;
+        }
 
         // Calculate all of the remaining variables.
         extraSpace = updateAvailableDimensions(res);
@@ -641,16 +742,11 @@
             hotseatBorderSpace = cellLayoutBorderSpacePx.y;
         }
 
-        // AllApps height calculation depends on updated cellSize
         if (isTablet) {
-            int collapseHandleHeight =
-                    res.getDimensionPixelOffset(R.dimen.bottom_sheet_handle_area_height);
-            int contentHeight = heightPx - collapseHandleHeight - hotseatQsbHeight;
-            int targetContentHeight = (int) (allAppsCellHeightPx * ALL_APPS_TABLET_MAX_ROWS);
-            allAppsTopPadding = Math.max(mInsets.top, contentHeight - targetContentHeight);
-            allAppsShiftRange = heightPx - allAppsTopPadding;
+            allAppsPadding.top = mInsets.top;
+            allAppsShiftRange = heightPx;
         } else {
-            allAppsTopPadding = 0;
+            allAppsPadding.top = 0;
             allAppsShiftRange =
                     res.getDimensionPixelSize(R.dimen.all_apps_starting_vertical_translate);
         }
@@ -681,18 +777,31 @@
     }
 
     /**
+     * Return maximum of all apps row count displayed on screen. Note that 1) Partially displayed
+     * row is counted as 1 row, and 2) we don't exclude the space of floating search bar. This
+     * method is used for calculating number of {@link BubbleTextView} we need to pre-inflate. Thus
+     * reasonable over estimation is fine.
+     */
+    public int getMaxAllAppsRowCount() {
+        return (int) (Math.ceil((availableHeightPx - allAppsPadding.top)
+                / (float) allAppsCellHeightPx));
+    }
+
+    /**
      * QSB width is always calculated because when in 3 button nav the width doesn't follow the
      * width of the hotseat.
      */
     private int calculateQsbWidth(int hotseatBorderSpace) {
+        int iconExtraSpacePx = iconSizePx - getIconVisibleSizePx(iconSizePx);
         if (isQsbInline) {
             int columns = getPanelCount() * inv.numColumns;
             return getIconToIconWidthForColumns(columns)
                     - iconSizePx * numShownHotseatIcons
-                    - hotseatBorderSpace * numShownHotseatIcons;
+                    - hotseatBorderSpace * numShownHotseatIcons
+                    - iconExtraSpacePx;
         } else {
             int columns = inv.hotseatColumnSpan[mTypeIndex];
-            return getIconToIconWidthForColumns(columns);
+            return getIconToIconWidthForColumns(columns) - iconExtraSpacePx;
         }
     }
 
@@ -704,7 +813,7 @@
 
     private int getHorizontalMarginPx(InvariantDeviceProfile idp, Resources res) {
         if (mIsResponsiveGrid) {
-            return mResponsiveWidthSpec.getStartPaddingPx();
+            return mResponsiveWorkspaceWidthSpec.getStartPaddingPx();
         }
 
         if (isVerticalBarLayout()) {
@@ -720,8 +829,8 @@
             InvariantDeviceProfile inv,
             int extraSpace) {
         if (mIsResponsiveGrid) {
-            workspaceTopPadding = mResponsiveHeightSpec.getStartPaddingPx();
-            workspaceBottomPadding = mResponsiveHeightSpec.getEndPaddingPx();
+            workspaceTopPadding = mResponsiveWorkspaceHeightSpec.getStartPaddingPx();
+            workspaceBottomPadding = mResponsiveWorkspaceHeightSpec.getEndPaddingPx();
         } else if (mIsScalableGrid && inv.devicePaddingId != INVALID_RESOURCE_HANDLE) {
             // Paddings were created assuming no scaling, so we first unscale the extra space.
             int unscaledExtraSpace = (int) (extraSpace / cellScaleToFit);
@@ -743,8 +852,8 @@
         hotseatCellHeightPx = getIconSizeWithOverlap(hotseatIconSizePx);
 
         if (isVerticalBarLayout()) {
-            hotseatBarSizePx = hotseatIconSizePx + hotseatBarSidePaddingStartPx
-                    + hotseatBarSidePaddingEndPx;
+            hotseatBarSizePx = hotseatIconSizePx + mHotseatBarEdgePaddingPx
+                    + mHotseatBarWorkspaceSpacePx;
         } else if (isQsbInline) {
             hotseatBarSizePx = Math.max(hotseatIconSizePx, hotseatQsbVisualHeight)
                     + hotseatBarBottomSpacePx;
@@ -817,8 +926,8 @@
         int verticalSpacePx = 0;
 
         if (mIsResponsiveGrid) {
-            horizontalSpacePx = mResponsiveWidthSpec.getGutterPx();
-            verticalSpacePx = mResponsiveHeightSpec.getGutterPx();
+            horizontalSpacePx = mResponsiveWorkspaceWidthSpec.getGutterPx();
+            verticalSpacePx = mResponsiveWorkspaceHeightSpec.getGutterPx();
         } else if (mIsScalableGrid) {
             horizontalSpacePx = pxFromDp(idp.borderSpaces[mTypeIndex].x, mMetrics, scale);
             verticalSpacePx = pxFromDp(idp.borderSpaces[mTypeIndex].y, mMetrics, scale);
@@ -888,19 +997,6 @@
         float workspaceCellPaddingY = getCellSize().y - iconSizePx - iconDrawablePaddingPx
                 - iconTextHeight;
 
-        if (mIsResponsiveGrid) {
-            // Hide text only if doesn't fit inside the cell for responsive grid
-            if (workspaceCellPaddingY < 0) {
-                iconTextSizePx = 0;
-                iconDrawablePaddingPx = 0;
-                int iconSizeWithOverlap = getIconSizeWithOverlap(iconSizePx);
-                cellYPaddingPx = Math.max(0, getCellSize().y - iconSizeWithOverlap) / 2;
-                autoResizeAllAppsCells();
-            }
-
-            return;
-        }
-
         // We want enough space so that the text is closer to its corresponding icon.
         if (workspaceCellPaddingY < iconTextHeight) {
             iconTextSizePx = 0;
@@ -914,19 +1010,25 @@
      * Returns the amount of extra (or unused) vertical space.
      */
     private int updateAvailableDimensions(Resources res) {
+        iconCenterVertically = mIsScalableGrid || mIsResponsiveGrid;
+
+        if (mIsResponsiveGrid) {
+            iconSizePx = mResponsiveWorkspaceCellSpec.getIconSize();
+            iconTextSizePx = mResponsiveWorkspaceCellSpec.getIconTextSize();
+            mIconDrawablePaddingOriginalPx = mResponsiveWorkspaceCellSpec.getIconDrawablePadding();
+            updateIconSize(1f, res);
+            updateWorkspacePadding();
+            return 0;
+        }
+
         float invIconSizeDp = inv.iconSize[mTypeIndex];
         float invIconTextSizeSp = inv.iconTextSize[mTypeIndex];
         iconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics));
         iconTextSizePx = pxFromSp(invIconTextSizeSp, mMetrics);
-        iconCenterVertically = mIsScalableGrid || mIsResponsiveGrid;
 
         updateIconSize(1f, res);
         updateWorkspacePadding();
 
-        if (mIsResponsiveGrid) {
-            return 0;
-        }
-
         // Check to see if the icons fit within the available height.
         float usedHeight = getCellLayoutHeightSpecification();
         final int maxHeight = getCellLayoutHeight();
@@ -966,12 +1068,13 @@
                 + cellLayoutPaddingPx.left + cellLayoutPaddingPx.right;
     }
 
+    private int getNormalizedIconDrawablePadding(int iconSizePx, int iconDrawablePadding) {
+        return Math.max(0, iconDrawablePadding
+                - ((iconSizePx - getIconVisibleSizePx(iconSizePx)) / 2));
+    }
+
     private int getNormalizedIconDrawablePadding() {
-        // TODO(b/235886078): workaround needed because of this bug
-        // Icons are 10% larger on XML than their visual size,
-        // so remove that extra space to get labels closer to the correct padding
-        int iconVisibleSizePx = (int) Math.round(ICON_VISIBLE_AREA_FACTOR * iconSizePx);
-        return Math.max(0, mIconDrawablePaddingOriginalPx - ((iconSizePx - iconVisibleSizePx) / 2));
+        return getNormalizedIconDrawablePadding(iconSizePx, mIconDrawablePaddingOriginalPx);
     }
 
     private int getNormalizedFolderChildDrawablePaddingPx(int textHeight) {
@@ -980,8 +1083,7 @@
         // so remove that extra space to get labels closer to the correct padding
         int drawablePadding = (folderCellHeightPx - folderChildIconSizePx - textHeight) / 3;
 
-        int iconVisibleSizePx = Math.round(ICON_VISIBLE_AREA_FACTOR * folderChildIconSizePx);
-        int iconSizeDiff = folderChildIconSizePx - iconVisibleSizePx;
+        int iconSizeDiff = folderChildIconSizePx - getIconVisibleSizePx(folderChildIconSizePx);
         return Math.max(0, drawablePadding - iconSizeDiff / 2);
     }
 
@@ -1004,31 +1106,36 @@
         cellLayoutBorderSpacePx = getCellLayoutBorderSpace(inv, scale);
 
         if (mIsResponsiveGrid) {
-            cellWidthPx = mResponsiveWidthSpec.getCellSizePx();
-            cellHeightPx = mResponsiveHeightSpec.getCellSizePx();
+            cellWidthPx = mResponsiveWorkspaceWidthSpec.getCellSizePx();
+            cellHeightPx = mResponsiveWorkspaceHeightSpec.getCellSizePx();
 
             if (cellWidthPx < iconSizePx) {
                 // get a smaller icon size
                 iconSizePx = mIconSizeSteps.getIconSmallerThan(cellWidthPx);
             }
 
-            iconDrawablePaddingPx = getNormalizedIconDrawablePadding();
-            int iconTextHeight = Utilities.calculateTextHeight(iconTextSizePx);
-            int cellContentHeight = iconSizePx + iconDrawablePaddingPx + iconTextHeight;
-
-            while (iconSizePx > mIconSizeSteps.minimumIconSize()
-                    && cellContentHeight > cellHeightPx) {
-                iconDrawablePaddingPx -= cellContentHeight - cellHeightPx;
-                if (iconDrawablePaddingPx < 0) {
-                    // get a smaller icon size
-                    iconSizePx = mIconSizeSteps.getNextLowerIconSize(iconSizePx);
-                    iconDrawablePaddingPx = getNormalizedIconDrawablePadding();
-                }
-                // calculate new cellContentHeight
-                cellContentHeight = iconSizePx + iconDrawablePaddingPx + iconTextHeight;
+            if (isVerticalLayout) {
+                iconDrawablePaddingPx = 0;
+                iconTextSizePx = 0;
+            } else {
+                iconDrawablePaddingPx = getNormalizedIconDrawablePadding();
             }
 
-            cellYPaddingPx = Math.max(0, cellHeightPx - cellContentHeight) / 2;
+            CellContentDimensions cellContentDimensions = new CellContentDimensions(iconSizePx,
+                    iconDrawablePaddingPx,
+                    iconTextSizePx);
+            int cellContentHeight = cellContentDimensions.resizeToFitCellHeight(cellHeightPx,
+                    mIconSizeSteps);
+            iconSizePx = cellContentDimensions.getIconSizePx();
+            iconDrawablePaddingPx = cellContentDimensions.getIconDrawablePaddingPx();
+            iconTextSizePx = cellContentDimensions.getIconTextSizePx();
+
+            if (isVerticalLayout) {
+                cellYPaddingPx = Math.max(0, getCellSize().y - getIconSizeWithOverlap(iconSizePx))
+                        / 2;
+            } else {
+                cellYPaddingPx = Math.max(0, cellHeightPx - cellContentHeight) / 2;
+            }
         } else if (mIsScalableGrid) {
             iconDrawablePaddingPx = (int) (getNormalizedIconDrawablePadding() * iconScale);
             cellWidthPx = pxFromDp(inv.minCellSize[mTypeIndex].x, mMetrics, scale);
@@ -1112,9 +1219,13 @@
             updateAllAppsIconSize(scale, res);
         }
         updateAllAppsContainerWidth();
-        if (isVerticalBarLayout()) {
+        if (isVerticalLayout && !mIsResponsiveGrid) {
             hideWorkspaceLabelsIfNotEnoughSpace();
         }
+        if (FeatureFlags.enableTwolineAllapps()) {
+            // Add extra textHeight to the existing allAppsCellHeight.
+            allAppsCellHeightPx += Utilities.calculateTextHeight(allAppsIconTextSizePx);
+        }
 
         updateHotseatSizes(iconSizePx);
 
@@ -1203,18 +1314,53 @@
     }
 
     private void updateAllAppsWithResponsiveMeasures() {
-        allAppsIconSizePx = iconSizePx;
-        allAppsIconTextSizePx = iconTextSizePx;
-        allAppsIconDrawablePaddingPx = iconDrawablePaddingPx;
-
+        allAppsIconSizePx = mResponsiveAllAppsCellSpec.getIconSize();
+        allAppsIconTextSizePx = mResponsiveAllAppsCellSpec.getIconTextSize();
+        allAppsIconDrawablePaddingPx = getNormalizedIconDrawablePadding(allAppsIconSizePx,
+                mResponsiveAllAppsCellSpec.getIconDrawablePadding());
         allAppsBorderSpacePx = new Point(
-                mAllAppsResponsiveWidthSpec.getGutterPx(),
-                mAllAppsResponsiveHeightSpec.getGutterPx()
+                mResponsiveAllAppsWidthSpec.getGutterPx(),
+                mResponsiveAllAppsHeightSpec.getGutterPx()
         );
-        allAppsCellHeightPx = mAllAppsResponsiveHeightSpec.getCellSizePx()
-                + mAllAppsResponsiveHeightSpec.getGutterPx();
-        allAppsCellWidthPx = mAllAppsResponsiveWidthSpec.getCellSizePx();
-        allAppsLeftRightPadding = mAllAppsResponsiveWidthSpec.getStartPaddingPx();
+        allAppsCellHeightPx = mResponsiveAllAppsHeightSpec.getCellSizePx();
+        allAppsCellWidthPx = mResponsiveAllAppsWidthSpec.getCellSizePx();
+
+        // This workaround is needed to align AllApps icons with Workspace icons
+        // since AllApps doesn't have borders between cells
+        int halfBorder = allAppsBorderSpacePx.x / 2;
+        allAppsPadding.left = mResponsiveAllAppsWidthSpec.getStartPaddingPx() - halfBorder;
+        allAppsPadding.right = mResponsiveAllAppsWidthSpec.getEndPaddingPx() - halfBorder;
+
+
+        // Reduce the size of the app icon if it doesn't fit
+        if (allAppsCellWidthPx < allAppsIconSizePx) {
+            // get a smaller icon size
+            allAppsIconSizePx = mIconSizeSteps.getIconSmallerThan(allAppsCellWidthPx);
+        }
+
+        CellContentDimensions cellContentDimensions = new CellContentDimensions(
+                allAppsIconSizePx, allAppsIconDrawablePaddingPx, (int) allAppsIconTextSizePx);
+
+        if (allAppsCellHeightPx < cellContentDimensions.getCellContentHeight()) {
+            if (isVerticalBarLayout()) {
+                if (allAppsCellHeightPx < allAppsIconSizePx) {
+                    cellContentDimensions.setIconSizePx(
+                            mIconSizeSteps.getIconSmallerThan(allAppsCellHeightPx));
+                }
+            } else {
+                cellContentDimensions.resizeToFitCellHeight(allAppsCellHeightPx,
+                        mIconSizeSteps);
+            }
+            allAppsIconSizePx = cellContentDimensions.getIconSizePx();
+            allAppsIconDrawablePaddingPx = cellContentDimensions.getIconDrawablePaddingPx();
+            allAppsIconTextSizePx = cellContentDimensions.getIconTextSizePx();
+        }
+
+        allAppsCellHeightPx += mResponsiveAllAppsHeightSpec.getGutterPx();
+
+        if (isVerticalBarLayout()) {
+            autoResizeAllAppsCells();
+        }
     }
 
     /**
@@ -1233,10 +1379,10 @@
         if (isTablet) {
             int usedWidth = (allAppsCellWidthPx * numShownAllAppsColumns)
                     + (allAppsBorderSpacePx.x * (numShownAllAppsColumns - 1))
-                    + allAppsLeftRightPadding * 2;
+                    + allAppsPadding.left + allAppsPadding.right;
             allAppsLeftRightMargin = Math.max(1, (availableWidthPx - usedWidth) / 2);
-        } else {
-            allAppsLeftRightPadding =
+        } else if (!mIsResponsiveGrid) {
+            allAppsPadding.left = allAppsPadding.right =
                     Math.max(0, desiredWorkspaceHorizontalMarginPx + cellLayoutHorizontalPadding
                             - (allAppsBorderSpacePx.x / 2));
         }
@@ -1247,7 +1393,7 @@
                 inv.allAppsStyle != INVALID_RESOURCE_HANDLE ? inv.allAppsStyle
                         : R.style.AllAppsStyleDefault, R.styleable.AllAppsStyle);
 
-        allAppsLeftRightPadding = allAppsStyle.getDimensionPixelSize(
+        allAppsPadding.left = allAppsPadding.right = allAppsStyle.getDimensionPixelSize(
                 R.styleable.AllAppsStyle_horizontalPadding, 0);
         allAppsStyle.recycle();
     }
@@ -1262,16 +1408,16 @@
         Point totalWorkspacePadding = getTotalWorkspacePadding();
 
         // Check if the folder fit within the available height.
-        float contentUsedHeight = folderCellHeightPx * inv.numFolderRows
-                + ((inv.numFolderRows - 1) * folderCellLayoutBorderSpacePx.y)
+        float contentUsedHeight = folderCellHeightPx * numFolderRows
+                + ((numFolderRows - 1) * folderCellLayoutBorderSpacePx.y)
                 + folderFooterHeightPx
                 + folderContentPaddingTop;
         int contentMaxHeight = availableHeightPx - totalWorkspacePadding.y;
         float scaleY = contentMaxHeight / contentUsedHeight;
 
         // Check if the folder fit within the available width.
-        float contentUsedWidth = folderCellWidthPx * inv.numFolderColumns
-                + ((inv.numFolderColumns - 1) * folderCellLayoutBorderSpacePx.x)
+        float contentUsedWidth = folderCellWidthPx * numFolderColumns
+                + ((numFolderColumns - 1) * folderCellLayoutBorderSpacePx.x)
                 + folderContentPaddingLeftRight * 2;
         int contentMaxWidth = availableWidthPx - totalWorkspacePadding.x;
         float scaleX = contentMaxWidth / contentUsedWidth;
@@ -1283,18 +1429,15 @@
     }
 
     private void updateFolderCellSize(float scale, Resources res) {
-        float invIconSizeDp = inv.iconSize[mTypeIndex];
-        folderChildIconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, scale));
-        folderChildTextSizePx = pxFromSp(inv.iconTextSize[mTypeIndex], mMetrics, scale);
-        folderLabelTextSizePx = Math.max(pxFromSp(MIN_FOLDER_TEXT_SIZE_SP, mMetrics, scale),
-                (int) (folderChildTextSizePx * folderLabelTextScale));
-
-        int textHeight = Utilities.calculateTextHeight(folderChildTextSizePx);
-
+        int minLabelTextSize = pxFromSp(MIN_FOLDER_TEXT_SIZE_SP, mMetrics, scale);
         if (mIsResponsiveGrid) {
-            folderCellWidthPx = mResponsiveFolderWidthSpec.getCellSizePx();
+            folderChildIconSizePx = mResponsiveWorkspaceCellSpec.getIconSize();
+            folderChildTextSizePx = mResponsiveWorkspaceCellSpec.getIconTextSize();
+            folderLabelTextSizePx = Math.max(minLabelTextSize,
+                    (int) (folderChildTextSizePx * folderLabelTextScale));
+            int textHeight = Utilities.calculateTextHeight(folderChildTextSizePx);
 
-            // Height
+            folderCellWidthPx = mResponsiveFolderWidthSpec.getCellSizePx();
             folderCellHeightPx = mResponsiveFolderHeightSpec.getCellSizePx();
             folderContentPaddingTop = mResponsiveFolderHeightSpec.getStartPaddingPx();
             folderFooterHeightPx = mResponsiveFolderHeightSpec.getEndPaddingPx();
@@ -1310,26 +1453,30 @@
             }
 
             // Recalculating padding and cell height
-            folderChildDrawablePaddingPx = getNormalizedFolderChildDrawablePaddingPx(textHeight);
-            int folderCellContentHeight = folderChildIconSizePx + folderChildDrawablePaddingPx
-                    + textHeight;
+            folderChildDrawablePaddingPx = mResponsiveWorkspaceCellSpec.getIconDrawablePadding();
 
-            // Reduce the icon in height when it's taller than the expected cell height
-            while (folderChildIconSizePx > mIconSizeSteps.minimumIconSize()
-                    && folderCellContentHeight > folderCellHeightPx) {
-                folderChildDrawablePaddingPx -= folderCellContentHeight - folderCellHeightPx;
-                if (folderChildDrawablePaddingPx < 0) {
-                    // get a smaller icon size
-                    folderChildIconSizePx = mIconSizeSteps.getNextLowerIconSize(
-                            folderChildIconSizePx);
-                    folderChildDrawablePaddingPx =
-                            getNormalizedFolderChildDrawablePaddingPx(textHeight);
-                }
-                // calculate new cellContentHeight
-                folderCellContentHeight = folderChildIconSizePx + folderChildDrawablePaddingPx
-                        + textHeight;
-            }
-        } else if (mIsScalableGrid) {
+            CellContentDimensions cellContentDimensions = new CellContentDimensions(
+                    folderChildIconSizePx,
+                    folderChildDrawablePaddingPx,
+                    folderChildTextSizePx);
+            cellContentDimensions.resizeToFitCellHeight(folderCellHeightPx, mIconSizeSteps);
+            folderChildIconSizePx = cellContentDimensions.getIconSizePx();
+            folderChildDrawablePaddingPx = cellContentDimensions.getIconDrawablePaddingPx();
+            folderChildTextSizePx = cellContentDimensions.getIconTextSizePx();
+            folderLabelTextSizePx = Math.max(minLabelTextSize,
+                    (int) (folderChildTextSizePx * folderLabelTextScale));
+            return;
+        }
+
+        float invIconSizeDp = inv.iconSize[mTypeIndex];
+        float invIconTextSizeDp = inv.iconTextSize[mTypeIndex];
+        folderChildIconSizePx = Math.max(1, pxFromDp(invIconSizeDp, mMetrics, scale));
+        folderChildTextSizePx = pxFromSp(invIconTextSizeDp, mMetrics, scale);
+        folderLabelTextSizePx = Math.max(minLabelTextSize,
+                (int) (folderChildTextSizePx * folderLabelTextScale));
+        int textHeight = Utilities.calculateTextHeight(folderChildTextSizePx);
+
+        if (mIsScalableGrid) {
             if (inv.folderStyle == INVALID_RESOURCE_HANDLE) {
                 folderCellWidthPx = roundPxValueFromFloat(getCellSize().x * scale);
                 folderCellHeightPx = roundPxValueFromFloat(getCellSize().y * scale);
@@ -1337,6 +1484,17 @@
                 folderCellWidthPx = roundPxValueFromFloat(folderCellWidthPx * scale);
                 folderCellHeightPx = roundPxValueFromFloat(folderCellHeightPx * scale);
             }
+            // Recalculating padding and cell height
+            folderChildDrawablePaddingPx = getNormalizedFolderChildDrawablePaddingPx(textHeight);
+
+            CellContentDimensions cellContentDimensions = new CellContentDimensions(
+                    folderChildIconSizePx,
+                    folderChildDrawablePaddingPx,
+                    folderChildTextSizePx);
+            cellContentDimensions.resizeToFitCellHeight(folderCellHeightPx, mIconSizeSteps);
+            folderChildIconSizePx = cellContentDimensions.getIconSizePx();
+            folderChildDrawablePaddingPx = cellContentDimensions.getIconDrawablePaddingPx();
+            folderChildTextSizePx = cellContentDimensions.getIconTextSizePx();
 
             folderContentPaddingTop = roundPxValueFromFloat(folderContentPaddingTop * scale);
             folderCellLayoutBorderSpacePx = new Point(
@@ -1344,10 +1502,7 @@
                     roundPxValueFromFloat(folderCellLayoutBorderSpacePx.y * scale)
             );
             folderFooterHeightPx = roundPxValueFromFloat(folderFooterHeightPx * scale);
-
             folderContentPaddingLeftRight = folderCellLayoutBorderSpacePx.x;
-
-            folderChildDrawablePaddingPx = getNormalizedFolderChildDrawablePaddingPx(textHeight);
         } else {
             int cellPaddingX = (int) (res.getDimensionPixelSize(R.dimen.folder_cell_x_padding)
                     * scale);
@@ -1495,23 +1650,26 @@
         Rect padding = workspacePadding;
         if (isVerticalBarLayout()) {
             if (mIsResponsiveGrid) {
-                padding.top = mResponsiveHeightSpec.getStartPaddingPx();
-                padding.bottom = mResponsiveHeightSpec.getEndPaddingPx();
+                padding.top = mResponsiveWorkspaceHeightSpec.getStartPaddingPx();
+                padding.bottom = Math.max(0,
+                        mResponsiveWorkspaceHeightSpec.getEndPaddingPx() - mInsets.bottom);
                 if (isSeascape()) {
-                    padding.left = hotseatBarSizePx + mResponsiveWidthSpec.getEndPaddingPx();
-                    padding.right = mResponsiveWidthSpec.getStartPaddingPx();
+                    padding.left =
+                            hotseatBarSizePx + mResponsiveWorkspaceWidthSpec.getEndPaddingPx();
+                    padding.right = mResponsiveWorkspaceWidthSpec.getStartPaddingPx();
                 } else {
-                    padding.left = mResponsiveWidthSpec.getStartPaddingPx();
-                    padding.right = hotseatBarSizePx + mResponsiveWidthSpec.getEndPaddingPx();
+                    padding.left = mResponsiveWorkspaceWidthSpec.getStartPaddingPx();
+                    padding.right =
+                            hotseatBarSizePx + mResponsiveWorkspaceWidthSpec.getEndPaddingPx();
                 }
             } else {
                 padding.top = 0;
                 padding.bottom = edgeMarginPx;
                 if (isSeascape()) {
                     padding.left = hotseatBarSizePx;
-                    padding.right = hotseatBarSidePaddingStartPx;
+                    padding.right = mHotseatBarEdgePaddingPx;
                 } else {
-                    padding.left = hotseatBarSidePaddingStartPx;
+                    padding.left = mHotseatBarEdgePaddingPx;
                     padding.right = hotseatBarSizePx;
                 }
             }
@@ -1545,6 +1703,32 @@
         paddings.bottom -= insets.bottom;
     }
 
+
+    /**
+     * Returns the new border space that should be used between hotseat icons after adjusting it to
+     * the bubble bar.
+     *
+     * <p>If there's no adjustment needed, this method returns {@code 0}.
+     */
+    public float getHotseatAdjustedBorderSpaceForBubbleBar(Context context) {
+        // only need to adjust when QSB is on top of the hotseat.
+        if (isQsbInline) {
+            return 0;
+        }
+
+        // no need to adjust if there's enough space for the bubble bar to the right of the hotseat.
+        if (getHotseatLayoutPadding(context).right > mBubbleBarSpaceThresholdPx) {
+            return 0;
+        }
+
+        // The adjustment is shrinking the hotseat's width by 1 icon on either side.
+        int iconsWidth =
+                iconSizePx * numShownHotseatIcons + hotseatBorderSpace * (numShownHotseatIcons - 1);
+        int newWidth = iconsWidth - 2 * iconSizePx;
+        // Evenly space the icons within the boundaries of the new width.
+        return (float) (newWidth - iconSizePx * numShownHotseatIcons) / (numShownHotseatIcons - 1);
+    }
+
     /**
      * Returns the padding for hotseat view
      */
@@ -1565,11 +1749,11 @@
                     + diffOverlapFactor), 0);
 
             if (isSeascape()) {
-                hotseatBarPadding.set(mInsets.left + hotseatBarSidePaddingStartPx, paddingTop,
-                        hotseatBarSidePaddingEndPx, paddingBottom);
+                hotseatBarPadding.set(mInsets.left + mHotseatBarEdgePaddingPx, paddingTop,
+                        mHotseatBarWorkspaceSpacePx, paddingBottom);
             } else {
-                hotseatBarPadding.set(hotseatBarSidePaddingEndPx, paddingTop,
-                        mInsets.right + hotseatBarSidePaddingStartPx, paddingBottom);
+                hotseatBarPadding.set(mHotseatBarWorkspaceSpacePx, paddingTop,
+                        mInsets.right + mHotseatBarEdgePaddingPx, paddingBottom);
             }
         } else if (isTaskbarPresent) {
             // Center the QSB vertically with hotseat
@@ -1602,7 +1786,8 @@
             }
 
         } else if (mIsScalableGrid) {
-            int sideSpacing = (availableWidthPx - hotseatQsbWidth) / 2;
+            int iconExtraSpacePx = iconSizePx - getIconVisibleSizePx(iconSizePx);
+            int sideSpacing = (availableWidthPx - (hotseatQsbWidth + iconExtraSpacePx)) / 2;
             hotseatBarPadding.set(sideSpacing,
                     0,
                     sideSpacing,
@@ -1627,22 +1812,36 @@
     }
 
     /** The margin between the edge of all apps and the edge of the first icon. */
-    public int getAllAppsIconStartMargin() {
+    public int getAllAppsIconStartMargin(Context context) {
         int allAppsSpacing;
         if (isVerticalBarLayout()) {
             // On phones, the landscape layout uses a different setup.
             allAppsSpacing = workspacePadding.left + workspacePadding.right;
         } else {
-            allAppsSpacing = allAppsLeftRightPadding * 2 + allAppsLeftRightMargin * 2;
+            allAppsSpacing =
+                    allAppsPadding.left + allAppsPadding.right + allAppsLeftRightMargin * 2;
         }
 
         int cellWidth = DeviceProfile.calculateCellWidth(
                 availableWidthPx - allAppsSpacing,
                 0 /* borderSpace */,
                 numShownAllAppsColumns);
-        int iconVisibleSize = Math.round(ICON_VISIBLE_AREA_FACTOR * allAppsIconSizePx);
-        int iconAlignmentMargin = (cellWidth - iconVisibleSize) / 2;
-        return allAppsLeftRightPadding + iconAlignmentMargin;
+        int iconAlignmentMargin = (cellWidth - getIconVisibleSizePx(allAppsIconSizePx)) / 2;
+
+        return (Utilities.isRtl(context.getResources()) ? allAppsPadding.right
+                : allAppsPadding.left) + iconAlignmentMargin;
+    }
+
+    /**
+     * TODO(b/235886078): workaround needed because of this bug
+     * Icons are 10% larger on XML than their visual size, so remove that extra space to get
+     * some dimensions correct.
+     *
+     * When this bug is resolved this method will no longer be needed and we would be able to
+     * replace all instances where this method is called with iconSizePx.
+     */
+    private int getIconVisibleSizePx(int iconSizePx) {
+        return Math.round(ICON_VISIBLE_AREA_FACTOR * iconSizePx);
     }
 
     private int getAdditionalQsbSpace() {
@@ -1693,19 +1892,14 @@
         return getHotseatBarBottomPadding() + launcherIconBottomSpace - taskbarIconBottomSpace;
     }
 
-    /**
-     * Returns the number of pixels required below OverviewActions excluding insets.
-     */
+    /** Returns the number of pixels required below OverviewActions. */
     public int getOverviewActionsClaimedSpaceBelow() {
-        if (isTaskbarPresent) {
-            return taskbarHeight + taskbarBottomMargin * 2;
-        }
-        return mInsets.bottom;
+        return isTaskbarPresent ? mTransientTaskbarClaimedSpace : mInsets.bottom;
     }
 
     /** Gets the space that the overview actions will take, including bottom margin. */
     public int getOverviewActionsClaimedSpace() {
-        int overviewActionsSpace = isTablet && FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW.get()
+        int overviewActionsSpace = isTablet && Flags.enableGridOnlyOverview()
                 ? 0
                 : (overviewActionsTopMarginPx + overviewActionsHeight);
         return overviewActionsSpace + getOverviewActionsClaimedSpaceBelow();
@@ -1825,6 +2019,7 @@
         writer.println(prefix + "\tisLandscape:" + isLandscape);
         writer.println(prefix + "\tisMultiWindowMode:" + isMultiWindowMode);
         writer.println(prefix + "\tisTwoPanels:" + isTwoPanels);
+        writer.println(prefix + "\tisLeftRightSplit:" + isLeftRightSplit);
 
         writer.println(prefix + pxToDpStr("windowX", windowX));
         writer.println(prefix + pxToDpStr("windowY", windowY));
@@ -1872,8 +2067,8 @@
         writer.println(prefix + pxToDpStr("iconTextSizePx", iconTextSizePx));
         writer.println(prefix + pxToDpStr("iconDrawablePaddingPx", iconDrawablePaddingPx));
 
-        writer.println(prefix + "\tinv.numFolderRows: " + inv.numFolderRows);
-        writer.println(prefix + "\tinv.numFolderColumns: " + inv.numFolderColumns);
+        writer.println(prefix + "\tnumFolderRows: " + numFolderRows);
+        writer.println(prefix + "\tnumFolderColumns: " + numFolderColumns);
         writer.println(prefix + pxToDpStr("folderCellWidthPx", folderCellWidthPx));
         writer.println(prefix + pxToDpStr("folderCellHeightPx", folderCellHeightPx));
         writer.println(prefix + pxToDpStr("folderChildIconSizePx", folderChildIconSizePx));
@@ -1896,7 +2091,6 @@
         writer.println(prefix + "\tbottomSheetDepth: " + bottomSheetDepth);
 
         writer.println(prefix + pxToDpStr("allAppsShiftRange", allAppsShiftRange));
-        writer.println(prefix + pxToDpStr("allAppsTopPadding", allAppsTopPadding));
         writer.println(prefix + "\tallAppsOpenDuration: " + allAppsOpenDuration);
         writer.println(prefix + "\tallAppsCloseDuration: " + allAppsCloseDuration);
         writer.println(prefix + pxToDpStr("allAppsIconSizePx", allAppsIconSizePx));
@@ -1908,17 +2102,19 @@
         writer.println(prefix + pxToDpStr("allAppsBorderSpacePxX", allAppsBorderSpacePx.x));
         writer.println(prefix + pxToDpStr("allAppsBorderSpacePxY", allAppsBorderSpacePx.y));
         writer.println(prefix + "\tnumShownAllAppsColumns: " + numShownAllAppsColumns);
-        writer.println(prefix + pxToDpStr("allAppsLeftRightPadding", allAppsLeftRightPadding));
+        writer.println(prefix + pxToDpStr("allAppsPadding.top", allAppsPadding.top));
+        writer.println(prefix + pxToDpStr("allAppsPadding.left", allAppsPadding.left));
+        writer.println(prefix + pxToDpStr("allAppsPadding.right", allAppsPadding.right));
         writer.println(prefix + pxToDpStr("allAppsLeftRightMargin", allAppsLeftRightMargin));
 
         writer.println(prefix + pxToDpStr("hotseatBarSizePx", hotseatBarSizePx));
         writer.println(prefix + "\tinv.hotseatColumnSpan: " + inv.hotseatColumnSpan[mTypeIndex]);
         writer.println(prefix + pxToDpStr("hotseatCellHeightPx", hotseatCellHeightPx));
         writer.println(prefix + pxToDpStr("hotseatBarBottomSpacePx", hotseatBarBottomSpacePx));
-        writer.println(prefix + pxToDpStr("hotseatBarSidePaddingStartPx",
-                hotseatBarSidePaddingStartPx));
-        writer.println(prefix + pxToDpStr("hotseatBarSidePaddingEndPx",
-                hotseatBarSidePaddingEndPx));
+        writer.println(prefix + pxToDpStr("mHotseatBarEdgePaddingPx",
+                mHotseatBarEdgePaddingPx));
+        writer.println(prefix + pxToDpStr("mHotseatBarWorkspaceSpacePx",
+                mHotseatBarWorkspaceSpacePx));
         writer.println(prefix + pxToDpStr("hotseatBarEndOffset", hotseatBarEndOffset));
         writer.println(prefix + pxToDpStr("hotseatQsbSpace", hotseatQsbSpace));
         writer.println(prefix + pxToDpStr("hotseatQsbHeight", hotseatQsbHeight));
@@ -1967,6 +2163,8 @@
                 overviewTaskIconDrawableSizePx));
         writer.println(prefix + pxToDpStr("overviewTaskIconDrawableSizeGridPx",
                 overviewTaskIconDrawableSizeGridPx));
+        writer.println(prefix + pxToDpStr("overviewTaskIconAppChipMenuDrawableSizePx",
+                overviewTaskIconAppChipMenuDrawableSizePx));
         writer.println(prefix + pxToDpStr("overviewTaskThumbnailTopMarginPx",
                 overviewTaskThumbnailTopMarginPx));
         writer.println(prefix + pxToDpStr("overviewActionsTopMarginPx",
@@ -1997,15 +2195,20 @@
         writer.println(prefix + pxToDpStr("getCellLayoutHeight()", getCellLayoutHeight()));
         writer.println(prefix + pxToDpStr("getCellLayoutWidth()", getCellLayoutWidth()));
         if (mIsResponsiveGrid) {
-            writer.println(prefix + "\tmResponsiveHeightSpec:" + mResponsiveHeightSpec.toString());
-            writer.println(prefix + "\tmResponsiveWidthSpec:" + mResponsiveWidthSpec.toString());
-            writer.println(prefix + "\tmAllAppsResponsiveHeightSpec:"
-                    + mAllAppsResponsiveHeightSpec.toString());
-            writer.println(prefix + "\tmAllAppsResponsiveWidthSpec:"
-                    + mAllAppsResponsiveWidthSpec.toString());
+            writer.println(prefix + "\tmResponsiveWorkspaceHeightSpec:"
+                    + mResponsiveWorkspaceHeightSpec.toString());
+            writer.println(prefix + "\tmResponsiveWorkspaceWidthSpec:"
+                    + mResponsiveWorkspaceWidthSpec.toString());
+            writer.println(prefix + "\tmResponsiveAllAppsHeightSpec:"
+                    + mResponsiveAllAppsHeightSpec.toString());
+            writer.println(prefix + "\tmResponsiveAllAppsWidthSpec:"
+                    + mResponsiveAllAppsWidthSpec.toString());
             writer.println(prefix + "\tmResponsiveFolderHeightSpec:" + mResponsiveFolderHeightSpec);
             writer.println(prefix + "\tmResponsiveFolderWidthSpec:" + mResponsiveFolderWidthSpec);
             writer.println(prefix + "\tmResponsiveHotseatSpec:" + mResponsiveHotseatSpec);
+            writer.println(prefix + "\tmResponsiveWorkspaceCellSpec:"
+                    + mResponsiveWorkspaceCellSpec);
+            writer.println(prefix + "\tmResponsiveAllAppsCellSpec:" + mResponsiveAllAppsCellSpec);
         }
     }
 
@@ -2074,10 +2277,13 @@
 
         private Consumer<DeviceProfile> mOverrideProvider;
 
+        private boolean mIsTransientTaskbar;
+
         public Builder(Context context, InvariantDeviceProfile inv, Info info) {
             mContext = context;
             mInv = inv;
             mInfo = info;
+            mIsTransientTaskbar = info.isTransientTaskbar();
         }
 
         public Builder setMultiWindowMode(boolean isMultiWindowMode) {
@@ -2128,6 +2334,15 @@
             return this;
         }
 
+        /**
+         * Set the isTransientTaskbar for the builder
+         * @return This Builder
+         */
+        public Builder setIsTransientTaskbar(boolean isTransientTaskbar) {
+            mIsTransientTaskbar = isTransientTaskbar;
+            return this;
+        }
+
         public DeviceProfile build() {
             if (mWindowBounds == null) {
                 throw new IllegalArgumentException("Window bounds not set");
@@ -2149,8 +2364,7 @@
             }
             return new DeviceProfile(mContext, mInv, mInfo, mWindowBounds, mDotRendererCache,
                     mIsMultiWindowMode, mTransposeLayoutWithOrientation, mIsMultiDisplay,
-                    mIsGestureMode, mViewScaleProvider, mOverrideProvider);
+                    mIsGestureMode, mViewScaleProvider, mOverrideProvider, mIsTransientTaskbar);
         }
     }
-
 }
diff --git a/src/com/android/launcher3/DropTargetHandler.kt b/src/com/android/launcher3/DropTargetHandler.kt
index 6560e16..e022159 100644
--- a/src/com/android/launcher3/DropTargetHandler.kt
+++ b/src/com/android/launcher3/DropTargetHandler.kt
@@ -2,7 +2,9 @@
 
 import android.content.ComponentName
 import android.view.View
+import com.android.launcher3.BaseDraggingActivity.EVENT_RESUMED
 import com.android.launcher3.DropTarget.DragObject
+import com.android.launcher3.LauncherConstants.ActivityCodes
 import com.android.launcher3.SecondaryDropTarget.DeferredOnComplete
 import com.android.launcher3.dragndrop.DragLayer
 import com.android.launcher3.logging.StatsLogManager.LauncherEvent
@@ -32,7 +34,7 @@
                 if (d.dragSource is SecondaryDropTarget.DeferredOnComplete) {
                     target?.let {
                         deferred.mPackageName = it.packageName
-                        mLauncher.addOnResumeCallback { deferred.onLauncherResume() }
+                        mLauncher.addEventCallback(EVENT_RESUMED) { deferred.onLauncherResume() }
                     }
                         ?: deferred.sendFailure()
                 }
@@ -45,7 +47,7 @@
         mLauncher.appWidgetHolder.startConfigActivity(
             mLauncher,
             widgetId,
-            Launcher.REQUEST_RECONFIGURE_APPWIDGET
+            ActivityCodes.REQUEST_RECONFIGURE_APPWIDGET
         )
     }
 
diff --git a/src/com/android/launcher3/ExtendedEditText.java b/src/com/android/launcher3/ExtendedEditText.java
index 8ec5c18..ec26f58 100644
--- a/src/com/android/launcher3/ExtendedEditText.java
+++ b/src/com/android/launcher3/ExtendedEditText.java
@@ -90,19 +90,34 @@
     /**
      * Synchronously shows the soft input method.
      *
-     * @param shouldFocus whether this EditText should also request focus.
-     * @return true if the keyboard is shown correctly and focus is given to this view (if
-     *     applicable).
+     * @return true if the keyboard is shown correctly and focus is given to this view.
      */
-    public boolean showKeyboard(boolean shouldFocus) {
+    public boolean showKeyboard() {
         onKeyboardShown();
-        boolean focusResult = !shouldFocus || requestFocus();
-        return focusResult && showSoftInputInternal();
+        return requestFocus() && showSoftInputInternal();
+    }
+
+    /**
+     * Requests the framework to show the keyboard in order to ensure that an already registered
+     * controlled keyboard animation is triggered correctly.
+     * Must NEVER be called in any other case than to trigger a pre-registered controlled animation.
+     */
+    public void requestShowKeyboardForControlledAnimation() {
+        // We don't log the keyboard state, as that must happen only after the controlled animation
+        // has completed.
+        // We also must not request focus, as this triggers unwanted side effects.
+        showSoftInputInternal();
     }
 
     public void hideKeyboard() {
+        hideKeyboard(/* clearFocus= */ true);
+    }
+
+    public void hideKeyboard(boolean clearFocus) {
         ActivityContext.lookupContext(getContext()).hideKeyboard();
-        clearFocus();
+        if (clearFocus) {
+            clearFocus();
+        }
     }
 
     protected void onKeyboardShown() {
@@ -147,6 +162,15 @@
         }
     }
 
+    @Override
+    public void setText(CharSequence text, BufferType type) {
+        super.setText(text, type);
+        // With hardware keyboard, there is a possibility that the user types before edit
+        // text is visible during the transition.
+        // So move the cursor to the end of the text.
+        setSelection(getText().length());
+    }
+
     /**
      * This method should be preferred to {@link #setOnFocusChangeListener(OnFocusChangeListener)},
      * as it allows for multiple listeners from different sources.
diff --git a/src/com/android/launcher3/FastScrollRecyclerView.java b/src/com/android/launcher3/FastScrollRecyclerView.java
index c16b319..a13dcc1 100644
--- a/src/com/android/launcher3/FastScrollRecyclerView.java
+++ b/src/com/android/launcher3/FastScrollRecyclerView.java
@@ -16,6 +16,8 @@
 
 package com.android.launcher3;
 
+import static com.android.launcher3.testing.shared.TestProtocol.SCROLL_FINISHED_MESSAGE;
+
 import android.content.Context;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
@@ -25,6 +27,7 @@
 import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.android.app.animation.Interpolators;
 import com.android.launcher3.compat.AccessibilityManagerCompat;
 import com.android.launcher3.views.RecyclerViewFastScroller;
 
@@ -170,7 +173,8 @@
         super.onScrollStateChanged(state);
 
         if (state == SCROLL_STATE_IDLE) {
-            AccessibilityManagerCompat.sendScrollFinishedEventToTest(getContext());
+            AccessibilityManagerCompat.sendTestProtocolEventToTest(getContext(),
+                    SCROLL_FINISHED_MESSAGE);
         }
     }
 
@@ -189,4 +193,15 @@
         }
         scrollToPosition(0);
     }
+
+    /**
+     * Scrolls this recycler view to the bottom with easing and duration.
+     */
+    public void scrollToBottomWithMotion() {
+        if (mScrollbar != null) {
+            mScrollbar.reattachThumbToScroll();
+        }
+        // Emphasized interpolators with 500ms duration
+        smoothScrollBy(0, getAvailableScrollHeight(), Interpolators.EMPHASIZED, 500);
+    }
 }
diff --git a/src/com/android/launcher3/Hotseat.java b/src/com/android/launcher3/Hotseat.java
index 03afba1..3b12b86 100644
--- a/src/com/android/launcher3/Hotseat.java
+++ b/src/com/android/launcher3/Hotseat.java
@@ -16,6 +16,12 @@
 
 package com.android.launcher3;
 
+import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X;
+import static com.android.launcher3.util.MultiTranslateDelegate.INDEX_BUBBLE_ADJUSTMENT_ANIM;
+
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
 import android.content.Context;
 import android.graphics.Rect;
 import android.util.AttributeSet;
@@ -27,6 +33,10 @@
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 
+import com.android.launcher3.util.HorizontalInsettableView;
+import com.android.launcher3.util.MultiTranslateDelegate;
+import com.android.launcher3.views.ActivityContext;
+
 /**
  * View class that represents the bottom row of the home screen.
  */
@@ -34,6 +44,7 @@
 
     // Ratio of empty space, qsb should take up to appear visually centered.
     public static final float QSB_CENTER_FACTOR = .325f;
+    private static final int BUBBLE_BAR_ADJUSTMENT_ANIMATION_DURATION_MS = 250;
 
     @ViewDebug.ExportedProperty(category = "launcher")
     private boolean mHasVerticalHotseat;
@@ -72,9 +83,36 @@
     }
 
     public void resetLayout(boolean hasVerticalHotseat) {
+        ActivityContext activityContext = ActivityContext.lookupContext(getContext());
+        boolean bubbleBarEnabled = activityContext.isBubbleBarEnabled();
+        boolean hasBubbles = activityContext.hasBubbles();
         removeAllViewsInLayout();
         mHasVerticalHotseat = hasVerticalHotseat;
         DeviceProfile dp = mActivity.getDeviceProfile();
+
+        if (bubbleBarEnabled) {
+            float adjustedBorderSpace = dp.getHotseatAdjustedBorderSpaceForBubbleBar(getContext());
+            if (hasBubbles && Float.compare(adjustedBorderSpace, 0f) != 0) {
+                getShortcutsAndWidgets().setTranslationProvider(child -> {
+                    int index = getShortcutsAndWidgets().indexOfChild(child);
+                    float borderSpaceDelta = adjustedBorderSpace - dp.hotseatBorderSpace;
+                    return dp.iconSizePx + index * borderSpaceDelta;
+                });
+                if (mQsb instanceof HorizontalInsettableView) {
+                    HorizontalInsettableView insettableQsb = (HorizontalInsettableView) mQsb;
+                    final float insetFraction = (float) dp.iconSizePx / dp.hotseatQsbWidth;
+                    // post this to the looper so that QSB has a chance to redraw itself, e.g.
+                    // after device rotation
+                    mQsb.post(() -> insettableQsb.setHorizontalInsets(insetFraction));
+                }
+            } else {
+                getShortcutsAndWidgets().setTranslationProvider(null);
+                if (mQsb instanceof HorizontalInsettableView) {
+                    ((HorizontalInsettableView) mQsb).setHorizontalInsets(0);
+                }
+            }
+        }
+
         resetCellSize(dp);
         if (hasVerticalHotseat) {
             setGridSize(1, dp.numShownHotseatIcons);
@@ -83,6 +121,62 @@
         }
     }
 
+    /**
+     * Adjust the hotseat icons for the bubble bar.
+     *
+     * <p>When the bubble bar becomes visible, if needed, this method animates the hotseat icons
+     * to reduce the spacing between them and make room for the bubble bar. The QSB width is
+     * animated as well to align with the hotseat icons.
+     *
+     * <p>When the bubble bar goes away, any adjustments that were previously made are reversed.
+     */
+    public void adjustForBubbleBar(boolean isBubbleBarVisible) {
+        DeviceProfile dp = mActivity.getDeviceProfile();
+        float adjustedBorderSpace = dp.getHotseatAdjustedBorderSpaceForBubbleBar(getContext());
+        if (Float.compare(adjustedBorderSpace, 0f) == 0) {
+            return;
+        }
+
+        ShortcutAndWidgetContainer icons = getShortcutsAndWidgets();
+        AnimatorSet animatorSet = new AnimatorSet();
+        float borderSpaceDelta = adjustedBorderSpace - dp.hotseatBorderSpace;
+
+        // update the translation provider for future layout passes of hotseat icons.
+        if (isBubbleBarVisible) {
+            icons.setTranslationProvider(child -> {
+                int index = icons.indexOfChild(child);
+                return dp.iconSizePx + index * borderSpaceDelta;
+            });
+        } else {
+            icons.setTranslationProvider(null);
+        }
+
+        for (int i = 0; i < icons.getChildCount(); i++) {
+            View child = icons.getChildAt(i);
+            float tx = isBubbleBarVisible ? dp.iconSizePx + i * borderSpaceDelta : 0;
+            if (child instanceof Reorderable) {
+                MultiTranslateDelegate mtd = ((Reorderable) child).getTranslateDelegate();
+                animatorSet.play(
+                        mtd.getTranslationX(INDEX_BUBBLE_ADJUSTMENT_ANIM).animateToValue(tx));
+            } else {
+                animatorSet.play(ObjectAnimator.ofFloat(child, VIEW_TRANSLATE_X, tx));
+            }
+        }
+        if (mQsb instanceof HorizontalInsettableView) {
+            HorizontalInsettableView horizontalInsettableQsb = (HorizontalInsettableView) mQsb;
+            ValueAnimator qsbAnimator = ValueAnimator.ofFloat(0f, 1f);
+            qsbAnimator.addUpdateListener(animation -> {
+                float fraction = qsbAnimator.getAnimatedFraction();
+                float insetFraction = isBubbleBarVisible
+                        ? (float) dp.iconSizePx * fraction / dp.hotseatQsbWidth
+                        : (float) dp.iconSizePx * (1 - fraction) / dp.hotseatQsbWidth;
+                horizontalInsettableQsb.setHorizontalInsets(insetFraction);
+            });
+            animatorSet.play(qsbAnimator);
+        }
+        animatorSet.setDuration(BUBBLE_BAR_ADJUSTMENT_ANIMATION_DURATION_MS).start();
+    }
+
     @Override
     public void setInsets(Rect insets) {
         FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) getLayoutParams();
diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java
index c619bc5..42d4d50 100644
--- a/src/com/android/launcher3/InvariantDeviceProfile.java
+++ b/src/com/android/launcher3/InvariantDeviceProfile.java
@@ -22,16 +22,17 @@
 import static com.android.launcher3.util.DisplayController.CHANGE_DENSITY;
 import static com.android.launcher3.util.DisplayController.CHANGE_NAVIGATION_MODE;
 import static com.android.launcher3.util.DisplayController.CHANGE_SUPPORTED_BOUNDS;
+import static com.android.launcher3.util.DisplayController.CHANGE_TASKBAR_PINNING;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 
 import android.annotation.TargetApi;
 import android.content.Context;
-import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
 import android.content.res.XmlResourceParser;
 import android.graphics.Point;
 import android.graphics.PointF;
+import android.graphics.Rect;
 import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.util.DisplayMetrics;
@@ -121,8 +122,8 @@
     /**
      * Number of icons per row and column in the folder.
      */
-    public int numFolderRows;
-    public int numFolderColumns;
+    public int[] numFolderRows;
+    public int[] numFolderColumns;
     public float[] iconSize;
     public float[] iconTextSize;
     public int iconBitmapSize;
@@ -169,6 +170,7 @@
      * Number of columns in the all apps list.
      */
     public int numAllAppsColumns;
+    public int numAllAppsRowsForCellHeightCalculation;
     public int numDatabaseAllAppsColumns;
     public @StyleRes int allAppsStyle;
 
@@ -190,8 +192,18 @@
     public int folderSpecsId = INVALID_RESOURCE_HANDLE;
     @XmlRes
     public int folderSpecsTwoPanelId = INVALID_RESOURCE_HANDLE;
+    @XmlRes
     public int hotseatSpecsId = INVALID_RESOURCE_HANDLE;
+    @XmlRes
     public int hotseatSpecsTwoPanelId = INVALID_RESOURCE_HANDLE;
+    @XmlRes
+    public int workspaceCellSpecsId = INVALID_RESOURCE_HANDLE;
+    @XmlRes
+    public int workspaceCellSpecsTwoPanelId = INVALID_RESOURCE_HANDLE;
+    @XmlRes
+    public int allAppsCellSpecsId = INVALID_RESOURCE_HANDLE;
+    @XmlRes
+    public int allAppsCellSpecsTwoPanelId = INVALID_RESOURCE_HANDLE;
 
     public String dbFile;
     public int defaultLayoutId;
@@ -224,7 +236,7 @@
         DisplayController.INSTANCE.get(context).setPriorityListener(
                 (displayContext, info, flags) -> {
                     if ((flags & (CHANGE_DENSITY | CHANGE_SUPPORTED_BOUNDS
-                            | CHANGE_NAVIGATION_MODE)) != 0) {
+                            | CHANGE_NAVIGATION_MODE | CHANGE_TASKBAR_PINNING)) != 0) {
                         onConfigChanged(displayContext);
                     }
                 });
@@ -236,7 +248,7 @@
     public InvariantDeviceProfile(Context context, String gridName) {
         String newName = initGrid(context, gridName);
         if (newName == null || !newName.equals(gridName)) {
-            throw new IllegalArgumentException("Unknown grid name");
+            throw new IllegalArgumentException("Unknown grid name: " + gridName);
         }
     }
 
@@ -287,11 +299,15 @@
      * Reinitialize the current grid after a restore, where some grids might now be disabled.
      */
     public void reinitializeAfterRestore(Context context) {
-        FileLog.d(TAG, "Reinitializing grid after restore");
         String currentGridName = getCurrentGridName(context);
         String currentDbFile = dbFile;
         String newGridName = initGrid(context, currentGridName);
         String newDbFile = dbFile;
+        FileLog.d(TAG, "Reinitializing grid after restore."
+                + " currentGridName=" + currentGridName
+                + ", currentDbFile=" + currentDbFile
+                + ", newGridName=" + newGridName
+                + ", newDbFile=" + newDbFile);
         if (!newDbFile.equals(currentDbFile)) {
             FileLog.d(TAG, "Restored grid is disabled : " + currentGridName
                     + ", migrating to: " + newGridName
@@ -374,6 +390,12 @@
         folderSpecsTwoPanelId = closestProfile.mFolderSpecsTwoPanelId;
         hotseatSpecsId = closestProfile.mHotseatSpecsId;
         hotseatSpecsTwoPanelId = closestProfile.mHotseatSpecsTwoPanelId;
+        workspaceCellSpecsId = closestProfile.mWorkspaceCellSpecsId;
+        workspaceCellSpecsTwoPanelId = closestProfile.mWorkspaceCellSpecsTwoPanelId;
+        allAppsCellSpecsId = closestProfile.mAllAppsCellSpecsId;
+        allAppsCellSpecsTwoPanelId = closestProfile.mAllAppsCellSpecsTwoPanelId;
+        numAllAppsRowsForCellHeightCalculation =
+                closestProfile.mNumAllAppsRowsForCellHeightCalculation;
         this.deviceType = deviceType;
 
         inlineNavButtonsEndSpacing = closestProfile.inlineNavButtonsEndSpacing;
@@ -404,6 +426,7 @@
         allAppsStyle = closestProfile.allAppsStyle;
 
         numAllAppsColumns = closestProfile.numAllAppsColumns;
+
         numDatabaseAllAppsColumns = deviceType == TYPE_MULTI_DISPLAY
                 ? closestProfile.numDatabaseAllAppsColumns : closestProfile.numAllAppsColumns;
 
@@ -485,7 +508,9 @@
                 iconBitmapSize, fillResIconDpi, numDatabaseAllAppsColumns, dbFile};
     }
 
-    private void onConfigChanged(Context context) {
+    /** Updates IDP using the provided context. Notifies listeners of change. */
+    @VisibleForTesting
+    public void onConfigChanged(Context context) {
         Object[] oldState = toModelState();
 
         // Re-init grid
@@ -697,14 +722,11 @@
     }
 
     public DeviceProfile getDeviceProfile(Context context) {
-        Resources res = context.getResources();
-        Configuration config = context.getResources().getConfiguration();
+        WindowManagerProxy windowManagerProxy = WindowManagerProxy.INSTANCE.get(context);
+        Rect bounds = windowManagerProxy.getCurrentBounds(context);
+        int rotation = windowManagerProxy.getRotation(context);
 
-        float screenWidth = config.screenWidthDp * res.getDisplayMetrics().density;
-        float screenHeight = config.screenHeightDp * res.getDisplayMetrics().density;
-        int rotation = WindowManagerProxy.INSTANCE.get(context).getRotation(context);
-
-        return getBestMatch(screenWidth, screenHeight, rotation);
+        return getBestMatch(bounds.width(), bounds.height(), rotation);
     }
 
     /**
@@ -796,13 +818,14 @@
         public final int numSearchContainerColumns;
         public final int deviceCategory;
 
-        private final int numFolderRows;
-        private final int numFolderColumns;
+        private final int[] numFolderRows = new int[COUNT_SIZES];
+        private final int[] numFolderColumns = new int[COUNT_SIZES];
         private final @StyleRes int folderStyle;
         private final @StyleRes int cellStyle;
 
         private final @StyleRes int allAppsStyle;
         private final int numAllAppsColumns;
+        private final int mNumAllAppsRowsForCellHeightCalculation;
         private final int numDatabaseAllAppsColumns;
         private final int numHotseatIcons;
         private final int numDatabaseHotseatIcons;
@@ -827,6 +850,10 @@
         private final int mFolderSpecsTwoPanelId;
         private final int mHotseatSpecsId;
         private final int mHotseatSpecsTwoPanelId;
+        private final int mWorkspaceCellSpecsId;
+        private final int mWorkspaceCellSpecsTwoPanelId;
+        private final int mAllAppsCellSpecsId;
+        private final int mAllAppsCellSpecsTwoPanelId;
 
         public GridOption(Context context, AttributeSet attrs) {
             TypedArray a = context.obtainStyledAttributes(
@@ -870,11 +897,39 @@
                     a.getResourceId(R.styleable.GridDisplayOption_inlineNavButtonsEndSpacing,
                             R.dimen.taskbar_button_margin_default);
 
-            numFolderRows = a.getInt(
+            numFolderRows[INDEX_DEFAULT] = a.getInt(
                     R.styleable.GridDisplayOption_numFolderRows, numRows);
-            numFolderColumns = a.getInt(
+            numFolderColumns[INDEX_DEFAULT] = a.getInt(
                     R.styleable.GridDisplayOption_numFolderColumns, numColumns);
 
+            if (FeatureFlags.enableResponsiveWorkspace()) {
+                numFolderRows[INDEX_LANDSCAPE] = a.getInt(
+                        R.styleable.GridDisplayOption_numFolderRowsLandscape,
+                        numFolderRows[INDEX_DEFAULT]);
+                numFolderColumns[INDEX_LANDSCAPE] = a.getInt(
+                        R.styleable.GridDisplayOption_numFolderColumnsLandscape,
+                        numFolderColumns[INDEX_DEFAULT]);
+                numFolderRows[INDEX_TWO_PANEL_PORTRAIT] = a.getInt(
+                        R.styleable.GridDisplayOption_numFolderRowsTwoPanelPortrait,
+                        numFolderRows[INDEX_DEFAULT]);
+                numFolderColumns[INDEX_TWO_PANEL_PORTRAIT] = a.getInt(
+                        R.styleable.GridDisplayOption_numFolderColumnsTwoPanelPortrait,
+                        numFolderColumns[INDEX_DEFAULT]);
+                numFolderRows[INDEX_TWO_PANEL_LANDSCAPE] = a.getInt(
+                        R.styleable.GridDisplayOption_numFolderRowsTwoPanelLandscape,
+                        numFolderRows[INDEX_DEFAULT]);
+                numFolderColumns[INDEX_TWO_PANEL_LANDSCAPE] = a.getInt(
+                        R.styleable.GridDisplayOption_numFolderColumnsTwoPanelLandscape,
+                        numFolderColumns[INDEX_DEFAULT]);
+            } else {
+                numFolderRows[INDEX_LANDSCAPE] = numFolderRows[INDEX_DEFAULT];
+                numFolderColumns[INDEX_LANDSCAPE] = numFolderColumns[INDEX_DEFAULT];
+                numFolderRows[INDEX_TWO_PANEL_PORTRAIT] = numFolderRows[INDEX_DEFAULT];
+                numFolderColumns[INDEX_TWO_PANEL_PORTRAIT] = numFolderColumns[INDEX_DEFAULT];
+                numFolderRows[INDEX_TWO_PANEL_LANDSCAPE] = numFolderRows[INDEX_DEFAULT];
+                numFolderColumns[INDEX_TWO_PANEL_LANDSCAPE] = numFolderColumns[INDEX_DEFAULT];
+            }
+
             folderStyle = a.getResourceId(R.styleable.GridDisplayOption_folderStyle,
                     INVALID_RESOURCE_HANDLE);
 
@@ -888,27 +943,42 @@
             deviceCategory = a.getInt(R.styleable.GridDisplayOption_deviceCategory,
                     DEVICE_CATEGORY_ALL);
 
-            if (FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE.get()) {
+            if (FeatureFlags.enableResponsiveWorkspace()) {
                 mWorkspaceSpecsId = a.getResourceId(
                         R.styleable.GridDisplayOption_workspaceSpecsId, INVALID_RESOURCE_HANDLE);
                 mWorkspaceSpecsTwoPanelId = a.getResourceId(
                         R.styleable.GridDisplayOption_workspaceSpecsTwoPanelId,
-                        INVALID_RESOURCE_HANDLE);
+                        mWorkspaceSpecsId);
                 mAllAppsSpecsId = a.getResourceId(
                         R.styleable.GridDisplayOption_allAppsSpecsId, INVALID_RESOURCE_HANDLE);
                 mAllAppsSpecsTwoPanelId = a.getResourceId(
                         R.styleable.GridDisplayOption_allAppsSpecsTwoPanelId,
-                        INVALID_RESOURCE_HANDLE);
+                        mAllAppsSpecsId);
                 mFolderSpecsId = a.getResourceId(
                         R.styleable.GridDisplayOption_folderSpecsId, INVALID_RESOURCE_HANDLE);
                 mFolderSpecsTwoPanelId = a.getResourceId(
                         R.styleable.GridDisplayOption_folderSpecsTwoPanelId,
-                        INVALID_RESOURCE_HANDLE);
+                        mFolderSpecsId);
                 mHotseatSpecsId = a.getResourceId(
                         R.styleable.GridDisplayOption_hotseatSpecsId, INVALID_RESOURCE_HANDLE);
                 mHotseatSpecsTwoPanelId = a.getResourceId(
                         R.styleable.GridDisplayOption_hotseatSpecsTwoPanelId,
+                        mHotseatSpecsId);
+                mWorkspaceCellSpecsId = a.getResourceId(
+                        R.styleable.GridDisplayOption_workspaceCellSpecsId,
                         INVALID_RESOURCE_HANDLE);
+                mWorkspaceCellSpecsTwoPanelId = a.getResourceId(
+                        R.styleable.GridDisplayOption_workspaceCellSpecsTwoPanelId,
+                        mWorkspaceCellSpecsId);
+                mAllAppsCellSpecsId = a.getResourceId(
+                        R.styleable.GridDisplayOption_allAppsCellSpecsId,
+                        INVALID_RESOURCE_HANDLE);
+                mAllAppsCellSpecsTwoPanelId = a.getResourceId(
+                        R.styleable.GridDisplayOption_allAppsCellSpecsTwoPanelId,
+                        mAllAppsCellSpecsId);
+                mNumAllAppsRowsForCellHeightCalculation = a.getInt(
+                        R.styleable.GridDisplayOption_numAllAppsRowsForCellHeightCalculation,
+                        numRows);
             } else {
                 mWorkspaceSpecsId = INVALID_RESOURCE_HANDLE;
                 mWorkspaceSpecsTwoPanelId = INVALID_RESOURCE_HANDLE;
@@ -918,6 +988,11 @@
                 mFolderSpecsTwoPanelId = INVALID_RESOURCE_HANDLE;
                 mHotseatSpecsId = INVALID_RESOURCE_HANDLE;
                 mHotseatSpecsTwoPanelId = INVALID_RESOURCE_HANDLE;
+                mWorkspaceCellSpecsId = INVALID_RESOURCE_HANDLE;
+                mWorkspaceCellSpecsTwoPanelId = INVALID_RESOURCE_HANDLE;
+                mAllAppsCellSpecsId = INVALID_RESOURCE_HANDLE;
+                mAllAppsCellSpecsTwoPanelId = INVALID_RESOURCE_HANDLE;
+                mNumAllAppsRowsForCellHeightCalculation = numRows;
             }
 
             int inlineForRotation = a.getInt(R.styleable.GridDisplayOption_inlineQsb,
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 038967c..826eeb2 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -22,18 +22,39 @@
 import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
 
 import static com.android.app.animation.Interpolators.EMPHASIZED;
-import static com.android.launcher3.AbstractFloatingView.TYPE_ALL;
 import static com.android.launcher3.AbstractFloatingView.TYPE_FOLDER;
 import static com.android.launcher3.AbstractFloatingView.TYPE_ICON_SURFACE;
 import static com.android.launcher3.AbstractFloatingView.TYPE_REBIND_SAFE;
-import static com.android.launcher3.AbstractFloatingView.TYPE_SNACKBAR;
 import static com.android.launcher3.AbstractFloatingView.getTopOpenViewWithType;
 import static com.android.launcher3.LauncherAnimUtils.HOTSEAT_SCALE_PROPERTY_FACTORY;
 import static com.android.launcher3.LauncherAnimUtils.SCALE_INDEX_WIDGET_TRANSITION;
 import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
 import static com.android.launcher3.LauncherAnimUtils.WORKSPACE_SCALE_PROPERTY_FACTORY;
+import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_BIND_APPWIDGET;
+import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_BIND_PENDING_APPWIDGET;
+import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_CREATE_APPWIDGET;
+import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_CREATE_SHORTCUT;
+import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_PICK_APPWIDGET;
+import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_RECONFIGURE_APPWIDGET;
+import static com.android.launcher3.LauncherConstants.SavedInstanceKeys.RUNTIME_STATE;
+import static com.android.launcher3.LauncherConstants.SavedInstanceKeys.RUNTIME_STATE_CURRENT_SCREEN_IDS;
+import static com.android.launcher3.LauncherConstants.SavedInstanceKeys.RUNTIME_STATE_PENDING_ACTIVITY_RESULT;
+import static com.android.launcher3.LauncherConstants.SavedInstanceKeys.RUNTIME_STATE_PENDING_REQUEST_ARGS;
+import static com.android.launcher3.LauncherConstants.SavedInstanceKeys.RUNTIME_STATE_PENDING_REQUEST_CODE;
+import static com.android.launcher3.LauncherConstants.SavedInstanceKeys.RUNTIME_STATE_WIDGET_PANEL;
+import static com.android.launcher3.LauncherConstants.TraceEvents.COLD_STARTUP_TRACE_COOKIE;
+import static com.android.launcher3.LauncherConstants.TraceEvents.COLD_STARTUP_TRACE_METHOD_NAME;
+import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_ALL_APPS_TRACE_COOKIE;
+import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_ALL_APPS_TRACE_METHOD_NAME;
+import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_WORKSPACE_TRACE_COOKIE;
+import static com.android.launcher3.LauncherConstants.TraceEvents.DISPLAY_WORKSPACE_TRACE_METHOD_NAME;
+import static com.android.launcher3.LauncherConstants.TraceEvents.ON_CREATE_EVT;
+import static com.android.launcher3.LauncherConstants.TraceEvents.ON_NEW_INTENT_EVT;
+import static com.android.launcher3.LauncherConstants.TraceEvents.ON_RESUME_EVT;
+import static com.android.launcher3.LauncherConstants.TraceEvents.ON_START_EVT;
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_DESKTOP;
 import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
+import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
 import static com.android.launcher3.LauncherState.ALL_APPS;
 import static com.android.launcher3.LauncherState.EDIT_MODE;
 import static com.android.launcher3.LauncherState.FLAG_MULTI_PAGE;
@@ -43,10 +64,9 @@
 import static com.android.launcher3.LauncherState.NO_SCALE;
 import static com.android.launcher3.LauncherState.SPRING_LOADED;
 import static com.android.launcher3.Utilities.postAsyncCallback;
-import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.getSupportedActions;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_SMARTSPACE_REMOVAL;
 import static com.android.launcher3.config.FeatureFlags.FOLDABLE_SINGLE_PAGE;
 import static com.android.launcher3.config.FeatureFlags.MULTI_SELECT_EDIT_MODE;
-import static com.android.launcher3.config.FeatureFlags.SHOW_DOT_PAGINATION;
 import static com.android.launcher3.logging.StatsLogManager.EventEnum;
 import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_BACKGROUND;
 import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_HOME;
@@ -61,8 +81,6 @@
 import static com.android.launcher3.logging.StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_ACTIVITY_ON_CREATE;
 import static com.android.launcher3.logging.StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION;
 import static com.android.launcher3.logging.StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_VIEW_INFLATION;
-import static com.android.launcher3.logging.StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC;
-import static com.android.launcher3.logging.StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC;
 import static com.android.launcher3.logging.StatsLogManager.StatsLatencyLogger.LatencyType.COLD;
 import static com.android.launcher3.logging.StatsLogManager.StatsLatencyLogger.LatencyType.COLD_DEVICE_REBOOTING;
 import static com.android.launcher3.logging.StatsLogManager.StatsLatencyLogger.LatencyType.WARM;
@@ -73,8 +91,10 @@
 import static com.android.launcher3.popup.SystemShortcut.WIDGETS;
 import static com.android.launcher3.states.RotationHelper.REQUEST_LOCK;
 import static com.android.launcher3.states.RotationHelper.REQUEST_NONE;
+import static com.android.launcher3.testing.shared.TestProtocol.LAUNCHER_ACTIVITY_STOPPED_MESSAGE;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.ItemInfoMatcher.forFolderMatch;
+import static com.android.launcher3.util.SettingsCache.TOUCHPAD_NATURAL_SCROLLING;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -113,13 +133,11 @@
 import android.util.SparseArray;
 import android.view.KeyEvent;
 import android.view.KeyboardShortcutGroup;
-import android.view.KeyboardShortcutInfo;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.ViewTreeObserver;
 import android.view.ViewTreeObserver.OnPreDrawListener;
 import android.view.WindowManager.LayoutParams;
 import android.view.accessibility.AccessibilityEvent;
@@ -136,13 +154,10 @@
 import androidx.annotation.VisibleForTesting;
 
 import com.android.launcher3.DropTarget.DragObject;
-import com.android.launcher3.accessibility.BaseAccessibilityDelegate.LauncherAction;
 import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
 import com.android.launcher3.allapps.ActivityAllAppsContainerView;
 import com.android.launcher3.allapps.AllAppsRecyclerView;
-import com.android.launcher3.allapps.AllAppsStore;
 import com.android.launcher3.allapps.AllAppsTransitionController;
-import com.android.launcher3.allapps.BaseSearchConfig;
 import com.android.launcher3.allapps.DiscoveryBounce;
 import com.android.launcher3.anim.AnimationSuccessListener;
 import com.android.launcher3.anim.PropertyListBuilder;
@@ -165,16 +180,17 @@
 import com.android.launcher3.logger.LauncherAtom;
 import com.android.launcher3.logger.LauncherAtom.ContainerInfo;
 import com.android.launcher3.logger.LauncherAtom.WorkspaceContainer;
+import com.android.launcher3.logging.ColdRebootStartupLatencyLogger;
 import com.android.launcher3.logging.FileLog;
 import com.android.launcher3.logging.InstanceId;
 import com.android.launcher3.logging.InstanceIdSequence;
 import com.android.launcher3.logging.StartupLatencyLogger;
 import com.android.launcher3.logging.StatsLogManager;
+import com.android.launcher3.logging.StatsLogManager.LauncherLatencyEvent;
 import com.android.launcher3.model.BgDataModel.Callbacks;
 import com.android.launcher3.model.ItemInstallQueue;
 import com.android.launcher3.model.ModelWriter;
 import com.android.launcher3.model.StringCache;
-import com.android.launcher3.model.WidgetsModel;
 import com.android.launcher3.model.data.AppInfo;
 import com.android.launcher3.model.data.FolderInfo;
 import com.android.launcher3.model.data.ItemInfo;
@@ -184,10 +200,8 @@
 import com.android.launcher3.pageindicators.WorkspacePageIndicator;
 import com.android.launcher3.pm.PinRequestHelper;
 import com.android.launcher3.popup.ArrowPopup;
-import com.android.launcher3.popup.PopupContainerWithArrow;
 import com.android.launcher3.popup.PopupDataProvider;
 import com.android.launcher3.popup.SystemShortcut;
-import com.android.launcher3.qsb.QsbContainerView;
 import com.android.launcher3.statemanager.StateManager;
 import com.android.launcher3.statemanager.StateManager.StateHandler;
 import com.android.launcher3.statemanager.StatefulActivity;
@@ -199,18 +213,19 @@
 import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
 import com.android.launcher3.util.ActivityResultInfo;
 import com.android.launcher3.util.ActivityTracker;
+import com.android.launcher3.util.BackPressHandler;
 import com.android.launcher3.util.CannedAnimationCoordinator;
 import com.android.launcher3.util.ComponentKey;
 import com.android.launcher3.util.IntArray;
 import com.android.launcher3.util.IntSet;
+import com.android.launcher3.util.KeyboardShortcutsDelegate;
 import com.android.launcher3.util.LockedUserState;
-import com.android.launcher3.util.OnboardingPrefs;
 import com.android.launcher3.util.PackageUserKey;
 import com.android.launcher3.util.PendingRequestArgs;
-import com.android.launcher3.util.Preconditions;
 import com.android.launcher3.util.RunnableList;
 import com.android.launcher3.util.ScreenOnTracker;
 import com.android.launcher3.util.ScreenOnTracker.ScreenOnListener;
+import com.android.launcher3.util.SettingsCache;
 import com.android.launcher3.util.SystemUiController;
 import com.android.launcher3.util.Themes;
 import com.android.launcher3.util.Thunk;
@@ -230,15 +245,17 @@
 import com.android.launcher3.widget.PendingAddWidgetInfo;
 import com.android.launcher3.widget.PendingAppWidgetHostView;
 import com.android.launcher3.widget.WidgetAddFlowHandler;
+import com.android.launcher3.widget.WidgetInflater;
+import com.android.launcher3.widget.WidgetInflater.InflationResult;
 import com.android.launcher3.widget.WidgetManagerHelper;
 import com.android.launcher3.widget.custom.CustomWidgetManager;
 import com.android.launcher3.widget.model.WidgetsListBaseEntry;
 import com.android.launcher3.widget.picker.WidgetsFullSheet;
 import com.android.systemui.plugins.LauncherOverlayPlugin;
 import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.shared.LauncherExterns;
 import com.android.systemui.plugins.shared.LauncherOverlayManager;
 import com.android.systemui.plugins.shared.LauncherOverlayManager.LauncherOverlay;
+import com.android.wm.shell.Flags;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -258,7 +275,7 @@
  * Default launcher application.
  */
 public class Launcher extends StatefulActivity<LauncherState>
-        implements LauncherExterns, Callbacks, InvariantDeviceProfile.OnIDPChangeListener,
+        implements Callbacks, InvariantDeviceProfile.OnIDPChangeListener,
         PluginListener<LauncherOverlayPlugin> {
     public static final String TAG = "Launcher";
 
@@ -268,15 +285,6 @@
 
     static final boolean DEBUG_STRICT_MODE = false;
 
-    private static final int REQUEST_CREATE_SHORTCUT = 1;
-    private static final int REQUEST_CREATE_APPWIDGET = 5;
-
-    private static final int REQUEST_PICK_APPWIDGET = 9;
-
-    private static final int REQUEST_BIND_APPWIDGET = 11;
-    public static final int REQUEST_BIND_PENDING_APPWIDGET = 12;
-    public static final int REQUEST_RECONFIGURE_APPWIDGET = 13;
-
     private static final float BOUNCE_ANIMATION_TENSION = 1.3f;
 
     /**
@@ -285,30 +293,9 @@
      */
     protected static final int REQUEST_LAST = 100;
 
-    // Type: int
-    protected static final String RUNTIME_STATE = "launcher.state";
-    // Type: PendingRequestArgs
-    private static final String RUNTIME_STATE_PENDING_REQUEST_ARGS = "launcher.request_args";
-    // Type: int
-    private static final String RUNTIME_STATE_PENDING_REQUEST_CODE = "launcher.request_code";
-    // Type: ActivityResultInfo
-    private static final String RUNTIME_STATE_PENDING_ACTIVITY_RESULT = "launcher.activity_result";
-    // Type: SparseArray<Parcelable>
-    private static final String RUNTIME_STATE_WIDGET_PANEL = "launcher.widget_panel";
-    // Type int[]
-    private static final String RUNTIME_STATE_CURRENT_SCREEN_IDS = "launcher.current_screen_ids";
-
-    // Type PendingSplitSelectInfo<Parcelable>
-    protected static final String PENDING_SPLIT_SELECT_INFO = "launcher.pending_split_select_info";
-
     public static final String INTENT_ACTION_ALL_APPS_TOGGLE =
             "launcher.intent_action_all_apps_toggle";
 
-    public static final String ON_CREATE_EVT = "Launcher.onCreate";
-    public static final String ON_START_EVT = "Launcher.onStart";
-    public static final String ON_RESUME_EVT = "Launcher.onResume";
-    public static final String ON_NEW_INTENT_EVT = "Launcher.onNewIntent";
-
     private static boolean sIsNewProcess = true;
 
     private StateManager<LauncherState> mStateManager;
@@ -320,22 +307,20 @@
     private static final int NEW_APPS_ANIMATION_INACTIVE_TIMEOUT_SECONDS = 5;
     @Thunk @VisibleForTesting public static final int NEW_APPS_ANIMATION_DELAY = 500;
 
-    private static final String DISPLAY_WORKSPACE_TRACE_METHOD_NAME = "DisplayWorkspaceFirstFrame";
-    private static final String DISPLAY_ALL_APPS_TRACE_METHOD_NAME = "DisplayAllApps";
-    public static final int DISPLAY_WORKSPACE_TRACE_COOKIE = 0;
-    public static final int DISPLAY_ALL_APPS_TRACE_COOKIE = 1;
-
     private static final FloatProperty<Workspace<?>> WORKSPACE_WIDGET_SCALE =
             WORKSPACE_SCALE_PROPERTY_FACTORY.get(SCALE_INDEX_WIDGET_TRANSITION);
     private static final FloatProperty<Hotseat> HOTSEAT_WIDGET_SCALE =
             HOTSEAT_SCALE_PROPERTY_FACTORY.get(SCALE_INDEX_WIDGET_TRANSITION);
 
-    private static final boolean DESKTOP_MODE_1_SUPPORTED =
-            "1".equals(Utilities.getSystemProperty("persist.wm.debug.desktop_mode", "0"));
-
-    private static final boolean DESKTOP_MODE_2_SUPPORTED =
+    private static final boolean ENABLE_DESKTOP_WINDOWING = Flags.enableDesktopWindowing();
+    private static final boolean DESKTOP_MODE_SUPPORTED =
             "1".equals(Utilities.getSystemProperty("persist.wm.debug.desktop_mode_2", "0"));
 
+    private final ModelCallbacks mModelCallbacks = createModelCallbacks();
+
+    private final KeyboardShortcutsDelegate mKeyboardShortcutsDelegate =
+            new KeyboardShortcutsDelegate(this);
+
     @Thunk
     Workspace<?> mWorkspace;
     @Thunk
@@ -343,6 +328,7 @@
 
     private WidgetManagerHelper mAppWidgetManager;
     private LauncherWidgetHolder mAppWidgetHolder;
+    private WidgetInflater mWidgetInflater;
 
     private final int[] mTmpAddItemCellCoordinates = new int[2];
 
@@ -363,14 +349,9 @@
     // UI and state for the overview panel
     private View mOverviewPanel;
 
-    @Thunk
-    boolean mWorkspaceLoading = true;
-
     // Used to notify when an activity launch has been deferred because launcher is not yet resumed
     // TODO: See if we can remove this later
     private Runnable mOnDeferredActivityLaunchCallback;
-
-    private ViewOnDrawExecutor mPendingExecutor;
     private OnPreDrawListener mOnInitialBindListener;
 
     private LauncherModel mModel;
@@ -380,13 +361,9 @@
 
     private PopupDataProvider mPopupDataProvider;
 
-    private IntSet mSynchronouslyBoundPages = new IntSet();
-    @NonNull private IntSet mPagesToBindSynchronously = new IntSet();
-
     // We only want to get the SharedPreferences once since it does an FS stat each time we get
     // it from the context.
     private SharedPreferences mSharedPrefs;
-    private OnboardingPrefs<? extends Launcher> mOnboardingPrefs;
 
     // Activity result which needs to be processed after workspace has loaded.
     private ActivityResultInfo mPendingActivityResult;
@@ -417,15 +394,24 @@
     // session on the server side.
     protected InstanceId mAllAppsSessionLogId;
     private LauncherState mPrevLauncherState;
-
-    private StringCache mStringCache;
-    private BaseSearchConfig mBaseSearchConfig;
     private StartupLatencyLogger mStartupLatencyLogger;
     private CellPosMapper mCellPosMapper = CellPosMapper.DEFAULT;
 
     private final CannedAnimationCoordinator mAnimationCoordinator =
             new CannedAnimationCoordinator(this);
 
+    private final List<BackPressHandler> mBackPressedHandlers = new ArrayList<>();
+    private boolean mIsColdStartupAfterReboot;
+
+    private boolean mIsNaturalScrollingEnabled;
+
+    private final SettingsCache.OnChangeListener mNaturalScrollingChangedListener =
+            enabled -> mIsNaturalScrollingEnabled = enabled;
+
+    public static Launcher getLauncher(Context context) {
+        return fromContext(context);
+    }
+
     @Override
     @TargetApi(Build.VERSION_CODES.S)
     protected void onCreate(Bundle savedInstanceState) {
@@ -435,6 +421,14 @@
                             ? COLD
                             : COLD_DEVICE_REBOOTING
                         : WARM);
+
+        mIsColdStartupAfterReboot = sIsNewProcess
+            && !LockedUserState.get(this).isUserUnlockedAtLauncherStartup();
+        if (mIsColdStartupAfterReboot) {
+            Trace.beginAsyncSection(
+                    COLD_STARTUP_TRACE_METHOD_NAME, COLD_STARTUP_TRACE_COOKIE);
+        }
+
         sIsNewProcess = false;
         mStartupLatencyLogger
                 .logStart(LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION)
@@ -516,16 +510,14 @@
         mAllAppsController = new AllAppsTransitionController(this);
         mStateManager = new StateManager<>(this, NORMAL);
 
-        mOnboardingPrefs = createOnboardingPrefs(mSharedPrefs);
-
-        // TODO: move the SearchConfig to SearchState when new LauncherState is created.
-        mBaseSearchConfig = new BaseSearchConfig();
-
         setupViews();
+        updateDisallowBack();
 
         mAppWidgetManager = new WidgetManagerHelper(this);
+        mWidgetInflater = new WidgetInflater(this);
         mAppWidgetHolder = createAppWidgetHolder();
         mAppWidgetHolder.startListening();
+        mAppWidgetHolder.addProviderChangeListener(() -> refreshAndBindWidgetsForPackageUser(null));
 
         mPopupDataProvider = new PopupDataProvider(this::updateNotificationDots);
 
@@ -543,7 +535,7 @@
         if (savedInstanceState != null) {
             int[] pageIds = savedInstanceState.getIntArray(RUNTIME_STATE_CURRENT_SCREEN_IDS);
             if (pageIds != null) {
-                mPagesToBindSynchronously = IntSet.wrap(pageIds);
+                mModelCallbacks.setPagesToBindSynchronously(IntSet.wrap(pageIds));
             }
         }
 
@@ -567,14 +559,15 @@
         }
         getRootView().dispatchInsets();
 
+        final SettingsCache settingsCache = SettingsCache.INSTANCE.get(this);
+        settingsCache.register(TOUCHPAD_NATURAL_SCROLLING, mNaturalScrollingChangedListener);
+        mIsNaturalScrollingEnabled = settingsCache.getValue(TOUCHPAD_NATURAL_SCROLLING);
+
         // Listen for screen turning off
         ScreenOnTracker.INSTANCE.get(this).addListener(mScreenOnListener);
         getSystemUiController().updateUiState(SystemUiController.UI_STATE_BASE_WINDOW,
                 Themes.getAttrBoolean(this, R.attr.isWorkspaceDarkText));
 
-        if (mLauncherCallbacks != null) {
-            mLauncherCallbacks.onCreate(savedInstanceState);
-        }
         mOverlayManager = getDefaultOverlay();
         PluginManagerWrapper.INSTANCE.get(this).addPluginListener(this,
                 LauncherOverlayPlugin.class, false /* allowedMultiple */);
@@ -589,14 +582,29 @@
         mStartupLatencyLogger.logEnd(LAUNCHER_LATENCY_STARTUP_ACTIVITY_ON_CREATE);
     }
 
+    protected ModelCallbacks createModelCallbacks() {
+        return new ModelCallbacks(this);
+    }
+
     /**
-     * Create {@link StartupLatencyLogger} that only collects launcher startup latency metrics
-     * without sending them anywhere. Child class can override this method to create logger
+     * We only log startup latency in {@link COLD_DEVICE_REBOOTING} type. For other latency types,
+     * create a no op implementation.
+     */
+    private StartupLatencyLogger createStartupLatencyLogger(
+            StatsLogManager.StatsLatencyLogger.LatencyType latencyType) {
+        if (latencyType == COLD_DEVICE_REBOOTING) {
+            return createColdRebootStartupLatencyLogger();
+        }
+        return StartupLatencyLogger.Companion.getNO_OP();
+    }
+
+    /**
+     * Create {@link ColdRebootStartupLatencyLogger} that only collects launcher startup latency
+     * metrics without sending them anywhere. Child class can override this method to create logger
      * that overrides {@link StartupLatencyLogger#log()} to report those metrics.
      */
-    protected StartupLatencyLogger createStartupLatencyLogger(
-            StatsLogManager.StatsLatencyLogger.LatencyType latencyType) {
-        return new StartupLatencyLogger(latencyType);
+    protected ColdRebootStartupLatencyLogger createColdRebootStartupLatencyLogger() {
+        return new ColdRebootStartupLatencyLogger();
     }
 
     /**
@@ -605,6 +613,7 @@
      *  <li> auto cancel action mode handler
      *  <li> drag handler
      *  <li> view handler
+     *  <li> registered {@link BackPressHandler}
      *  <li> state handler
      * </ol>
      *
@@ -634,7 +643,14 @@
             return topView;
         }
 
-        // #4 state handler
+        // #4 Custom back handlers
+        for (BackPressHandler handler : mBackPressedHandlers) {
+            if (handler.canHandleBack()) {
+                return handler;
+            }
+        }
+
+        // #5 state handler
         return new OnBackAnimationCallback() {
             @Override
             public void onBackInvoked() {
@@ -658,18 +674,9 @@
         return new LauncherOverlayManager() { };
     }
 
-    protected OnboardingPrefs<? extends Launcher> createOnboardingPrefs(
-            SharedPreferences sharedPrefs) {
-        return new OnboardingPrefs<>(this, sharedPrefs);
-    }
-
-    public OnboardingPrefs<? extends Launcher> getOnboardingPrefs() {
-        return mOnboardingPrefs;
-    }
-
     @Override
     public void onPluginConnected(LauncherOverlayPlugin overlayManager, Context context) {
-        switchOverlay(() -> overlayManager.createOverlayManager(this, this));
+        switchOverlay(() -> overlayManager.createOverlayManager(this));
     }
 
     @Override
@@ -679,7 +686,7 @@
 
     private void switchOverlay(Supplier<LauncherOverlayManager> overlaySupplier) {
         if (mOverlayManager != null) {
-            mOverlayManager.onActivityDestroyed(this);
+            mOverlayManager.onActivityDestroyed();
         }
         mOverlayManager = overlaySupplier.get();
         if (getRootView().isAttachedToWindow()) {
@@ -773,69 +780,19 @@
         if (FOLDABLE_SINGLE_PAGE.get() && mDeviceProfile.isTwoPanels) {
             mCellPosMapper = new TwoPanelCellPosMapper(mDeviceProfile.inv.numColumns);
         } else {
-            mCellPosMapper = CellPosMapper.DEFAULT;
+            mCellPosMapper = new CellPosMapper(mDeviceProfile.isVerticalBarLayout(),
+                    mDeviceProfile.numShownHotseatIcons);
         }
-        mModelWriter = mModel.getWriter(getDeviceProfile().isVerticalBarLayout(), true,
-                mCellPosMapper, this);
+        mModelWriter = mModel.getWriter(true, mCellPosMapper, this);
         return true;
     }
 
     @Override
-    public CellPosMapper getCellPosMapper() {
-        return mCellPosMapper;
-    }
-
-    public RotationHelper getRotationHelper() {
-        return mRotationHelper;
-    }
-
-    public ViewGroupFocusHelper getFocusHandler() {
-        return mFocusHandler;
-    }
-
-    @Override
-    public StateManager<LauncherState> getStateManager() {
-        return mStateManager;
-    }
-
-    private LauncherCallbacks mLauncherCallbacks;
-
-    /**
-     * Call this after onCreate to set or clear overlay.
-     */
-    @Override
-    public void setLauncherOverlay(LauncherOverlay overlay) {
-        mWorkspace.setLauncherOverlay(overlay);
-    }
-
-    public boolean setLauncherCallbacks(LauncherCallbacks callbacks) {
-        mLauncherCallbacks = callbacks;
-        return true;
-    }
-
-    public boolean isDraggingEnabled() {
-        // We prevent dragging when we are loading the workspace as it is possible to pick up a view
-        // that is subsequently removed from the workspace in startBinding().
-        return !isWorkspaceLoading();
-    }
-
-    @NonNull
-    @Override
-    public PopupDataProvider getPopupDataProvider() {
-        return mPopupDataProvider;
-    }
-
-    @Override
-    public DotInfo getDotInfoForItem(ItemInfo info) {
-        return mPopupDataProvider.getDotInfoForItem(info);
-    }
-
-    @Override
     public void invalidateParent(ItemInfo info) {
         if (info.container >= 0) {
             View folderIcon = getWorkspace().getHomescreenIconByItemId(info.container);
             if (folderIcon instanceof FolderIcon && folderIcon.getTag() instanceof FolderInfo) {
-                if (new FolderGridOrganizer(getDeviceProfile().inv)
+                if (new FolderGridOrganizer(getDeviceProfile())
                         .setFolderInfo((FolderInfo) folderIcon.getTag())
                         .isItemInPreview(info.rank)) {
                     folderIcon.invalidate();
@@ -878,7 +835,7 @@
                 if (widgetInfo != null) {
                     // Since the view was just bound, also launch the configure activity if needed
                     LauncherAppWidgetProviderInfo provider = mAppWidgetManager
-                            .getLauncherAppWidgetInfo(widgetId);
+                            .getLauncherAppWidgetInfo(widgetId, info.getTargetComponent());
                     if (provider != null) {
                         new WidgetAddFlowHandler(provider)
                                 .startConfigActivity(this, widgetInfo,
@@ -891,6 +848,17 @@
         return screenId;
     }
 
+    /**
+     * Process any pending activity result if it was put on hold for any reason like item binding.
+     */
+    public void processActivityResult() {
+        if (mPendingActivityResult != null) {
+            handleActivityResult(mPendingActivityResult.requestCode,
+                    mPendingActivityResult.resultCode, mPendingActivityResult.data);
+            mPendingActivityResult = null;
+        }
+    }
+
     private void handleActivityResult(
             final int requestCode, final int resultCode, final Intent data) {
         if (isWorkspaceLoading()) {
@@ -1041,7 +1009,7 @@
         AppWidgetHostView boundWidget = null;
         if (resultCode == RESULT_OK) {
             animationType = Workspace.COMPLETE_TWO_STAGE_WIDGET_DROP_ANIMATION;
-            final AppWidgetHostView layout = mAppWidgetHolder.createView(this, appWidgetId,
+            final AppWidgetHostView layout = mAppWidgetHolder.createView(appWidgetId,
                     requestArgs.getWidgetHandler().getProviderInfo(this));
             boundWidget = layout;
             onCompleteRunnable = () -> {
@@ -1070,13 +1038,15 @@
         if (mDeferOverlayCallbacks) {
             checkIfOverlayStillDeferred();
         } else {
-            mOverlayManager.onActivityStopped(this);
+            mOverlayManager.onActivityStopped();
         }
         hideKeyboard();
         logStopAndResume(false /* isResume */);
         mAppWidgetHolder.setActivityStarted(false);
         NotificationListener.removeNotificationsChangedListener(getPopupDataProvider());
         FloatingIconView.resetIconLoadResult();
+        AccessibilityManagerCompat.sendTestProtocolEventToTest(
+                this, LAUNCHER_ACTIVITY_STOPPED_MESSAGE);
     }
 
     @Override
@@ -1084,7 +1054,7 @@
         TraceHelper.INSTANCE.beginSection(ON_START_EVT);
         super.onStart();
         if (!mDeferOverlayCallbacks) {
-            mOverlayManager.onActivityStarted(this);
+            mOverlayManager.onActivityStarted();
         }
 
         mAppWidgetHolder.setActivityStarted(true);
@@ -1111,7 +1081,7 @@
     }
 
     private void logStopAndResume(boolean isResume) {
-        if (mPendingExecutor != null) return;
+        if (mModelCallbacks.getPendingExecutor() != null) return;
         int pageIndex = mWorkspace.isOverlayShown() ? -1 : mWorkspace.getCurrentPage();
         int statsLogOrdinal = mStateManager.getState().statsLogOrdinal;
 
@@ -1153,15 +1123,15 @@
 
         // Move the client to the correct state. Calling the same method twice is no-op.
         if (isStarted()) {
-            mOverlayManager.onActivityStarted(this);
+            mOverlayManager.onActivityStarted();
         }
         if (hasBeenResumed()) {
-            mOverlayManager.onActivityResumed(this);
+            mOverlayManager.onActivityResumed();
         } else {
-            mOverlayManager.onActivityPaused(this);
+            mOverlayManager.onActivityPaused();
         }
         if (!isStarted()) {
-            mOverlayManager.onActivityStopped(this);
+            mOverlayManager.onActivityStopped();
         }
     }
 
@@ -1169,10 +1139,6 @@
         mDeferOverlayCallbacks = true;
     }
 
-    public LauncherOverlayManager getOverlayManager() {
-        return mOverlayManager;
-    }
-
     @Override
     public void onStateSetStart(LauncherState state) {
         super.onStateSetStart(state);
@@ -1265,7 +1231,7 @@
         if (mDeferOverlayCallbacks) {
             scheduleDeferredCheck();
         } else {
-            mOverlayManager.onActivityResumed(this);
+            mOverlayManager.onActivityResumed();
         }
 
         DragView.removeAllViews(this);
@@ -1283,7 +1249,7 @@
         mDropTargetBar.animateToVisibility(false);
 
         if (!mDeferOverlayCallbacks) {
-            mOverlayManager.onActivityPaused(this);
+            mOverlayManager.onActivityPaused();
         }
         mAppWidgetHolder.setActivityResumed(false);
     }
@@ -1348,7 +1314,9 @@
         // Until the workspace is bound, ensure that we keep the wallpaper offset locked to the
         // default state, otherwise we will update to the wrong offsets in RTL
         mWorkspace.lockWallpaperToDefaultPage();
-        mWorkspace.bindAndInitFirstWorkspaceScreen();
+        if (!ENABLE_SMARTSPACE_REMOVAL.get()) {
+            mWorkspace.bindAndInitFirstWorkspaceScreen();
+        }
         mDragController.addDragListener(mWorkspace);
 
         // Get the search/delete/uninstall bar
@@ -1365,18 +1333,14 @@
         mDropTargetBar.setup(mDragController);
         mAllAppsController.setupViews(mScrimView, mAppsView);
 
-        if (SHOW_DOT_PAGINATION.get()) {
-            mWorkspace.getPageIndicator().setShouldAutoHide(true);
-            mWorkspace.getPageIndicator().setPaintColor(
-                    Themes.getAttrBoolean(this, R.attr.isWorkspaceDarkText)
-                            ? Color.BLACK
-                            : Color.WHITE);
-        }
+        mWorkspace.getPageIndicator().setShouldAutoHide(true);
+        mWorkspace.getPageIndicator().setPaintColor(Themes.getAttrBoolean(
+                this, R.attr.isWorkspaceDarkText) ? Color.BLACK : Color.WHITE);
     }
 
     @Override
     public View onCreateView(View parent, String name, Context context, AttributeSet attrs) {
-        if (SHOW_DOT_PAGINATION.get() && WorkspacePageIndicator.class.getName().equals(name)) {
+        if (WorkspacePageIndicator.class.getName().equals(name)) {
             return LayoutInflater.from(context).inflate(R.layout.page_indicator_dots,
                     (ViewGroup) parent, false);
         }
@@ -1492,12 +1456,13 @@
             AppWidgetHostView hostView, LauncherAppWidgetProviderInfo appWidgetInfo) {
 
         if (appWidgetInfo == null) {
-            appWidgetInfo = mAppWidgetManager.getLauncherAppWidgetInfo(appWidgetId);
+            appWidgetInfo = mAppWidgetManager.getLauncherAppWidgetInfo(appWidgetId,
+                    itemInfo.getTargetComponent());
         }
 
         if (hostView == null) {
             // Perform actual inflation because we're live
-            hostView = mAppWidgetHolder.createView(this, appWidgetId, appWidgetInfo);
+            hostView = mAppWidgetHolder.createView(appWidgetId, appWidgetInfo);
         }
 
         LauncherAppWidgetInfo launcherInfo;
@@ -1547,7 +1512,6 @@
 
     private void prepareAppWidget(AppWidgetHostView hostView, LauncherAppWidgetInfo item) {
         hostView.setTag(item);
-        item.onBindAppWidget(this, hostView);
         hostView.setFocusable(true);
         hostView.setOnFocusChangeListener(mFocusHandler);
     }
@@ -1579,79 +1543,11 @@
         return instance;
     }
 
-    public AllAppsTransitionController getAllAppsController() {
-        return mAllAppsController;
-    }
-
-    @Override
-    public DragLayer getDragLayer() {
-        return mDragLayer;
-    }
-
-    @Override
-    public ActivityAllAppsContainerView<Launcher> getAppsView() {
-        return mAppsView;
-    }
-
-    public Workspace<?> getWorkspace() {
-        return mWorkspace;
-    }
-
-    public Hotseat getHotseat() {
-        return mHotseat;
-    }
-
-    public <T extends View> T getOverviewPanel() {
-        return (T) mOverviewPanel;
-    }
-
-    public DropTargetBar getDropTargetBar() {
-        return mDropTargetBar;
-    }
-
-    @Override
-    public ScrimView getScrimView() {
-        return mScrimView;
-    }
-
-    public LauncherWidgetHolder getAppWidgetHolder() {
-        return mAppWidgetHolder;
-    }
-
     protected LauncherWidgetHolder createAppWidgetHolder() {
         return LauncherWidgetHolder.HolderFactory.newFactory(this).newInstance(
                 this, appWidgetId -> getWorkspace().removeWidget(appWidgetId));
     }
 
-    public LauncherModel getModel() {
-        return mModel;
-    }
-
-    /**
-     * Returns the ModelWriter writer, make sure to call the function every time you want to use it.
-     */
-    public ModelWriter getModelWriter() {
-        return mModelWriter;
-    }
-
-    @Override
-    public SharedPreferences getSharedPrefs() {
-        return mSharedPrefs;
-    }
-
-    @Override
-    public SharedPreferences getDevicePrefs() {
-        return LauncherPrefs.getDevicePrefs(this);
-    }
-
-    public int getOrientation() {
-        return mOldConfig.orientation;
-    }
-
-    public BaseSearchConfig getSearchConfig() {
-        return mBaseSearchConfig;
-    }
-
     @Override
     protected void onNewIntent(Intent intent) {
         if (Utilities.isRunningInTestHarness()) {
@@ -1692,10 +1588,7 @@
                 }
             }
 
-            if (mLauncherCallbacks != null) {
-                mLauncherCallbacks.onHomeIntent(internalStateHandled);
-            }
-            if (FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get()) {
+            if (FeatureFlags.enableSplitContextually()) {
                 handleSplitAnimationGoingToHome();
             }
             mOverlayManager.hideOverlay(isStarted() && !isForceInvisible());
@@ -1720,6 +1613,9 @@
         if (getStateManager().isInStableState(ALL_APPS)) {
             getStateManager().goToState(NORMAL, alreadyOnHome);
         } else {
+            if (mWorkspace.isOverlayShown()) {
+                mOverlayManager.hideOverlay(/* animate */true);
+            }
             AbstractFloatingView.closeAllOpenViews(this);
             getStateManager().goToState(ALL_APPS, true /* animated */,
                     new AnimationSuccessListener() {
@@ -1757,8 +1653,9 @@
     @Override
     public void onRestoreInstanceState(Bundle state) {
         super.onRestoreInstanceState(state);
-        if (mSynchronouslyBoundPages != null) {
-            mSynchronouslyBoundPages.forEach(screenId -> {
+        IntSet synchronouslyBoundPages = mModelCallbacks.getSynchronouslyBoundPages();
+        if (synchronouslyBoundPages != null) {
+            synchronouslyBoundPages.forEach(screenId -> {
                 int pageIndex = mWorkspace.getPageIndexForScreenId(screenId);
                 if (pageIndex != PagedView.INVALID_PAGE) {
                     mWorkspace.restoreInstanceStateForChild(pageIndex);
@@ -1799,7 +1696,6 @@
         }
 
         super.onSaveInstanceState(outState);
-        mOverlayManager.onActivitySaveInstanceState(this, outState);
     }
 
     @Override
@@ -1807,6 +1703,8 @@
         super.onDestroy();
         ACTIVITY_TRACKER.onActivityDestroyed(this);
 
+        SettingsCache.INSTANCE.get(this).unregister(TOUCHPAD_NATURAL_SCROLLING,
+                mNaturalScrollingChangedListener);
         ScreenOnTracker.INSTANCE.get(this).removeListener(mScreenOnListener);
         mWorkspace.removeFolderListeners();
         PluginManagerWrapper.INSTANCE.get(this).removePluginListener(this);
@@ -1814,18 +1712,18 @@
         mModel.removeCallbacks(this);
         mRotationHelper.destroy();
 
-        try {
-            mAppWidgetHolder.stopListening();
-        } catch (NullPointerException ex) {
-            Log.w(TAG, "problem while stopping AppWidgetHost during Launcher destruction", ex);
-        }
+        mAppWidgetHolder.stopListening();
         mAppWidgetHolder.destroy();
 
         TextKeyListener.getInstance().release();
-        clearPendingBinds();
+        mModelCallbacks.clearPendingBinds();
         LauncherAppState.getIDP(this).removeOnChangeListener(this);
-
-        mOverlayManager.onActivityDestroyed(this);
+        // if Launcher activity is recreated, {@link Window} including {@link ViewTreeObserver}
+        // could be preserved in {@link ActivityThread#scheduleRelaunchActivity(IBinder)} if the
+        // previous activity has not stopped, which could happen when wallpaper detects a color
+        // changes while launcher is still loading.
+        getRootView().getViewTreeObserver().removeOnPreDrawListener(mOnInitialBindListener);
+        mOverlayManager.onActivityDestroyed();
     }
 
     public LauncherAccessibilityDelegate getAccessibilityDelegate() {
@@ -1858,54 +1756,11 @@
         try {
             super.startIntentSenderForResult(intent, requestCode,
                     fillInIntent, flagsMask, flagsValues, extraFlags, options);
-        } catch (IntentSender.SendIntentException e) {
+        } catch (Exception e) {
             throw new ActivityNotFoundException();
         }
     }
 
-    /**
-     * Indicates that we want global search for this activity by setting the globalSearch
-     * argument for {@link #startSearch} to true.
-     */
-    @Override
-    public void startSearch(String initialQuery, boolean selectInitialQuery,
-            Bundle appSearchData, boolean globalSearch) {
-        if (appSearchData == null) {
-            appSearchData = new Bundle();
-            appSearchData.putString("source", "launcher-search");
-        }
-
-        if (mLauncherCallbacks == null ||
-                !mLauncherCallbacks.startSearch(initialQuery, selectInitialQuery, appSearchData)) {
-            // Starting search from the callbacks failed. Start the default global search.
-            super.startSearch(initialQuery, selectInitialQuery, appSearchData, true);
-        }
-
-        // We need to show the workspace after starting the search
-        mStateManager.goToState(NORMAL);
-    }
-
-    public boolean isWorkspaceLocked() {
-        return mWorkspaceLoading || mPendingRequestArgs != null;
-    }
-
-    public boolean isWorkspaceLoading() {
-        return mWorkspaceLoading;
-    }
-
-    @Override
-    public boolean isBindingItems() {
-        return mWorkspaceLoading;
-    }
-
-    private void setWorkspaceLoading(boolean value) {
-        mWorkspaceLoading = value;
-    }
-
-    public void setWaitingForResult(PendingRequestArgs args) {
-        mPendingRequestArgs = args;
-    }
-
     void addAppWidgetFromDropImpl(int appWidgetId, ItemInfo info, AppWidgetHostView boundWidget,
             WidgetAddFlowHandler addFlowHandler) {
         if (LOGD) {
@@ -1987,8 +1842,8 @@
             // In this case, we either need to start an activity to get permission to bind
             // the widget, or we need to start an activity to configure the widget, or both.
             if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET) {
-                appWidgetId = CustomWidgetManager.INSTANCE.get(this).getWidgetIdForCustomProvider(
-                        info.componentName);
+                appWidgetId = CustomWidgetManager.INSTANCE.get(this)
+                        .allocateCustomAppWidgetId(info.componentName);
             } else {
                 appWidgetId = getAppWidgetHolder().allocateAppWidgetId();
             }
@@ -2135,13 +1990,6 @@
         return super.dispatchTouchEvent(ev);
     }
 
-    /**
-     * Returns true if a touch interaction is in progress
-     */
-    public boolean isTouchInProgress() {
-        return mTouchInProgress;
-    }
-
     @Override
     @TargetApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
     public void onBackPressed() {
@@ -2170,7 +2018,7 @@
             // Workaround an issue where the WM launch animation is clobbered when finishing the
             // recents animation into launcher. Defer launching the activity until Launcher is
             // next resumed.
-            addOnResumeCallback(() -> {
+            addEventCallback(EVENT_RESUMED, () -> {
                 RunnableList actualResult = startActivitySafely(v, intent, item);
                 if (actualResult != null) {
                     actualResult.add(result::executeAllAndDestroy);
@@ -2203,16 +2051,6 @@
         return mHotseat != null && (layout == mHotseat);
     }
 
-    /**
-     * Returns the CellLayout of the specified container at the specified screen.
-     *
-     * @param screenId must be presenterPos and not modelPos.
-     */
-    public CellLayout getCellLayout(int container, int screenId) {
-        return (container == LauncherSettings.Favorites.CONTAINER_HOTSEAT)
-                ? mHotseat : mWorkspace.getScreenWithId(screenId);
-    }
-
     @Override
     public void onTrimMemory(int level) {
         super.onTrimMemory(level);
@@ -2239,122 +2077,24 @@
         return result;
     }
 
-    /**
-     * Persistant callback which notifies when an activity launch is deferred because the activity
-     * was not yet resumed.
-     */
-    public void setOnDeferredActivityLaunchCallback(Runnable callback) {
-        mOnDeferredActivityLaunchCallback = callback;
-    }
-
-    /**
-     * Sets the next pages to bind synchronously on next bind.
-     * @param pages should not be null.
-     */
-    public void setPagesToBindSynchronously(@NonNull IntSet pages) {
-        mPagesToBindSynchronously = pages;
-    }
-
     @Override
     public IntSet getPagesToBindSynchronously(IntArray orderedScreenIds) {
-        IntSet visibleIds;
-        if (!mPagesToBindSynchronously.isEmpty()) {
-            visibleIds = mPagesToBindSynchronously;
-        } else if (!mWorkspaceLoading) {
-            visibleIds = mWorkspace.getCurrentPageScreenIds();
-        } else {
-            // If workspace binding is still in progress, getCurrentPageScreenIds won't be accurate,
-            // and we should use mSynchronouslyBoundPages that's set during initial binding.
-            visibleIds = mSynchronouslyBoundPages;
-        }
-        IntArray actualIds = new IntArray();
-
-        IntSet result = new IntSet();
-        if (visibleIds.isEmpty()) {
-            return result;
-        }
-        for (int id : orderedScreenIds.toArray()) {
-            actualIds.add(id);
-        }
-        int firstId = visibleIds.getArray().get(0);
-        int pairId = mWorkspace.getScreenPair(firstId);
-        // Double check that actual screenIds contains the visibleId, as empty screens are hidden
-        // in single panel.
-        if (actualIds.contains(firstId)) {
-            result.add(firstId);
-            if (mDeviceProfile.isTwoPanels && actualIds.contains(pairId)) {
-                result.add(pairId);
-            }
-        } else if (LauncherAppState.getIDP(this).supportedProfiles.stream().anyMatch(
-                deviceProfile -> deviceProfile.isTwoPanels) && actualIds.contains(pairId)) {
-            // Add the right panel if left panel is hidden when switching display, due to empty
-            // pages being hidden in single panel.
-            result.add(pairId);
-        }
-        return result;
+        return mModelCallbacks.getPagesToBindSynchronously(orderedScreenIds);
     }
 
-    /**
-     * Clear any pending bind callbacks. This is called when is loader is planning to
-     * perform a full rebind from scratch.
-     */
     @Override
-    public void clearPendingBinds() {
-        if (mPendingExecutor != null) {
-            mPendingExecutor.cancel();
-            mPendingExecutor = null;
-
-            // We might have set this flag previously and forgot to clear it.
-            mAppsView.getAppsStore()
-                    .disableDeferUpdatesSilently(AllAppsStore.DEFER_UPDATES_NEXT_DRAW);
-        }
+    public void startBinding() {
+        mModelCallbacks.startBinding();
     }
 
-    /**
-     * Refreshes the shortcuts shown on the workspace.
-     * <p>
-     * Implementation of the method from LauncherModel.Callbacks.
-     */
-    public void startBinding() {
-        TraceHelper.INSTANCE.beginSection("startBinding");
-        // Floating panels (except the full widget sheet) are associated with individual icons. If
-        // we are starting a fresh bind, close all such panels as all the icons are about
-        // to go away.
-        AbstractFloatingView.closeOpenViews(this, true, TYPE_ALL & ~TYPE_REBIND_SAFE);
-
-        setWorkspaceLoading(true);
-
-        // Clear the workspace because it's going to be rebound
-        mDragController.cancelDrag();
-
-        mWorkspace.clearDropTargets();
-        mWorkspace.removeAllWorkspaceScreens();
-        mAppWidgetHolder.clearViews();
-
-        if (mHotseat != null) {
-            mHotseat.resetLayout(getDeviceProfile().isVerticalBarLayout());
-        }
-        TraceHelper.INSTANCE.endSection();
+    @Override
+    public void setIsFirstPagePinnedItemEnabled(boolean isFirstPagePinnedItemEnabled) {
+        mModelCallbacks.setIsFirstPagePinnedItemEnabled(isFirstPagePinnedItemEnabled);
     }
 
     @Override
     public void bindScreens(IntArray orderedScreenIds) {
-        mWorkspace.mPageIndicator.setAreScreensBinding(true);
-        int firstScreenPosition = 0;
-        if (FeatureFlags.QSB_ON_FIRST_SCREEN &&
-                orderedScreenIds.indexOf(Workspace.FIRST_SCREEN_ID) != firstScreenPosition) {
-            orderedScreenIds.removeValue(Workspace.FIRST_SCREEN_ID);
-            orderedScreenIds.add(firstScreenPosition, Workspace.FIRST_SCREEN_ID);
-        } else if (!FeatureFlags.QSB_ON_FIRST_SCREEN && orderedScreenIds.isEmpty()) {
-            // If there are no screens, we need to have an empty screen
-            mWorkspace.addExtraEmptyScreens();
-        }
-        bindAddScreens(orderedScreenIds);
-
-        // After we have added all the screens, if the wallpaper was locked to the default state,
-        // then notify to indicate that it can be released and a proper wallpaper offset can be
-        // computed before the next layout
-        mWorkspace.unlockWallpaperFromDefaultPageOnNextLayout();
+        mModelCallbacks.bindScreens(orderedScreenIds);
     }
 
     /**
@@ -2375,65 +2115,15 @@
         return screenIds.getArray();
     }
 
-    private void bindAddScreens(IntArray orderedScreenIds) {
-
-        if (mDeviceProfile.isTwoPanels) {
-            if (FOLDABLE_SINGLE_PAGE.get()) {
-                orderedScreenIds = filterTwoPanelScreenIds(orderedScreenIds);
-            } else {
-                // Some empty pages might have been removed while the phone was in a single panel
-                // mode, so we want to add those empty pages back.
-                IntSet screenIds = IntSet.wrap(orderedScreenIds);
-                orderedScreenIds.forEach(
-                        screenId -> screenIds.add(mWorkspace.getScreenPair(screenId)));
-                orderedScreenIds = screenIds.getArray();
-            }
-        }
-
-        int count = orderedScreenIds.size();
-        for (int i = 0; i < count; i++) {
-            int screenId = orderedScreenIds.get(i);
-            if (FeatureFlags.QSB_ON_FIRST_SCREEN && screenId == Workspace.FIRST_SCREEN_ID) {
-                // No need to bind the first screen, as its always bound.
-                continue;
-            }
-            mWorkspace.insertNewWorkspaceScreenBeforeEmptyScreen(screenId);
-        }
-    }
-
     @Override
     public void preAddApps() {
-        // If there's an undo snackbar, force it to complete to ensure empty screens are removed
-        // before trying to add new items.
-        mModelWriter.commitDelete();
-        AbstractFloatingView snackbar = AbstractFloatingView.getOpenView(this, TYPE_SNACKBAR);
-        if (snackbar != null) {
-            snackbar.post(() -> snackbar.close(true));
-        }
+        mModelCallbacks.preAddApps();
     }
 
     @Override
     public void bindAppsAdded(IntArray newScreens, ArrayList<ItemInfo> addNotAnimated,
             ArrayList<ItemInfo> addAnimated) {
-        // Add the new screens
-        if (newScreens != null) {
-            // newScreens can contain an empty right panel that is already bound, but not known
-            // by BgDataModel.
-            newScreens.removeAllValues(mWorkspace.mScreenOrder);
-            bindAddScreens(newScreens);
-        }
-
-        // We add the items without animation on non-visible pages, and with
-        // animations on the new page (which we will try and snap to).
-        if (addNotAnimated != null && !addNotAnimated.isEmpty()) {
-            bindItems(addNotAnimated, false);
-        }
-        if (addAnimated != null && !addAnimated.isEmpty()) {
-            bindItems(addAnimated, true);
-        }
-
-        // Remove the extra empty screen
-        mWorkspace.removeExtraEmptyScreen(false);
+        mModelCallbacks.bindAppsAdded(newScreens, addNotAnimated, addAnimated);
     }
 
     /**
@@ -2468,7 +2158,6 @@
         View newView = null;
         for (int i = 0; i < end; i++) {
             final ItemInfo item = items.get(i);
-
             // Short circuit if we are loading dock items for a configuration which has no dock
             if (item.container == LauncherSettings.Favorites.CONTAINER_HOTSEAT &&
                     mHotseat == null) {
@@ -2495,7 +2184,7 @@
                             (FolderInfo) item);
                     break;
                 }
-                case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET:
+                case ITEM_TYPE_APPWIDGET:
                 case LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET: {
                     view = inflateAppWidget((LauncherAppWidgetInfo) item);
                     if (view == null) {
@@ -2597,155 +2286,26 @@
     }
 
     private View inflateAppWidget(LauncherAppWidgetInfo item) {
-        if (item.hasOptionFlag(LauncherAppWidgetInfo.OPTION_SEARCH_WIDGET)) {
-            item.providerName = QsbContainerView.getSearchComponentName(this);
-            if (item.providerName == null) {
-                getModelWriter().deleteItemFromDatabase(item,
-                        "search widget removed because search component cannot be found");
+        TraceHelper.INSTANCE.beginSection("BIND_WIDGET_id=" + item.appWidgetId);
+        try {
+            InflationResult inflationResult = mWidgetInflater.inflateAppWidget(item);
+            if (inflationResult.getType() == WidgetInflater.TYPE_DELETE) {
+                getModelWriter().deleteItemFromDatabase(item, inflationResult.getReason());
                 return null;
             }
-        }
-        final AppWidgetHostView view;
-        if (mIsSafeModeEnabled) {
-            view = new PendingAppWidgetHostView(this, item, mIconCache, true);
+
+            if (inflationResult.isUpdate()) {
+                getModelWriter().updateItemInDatabase(item);
+            }
+            AppWidgetHostView view = inflationResult.getType() == WidgetInflater.TYPE_PENDING
+                    ? new PendingAppWidgetHostView(this, item, inflationResult.getWidgetInfo())
+                    : mAppWidgetHolder.createView(
+                            item.appWidgetId, inflationResult.getWidgetInfo());
             prepareAppWidget(view, item);
             return view;
-        }
-
-        TraceHelper.INSTANCE.beginSection("BIND_WIDGET_id=" + item.appWidgetId);
-
-        try {
-            final LauncherAppWidgetProviderInfo appWidgetInfo;
-            String removalReason = "";
-
-            if (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY)) {
-                // If the provider is not ready, bind as a pending widget.
-                appWidgetInfo = null;
-                removalReason = "the provider isn't ready.";
-            } else if (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_NOT_VALID)) {
-                // The widget id is not valid. Try to find the widget based on the provider info.
-                appWidgetInfo = mAppWidgetManager.findProvider(item.providerName, item.user);
-                if (appWidgetInfo == null) {
-                    if (WidgetsModel.GO_DISABLE_WIDGETS) {
-                        removalReason = "widgets are disabled on go device.";
-                    } else {
-                        removalReason =
-                                "WidgetManagerHelper cannot find a provider from provider info.";
-                    }
-                }
-            } else {
-                appWidgetInfo = mAppWidgetManager.getLauncherAppWidgetInfo(item.appWidgetId);
-                if (appWidgetInfo == null) {
-                    if (item.appWidgetId <= LauncherAppWidgetInfo.CUSTOM_WIDGET_ID) {
-                        removalReason =
-                                "CustomWidgetManager cannot find provider from that widget id.";
-                    } else {
-                        removalReason = "AppWidgetManager cannot find provider for that widget id."
-                                + " It could be because AppWidgetService is not available, or the"
-                                + " appWidgetId has not been bound to a the provider yet, or you"
-                                + " don't have access to that appWidgetId.";
-                    }
-                }
-            }
-
-            // If the provider is ready, but the width is not yet restored, try to restore it.
-            if (!item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY)
-                    && (item.restoreStatus != LauncherAppWidgetInfo.RESTORE_COMPLETED)) {
-                if (appWidgetInfo == null) {
-                    getModelWriter().deleteItemFromDatabase(item,
-                            "Removing restored widget: id=" + item.appWidgetId
-                            + " belongs to component " + item.providerName + " user " + item.user
-                            + ", as the provider is null and " + removalReason);
-                    return null;
-                }
-
-                // If we do not have a valid id, try to bind an id.
-                if (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_NOT_VALID)) {
-                    if (!item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_ALLOCATED)) {
-                        // Id has not been allocated yet. Allocate a new id.
-                        item.appWidgetId = mAppWidgetHolder.allocateAppWidgetId();
-                        item.restoreStatus |= LauncherAppWidgetInfo.FLAG_ID_ALLOCATED;
-
-                        // Also try to bind the widget. If the bind fails, the user will be shown
-                        // a click to setup UI, which will ask for the bind permission.
-                        PendingAddWidgetInfo pendingInfo =
-                                new PendingAddWidgetInfo(appWidgetInfo, item.sourceContainer);
-                        pendingInfo.spanX = item.spanX;
-                        pendingInfo.spanY = item.spanY;
-                        pendingInfo.minSpanX = item.minSpanX;
-                        pendingInfo.minSpanY = item.minSpanY;
-                        Bundle options = pendingInfo.getDefaultSizeOptions(this);
-
-                        boolean isDirectConfig =
-                                item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_DIRECT_CONFIG);
-                        if (isDirectConfig && item.bindOptions != null) {
-                            Bundle newOptions = item.bindOptions.getExtras();
-                            if (options != null) {
-                                newOptions.putAll(options);
-                            }
-                            options = newOptions;
-                        }
-                        boolean success = mAppWidgetManager.bindAppWidgetIdIfAllowed(
-                                item.appWidgetId, appWidgetInfo, options);
-
-                        // We tried to bind once. If we were not able to bind, we would need to
-                        // go through the permission dialog, which means we cannot skip the config
-                        // activity.
-                        item.bindOptions = null;
-                        item.restoreStatus &= ~LauncherAppWidgetInfo.FLAG_DIRECT_CONFIG;
-
-                        // Bind succeeded
-                        if (success) {
-                            // If the widget has a configure activity, it is still needs to set it
-                            // up, otherwise the widget is ready to go.
-                            item.restoreStatus = (appWidgetInfo.configure == null) || isDirectConfig
-                                    ? LauncherAppWidgetInfo.RESTORE_COMPLETED
-                                    : LauncherAppWidgetInfo.FLAG_UI_NOT_READY;
-                        }
-
-                        getModelWriter().updateItemInDatabase(item);
-                    }
-                } else if (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_UI_NOT_READY)
-                        && (appWidgetInfo.configure == null)) {
-                    // The widget was marked as UI not ready, but there is no configure activity to
-                    // update the UI.
-                    item.restoreStatus = LauncherAppWidgetInfo.RESTORE_COMPLETED;
-                    getModelWriter().updateItemInDatabase(item);
-                }
-                else if (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_UI_NOT_READY)
-                        && appWidgetInfo.configure != null) {
-                    if (mAppWidgetManager.isAppWidgetRestored(item.appWidgetId)) {
-                        item.restoreStatus = LauncherAppWidgetInfo.RESTORE_COMPLETED;
-                        getModelWriter().updateItemInDatabase(item);
-                    }
-                }
-            }
-
-            if (item.restoreStatus == LauncherAppWidgetInfo.RESTORE_COMPLETED) {
-                // Verify that we own the widget
-                if (appWidgetInfo == null) {
-                    FileLog.e(TAG, "Removing invalid widget: id=" + item.appWidgetId);
-                    getModelWriter().deleteWidgetInfo(item, getAppWidgetHolder(), removalReason);
-                    return null;
-                }
-
-                item.minSpanX = appWidgetInfo.minSpanX;
-                item.minSpanY = appWidgetInfo.minSpanY;
-                view = mAppWidgetHolder.createView(this, item.appWidgetId, appWidgetInfo);
-            } else if (!item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_NOT_VALID)
-                    && appWidgetInfo != null) {
-                mAppWidgetHolder.addPendingView(item.appWidgetId,
-                        new PendingAppWidgetHostView(this, item, mIconCache, false));
-                view = mAppWidgetHolder.createView(this, item.appWidgetId, appWidgetInfo);
-            } else {
-                view = new PendingAppWidgetHostView(this, item, mIconCache, false);
-            }
-            prepareAppWidget(view, item);
         } finally {
             TraceHelper.INSTANCE.endSection();
         }
-
-        return view;
     }
 
     /**
@@ -2755,7 +2315,7 @@
      */
     private LauncherAppWidgetInfo completeRestoreAppWidget(int appWidgetId, int finalRestoreFlag) {
         LauncherAppWidgetHostView view = mWorkspace.getWidgetForAppWidgetId(appWidgetId);
-        if ((view == null) || !(view instanceof PendingAppWidgetHostView)) {
+        if (!(view instanceof PendingAppWidgetHostView)) {
             Log.e(TAG, "Widget update called, when the widget no longer exists.");
             return null;
         }
@@ -2766,8 +2326,9 @@
             info.pendingItemInfo = null;
         }
 
-        if (((PendingAppWidgetHostView) view).isReinflateIfNeeded()) {
-            view.reInflate();
+        PendingAppWidgetHostView pv = (PendingAppWidgetHostView) view;
+        if (pv.isReinflateIfNeeded()) {
+            pv.reInflate();
         }
 
         getModelWriter().updateItemInDatabase(info);
@@ -2775,58 +2336,42 @@
     }
 
     public void clearPendingExecutor(ViewOnDrawExecutor executor) {
-        if (mPendingExecutor == executor) {
-            mPendingExecutor = null;
+        if (mModelCallbacks.getPendingExecutor() == executor) {
+            mModelCallbacks.setPendingExecutor(null);
         }
     }
 
-    @Override
+    /**
+     * Call back when ModelCallbacks finish binding the Launcher data.
+     */
     @TargetApi(Build.VERSION_CODES.S)
-    public void onInitialBindComplete(IntSet boundPages, RunnableList pendingTasks,
-            int workspaceItemCount, boolean isBindSync) {
-        mSynchronouslyBoundPages = boundPages;
-        mPagesToBindSynchronously = new IntSet();
-
-        clearPendingBinds();
-        ViewOnDrawExecutor executor = new ViewOnDrawExecutor(pendingTasks);
-        mPendingExecutor = executor;
-        if (!isInState(ALL_APPS)) {
-            mAppsView.getAppsStore().enableDeferUpdates(AllAppsStore.DEFER_UPDATES_NEXT_DRAW);
-            pendingTasks.add(() -> mAppsView.getAppsStore().disableDeferUpdates(
-                    AllAppsStore.DEFER_UPDATES_NEXT_DRAW));
-        }
-
+    public void bindComplete(int workspaceItemCount, boolean isBindSync) {
         if (mOnInitialBindListener != null) {
             getRootView().getViewTreeObserver().removeOnPreDrawListener(mOnInitialBindListener);
             mOnInitialBindListener = null;
         }
-
-        executor.onLoadAnimationCompleted();
-        executor.attachTo(this);
-        if (Utilities.ATLEAST_S) {
-            Trace.endAsyncSection(DISPLAY_WORKSPACE_TRACE_METHOD_NAME,
-                    DISPLAY_WORKSPACE_TRACE_COOKIE);
+        if (!isBindSync) {
+            mStartupLatencyLogger
+                    .logCardinality(workspaceItemCount)
+                    .logEnd(LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC);
         }
-        mStartupLatencyLogger
-                .logCardinality(workspaceItemCount)
-                .logEnd(isBindSync
-                        ? LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC
-                        : LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC);
-        // In the first rootview's onDraw after onInitialBindComplete(), log end of startup latency.
-        getRootView().getViewTreeObserver().addOnDrawListener(
-                new ViewTreeObserver.OnDrawListener() {
+        MAIN_EXECUTOR.getHandler().postAtFrontOfQueue(() -> {
+            mStartupLatencyLogger
+                    .logEnd(LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION)
+                    .log()
+                    .reset();
+            if (mIsColdStartupAfterReboot) {
+                Trace.endAsyncSection(COLD_STARTUP_TRACE_METHOD_NAME,
+                        COLD_STARTUP_TRACE_COOKIE);
+            }
+        });
+    }
 
-                    @Override
-                    public void onDraw() {
-                        mStartupLatencyLogger
-                                .logEnd(LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION)
-                                .log()
-                                .reset();
-                        MAIN_EXECUTOR.getHandler().postAtFrontOfQueue(
-                                () -> getRootView().getViewTreeObserver()
-                                        .removeOnDrawListener(this));
-                    }
-                });
+    @Override
+    public void onInitialBindComplete(IntSet boundPages, RunnableList pendingTasks,
+            int workspaceItemCount, boolean isBindSync) {
+        mModelCallbacks.onInitialBindComplete(boundPages, pendingTasks, workspaceItemCount,
+                isBindSync);
     }
 
     /**
@@ -2835,34 +2380,7 @@
      * Implementation of the method from LauncherModel.Callbacks.
      */
     public void finishBindingItems(IntSet pagesBoundFirst) {
-        TraceHelper.INSTANCE.beginSection("finishBindingItems");
-        mWorkspace.restoreInstanceStateForRemainingPages();
-
-        setWorkspaceLoading(false);
-
-        if (mPendingActivityResult != null) {
-            handleActivityResult(mPendingActivityResult.requestCode,
-                    mPendingActivityResult.resultCode, mPendingActivityResult.data);
-            mPendingActivityResult = null;
-        }
-
-        int currentPage = pagesBoundFirst != null && !pagesBoundFirst.isEmpty()
-                ? mWorkspace.getPageIndexForScreenId(pagesBoundFirst.getArray().get(0))
-                : PagedView.INVALID_PAGE;
-        // When undoing the removal of the last item on a page, return to that page.
-        // Since we are just resetting the current page without user interaction,
-        // override the previous page so we don't log the page switch.
-        mWorkspace.setCurrentPage(currentPage, currentPage /* overridePrevPage */);
-        mPagesToBindSynchronously = new IntSet();
-
-        // Cache one page worth of icons
-        getViewCache().setCacheSize(R.layout.folder_application,
-                mDeviceProfile.inv.numFolderColumns * mDeviceProfile.inv.numFolderRows);
-        getViewCache().setCacheSize(R.layout.folder_page, 2);
-
-        TraceHelper.INSTANCE.endSection();
-        mWorkspace.removeExtraEmptyScreen(/* stripEmptyScreens= */ true);
-        mWorkspace.mPageIndicator.setAreScreensBinding(false);
+        mModelCallbacks.finishBindingItems(pagesBoundFirst);
     }
 
     private boolean canAnimatePageChange() {
@@ -3006,24 +2524,14 @@
     public void onPageEndTransition() {}
 
     /**
-     * Add the icons for all apps.
-     *
-     * Implementation of the method from LauncherModel.Callbacks.
+     * See {@code LauncherBindingDelegate}
      */
     @Override
     @TargetApi(Build.VERSION_CODES.S)
     @UiThread
     public void bindAllApplications(AppInfo[] apps, int flags,
             Map<PackageUserKey, Integer> packageUserKeytoUidMap) {
-        Preconditions.assertUIThread();
-        boolean hadWorkApps = mAppsView.shouldShowTabs();
-        AllAppsStore<Launcher> appsStore = mAppsView.getAppsStore();
-        appsStore.setApps(apps, flags, packageUserKeytoUidMap);
-        PopupContainerWithArrow.dismissInvalidPopup(this);
-        if (hadWorkApps != mAppsView.shouldShowTabs()) {
-            getStateManager().goToState(NORMAL);
-        }
-
+        mModelCallbacks.bindAllApplications(apps, flags, packageUserKeytoUidMap);
         if (Utilities.ATLEAST_S) {
             Trace.endAsyncSection(DISPLAY_ALL_APPS_TRACE_METHOD_NAME,
                     DISPLAY_ALL_APPS_TRACE_COOKIE);
@@ -3031,76 +2539,63 @@
     }
 
     /**
-     * Copies LauncherModel's map of activities to shortcut counts to Launcher's. This is necessary
-     * because LauncherModel's map is updated in the background, while Launcher runs on the UI.
+     * See {@code LauncherBindingDelegate}
      */
     @Override
     public void bindDeepShortcutMap(HashMap<ComponentKey, Integer> deepShortcutMapCopy) {
-        mPopupDataProvider.setDeepShortcutMap(deepShortcutMapCopy);
+        mModelCallbacks.bindDeepShortcutMap(deepShortcutMapCopy);
     }
 
     @Override
     public void bindIncrementalDownloadProgressUpdated(AppInfo app) {
-        mAppsView.getAppsStore().updateProgressBar(app);
+        mModelCallbacks.bindIncrementalDownloadProgressUpdated(app);
     }
 
     @Override
     public void bindWidgetsRestored(ArrayList<LauncherAppWidgetInfo> widgets) {
-        mWorkspace.widgetsRestored(widgets);
+        mModelCallbacks.bindWidgetsRestored(widgets);
     }
 
     /**
-     * Some shortcuts were updated in the background.
-     * Implementation of the method from LauncherModel.Callbacks.
-     *
-     * @param updated list of shortcuts which have changed.
+     * See {@code LauncherBindingDelegate}
      */
     @Override
     public void bindWorkspaceItemsChanged(List<WorkspaceItemInfo> updated) {
-        if (!updated.isEmpty()) {
-            mWorkspace.updateWorkspaceItems(updated, this);
-            PopupContainerWithArrow.dismissInvalidPopup(this);
-        }
+        mModelCallbacks.bindWorkspaceItemsChanged(updated);
     }
 
     /**
-     * Update the state of a package, typically related to install state.
-     *
-     * Implementation of the method from LauncherModel.Callbacks.
+     * See {@code LauncherBindingDelegate}
      */
     @Override
     public void bindRestoreItemsChange(HashSet<ItemInfo> updates) {
-        mWorkspace.updateRestoreItems(updates, this);
+        mModelCallbacks.bindRestoreItemsChange(updates);
     }
 
     /**
-     * A package was uninstalled/updated.  We take both the super set of packageNames
-     * in addition to specific applications to remove, the reason being that
-     * this can be called when a package is updated as well.  In that scenario,
-     * we only remove specific components from the workspace and hotseat, where as
-     * package-removal should clear all items by package name.
+     * See {@code LauncherBindingDelegate}
      */
     @Override
     public void bindWorkspaceComponentsRemoved(Predicate<ItemInfo> matcher) {
-        mWorkspace.removeItemsByMatcher(matcher);
-        mDragController.onAppsRemoved(matcher);
-        PopupContainerWithArrow.dismissInvalidPopup(this);
+        mModelCallbacks.bindWorkspaceComponentsRemoved(matcher);
+    }
+
+    /**
+     * See {@code LauncherBindingDelegate}
+     */
+    @Override
+    public void bindAllWidgets(final List<WidgetsListBaseEntry> allWidgets) {
+        mModelCallbacks.bindAllWidgets(allWidgets);
     }
 
     @Override
-    public void bindAllWidgets(final List<WidgetsListBaseEntry> allWidgets) {
-        mPopupDataProvider.setAllWidgets(allWidgets);
+    public void bindSmartspaceWidget() {
+        mModelCallbacks.bindSmartspaceWidget();
     }
 
     @Override
     public void bindStringCache(StringCache cache) {
-        mStringCache = cache;
-        mAppsView.updateWorkUI();
-    }
-
-    @Override
-    public StringCache getStringCache() {
-        return mStringCache;
+        mModelCallbacks.bindStringCache(cache);
     }
 
     /**
@@ -3127,7 +2622,7 @@
                 for (int j = 0; j < layout.getChildCount(); j++) {
                     Object tag = layout.getChildAt(j).getTag();
                     if (tag != null) {
-                        writer.println(prefix + "    " + tag.toString());
+                        writer.println(prefix + "    " + tag);
                     }
                 }
             }
@@ -3137,14 +2632,14 @@
             for (int j = 0; j < layout.getChildCount(); j++) {
                 Object tag = layout.getChildAt(j).getTag();
                 if (tag != null) {
-                    writer.println(prefix + "    " + tag.toString());
+                    writer.println(prefix + "    " + tag);
                 }
             }
         }
 
         writer.println(prefix + "Misc:");
         dumpMisc(prefix + "\t", writer);
-        writer.println(prefix + "\tmWorkspaceLoading=" + mWorkspaceLoading);
+        writer.println(prefix + "\tmWorkspaceLoading=" + mModelCallbacks.getWorkspaceLoading());
         writer.println(prefix + "\tmPendingRequestArgs=" + mPendingRequestArgs
                 + " mPendingActivityResult=" + mPendingActivityResult);
         writer.println(prefix + "\tmRotationHelper: " + mRotationHelper);
@@ -3156,6 +2651,7 @@
         mStateManager.dump(prefix, writer);
         mPopupDataProvider.dump(prefix, writer);
         mDeviceProfile.dump(this, prefix, writer);
+        mAppsView.getAppsStore().dump(prefix, writer);
 
         try {
             FileLog.flushAll(writer);
@@ -3164,91 +2660,54 @@
         }
 
         mModel.dumpState(prefix, fd, writer, args);
-
-        if (mLauncherCallbacks != null) {
-            mLauncherCallbacks.dump(prefix, fd, writer, args);
-        }
         mOverlayManager.dump(prefix, writer);
     }
 
+    /**
+     * Populates the list of shortcuts. Logic delegated to {@Link KeyboardShortcutsDelegate}.
+     *
+     * @param data The data list to populate with shortcuts.
+     * @param menu The current menu, which may be null.
+     * @param deviceId The id for the connected device the shortcuts should be provided for.
+     */
     @Override
     public void onProvideKeyboardShortcuts(
             List<KeyboardShortcutGroup> data, Menu menu, int deviceId) {
-
-        ArrayList<KeyboardShortcutInfo> shortcutInfos = new ArrayList<>();
-        if (isInState(NORMAL)) {
-            shortcutInfos.add(new KeyboardShortcutInfo(getString(R.string.all_apps_button_label),
-                    KeyEvent.KEYCODE_A, KeyEvent.META_CTRL_ON));
-            shortcutInfos.add(new KeyboardShortcutInfo(getString(R.string.widget_button_text),
-                    KeyEvent.KEYCODE_W, KeyEvent.META_CTRL_ON));
-        }
-        getSupportedActions(this,  getCurrentFocus()).forEach(la ->
-                shortcutInfos.add(new KeyboardShortcutInfo(
-                        la.accessibilityAction.getLabel(), la.keyCode, KeyEvent.META_CTRL_ON)));
-        if (!shortcutInfos.isEmpty()) {
-            data.add(new KeyboardShortcutGroup(getString(R.string.home_screen), shortcutInfos));
-        }
-
+        mKeyboardShortcutsDelegate.onProvideKeyboardShortcuts(data, menu, deviceId);
         super.onProvideKeyboardShortcuts(data, menu, deviceId);
     }
 
+    /**
+     * Logic delegated to {@Link KeyboardShortcutsDelegate}.
+     * @param keyCode The value in event.getKeyCode().
+     * @param event Description of the key event.
+     */
     @Override
     public boolean onKeyShortcut(int keyCode, KeyEvent event) {
-        if (event.hasModifiers(KeyEvent.META_CTRL_ON)) {
-            switch (keyCode) {
-                case KeyEvent.KEYCODE_A:
-                    if (isInState(NORMAL)) {
-                        getStateManager().goToState(ALL_APPS);
-                        return true;
-                    }
-                    break;
-                case KeyEvent.KEYCODE_W:
-                    if (isInState(NORMAL)) {
-                        OptionsPopupView.openWidgets(this);
-                        return true;
-                    }
-                    break;
-                default:
-                    for (LauncherAction la : getSupportedActions(this, getCurrentFocus())) {
-                        if (la.keyCode == keyCode) {
-                            return la.invokeFromKeyboard(getCurrentFocus());
-                        }
-                    }
-            }
-        }
-        return super.onKeyShortcut(keyCode, event);
+        Boolean result = mKeyboardShortcutsDelegate.onKeyShortcut(keyCode, event);
+        return result != null ? result : super.onKeyShortcut(keyCode, event);
     }
 
+    /**
+     * Logic delegated to {@Link KeyboardShortcutsDelegate}.
+     * @param keyCode The value in event.getKeyCode().
+     * @param event Description of the key event.
+     */
     @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
-        if (keyCode == KeyEvent.KEYCODE_ESCAPE) {
-            // Close any open floating views.
-            closeOpenViews();
-            return true;
-        }
-        return super.onKeyDown(keyCode, event);
+        Boolean result = mKeyboardShortcutsDelegate.onKeyDown(keyCode, event);
+        return result != null ? result : super.onKeyDown(keyCode, event);
     }
 
+    /**
+     * Logic delegated to {@Link KeyboardShortcutsDelegate}.
+     * @param keyCode The value in event.getKeyCode().
+     * @param event Description of the key event.
+     */
     @Override
     public boolean onKeyUp(int keyCode, KeyEvent event) {
-        if (keyCode == KeyEvent.KEYCODE_MENU) {
-            // KEYCODE_MENU is sent by some tests, for example
-            // LauncherJankTests#testWidgetsContainerFling. Don't just remove its handling.
-            if (!mDragController.isDragging() && !mWorkspace.isSwitchingState() &&
-                    isInState(NORMAL)) {
-                // Close any open floating views.
-                closeOpenViews();
-
-                // Setting the touch point to (-1, -1) will show the options popup in the center of
-                // the screen.
-                if (Utilities.isRunningInTestHarness()) {
-                    Log.d(TestProtocol.PERMANENT_DIAG_TAG, "Opening options popup on key up");
-                }
-                showDefaultOptions(-1, -1);
-            }
-            return true;
-        }
-        return super.onKeyUp(keyCode, event);
+        Boolean result = mKeyboardShortcutsDelegate.onKeyUp(keyCode, event);
+        return result != null ? result : super.onKeyUp(keyCode, event);
     }
 
     /**
@@ -3259,18 +2718,6 @@
                 false);
     }
 
-    /**
-     * Returns target rectangle for anchoring a popup menu.
-     */
-    protected RectF getPopupTarget(float x, float y) {
-        float halfSize = getResources().getDimension(R.dimen.options_menu_thumb_size) / 2;
-        if (x < 0 || y < 0) {
-            x = mDragLayer.getWidth() / 2;
-            y = mDragLayer.getHeight() / 2;
-        }
-        return new RectF(x - halfSize, y - halfSize, x + halfSize, y + halfSize);
-    }
-
     @Override
     public boolean canUseMultipleShadesForPopup() {
         return getTopOpenViewWithType(this, TYPE_FOLDER) == null
@@ -3291,26 +2738,56 @@
         updateDisallowBack();
     }
 
+    protected void addBackAnimationCallback(BackPressHandler callback) {
+        mBackPressedHandlers.add(callback);
+    }
+
+    protected void removeBackAnimationCallback(BackPressHandler callback) {
+        mBackPressedHandlers.remove(callback);
+    }
+
     private void updateDisallowBack() {
-        if (DESKTOP_MODE_1_SUPPORTED || DESKTOP_MODE_2_SUPPORTED) {
+        // TODO(b/304778354): remove sysprop once desktop aconfig flag supports dynamic overriding
+        if (ENABLE_DESKTOP_WINDOWING || DESKTOP_MODE_SUPPORTED) {
             // Do not disable back in launcher when prototype behavior is enabled
             return;
         }
         LauncherRootView rv = getRootView();
         if (rv != null) {
+            boolean isSplitSelectionEnabled = isSplitSelectionEnabled();
             boolean disableBack = getStateManager().getState() == NORMAL
-                    && AbstractFloatingView.getTopOpenView(this) == null;
+                    && AbstractFloatingView.getTopOpenView(this) == null
+                    && !isSplitSelectionEnabled;
             rv.setDisallowBackGesture(disableBack);
         }
     }
 
+    /** To be overridden by subclasses */
+    public boolean isSplitSelectionEnabled() {
+        // Overridden
+        return false;
+    }
+
+    /** Call to dismiss the intermediary split selection state. */
+    public void dismissSplitSelection() {
+        // Overridden; move this into ActivityContext if necessary for Taskbar
+    }
+
+    /**
+     * Callback for when launcher state transition completes after user swipes to home.
+     * @param finalState The final state of the transition.
+     */
+    public void onStateTransitionCompletedAfterSwipeToHome(LauncherState finalState) {
+        // Overridden
+    }
+
     @Override
     public void returnToHomescreen() {
         super.returnToHomescreen();
         getStateManager().goToState(LauncherState.NORMAL);
     }
 
-    private void closeOpenViews() {
+    public void closeOpenViews() {
         closeOpenViews(true);
     }
 
@@ -3318,10 +2795,6 @@
         AbstractFloatingView.closeAllOpenViews(this, animate);
     }
 
-    public Stream<SystemShortcut.Factory> getSupportedShortcuts() {
-        return Stream.of(APP_INFO, WIDGETS, INSTALL);
-    }
-
     protected LauncherAccessibilityDelegate createAccessibilityDelegate() {
         return new LauncherAccessibilityDelegate(this);
     }
@@ -3330,16 +2803,6 @@
     @VisibleForTesting
     public void enableHotseatEdu(boolean enable) {}
 
-    /**
-     * @see LauncherState#getOverviewScaleAndOffset(Launcher)
-     */
-    public float[] getNormalOverviewScaleAndOffset() {
-        return new float[] {NO_SCALE, NO_OFFSET};
-    }
-
-    public static Launcher getLauncher(Context context) {
-        return fromContext(context);
-    }
 
     /**
      * Just a wrapper around the type cast to allow easier tracking of calls.
@@ -3377,20 +2840,6 @@
         public Configuration config;
     }
 
-    @Override
-    public StatsLogManager getStatsLogManager() {
-        return super.getStatsLogManager().withDefaultInstanceId(mAllAppsSessionLogId);
-    }
-
-    /**
-     * Returns the current popup for testing, if any.
-     */
-    @VisibleForTesting
-    @Nullable
-    public ArrowPopup<?> getOptionsPopup() {
-        return findViewById(R.id.popup_container);
-    }
-
     /** Pauses view updates that should not be run during the app launch animation. */
     public void pauseExpensiveViewUpdates() {
         // Pause page indicator animations as they lead to layer trashing.
@@ -3424,23 +2873,231 @@
         return false; // Base launcher does not track freeform tasks
     }
 
+    // Getters and Setters
+
+    public boolean isWorkspaceLocked() {
+        return isWorkspaceLoading() || mPendingRequestArgs != null;
+    }
+
+    public boolean isWorkspaceLoading() {
+        return mModelCallbacks.getWorkspaceLoading();
+    }
+
     @Override
-    public View.OnLongClickListener getAllAppsItemLongClickListener() {
-        return ItemLongClickListener.INSTANCE_ALL_APPS;
+    public boolean isBindingItems() {
+        return isWorkspaceLoading();
+    }
+
+    /**
+     * Returns true if a touch interaction is in progress
+     */
+    public boolean isTouchInProgress() {
+        return mTouchInProgress;
+    }
+
+    public boolean isDraggingEnabled() {
+        // We prevent dragging when we are loading the workspace as it is possible to pick up a view
+        // that is subsequently removed from the workspace in startBinding().
+        return !isWorkspaceLoading();
+    }
+
+    public boolean isNaturalScrollingEnabled() {
+        return mIsNaturalScrollingEnabled;
+    }
+
+    public void setWaitingForResult(PendingRequestArgs args) {
+        mPendingRequestArgs = args;
+    }
+
+    /**
+     * Call this after onCreate to set or clear overlay.
+     */
+    public void setLauncherOverlay(LauncherOverlay overlay) {
+        mWorkspace.setLauncherOverlay(overlay);
+    }
+
+    /**
+     * Persistent callback which notifies when an activity launch is deferred because the activity
+     * was not yet resumed.
+     */
+    public void setOnDeferredActivityLaunchCallback(Runnable callback) {
+        mOnDeferredActivityLaunchCallback = callback;
+    }
+
+    /**
+     * Sets the next pages to bind synchronously on next bind.
+     * @param pages should not be null.
+     */
+    public void setPagesToBindSynchronously(@NonNull IntSet pages) {
+        mModelCallbacks.setPagesToBindSynchronously(pages);
+    }
+
+    @Override
+    public CellPosMapper getCellPosMapper() {
+        return mCellPosMapper;
+    }
+
+    public RotationHelper getRotationHelper() {
+        return mRotationHelper;
+    }
+
+    public ViewGroupFocusHelper getFocusHandler() {
+        return mFocusHandler;
+    }
+
+    @Override
+    public StateManager<LauncherState> getStateManager() {
+        return mStateManager;
+    }
+
+    @NonNull
+    @Override
+    public PopupDataProvider getPopupDataProvider() {
+        return mPopupDataProvider;
+    }
+
+    @Override
+    public DotInfo getDotInfoForItem(ItemInfo info) {
+        return mPopupDataProvider.getDotInfoForItem(info);
+    }
+
+    public LauncherOverlayManager getOverlayManager() {
+        return mOverlayManager;
+    }
+
+    public AllAppsTransitionController getAllAppsController() {
+        return mAllAppsController;
+    }
+
+    @Override
+    public DragLayer getDragLayer() {
+        return mDragLayer;
+    }
+
+    @Override
+    public ActivityAllAppsContainerView<Launcher> getAppsView() {
+        return mAppsView;
+    }
+
+    public Workspace<?> getWorkspace() {
+        return mWorkspace;
+    }
+
+    public Hotseat getHotseat() {
+        return mHotseat;
+    }
+
+    public <T extends View> T getOverviewPanel() {
+        return (T) mOverviewPanel;
+    }
+
+    public DropTargetBar getDropTargetBar() {
+        return mDropTargetBar;
+    }
+
+    @Override
+    public ScrimView getScrimView() {
+        return mScrimView;
+    }
+
+    public LauncherWidgetHolder getAppWidgetHolder() {
+        return mAppWidgetHolder;
+    }
+
+    public LauncherModel getModel() {
+        return mModel;
+    }
+
+    /**
+     * Returns the ModelWriter writer, make sure to call the function every time you want to use it.
+     */
+    public ModelWriter getModelWriter() {
+        return mModelWriter;
+    }
+
+    public SharedPreferences getSharedPrefs() {
+        return mSharedPrefs;
+    }
+
+    public int getOrientation() {
+        return mOldConfig.orientation;
+    }
+
+    /**
+     * Returns the CellLayout of the specified container at the specified screen.
+     *
+     * @param screenId must be presenterPos and not modelPos.
+     */
+    public CellLayout getCellLayout(int container, int screenId) {
+        return (container == LauncherSettings.Favorites.CONTAINER_HOTSEAT)
+                ? mHotseat : mWorkspace.getScreenWithId(screenId);
+    }
+
+    @Override
+    public StringCache getStringCache() {
+        return mModelCallbacks.getStringCache();
+    }
+
+    /**
+     * Returns target rectangle for anchoring a popup menu.
+     */
+    protected RectF getPopupTarget(float x, float y) {
+        float halfSize = getResources().getDimension(R.dimen.options_menu_thumb_size) / 2;
+        if (x < 0 || y < 0) {
+            x = mDragLayer.getWidth() / 2;
+            y = mDragLayer.getHeight() / 2;
+        }
+        return new RectF(x - halfSize, y - halfSize, x + halfSize, y + halfSize);
+    }
+
+    public Stream<SystemShortcut.Factory> getSupportedShortcuts() {
+        return Stream.of(APP_INFO, WIDGETS, INSTALL);
+    }
+
+    /**
+     * @see LauncherState#getOverviewScaleAndOffset(Launcher)
+     */
+    public float[] getNormalOverviewScaleAndOffset() {
+        return new float[] {NO_SCALE, NO_OFFSET};
     }
 
     /**
      * Handles an app pair launch; overridden in
      * {@link com.android.launcher3.uioverrides.QuickstepLauncher}
      */
-    public void launchAppPair(WorkspaceItemInfo app1, WorkspaceItemInfo app2) {
+    public void launchAppPair(AppPairIcon appPairIcon) {
         // Overridden
     }
 
+    public boolean getIsFirstPagePinnedItemEnabled() {
+        return mModelCallbacks.getIsFirstPagePinnedItemEnabled();
+    }
+
     /**
      * Returns the animation coordinator for playing one-off animations
      */
     public CannedAnimationCoordinator getAnimationCoordinator() {
         return mAnimationCoordinator;
     }
-}
+
+    @Override
+    public View.OnLongClickListener getAllAppsItemLongClickListener() {
+        return ItemLongClickListener.INSTANCE_ALL_APPS;
+    }
+
+    @Override
+    public StatsLogManager getStatsLogManager() {
+        return super.getStatsLogManager().withDefaultInstanceId(mAllAppsSessionLogId);
+    }
+
+    /**
+     * Returns the current popup for testing, if any.
+     */
+    @VisibleForTesting
+    @Nullable
+    public ArrowPopup<?> getOptionsPopup() {
+        return findViewById(R.id.popup_container);
+    }
+
+    // End of Getters and Setters
+}
\ No newline at end of file
diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java
index 9db8c82..e015021 100644
--- a/src/com/android/launcher3/LauncherAppState.java
+++ b/src/com/android/launcher3/LauncherAppState.java
@@ -21,8 +21,11 @@
 
 import static com.android.launcher3.LauncherPrefs.ICON_STATE;
 import static com.android.launcher3.LauncherPrefs.THEMED_ICONS;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_SMARTSPACE_REMOVAL;
+import static com.android.launcher3.model.LoaderTask.SMARTSPACE_ON_HOME_SCREEN;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
 import static com.android.launcher3.util.SettingsCache.NOTIFICATION_BADGING_URI;
+import static com.android.launcher3.util.SettingsCache.PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI;
 
 import android.content.ComponentName;
 import android.content.Context;
@@ -33,11 +36,7 @@
 import android.content.pm.LauncherApps;
 import android.os.UserHandle;
 import android.util.Log;
-import android.util.SparseArray;
-import android.widget.RemoteViews;
 
-import androidx.annotation.GuardedBy;
-import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.launcher3.graphics.IconShape;
@@ -45,6 +44,7 @@
 import com.android.launcher3.icons.IconProvider;
 import com.android.launcher3.icons.LauncherIconProvider;
 import com.android.launcher3.icons.LauncherIcons;
+import com.android.launcher3.model.ModelLauncherCallbacks;
 import com.android.launcher3.notification.NotificationListener;
 import com.android.launcher3.pm.InstallSessionHelper;
 import com.android.launcher3.pm.InstallSessionTracker;
@@ -57,13 +57,12 @@
 import com.android.launcher3.util.SettingsCache;
 import com.android.launcher3.util.SimpleBroadcastReceiver;
 import com.android.launcher3.util.Themes;
+import com.android.launcher3.util.TraceHelper;
 import com.android.launcher3.widget.custom.CustomWidgetManager;
 
 public class LauncherAppState implements SafeCloseable {
 
     public static final String ACTION_FORCE_ROLOAD = "force-reload-launcher";
-    public static final String KEY_ICON_STATE = "pref_icon_shape_path";
-    public static final String KEY_ALL_APPS_OVERVIEW_THRESHOLD = "pref_all_apps_overview_threshold";
 
     // We do not need any synchronization for this variable as its only written on UI thread.
     public static final MainThreadInitializedObject<LauncherAppState> INSTANCE =
@@ -74,13 +73,9 @@
     private final LauncherIconProvider mIconProvider;
     private final IconCache mIconCache;
     private final InvariantDeviceProfile mInvariantDeviceProfile;
-    private final RunnableList mOnTerminateCallback = new RunnableList();
+    private boolean mIsSafeModeEnabled;
 
-    // WORKAROUND: b/269335387 remove this after widget background listener is enabled
-    /* Array of RemoteViews cached by Launcher process */
-    @GuardedBy("itself")
-    @NonNull
-    public final SparseArray<RemoteViews> mCachedRemoteViews = new SparseArray<>();
+    private final RunnableList mOnTerminateCallback = new RunnableList();
 
     public static LauncherAppState getInstance(final Context context) {
         return INSTANCE.get(context);
@@ -99,15 +94,18 @@
         Log.v(Launcher.TAG, "LauncherAppState initiated");
         Preconditions.assertUIThread();
 
+        mIsSafeModeEnabled = TraceHelper.allowIpcs("isSafeMode",
+                () -> context.getPackageManager().isSafeMode());
         mInvariantDeviceProfile.addOnChangeListener(modelPropertiesChanged -> {
             if (modelPropertiesChanged) {
                 refreshAndReloadLauncher();
             }
         });
 
-        mContext.getSystemService(LauncherApps.class).registerCallback(mModel);
+        ModelLauncherCallbacks callbacks = mModel.newModelCallbacks();
+        mContext.getSystemService(LauncherApps.class).registerCallback(callbacks);
         mOnTerminateCallback.add(() ->
-                mContext.getSystemService(LauncherApps.class).unregisterCallback(mModel));
+                mContext.getSystemService(LauncherApps.class).unregisterCallback(callbacks));
 
         SimpleBroadcastReceiver modelChangeReceiver =
                 new SimpleBroadcastReceiver(mModel::onBroadcastIntent);
@@ -123,6 +121,23 @@
                 .addUserEventListener(mModel::onUserEvent);
         mOnTerminateCallback.add(userChangeListener::close);
 
+        if (ENABLE_SMARTSPACE_REMOVAL.get()) {
+            OnSharedPreferenceChangeListener firstPagePinnedItemListener =
+                    new OnSharedPreferenceChangeListener() {
+                        @Override
+                        public void onSharedPreferenceChanged(
+                                SharedPreferences sharedPreferences, String key) {
+                            if (SMARTSPACE_ON_HOME_SCREEN.equals(key)) {
+                                mModel.forceReload();
+                            }
+                        }
+                    };
+            LauncherPrefs.getPrefs(mContext).registerOnSharedPreferenceChangeListener(
+                    firstPagePinnedItemListener);
+            mOnTerminateCallback.add(() -> LauncherPrefs.getPrefs(mContext)
+                    .unregisterOnSharedPreferenceChangeListener(firstPagePinnedItemListener));
+        }
+
         LockedUserState.get(context).runOnUserUnlocked(() -> {
             CustomWidgetManager cwm = CustomWidgetManager.INSTANCE.get(mContext);
             cwm.setWidgetRefreshCallback(mModel::refreshAndBindWidgetsAndShortcuts);
@@ -149,6 +164,8 @@
         onNotificationSettingsChanged(settingsCache.getValue(NOTIFICATION_BADGING_URI));
         mOnTerminateCallback.add(() ->
                 settingsCache.unregister(NOTIFICATION_BADGING_URI, notificationLister));
+        // Register an observer to notify Launcher about Private Space settings toggle.
+        registerPrivateSpaceHideWhenLockListener(settingsCache);
     }
 
     public LauncherAppState(Context context, @Nullable String iconCacheFileName) {
@@ -171,6 +188,18 @@
         }
     }
 
+    private void registerPrivateSpaceHideWhenLockListener(SettingsCache settingsCache) {
+        SettingsCache.OnChangeListener psHideWhenLockChangedListener =
+                this::onPrivateSpaceHideWhenLockChanged;
+        settingsCache.register(PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI, psHideWhenLockChangedListener);
+        mOnTerminateCallback.add(() -> settingsCache.unregister(PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI,
+                psHideWhenLockChangedListener));
+    }
+
+    private void onPrivateSpaceHideWhenLockChanged(boolean isPrivateSpaceHideOnLockEnabled) {
+        mModel.forceReload();
+    }
+
     private void refreshAndReloadLauncher() {
         LauncherIcons.clearPool();
         mIconCache.updateIconParams(
@@ -202,6 +231,10 @@
         return mInvariantDeviceProfile;
     }
 
+    public boolean isSafeModeEnabled() {
+        return mIsSafeModeEnabled;
+    }
+
     /**
      * Shorthand for {@link #getInvariantDeviceProfile()}
      */
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java b/src/com/android/launcher3/LauncherApplication.java
similarity index 68%
copy from src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
copy to src/com/android/launcher3/LauncherApplication.java
index 68843f2..40873be 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
+++ b/src/com/android/launcher3/LauncherApplication.java
@@ -13,10 +13,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.uioverrides.flags;
+package com.android.launcher3;
+
+import android.app.Application;
 
 /**
- * Place holder class for developer options.
+ * Main application class for Launcher
  */
-public class DeveloperOptionsFragment {
+public class LauncherApplication extends Application {
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        MainProcessInitializer.initialize(this);
+    }
 }
diff --git a/src/com/android/launcher3/LauncherCallbacks.java b/src/com/android/launcher3/LauncherCallbacks.java
deleted file mode 100644
index 0e529bd..0000000
--- a/src/com/android/launcher3/LauncherCallbacks.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3;
-
-import android.os.Bundle;
-
-import java.io.FileDescriptor;
-import java.io.PrintWriter;
-
-/**
- * LauncherCallbacks is an interface used to extend the Launcher activity. It includes many hooks
- * in order to add additional functionality. Some of these are very general, and give extending
- * classes the ability to react to Activity life-cycle or specific user interactions. Others
- * are more specific and relate to replacing parts of the application, for example, the search
- * interface or the wallpaper picker.
- */
-public interface LauncherCallbacks {
-
-    /*
-     * Activity life-cycle methods. These methods are triggered after
-     * the code in the corresponding Launcher method is executed.
-     */
-    void onCreate(Bundle savedInstanceState);
-    void dump(String prefix, FileDescriptor fd, PrintWriter w, String[] args);
-    void onHomeIntent(boolean internalStateHandled);
-
-    /**
-     * Starts a search with {@param initialQuery}. Return false if search was not started.
-     */
-    boolean startSearch(
-            String initialQuery, boolean selectInitialQuery, Bundle appSearchData);
-}
diff --git a/src/com/android/launcher3/LauncherConstants.java b/src/com/android/launcher3/LauncherConstants.java
new file mode 100644
index 0000000..1abfeb9
--- /dev/null
+++ b/src/com/android/launcher3/LauncherConstants.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3;
+
+public class LauncherConstants {
+
+    /**
+     * Trace events to visualize using Systrace tool.
+     */
+    public static class TraceEvents {
+
+        public static final String DISPLAY_ALL_APPS_TRACE_METHOD_NAME = "DisplayAllApps";
+        public static final int DISPLAY_WORKSPACE_TRACE_COOKIE = 0;
+        public static final int DISPLAY_ALL_APPS_TRACE_COOKIE = 1;
+        public static final int COLD_STARTUP_TRACE_COOKIE = 2;
+        public static final String ON_CREATE_EVT = "Launcher.onCreate";
+        public static final String ON_START_EVT = "Launcher.onStart";
+        public static final String ON_RESUME_EVT = "Launcher.onResume";
+        public static final String ON_NEW_INTENT_EVT = "Launcher.onNewIntent";
+        static final String DISPLAY_WORKSPACE_TRACE_METHOD_NAME = "DisplayWorkspaceFirstFrame";
+        static final String COLD_STARTUP_TRACE_METHOD_NAME = "LauncherColdStartup";
+    }
+
+    /**
+     * This are the different codes the Launcher can receive when a new Launcher Intent is created.
+     */
+    public static class ActivityCodes {
+
+        public static final int REQUEST_BIND_PENDING_APPWIDGET = 12;
+        public static final int REQUEST_RECONFIGURE_APPWIDGET = 13;
+        static final int REQUEST_CREATE_SHORTCUT = 1;
+        static final int REQUEST_CREATE_APPWIDGET = 5;
+        static final int REQUEST_PICK_APPWIDGET = 9;
+        static final int REQUEST_BIND_APPWIDGET = 11;
+    }
+
+    /**
+     * Keys used to get the saved values of the previous Activity instance.
+     */
+    public static class SavedInstanceKeys {
+
+        // Type: int
+        public static final String RUNTIME_STATE = "launcher.state";
+        // Type PendingSplitSelectInfo<Parcelable>
+        public static final String PENDING_SPLIT_SELECT_INFO = "launcher.pending_split_select_info";
+        // Type: PendingRequestArgs
+        static final String RUNTIME_STATE_PENDING_REQUEST_ARGS = "launcher.request_args";
+        // Type: int
+        static final String RUNTIME_STATE_PENDING_REQUEST_CODE = "launcher.request_code";
+        // Type: ActivityResultInfo
+        static final String RUNTIME_STATE_PENDING_ACTIVITY_RESULT = "launcher.activity_result";
+        // Type: SparseArray<Parcelable>
+        static final String RUNTIME_STATE_WIDGET_PANEL = "launcher.widget_panel";
+        // Type int[]
+        static final String RUNTIME_STATE_CURRENT_SCREEN_IDS = "launcher.current_screen_ids";
+    }
+}
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index fd8f668..d124746 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -20,13 +20,15 @@
 
 import static com.android.launcher3.LauncherAppState.ACTION_FORCE_ROLOAD;
 import static com.android.launcher3.config.FeatureFlags.IS_STUDIO_BUILD;
+import static com.android.launcher3.model.PackageUpdatedTask.OP_UPDATE;
+import static com.android.launcher3.pm.UserCache.ACTION_PROFILE_AVAILABLE;
+import static com.android.launcher3.pm.UserCache.ACTION_PROFILE_UNAVAILABLE;
 import static com.android.launcher3.testing.shared.TestProtocol.sDebugTracing;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
 
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.LauncherApps;
 import android.content.pm.PackageInstaller;
 import android.content.pm.ShortcutInfo;
 import android.os.UserHandle;
@@ -41,7 +43,6 @@
 import com.android.launcher3.celllayout.CellPosMapper;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.icons.IconCache;
-import com.android.launcher3.logging.FileLog;
 import com.android.launcher3.model.AddWorkspaceItemsTask;
 import com.android.launcher3.model.AllAppsList;
 import com.android.launcher3.model.BaseModelUpdateTask;
@@ -53,8 +54,8 @@
 import com.android.launcher3.model.LoaderTask;
 import com.android.launcher3.model.ModelDbController;
 import com.android.launcher3.model.ModelDelegate;
+import com.android.launcher3.model.ModelLauncherCallbacks;
 import com.android.launcher3.model.ModelWriter;
-import com.android.launcher3.model.PackageIncrementalDownloadUpdatedTask;
 import com.android.launcher3.model.PackageInstallStateChangedTask;
 import com.android.launcher3.model.PackageUpdatedTask;
 import com.android.launcher3.model.ReloadStringCacheTask;
@@ -87,7 +88,7 @@
  * LauncherModel object held in a static. Also provide APIs for updating the database state
  * for the Launcher.
  */
-public class LauncherModel extends LauncherApps.Callback implements InstallSessionTracker.Callback {
+public class LauncherModel implements InstallSessionTracker.Callback {
     private static final boolean DEBUG_RECEIVER = false;
 
     static final String TAG = "Launcher.Model";
@@ -166,6 +167,10 @@
         return mModelDbController;
     }
 
+    public ModelLauncherCallbacks newModelCallbacks() {
+        return new ModelLauncherCallbacks(this::enqueueModelUpdateTask);
+    }
+
     /**
      * Adds the provided items to the workspace.
      */
@@ -178,81 +183,10 @@
     }
 
     @NonNull
-    public ModelWriter getWriter(final boolean hasVerticalHotseat, final boolean verifyChanges,
-            CellPosMapper cellPosMapper, @Nullable final Callbacks owner) {
-        return new ModelWriter(mApp.getContext(), this, mBgDataModel,
-                hasVerticalHotseat, verifyChanges, cellPosMapper, owner);
-    }
-
-    @Override
-    public void onPackageChanged(
-            @NonNull final String packageName, @NonNull final UserHandle user) {
-        int op = PackageUpdatedTask.OP_UPDATE;
-        enqueueModelUpdateTask(new PackageUpdatedTask(op, user, packageName));
-    }
-
-    @Override
-    public void onPackageRemoved(
-            @NonNull final String packageName, @NonNull final UserHandle user) {
-        onPackagesRemoved(user, packageName);
-    }
-
-    public void onPackagesRemoved(
-            @NonNull final UserHandle user, @NonNull final String... packages) {
-        int op = PackageUpdatedTask.OP_REMOVE;
-        FileLog.d(TAG, "package removed received " + TextUtils.join(",", packages));
-        enqueueModelUpdateTask(new PackageUpdatedTask(op, user, packages));
-    }
-
-    @Override
-    public void onPackageAdded(@NonNull final String packageName, @NonNull final UserHandle user) {
-        int op = PackageUpdatedTask.OP_ADD;
-        enqueueModelUpdateTask(new PackageUpdatedTask(op, user, packageName));
-    }
-
-    @Override
-    public void onPackagesAvailable(@NonNull final String[] packageNames,
-            @NonNull final UserHandle user, final boolean replacing) {
-        enqueueModelUpdateTask(
-                new PackageUpdatedTask(PackageUpdatedTask.OP_UPDATE, user, packageNames));
-    }
-
-    @Override
-    public void onPackagesUnavailable(@NonNull final String[] packageNames,
-            @NonNull final UserHandle user, final boolean replacing) {
-        if (!replacing) {
-            enqueueModelUpdateTask(new PackageUpdatedTask(
-                    PackageUpdatedTask.OP_UNAVAILABLE, user, packageNames));
-        }
-    }
-
-    @Override
-    public void onPackagesSuspended(
-            @NonNull final String[] packageNames, @NonNull final UserHandle user) {
-        enqueueModelUpdateTask(new PackageUpdatedTask(
-                PackageUpdatedTask.OP_SUSPEND, user, packageNames));
-    }
-
-    @Override
-    public void onPackagesUnsuspended(
-            @NonNull final String[] packageNames, @NonNull final UserHandle user) {
-        enqueueModelUpdateTask(new PackageUpdatedTask(
-                PackageUpdatedTask.OP_UNSUSPEND, user, packageNames));
-    }
-
-    @Override
-    public void onPackageLoadingProgressChanged(@NonNull final String packageName,
-            @NonNull final UserHandle user, final float progress) {
-        if (Utilities.ATLEAST_S) {
-            enqueueModelUpdateTask(new PackageIncrementalDownloadUpdatedTask(
-                    packageName, user, progress));
-        }
-    }
-
-    @Override
-    public void onShortcutsChanged(@NonNull final String packageName,
-            @NonNull final List<ShortcutInfo> shortcuts, @NonNull final UserHandle user) {
-        enqueueModelUpdateTask(new ShortcutsChangedTask(packageName, shortcuts, user, true));
+    public ModelWriter getWriter(final boolean verifyChanges, CellPosMapper cellPosMapper,
+            @Nullable final Callbacks owner) {
+        return new ModelWriter(mApp.getContext(), this, mBgDataModel, verifyChanges, cellPosMapper,
+                owner);
     }
 
     /**
@@ -263,7 +197,7 @@
             @NonNull final UserHandle user) {
         // Update the icon for the calendar package
         Context context = mApp.getContext();
-        onPackageChanged(packageName, user);
+        enqueueModelUpdateTask(new PackageUpdatedTask(OP_UPDATE, user, packageName));
 
         List<ShortcutInfo> pinnedShortcuts = new ShortcutRequest(context, user)
                 .forPackage(packageName).query(ShortcutRequest.PINNED);
@@ -326,6 +260,16 @@
         } else if (UserCache.ACTION_PROFILE_ADDED.equals(action)
                 || UserCache.ACTION_PROFILE_REMOVED.equals(action)) {
             forceReload();
+        } else if (ACTION_PROFILE_AVAILABLE.equals(action)
+                || ACTION_PROFILE_UNAVAILABLE.equals(action)) {
+            /*
+             * This broadcast is only available when android.os.Flags.allowPrivateProfile() is set.
+             * For Work-profile this broadcast will be sent in addition to
+             * ACTION_MANAGED_PROFILE_AVAILABLE/UNAVAILABLE.
+             * So effectively, this if block only handles the non-work profile case.
+             */
+            enqueueModelUpdateTask(new PackageUpdatedTask(
+                    PackageUpdatedTask.OP_USER_AVAILABILITY_CHANGE, user));
         }
     }
 
diff --git a/src/com/android/launcher3/LauncherPrefs.kt b/src/com/android/launcher3/LauncherPrefs.kt
index 427eaa3..067d150 100644
--- a/src/com/android/launcher3/LauncherPrefs.kt
+++ b/src/com/android/launcher3/LauncherPrefs.kt
@@ -21,12 +21,20 @@
 import android.content.SharedPreferences.OnSharedPreferenceChangeListener
 import android.util.Log
 import androidx.annotation.VisibleForTesting
+import com.android.launcher3.BuildConfig.WIDGET_ON_FIRST_SCREEN
 import com.android.launcher3.LauncherFiles.DEVICE_PREFERENCES_KEY
 import com.android.launcher3.LauncherFiles.SHARED_PREFERENCES_KEY
-import com.android.launcher3.allapps.WorkProfileManager
+import com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_DELAY
+import com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_END_SCALE_PERCENT
+import com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_ITERATIONS
+import com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_SCALE_EXPONENT
+import com.android.launcher3.config.FeatureFlags.LPNH_HAPTIC_HINT_START_SCALE_PERCENT
+import com.android.launcher3.config.FeatureFlags.LPNH_SLOP_PERCENTAGE
+import com.android.launcher3.config.FeatureFlags.LPNH_TIMEOUT_MS
 import com.android.launcher3.model.DeviceGridState
 import com.android.launcher3.pm.InstallSessionHelper
 import com.android.launcher3.provider.RestoreDbTask
+import com.android.launcher3.provider.RestoreDbTask.FIRST_LOAD_AFTER_RESTORE_KEY
 import com.android.launcher3.states.RotationHelper
 import com.android.launcher3.util.DisplayController
 import com.android.launcher3.util.MainThreadInitializedObject
@@ -60,7 +68,11 @@
             )
 
     private fun chooseSharedPreferences(item: Item): SharedPreferences =
-        if (isBootAwareStartupDataEnabled && item.isBootAware && isStartupDataMigrated)
+        if (
+            (moveStartupDataToDeviceProtectedStorageIsEnabled &&
+                item.encryptionType == EncryptionType.MOVE_TO_DEVICE_PROTECTED &&
+                isStartupDataMigrated) || item.encryptionType == EncryptionType.DEVICE_PROTECTED
+        )
             bootAwarePrefs
         else item.encryptedPrefs
 
@@ -134,13 +146,20 @@
     private fun prepareToPutValues(
         updates: Array<out Pair<Item, Any>>
     ): List<SharedPreferences.Editor> {
-        val updatesPerPrefFile = updates.groupBy { it.first.encryptedPrefs }.toMutableMap()
+        val updatesPerPrefFile =
+            updates
+                .filter { it.first.encryptionType != EncryptionType.DEVICE_PROTECTED }
+                .groupBy { it.first.encryptedPrefs }
+                .toMutableMap()
 
-        if (isBootAwareStartupDataEnabled) {
-            val bootAwareUpdates = updates.filter { it.first.isBootAware }
-            if (bootAwareUpdates.isNotEmpty()) {
-                updatesPerPrefFile[bootAwarePrefs] = bootAwareUpdates
+        val bootAwareUpdates =
+            updates.filter {
+                (it.first.encryptionType == EncryptionType.MOVE_TO_DEVICE_PROTECTED &&
+                    moveStartupDataToDeviceProtectedStorageIsEnabled) ||
+                    it.first.encryptionType == EncryptionType.DEVICE_PROTECTED
             }
+        if (bootAwareUpdates.isNotEmpty()) {
+            updatesPerPrefFile[bootAwarePrefs] = bootAwareUpdates
         }
 
         return updatesPerPrefFile.map { prefToItemValueList ->
@@ -233,13 +252,20 @@
      *   .apply() or .commit()
      */
     private fun prepareToRemove(items: Array<out Item>): List<SharedPreferences.Editor> {
-        val itemsPerFile = items.groupBy { it.encryptedPrefs }.toMutableMap()
+        val itemsPerFile =
+            items
+                .filter { it.encryptionType != EncryptionType.DEVICE_PROTECTED }
+                .groupBy { it.encryptedPrefs }
+                .toMutableMap()
 
-        if (isBootAwareStartupDataEnabled) {
-            val bootAwareUpdates = items.filter { it.isBootAware }
-            if (bootAwareUpdates.isNotEmpty()) {
-                itemsPerFile[bootAwarePrefs] = bootAwareUpdates
+        val bootAwareUpdates =
+            items.filter {
+                (it.encryptionType == EncryptionType.MOVE_TO_DEVICE_PROTECTED &&
+                    moveStartupDataToDeviceProtectedStorageIsEnabled) ||
+                    it.encryptionType == EncryptionType.DEVICE_PROTECTED
             }
+        if (bootAwareUpdates.isNotEmpty()) {
+            itemsPerFile[bootAwarePrefs] = bootAwareUpdates
         }
 
         return itemsPerFile.map { (prefs, items) ->
@@ -250,7 +276,7 @@
     }
 
     fun migrateStartupDataToDeviceProtectedStorage() {
-        if (!isBootAwareStartupDataEnabled) return
+        if (!moveStartupDataToDeviceProtectedStorageIsEnabled) return
 
         Log.d(
             TAG,
@@ -259,7 +285,7 @@
         )
 
         with(bootAwarePrefs.edit()) {
-            BOOT_AWARE_ITEMS.forEach { putValue(it, get(it)) }
+            ITEMS_TO_MOVE_TO_DEVICE_PROTECTED_STORAGE.forEach { putValue(it, get(it)) }
             putBoolean(IS_STARTUP_DATA_MIGRATED.sharedPrefKey, true)
             apply()
         }
@@ -274,27 +300,122 @@
         @JvmStatic fun get(context: Context): LauncherPrefs = INSTANCE.get(context)
 
         const val TASKBAR_PINNING_KEY = "TASKBAR_PINNING_KEY"
-        @JvmField val ICON_STATE = nonRestorableItem(LauncherAppState.KEY_ICON_STATE, "", true)
+        const val SHOULD_SHOW_SMARTSPACE_KEY = "SHOULD_SHOW_SMARTSPACE_KEY"
+        @JvmField
+        val ICON_STATE =
+            nonRestorableItem("pref_icon_shape_path", "", EncryptionType.MOVE_TO_DEVICE_PROTECTED)
         @JvmField
         val ALL_APPS_OVERVIEW_THRESHOLD =
-            nonRestorableItem(LauncherAppState.KEY_ALL_APPS_OVERVIEW_THRESHOLD, 180, true)
-        @JvmField val THEMED_ICONS = backedUpItem(Themes.KEY_THEMED_ICONS, false, true)
+            nonRestorableItem(
+                "pref_all_apps_overview_threshold",
+                180,
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val LONG_PRESS_NAV_HANDLE_SLOP_PERCENTAGE =
+            nonRestorableItem(
+                "pref_long_press_nav_handle_slop_percentage",
+                LPNH_SLOP_PERCENTAGE.get(),
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val LONG_PRESS_NAV_HANDLE_TIMEOUT_MS =
+            nonRestorableItem(
+                "pref_long_press_nav_handle_timeout_ms",
+                LPNH_TIMEOUT_MS.get(),
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_START_SCALE_PERCENT =
+            nonRestorableItem(
+                "pref_long_press_nav_handle_haptic_hint_start_scale_percent",
+                LPNH_HAPTIC_HINT_START_SCALE_PERCENT.get(),
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_END_SCALE_PERCENT =
+            nonRestorableItem(
+                "pref_long_press_nav_handle_haptic_hint_end_scale_percent",
+                LPNH_HAPTIC_HINT_END_SCALE_PERCENT.get(),
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_SCALE_EXPONENT =
+            nonRestorableItem(
+                "pref_long_press_nav_handle_haptic_hint_scale_exponent",
+                LPNH_HAPTIC_HINT_SCALE_EXPONENT.get(),
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_ITERATIONS =
+            nonRestorableItem(
+                "pref_long_press_nav_handle_haptic_hint_iterations",
+                LPNH_HAPTIC_HINT_ITERATIONS.get(),
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_DELAY =
+            nonRestorableItem(
+                "pref_long_press_nav_handle_haptic_hint_delay",
+                LPNH_HAPTIC_HINT_DELAY.get(),
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val PRIVATE_SPACE_APPS =
+            nonRestorableItem("pref_private_space_apps", 0, EncryptionType.MOVE_TO_DEVICE_PROTECTED)
+        @JvmField
+        val THEMED_ICONS =
+            backedUpItem(Themes.KEY_THEMED_ICONS, false, EncryptionType.MOVE_TO_DEVICE_PROTECTED)
         @JvmField val PROMISE_ICON_IDS = backedUpItem(InstallSessionHelper.PROMISE_ICON_IDS, "")
-        @JvmField val WORK_EDU_STEP = backedUpItem(WorkProfileManager.KEY_WORK_EDU_STEP, 0)
-        @JvmField val WORKSPACE_SIZE = backedUpItem(DeviceGridState.KEY_WORKSPACE_SIZE, "", true)
-        @JvmField val HOTSEAT_COUNT = backedUpItem(DeviceGridState.KEY_HOTSEAT_COUNT, -1, true)
-        @JvmField val TASKBAR_PINNING = backedUpItem(TASKBAR_PINNING_KEY, false)
+        @JvmField val WORK_EDU_STEP = backedUpItem("showed_work_profile_edu", 0)
+        @JvmField
+        val WORKSPACE_SIZE =
+            backedUpItem(
+                DeviceGridState.KEY_WORKSPACE_SIZE,
+                "",
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val HOTSEAT_COUNT =
+            backedUpItem(
+                DeviceGridState.KEY_HOTSEAT_COUNT,
+                -1,
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val TASKBAR_PINNING =
+            backedUpItem(TASKBAR_PINNING_KEY, false, EncryptionType.DEVICE_PROTECTED)
 
         @JvmField
         val DEVICE_TYPE =
-            backedUpItem(DeviceGridState.KEY_DEVICE_TYPE, InvariantDeviceProfile.TYPE_PHONE, true)
-        @JvmField val DB_FILE = backedUpItem(DeviceGridState.KEY_DB_FILE, "", true)
+            backedUpItem(
+                DeviceGridState.KEY_DEVICE_TYPE,
+                InvariantDeviceProfile.TYPE_PHONE,
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val DB_FILE =
+            backedUpItem(DeviceGridState.KEY_DB_FILE, "", EncryptionType.MOVE_TO_DEVICE_PROTECTED)
+        @JvmField
+        val SHOULD_SHOW_SMARTSPACE =
+            backedUpItem(
+                SHOULD_SHOW_SMARTSPACE_KEY,
+                WIDGET_ON_FIRST_SCREEN,
+                EncryptionType.DEVICE_PROTECTED
+            )
         @JvmField
         val RESTORE_DEVICE =
             backedUpItem(
                 RestoreDbTask.RESTORED_DEVICE_TYPE,
                 InvariantDeviceProfile.TYPE_PHONE,
-                true
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
+        @JvmField
+        val IS_FIRST_LOAD_AFTER_RESTORE =
+            nonRestorableItem(
+                FIRST_LOAD_AFTER_RESTORE_KEY,
+                false,
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
             )
         @JvmField val APP_WIDGET_IDS = backedUpItem(RestoreDbTask.APPWIDGET_IDS, "")
         @JvmField val OLD_APP_WIDGET_IDS = backedUpItem(RestoreDbTask.APPWIDGET_OLD_IDS, "")
@@ -304,7 +425,7 @@
                 "idp_grid_name",
                 isBackedUp = true,
                 defaultValue = null,
-                isBootAware = true,
+                encryptionType = EncryptionType.MOVE_TO_DEVICE_PROTECTED,
                 type = String::class.java
             )
         @JvmField
@@ -318,41 +439,49 @@
                 "is_startup_data_boot_aware",
                 isBackedUp = false,
                 defaultValue = false,
-                isBootAware = true
+                encryptionType = EncryptionType.DEVICE_PROTECTED
             )
 
-        @VisibleForTesting
+        // Preferences for widget configurations
+        @JvmField
+        val RECONFIGURABLE_WIDGET_EDUCATION_TIP_SEEN =
+            backedUpItem("launcher.reconfigurable_widget_education_tip_seen", false)
+        @JvmField
+        val WIDGETS_EDUCATION_DIALOG_SEEN =
+            backedUpItem("launcher.widgets_education_dialog_seen", false)
+        @JvmField
+        val WIDGETS_EDUCATION_TIP_SEEN = backedUpItem("launcher.widgets_education_tip_seen", false)
+
         @JvmStatic
         fun <T> backedUpItem(
             sharedPrefKey: String,
             defaultValue: T,
-            isBootAware: Boolean = false
+            encryptionType: EncryptionType = EncryptionType.ENCRYPTED
         ): ConstantItem<T> =
-            ConstantItem(sharedPrefKey, isBackedUp = true, defaultValue, isBootAware)
+            ConstantItem(sharedPrefKey, isBackedUp = true, defaultValue, encryptionType)
 
         @JvmStatic
         fun <T> backedUpItem(
             sharedPrefKey: String,
             type: Class<out T>,
-            isBootAware: Boolean = false,
+            encryptionType: EncryptionType = EncryptionType.ENCRYPTED,
             defaultValueFromContext: (c: Context) -> T
         ): ContextualItem<T> =
             ContextualItem(
                 sharedPrefKey,
                 isBackedUp = true,
                 defaultValueFromContext,
-                isBootAware,
+                encryptionType,
                 type
             )
 
-        @VisibleForTesting
         @JvmStatic
         fun <T> nonRestorableItem(
             sharedPrefKey: String,
             defaultValue: T,
-            isBootAware: Boolean = false
+            encryptionType: EncryptionType = EncryptionType.ENCRYPTED
         ): ConstantItem<T> =
-            ConstantItem(sharedPrefKey, isBackedUp = false, defaultValue, isBootAware)
+            ConstantItem(sharedPrefKey, isBackedUp = false, defaultValue, encryptionType)
 
         @Deprecated("Don't use shared preferences directly. Use other LauncherPref methods.")
         @JvmStatic
@@ -376,17 +505,17 @@
     }
 }
 
-// This is hard-coded to false for now until it is time to release this optimization. It is only
-// a var because the unit tests are setting this to true so they can run.
-@VisibleForTesting var isBootAwareStartupDataEnabled: Boolean = false
+// It is a var because the unit tests are setting this to true so they can run.
+var moveStartupDataToDeviceProtectedStorageIsEnabled: Boolean =
+    com.android.launcher3.config.FeatureFlags.MOVE_STARTUP_DATA_TO_DEVICE_PROTECTED_STORAGE.get()
 
-private val BOOT_AWARE_ITEMS: MutableSet<ConstantItem<*>> = mutableSetOf()
+private val ITEMS_TO_MOVE_TO_DEVICE_PROTECTED_STORAGE: MutableSet<ConstantItem<*>> = mutableSetOf()
 
 abstract class Item {
     abstract val sharedPrefKey: String
     abstract val isBackedUp: Boolean
     abstract val type: Class<*>
-    abstract val isBootAware: Boolean
+    abstract val encryptionType: EncryptionType
     val sharedPrefFile: String
         get() = if (isBackedUp) SHARED_PREFERENCES_KEY else DEVICE_PREFERENCES_KEY
 
@@ -397,22 +526,27 @@
     override val sharedPrefKey: String,
     override val isBackedUp: Boolean,
     val defaultValue: T,
-    override val isBootAware: Boolean,
+    override val encryptionType: EncryptionType,
     // The default value can be null. If so, the type needs to be explicitly stated, or else NPE
     override val type: Class<out T> = defaultValue!!::class.java
 ) : Item() {
     init {
-        if (isBootAware && isBootAwareStartupDataEnabled) {
-            BOOT_AWARE_ITEMS.add(this)
+        if (
+            encryptionType == EncryptionType.MOVE_TO_DEVICE_PROTECTED &&
+                moveStartupDataToDeviceProtectedStorageIsEnabled
+        ) {
+            ITEMS_TO_MOVE_TO_DEVICE_PROTECTED_STORAGE.add(this)
         }
     }
+
+    fun get(c: Context): T = LauncherPrefs.get(c).get(this)
 }
 
 data class ContextualItem<T>(
     override val sharedPrefKey: String,
     override val isBackedUp: Boolean,
     private val defaultSupplier: (c: Context) -> T,
-    override val isBootAware: Boolean,
+    override val encryptionType: EncryptionType,
     override val type: Class<out T>
 ) : Item() {
     private var default: T? = null
@@ -423,4 +557,12 @@
         }
         return default!!
     }
+
+    fun get(c: Context): T = LauncherPrefs.get(c).get(this)
+}
+
+enum class EncryptionType {
+    ENCRYPTED,
+    DEVICE_PROTECTED,
+    MOVE_TO_DEVICE_PROTECTED
 }
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index 440e146..4e0ba62 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -33,7 +33,6 @@
 import android.util.Log;
 
 import com.android.launcher3.LauncherSettings.Favorites;
-import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.model.ModelDbController;
 import com.android.launcher3.widget.LauncherWidgetHolder;
 
@@ -44,8 +43,6 @@
 public class LauncherProvider extends ContentProvider {
     private static final String TAG = "LauncherProvider";
 
-    public static final String AUTHORITY = BuildConfig.APPLICATION_ID + ".settings";
-
     /**
      * $ adb shell dumpsys activity provider com.android.launcher3
      */
@@ -60,13 +57,6 @@
 
     @Override
     public boolean onCreate() {
-        if (FeatureFlags.IS_STUDIO_BUILD) {
-            Log.d(TAG, "Launcher process started");
-        }
-
-        // The content provider exists for the entire duration of the launcher main process and
-        // is the first component to get created.
-        MainProcessInitializer.initialize(getContext().getApplicationContext());
         return true;
     }
 
diff --git a/src/com/android/launcher3/LauncherSettings.java b/src/com/android/launcher3/LauncherSettings.java
index 105d5f3..34ebaf2 100644
--- a/src/com/android/launcher3/LauncherSettings.java
+++ b/src/com/android/launcher3/LauncherSettings.java
@@ -19,8 +19,13 @@
 import android.database.sqlite.SQLiteDatabase;
 import android.provider.BaseColumns;
 
+import androidx.annotation.NonNull;
+
 import com.android.launcher3.model.data.ItemInfo;
 
+import java.util.LinkedHashMap;
+import java.util.stream.Collectors;
+
 /**
  * Settings related utilities.
  */
@@ -289,28 +294,51 @@
 
         public static void addTableToDb(SQLiteDatabase db, long myProfileId, boolean optional,
                 String tableName) {
-            String ifNotExists = optional ? " IF NOT EXISTS " : "";
-            db.execSQL("CREATE TABLE " + ifNotExists + tableName + " (" +
-                    "_id INTEGER PRIMARY KEY," +
-                    "title TEXT," +
-                    "intent TEXT," +
-                    "container INTEGER," +
-                    "screen INTEGER," +
-                    "cellX INTEGER," +
-                    "cellY INTEGER," +
-                    "spanX INTEGER," +
-                    "spanY INTEGER," +
-                    "itemType INTEGER," +
-                    "appWidgetId INTEGER NOT NULL DEFAULT -1," +
-                    "icon BLOB," +
-                    "appWidgetProvider TEXT," +
-                    "modified INTEGER NOT NULL DEFAULT 0," +
-                    "restored INTEGER NOT NULL DEFAULT 0," +
-                    "profileId INTEGER DEFAULT " + myProfileId + "," +
-                    "rank INTEGER NOT NULL DEFAULT 0," +
-                    "options INTEGER NOT NULL DEFAULT 0," +
-                    APPWIDGET_SOURCE + " INTEGER NOT NULL DEFAULT " + CONTAINER_UNKNOWN +
-                    ");");
+            db.execSQL("CREATE TABLE " + (optional ? " IF NOT EXISTS " : "") + tableName + " ("
+                    + getJoinedColumnsToTypes(myProfileId) + ");");
+        }
+
+        // LinkedHashMap maintains Order of Insertion
+        @NonNull
+        private static LinkedHashMap<String, String> getColumnsToTypes(long profileId) {
+            final LinkedHashMap<String, String> columnsToTypes = new LinkedHashMap<>();
+            columnsToTypes.put(_ID, "INTEGER PRIMARY KEY");
+            columnsToTypes.put(TITLE, "TEXT");
+            columnsToTypes.put(INTENT, "TEXT");
+            columnsToTypes.put(CONTAINER, "INTEGER");
+            columnsToTypes.put(SCREEN, "INTEGER");
+            columnsToTypes.put(CELLX, "INTEGER");
+            columnsToTypes.put(CELLY, "INTEGER");
+            columnsToTypes.put(SPANX, "INTEGER");
+            columnsToTypes.put(SPANY, "INTEGER");
+            columnsToTypes.put(ITEM_TYPE, "INTEGER");
+            columnsToTypes.put(APPWIDGET_ID, "INTEGER NOT NULL DEFAULT -1");
+            columnsToTypes.put(ICON, "BLOB");
+            columnsToTypes.put(APPWIDGET_PROVIDER, "TEXT");
+            columnsToTypes.put(MODIFIED, "INTEGER NOT NULL DEFAULT 0");
+            columnsToTypes.put(RESTORED, "INTEGER NOT NULL DEFAULT 0");
+            columnsToTypes.put(PROFILE_ID, "INTEGER DEFAULT " + profileId);
+            columnsToTypes.put(RANK, "INTEGER NOT NULL DEFAULT 0");
+            columnsToTypes.put(OPTIONS, "INTEGER NOT NULL DEFAULT 0");
+            columnsToTypes.put(APPWIDGET_SOURCE, "INTEGER NOT NULL DEFAULT -1");
+            return columnsToTypes;
+        }
+
+        private static String getJoinedColumnsToTypes(long profileId) {
+            return getColumnsToTypes(profileId)
+                    .entrySet()
+                    .stream()
+                    .map(it -> it.getKey() + " " + it.getValue())
+                    .collect(Collectors.joining(", "));
+        }
+
+        /**
+         * Returns an ordered list of columns in the Favorites table as one string, ready to use in
+         * an SQL statement.
+         */
+        @NonNull
+        public static String getColumns(long profileId) {
+            return String.join(", ", getColumnsToTypes(profileId).keySet());
         }
     }
 
diff --git a/src/com/android/launcher3/ModelCallbacks.kt b/src/com/android/launcher3/ModelCallbacks.kt
new file mode 100644
index 0000000..5172999
--- /dev/null
+++ b/src/com/android/launcher3/ModelCallbacks.kt
@@ -0,0 +1,416 @@
+package com.android.launcher3
+
+import android.annotation.TargetApi
+import android.os.Build
+import android.os.Trace
+import android.view.ViewTreeObserver.OnDrawListener
+import androidx.annotation.UiThread
+import com.android.launcher3.LauncherConstants.TraceEvents
+import com.android.launcher3.WorkspaceLayoutManager.FIRST_SCREEN_ID
+import com.android.launcher3.allapps.AllAppsStore
+import com.android.launcher3.config.FeatureFlags
+import com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget
+import com.android.launcher3.model.BgDataModel
+import com.android.launcher3.model.StringCache
+import com.android.launcher3.model.data.AppInfo
+import com.android.launcher3.model.data.ItemInfo
+import com.android.launcher3.model.data.LauncherAppWidgetInfo
+import com.android.launcher3.model.data.WorkspaceItemInfo
+import com.android.launcher3.popup.PopupContainerWithArrow
+import com.android.launcher3.util.ComponentKey
+import com.android.launcher3.util.Executors
+import com.android.launcher3.util.IntArray as LIntArray
+import com.android.launcher3.util.IntSet as LIntSet
+import com.android.launcher3.util.PackageUserKey
+import com.android.launcher3.util.Preconditions
+import com.android.launcher3.util.RunnableList
+import com.android.launcher3.util.TraceHelper
+import com.android.launcher3.util.ViewOnDrawExecutor
+import com.android.launcher3.widget.PendingAddWidgetInfo
+import com.android.launcher3.widget.model.WidgetsListBaseEntry
+import java.util.function.Predicate
+
+class ModelCallbacks(private var launcher: Launcher) : BgDataModel.Callbacks {
+
+    var synchronouslyBoundPages = LIntSet()
+    var pagesToBindSynchronously = LIntSet()
+
+    private var isFirstPagePinnedItemEnabled =
+        (BuildConfig.QSB_ON_FIRST_SCREEN && !FeatureFlags.ENABLE_SMARTSPACE_REMOVAL.get())
+
+    var stringCache: StringCache? = null
+
+    var pendingExecutor: ViewOnDrawExecutor? = null
+
+    var workspaceLoading = true
+
+    /**
+     * Refreshes the shortcuts shown on the workspace.
+     *
+     * Implementation of the method from LauncherModel.Callbacks.
+     */
+    override fun startBinding() {
+        TraceHelper.INSTANCE.beginSection("startBinding")
+        // Floating panels (except the full widget sheet) are associated with individual icons. If
+        // we are starting a fresh bind, close all such panels as all the icons are about
+        // to go away.
+        AbstractFloatingView.closeOpenViews(
+            launcher,
+            true,
+            AbstractFloatingView.TYPE_ALL and AbstractFloatingView.TYPE_REBIND_SAFE.inv()
+        )
+        workspaceLoading = true
+
+        // Clear the workspace because it's going to be rebound
+        launcher.dragController.cancelDrag()
+        launcher.workspace.clearDropTargets()
+        launcher.workspace.removeAllWorkspaceScreens()
+        launcher.appWidgetHolder.clearViews()
+        launcher.hotseat?.resetLayout(launcher.deviceProfile.isVerticalBarLayout)
+        TraceHelper.INSTANCE.endSection()
+    }
+
+    @TargetApi(Build.VERSION_CODES.S)
+    override fun onInitialBindComplete(
+        boundPages: LIntSet,
+        pendingTasks: RunnableList,
+        workspaceItemCount: Int,
+        isBindSync: Boolean
+    ) {
+        synchronouslyBoundPages = boundPages
+        pagesToBindSynchronously = LIntSet()
+        clearPendingBinds()
+        val executor = ViewOnDrawExecutor(pendingTasks)
+        pendingExecutor = executor
+        if (!launcher.isInState(LauncherState.ALL_APPS)) {
+            launcher.appsView.appsStore.enableDeferUpdates(AllAppsStore.DEFER_UPDATES_NEXT_DRAW)
+            pendingTasks.add {
+                launcher.appsView.appsStore.disableDeferUpdates(
+                    AllAppsStore.DEFER_UPDATES_NEXT_DRAW
+                )
+            }
+        }
+        executor.onLoadAnimationCompleted()
+        executor.attachTo(launcher)
+        if (Utilities.ATLEAST_S) {
+            Trace.endAsyncSection(
+                TraceEvents.DISPLAY_WORKSPACE_TRACE_METHOD_NAME,
+                TraceEvents.DISPLAY_WORKSPACE_TRACE_COOKIE
+            )
+        }
+        launcher.bindComplete(workspaceItemCount, isBindSync)
+        launcher.rootView.viewTreeObserver.addOnDrawListener(
+            object : OnDrawListener {
+                override fun onDraw() {
+                    Executors.MAIN_EXECUTOR.handler.postAtFrontOfQueue {
+                        launcher.rootView.getViewTreeObserver().removeOnDrawListener(this)
+                    }
+                }
+            }
+        )
+    }
+
+    /**
+     * Callback saying that there aren't any more items to bind.
+     *
+     * Implementation of the method from LauncherModel.Callbacks.
+     */
+    override fun finishBindingItems(pagesBoundFirst: LIntSet?) {
+        TraceHelper.INSTANCE.beginSection("finishBindingItems")
+        val deviceProfile = launcher.deviceProfile
+        launcher.workspace.restoreInstanceStateForRemainingPages()
+        workspaceLoading = false
+        launcher.processActivityResult()
+        val currentPage =
+            if (pagesBoundFirst != null && !pagesBoundFirst.isEmpty)
+                launcher.workspace.getPageIndexForScreenId(pagesBoundFirst.array[0])
+            else PagedView.INVALID_PAGE
+        // When undoing the removal of the last item on a page, return to that page.
+        // Since we are just resetting the current page without user interaction,
+        // override the previous page so we don't log the page switch.
+        launcher.workspace.setCurrentPage(currentPage, currentPage /* overridePrevPage */)
+        pagesToBindSynchronously = LIntSet()
+
+        // Cache one page worth of icons
+        launcher.viewCache.setCacheSize(
+            R.layout.folder_application,
+            deviceProfile.numFolderColumns * deviceProfile.numFolderRows
+        )
+        launcher.viewCache.setCacheSize(R.layout.folder_page, 2)
+        TraceHelper.INSTANCE.endSection()
+        launcher.workspace.removeExtraEmptyScreen(/* stripEmptyScreens= */ true)
+        launcher.workspace.pageIndicator.setAreScreensBinding(false, deviceProfile.isTwoPanels)
+    }
+
+    /**
+     * Clear any pending bind callbacks. This is called when is loader is planning to perform a full
+     * rebind from scratch.
+     */
+    override fun clearPendingBinds() {
+        pendingExecutor?.cancel() ?: return
+        pendingExecutor = null
+
+        // We might have set this flag previously and forgot to clear it.
+        launcher.appsView.appsStore.disableDeferUpdatesSilently(
+            AllAppsStore.DEFER_UPDATES_NEXT_DRAW
+        )
+    }
+
+    override fun preAddApps() {
+        // If there's an undo snackbar, force it to complete to ensure empty screens are removed
+        // before trying to add new items.
+        launcher.modelWriter.commitDelete()
+        val snackbar =
+            AbstractFloatingView.getOpenView<AbstractFloatingView>(
+                launcher,
+                AbstractFloatingView.TYPE_SNACKBAR
+            )
+        snackbar?.post { snackbar.close(true) }
+    }
+
+    @UiThread
+    override fun bindAllApplications(
+        apps: Array<AppInfo?>?,
+        flags: Int,
+        packageUserKeytoUidMap: Map<PackageUserKey?, Int?>?
+    ) {
+        Preconditions.assertUIThread()
+        val hadWorkApps = launcher.appsView.shouldShowTabs()
+        launcher.appsView.appsStore.setApps(apps, flags, packageUserKeytoUidMap)
+        PopupContainerWithArrow.dismissInvalidPopup(launcher)
+        if (hadWorkApps != launcher.appsView.shouldShowTabs()) {
+            launcher.stateManager.goToState(LauncherState.NORMAL)
+        }
+    }
+
+    /**
+     * Copies LauncherModel's map of activities to shortcut counts to Launcher's. This is necessary
+     * because LauncherModel's map is updated in the background, while Launcher runs on the UI.
+     */
+    override fun bindDeepShortcutMap(deepShortcutMapCopy: HashMap<ComponentKey?, Int?>?) {
+        launcher.popupDataProvider.setDeepShortcutMap(deepShortcutMapCopy)
+    }
+
+    override fun bindIncrementalDownloadProgressUpdated(app: AppInfo?) {
+        launcher.appsView.appsStore.updateProgressBar(app)
+    }
+
+    override fun bindWidgetsRestored(widgets: ArrayList<LauncherAppWidgetInfo?>?) {
+        launcher.workspace.widgetsRestored(widgets)
+    }
+
+    /**
+     * Some shortcuts were updated in the background. Implementation of the method from
+     * LauncherModel.Callbacks.
+     *
+     * @param updated list of shortcuts which have changed.
+     */
+    override fun bindWorkspaceItemsChanged(updated: List<WorkspaceItemInfo?>) {
+        if (updated.isNotEmpty()) {
+            launcher.workspace.updateWorkspaceItems(updated, launcher)
+            PopupContainerWithArrow.dismissInvalidPopup(launcher)
+        }
+    }
+
+    /**
+     * Update the state of a package, typically related to install state. Implementation of the
+     * method from LauncherModel.Callbacks.
+     */
+    override fun bindRestoreItemsChange(updates: HashSet<ItemInfo?>?) {
+        launcher.workspace.updateRestoreItems(updates, launcher)
+    }
+
+    /**
+     * A package was uninstalled/updated. We take both the super set of packageNames in addition to
+     * specific applications to remove, the reason being that this can be called when a package is
+     * updated as well. In that scenario, we only remove specific components from the workspace and
+     * hotseat, where as package-removal should clear all items by package name.
+     */
+    override fun bindWorkspaceComponentsRemoved(matcher: Predicate<ItemInfo?>?) {
+        launcher.workspace.removeItemsByMatcher(matcher)
+        launcher.dragController.onAppsRemoved(matcher)
+        PopupContainerWithArrow.dismissInvalidPopup(launcher)
+    }
+
+    override fun bindAllWidgets(allWidgets: List<WidgetsListBaseEntry?>?) {
+        launcher.popupDataProvider.allWidgets = allWidgets
+    }
+
+    /** Returns the ids of the workspaces to bind. */
+    override fun getPagesToBindSynchronously(orderedScreenIds: LIntArray): LIntSet {
+        // If workspace binding is still in progress, getCurrentPageScreenIds won't be
+        // accurate, and we should use mSynchronouslyBoundPages that's set during initial binding.
+        val visibleIds =
+            when {
+                !pagesToBindSynchronously.isEmpty -> pagesToBindSynchronously
+                !workspaceLoading -> launcher.workspace.currentPageScreenIds
+                else -> synchronouslyBoundPages
+            }
+        // Launcher IntArray has the same name as Kotlin IntArray
+        val result = LIntSet()
+        if (visibleIds.isEmpty) {
+            return result
+        }
+        val actualIds = orderedScreenIds.clone()
+        val firstId = visibleIds.first()
+        val pairId = launcher.workspace.getScreenPair(firstId)
+        // Double check that actual screenIds contains the visibleId, as empty screens are hidden
+        // in single panel.
+        if (actualIds.contains(firstId)) {
+            result.add(firstId)
+            if (launcher.deviceProfile.isTwoPanels && actualIds.contains(pairId)) {
+                result.add(pairId)
+            }
+        } else if (
+            LauncherAppState.getIDP(launcher).supportedProfiles.any(DeviceProfile::isTwoPanels) &&
+                actualIds.contains(pairId)
+        ) {
+            // Add the right panel if left panel is hidden when switching display, due to empty
+            // pages being hidden in single panel.
+            result.add(pairId)
+        }
+        return result
+    }
+
+    override fun bindSmartspaceWidget() {
+        val cl: CellLayout? =
+            launcher.workspace.getScreenWithId(WorkspaceLayoutManager.FIRST_SCREEN_ID)
+        val spanX = InvariantDeviceProfile.INSTANCE.get(launcher).numSearchContainerColumns
+
+        if (cl?.isRegionVacant(0, 0, spanX, 1) != true) {
+            return
+        }
+
+        val widgetsListBaseEntry: WidgetsListBaseEntry =
+            launcher.popupDataProvider.allWidgets.firstOrNull { item: WidgetsListBaseEntry ->
+                item.mPkgItem.packageName == BuildConfig.APPLICATION_ID
+            }
+                ?: return
+
+        val info =
+            PendingAddWidgetInfo(
+                widgetsListBaseEntry.mWidgets[0].widgetInfo,
+                LauncherSettings.Favorites.CONTAINER_DESKTOP
+            )
+        launcher.addPendingItem(
+            info,
+            info.container,
+            WorkspaceLayoutManager.FIRST_SCREEN_ID,
+            intArrayOf(0, 0),
+            info.spanX,
+            info.spanY
+        )
+    }
+
+    override fun bindScreens(orderedScreenIds: LIntArray) {
+        launcher.workspace.pageIndicator.setAreScreensBinding(
+            true,
+            launcher.deviceProfile.isTwoPanels
+        )
+        val firstScreenPosition = 0
+        if (
+            (FeatureFlags.QSB_ON_FIRST_SCREEN &&
+                isFirstPagePinnedItemEnabled &&
+                !shouldShowFirstPageWidget()) &&
+                orderedScreenIds.indexOf(FIRST_SCREEN_ID) != firstScreenPosition
+        ) {
+            orderedScreenIds.removeValue(FIRST_SCREEN_ID)
+            orderedScreenIds.add(firstScreenPosition, FIRST_SCREEN_ID)
+        } else if (
+            (!FeatureFlags.QSB_ON_FIRST_SCREEN && !isFirstPagePinnedItemEnabled ||
+                shouldShowFirstPageWidget()) && orderedScreenIds.isEmpty
+        ) {
+            // If there are no screens, we need to have an empty screen
+            launcher.workspace.addExtraEmptyScreens()
+        }
+        bindAddScreens(orderedScreenIds)
+
+        // After we have added all the screens, if the wallpaper was locked to the default state,
+        // then notify to indicate that it can be released and a proper wallpaper offset can be
+        // computed before the next layout
+        launcher.workspace.unlockWallpaperFromDefaultPageOnNextLayout()
+    }
+
+    override fun bindAppsAdded(
+        newScreens: LIntArray?,
+        addNotAnimated: java.util.ArrayList<ItemInfo?>?,
+        addAnimated: java.util.ArrayList<ItemInfo?>?
+    ) {
+        // Add the new screens
+        if (newScreens != null) {
+            // newScreens can contain an empty right panel that is already bound, but not known
+            // by BgDataModel.
+            newScreens.removeAllValues(launcher.workspace.mScreenOrder)
+            bindAddScreens(newScreens)
+        }
+
+        // We add the items without animation on non-visible pages, and with
+        // animations on the new page (which we will try and snap to).
+        if (!addNotAnimated.isNullOrEmpty()) {
+            launcher.bindItems(addNotAnimated, false)
+        }
+        if (!addAnimated.isNullOrEmpty()) {
+            launcher.bindItems(addAnimated, true)
+        }
+
+        // Remove the extra empty screen
+        launcher.workspace.removeExtraEmptyScreen(false)
+    }
+
+    private fun bindAddScreens(orderedScreenIdsArg: LIntArray) {
+        var orderedScreenIds = orderedScreenIdsArg
+        if (launcher.deviceProfile.isTwoPanels) {
+            if (FeatureFlags.FOLDABLE_SINGLE_PAGE.get()) {
+                orderedScreenIds = filterTwoPanelScreenIds(orderedScreenIds)
+            } else {
+                // Some empty pages might have been removed while the phone was in a single panel
+                // mode, so we want to add those empty pages back.
+                val screenIds = LIntSet.wrap(orderedScreenIds)
+                orderedScreenIds.forEach { screenId: Int ->
+                    screenIds.add(launcher.workspace.getScreenPair(screenId))
+                }
+                orderedScreenIds = screenIds.array
+            }
+        }
+        orderedScreenIds
+            .filterNot { screenId ->
+                FeatureFlags.QSB_ON_FIRST_SCREEN &&
+                    isFirstPagePinnedItemEnabled &&
+                    !FeatureFlags.shouldShowFirstPageWidget() &&
+                    screenId == WorkspaceLayoutManager.FIRST_SCREEN_ID
+            }
+            .forEach { screenId ->
+                launcher.workspace.insertNewWorkspaceScreenBeforeEmptyScreen(screenId)
+            }
+    }
+
+    /**
+     * Remove odd number because they are already included when isTwoPanels and add the pair screen
+     * if not present.
+     */
+    private fun filterTwoPanelScreenIds(orderedScreenIds: LIntArray): LIntArray {
+        val screenIds = LIntSet.wrap(orderedScreenIds)
+        orderedScreenIds
+            .filter { screenId -> screenId % 2 == 1 }
+            .forEach { screenId ->
+                screenIds.remove(screenId)
+                // In case the pair is not added, add it
+                if (!launcher.workspace.containsScreenId(screenId - 1)) {
+                    screenIds.add(screenId - 1)
+                }
+            }
+        return screenIds.array
+    }
+
+    override fun setIsFirstPagePinnedItemEnabled(isFirstPagePinnedItemEnabled: Boolean) {
+        this.isFirstPagePinnedItemEnabled = isFirstPagePinnedItemEnabled
+        launcher.workspace.bindAndInitFirstWorkspaceScreen()
+    }
+
+    override fun bindStringCache(cache: StringCache) {
+        stringCache = cache
+        launcher.appsView.updateWorkUI()
+    }
+
+    fun getIsFirstPagePinnedItemEnabled(): Boolean = isFirstPagePinnedItemEnabled
+}
diff --git a/src/com/android/launcher3/MultipageCellLayout.java b/src/com/android/launcher3/MultipageCellLayout.java
index 44a1414..0ec9034 100644
--- a/src/com/android/launcher3/MultipageCellLayout.java
+++ b/src/com/android/launcher3/MultipageCellLayout.java
@@ -23,9 +23,11 @@
 import android.view.View;
 
 import com.android.launcher3.celllayout.CellLayoutLayoutParams;
+import com.android.launcher3.celllayout.ItemConfiguration;
 import com.android.launcher3.celllayout.MulticellReorderAlgorithm;
 import com.android.launcher3.util.CellAndSpan;
 import com.android.launcher3.util.GridOccupancy;
+import com.android.launcher3.util.MultiTranslateDelegate;
 
 /**
  * CellLayout that simulates a split in the middle for use in foldable devices.
@@ -54,17 +56,6 @@
     }
 
     @Override
-    public void getDirectionVectorForDrop(int dragViewCenterX, int dragViewCenterY, int spanX,
-            int spanY, View dragView, int[] resultDirection) {
-        createReorderAlgorithm().simulateSeam(
-                () -> {
-                    super.getDirectionVectorForDrop(dragViewCenterX, dragViewCenterY, spanX, spanY,
-                            dragView, resultDirection);
-                    return 0;
-                });
-    }
-
-    @Override
     public boolean isNearestDropLocationOccupied(int pixelX, int pixelY, int spanX, int spanY,
             View dragView, int[] result) {
         return createReorderAlgorithm().simulateSeam(
@@ -118,7 +109,7 @@
     }
 
     @Override
-    public void copyCurrentStateToSolution(ItemConfiguration solution, boolean temp) {
+    public void copyCurrentStateToSolution(ItemConfiguration solution) {
         int childCount = mShortcutsAndWidgets.getChildCount();
         for (int i = 0; i < childCount; i++) {
             View child = mShortcutsAndWidgets.getChildAt(i);
@@ -139,18 +130,59 @@
 
     @Override
     protected void onDraw(Canvas canvas) {
+        float animatedWorkspaceMargin = mSpaceBetweenCellLayoutsPx * mSpringLoadedProgress;
         if (mLeftBackground.getAlpha() > 0) {
+            canvas.save();
+            canvas.translate(-animatedWorkspaceMargin, 0);
             mLeftBackground.setState(mBackground.getState());
             mLeftBackground.draw(canvas);
+            canvas.restore();
         }
         if (mRightBackground.getAlpha() > 0) {
+            canvas.save();
+            canvas.translate(animatedWorkspaceMargin, 0);
             mRightBackground.setState(mBackground.getState());
             mRightBackground.draw(canvas);
+            canvas.restore();
         }
-
         super.onDraw(canvas);
     }
 
+    private void updateMarginBetweenCellLayouts() {
+        for (int i = 0; i < mShortcutsAndWidgets.getChildCount(); i++) {
+            View workspaceItem = mShortcutsAndWidgets.getChildAt(i);
+            if (!(workspaceItem instanceof Reorderable)) {
+                continue;
+            }
+            CellLayoutLayoutParams params =
+                    (CellLayoutLayoutParams) workspaceItem.getLayoutParams();
+            ((Reorderable) workspaceItem).getTranslateDelegate().setTranslation(
+                    MultiTranslateDelegate.INDEX_CELLAYOUT_MULTIPAGE_SPACING,
+                    getMarginForGivenCellParams(params),
+                    0
+            );
+
+        }
+    }
+
+    @Override
+    protected float getMarginForGivenCellParams(CellLayoutLayoutParams params) {
+        float margin = mSpaceBetweenCellLayoutsPx * mSpringLoadedProgress;
+        return params.getCellX() >= mCountX / 2 ? margin : -margin;
+    }
+
+    @Override
+    public void setSpringLoadedProgress(float progress) {
+        super.setSpringLoadedProgress(progress);
+        updateMarginBetweenCellLayouts();
+    }
+
+    @Override
+    public void setSpaceBetweenCellLayoutsPx(int spaceBetweenCellLayoutsPx) {
+        super.setSpaceBetweenCellLayoutsPx(spaceBetweenCellLayoutsPx);
+        updateMarginBetweenCellLayouts();
+    }
+
     @Override
     protected void updateBgAlpha() {
         mLeftBackground.setAlpha((int) (mSpringLoadedProgress * 255));
@@ -161,8 +193,9 @@
     protected void onLayout(boolean changed, int l, int t, int r, int b) {
         super.onLayout(changed, l, t, r, b);
         Rect rect = mBackground.getBounds();
-        mLeftBackground.setBounds(rect.left, rect.top, rect.right / 2 - 20, rect.bottom);
-        mRightBackground.setBounds(rect.right / 2 + 20, rect.top, rect.right, rect.bottom);
+        int middlePointInPixels = rect.centerX();
+        mLeftBackground.setBounds(rect.left, rect.top, middlePointInPixels, rect.bottom);
+        mRightBackground.setBounds(middlePointInPixels, rect.top, rect.right, rect.bottom);
     }
 
     public void setCountX(int countX) {
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 4b4a4a5..f355ae7 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -19,6 +19,7 @@
 import static com.android.app.animation.Interpolators.SCROLL;
 import static com.android.launcher3.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
 import static com.android.launcher3.compat.AccessibilityManagerCompat.isObservedEventType;
+import static com.android.launcher3.testing.shared.TestProtocol.SCROLL_FINISHED_MESSAGE;
 import static com.android.launcher3.touch.OverScroll.OVERSCROLL_DAMP_FACTOR;
 import static com.android.launcher3.touch.PagedOrientationHandler.VIEW_SCROLL_BY;
 import static com.android.launcher3.touch.PagedOrientationHandler.VIEW_SCROLL_TO;
@@ -492,7 +493,8 @@
      */
     protected void onPageEndTransition() {
         mCurrentPageScrollDiff = 0;
-        AccessibilityManagerCompat.sendScrollFinishedEventToTest(getContext());
+        AccessibilityManagerCompat.sendTestProtocolEventToTest(getContext(),
+                SCROLL_FINISHED_MESSAGE);
         AccessibilityManagerCompat.sendCustomAccessibilityEvent(getPageAt(mCurrentPage),
                 AccessibilityEvent.TYPE_VIEW_FOCUSED, null);
         if (mOnPageTransitionEndCallback != null) {
@@ -1571,7 +1573,9 @@
     @Override
     public void requestChildFocus(View child, View focused) {
         super.requestChildFocus(child, focused);
-
+        if (!shouldHandleRequestChildFocus()) {
+            return;
+        }
         // In case the device is controlled by a controller, mCurrentPage isn't updated properly
         // which results in incorrect navigation
         int nextPage = getNextPage();
@@ -1585,6 +1589,10 @@
         }
     }
 
+    protected boolean shouldHandleRequestChildFocus() {
+        return true;
+    }
+
     public int getDestinationPage() {
         return getDestinationPage(mOrientationHandler.getPrimaryScroll(this));
     }
diff --git a/src/com/android/launcher3/SecondaryDropTarget.java b/src/com/android/launcher3/SecondaryDropTarget.java
index 2dd610cb..0b92c28 100644
--- a/src/com/android/launcher3/SecondaryDropTarget.java
+++ b/src/com/android/launcher3/SecondaryDropTarget.java
@@ -155,6 +155,9 @@
             }
             return INVALID;
         } else if (info.isPredictedItem()) {
+            if (Flags.enableShortcutDontSuggestApp()) {
+                return INVALID;
+            }
             return DISMISS_PREDICTION;
         }
 
diff --git a/src/com/android/launcher3/ShortcutAndWidgetContainer.java b/src/com/android/launcher3/ShortcutAndWidgetContainer.java
index f0fea61..b22b690 100644
--- a/src/com/android/launcher3/ShortcutAndWidgetContainer.java
+++ b/src/com/android/launcher3/ShortcutAndWidgetContainer.java
@@ -21,6 +21,7 @@
 import static com.android.launcher3.CellLayout.FOLDER;
 import static com.android.launcher3.CellLayout.HOTSEAT;
 import static com.android.launcher3.CellLayout.WORKSPACE;
+import static com.android.launcher3.util.MultiTranslateDelegate.INDEX_BUBBLE_ADJUSTMENT_ANIM;
 import static com.android.launcher3.util.MultiTranslateDelegate.INDEX_WIDGET_CENTERING;
 
 import android.app.WallpaperManager;
@@ -33,11 +34,14 @@
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.annotation.Nullable;
+
 import com.android.launcher3.CellLayout.ContainerType;
 import com.android.launcher3.celllayout.CellLayoutLayoutParams;
 import com.android.launcher3.folder.FolderIcon;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.views.ActivityContext;
+import com.android.launcher3.widget.LauncherAppWidgetHostView;
 import com.android.launcher3.widget.NavigableAppWidgetHostView;
 
 public class ShortcutAndWidgetContainer extends ViewGroup implements FolderIcon.FolderIconParent {
@@ -61,6 +65,9 @@
     private final ActivityContext mActivity;
     private boolean mInvertIfRtl = false;
 
+    @Nullable
+    private TranslationProvider mTranslationProvider = null;
+
     public ShortcutAndWidgetContainer(Context context, @ContainerType int containerType) {
         super(context);
         mActivity = ActivityContext.lookupContext(context);
@@ -217,7 +224,27 @@
 
         int childLeft = lp.x;
         int childTop = lp.y;
+
+        // We want to get the layout position of the widget, but layout() is a final function in
+        // ViewGroup which makes it impossible to be overridden. Overriding onLayout() will have no
+        // effect since it will not be called when the transition is enabled. The only possible
+        // solution here seems to be sending the positions when CellLayout is laying out the views
+        if (child instanceof LauncherAppWidgetHostView widgetView
+                && widgetView.getCellChildViewPreLayoutListener() != null) {
+            widgetView.getCellChildViewPreLayoutListener().notifyBoundChangeOnPreLayout(child,
+                    childLeft, childTop, childLeft + lp.width, childTop + lp.height);
+        }
         child.layout(childLeft, childTop, childLeft + lp.width, childTop + lp.height);
+        if (mTranslationProvider != null) {
+            final float tx = mTranslationProvider.getTranslationX(child);
+            if (child instanceof Reorderable) {
+                ((Reorderable) child).getTranslateDelegate()
+                        .getTranslationX(INDEX_BUBBLE_ADJUSTMENT_ANIM)
+                        .setValue(tx);
+            } else {
+                child.setTranslationX(tx);
+            }
+        }
 
         if (lp.dropped) {
             lp.dropped = false;
@@ -287,4 +314,13 @@
             cl.clearFolderLeaveBehind();
         }
     }
+
+    void setTranslationProvider(@Nullable TranslationProvider provider) {
+        mTranslationProvider = provider;
+    }
+
+    /** Provides translation values to apply when laying out child views. */
+    interface TranslationProvider {
+        float getTranslationX(View child);
+    }
 }
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index e8c6ff9..e0f6101 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -16,13 +16,14 @@
 
 package com.android.launcher3;
 
+import static android.graphics.drawable.AdaptiveIconDrawable.getExtraInsetFraction;
+
 import static com.android.launcher3.icons.BitmapInfo.FLAG_THEMED;
-import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_ICON_BADGED;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_TYPE_MAIN;
 
-import android.annotation.TargetApi;
+import android.annotation.SuppressLint;
 import android.app.ActivityManager;
 import android.app.ActivityOptions;
 import android.app.Person;
@@ -33,6 +34,9 @@
 import android.content.pm.ShortcutInfo;
 import android.content.res.Configuration;
 import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.BlendMode;
+import android.graphics.BlendModeColorFilter;
 import android.graphics.Color;
 import android.graphics.ColorFilter;
 import android.graphics.LightingColorFilter;
@@ -43,22 +47,23 @@
 import android.graphics.Rect;
 import android.graphics.RectF;
 import android.graphics.drawable.AdaptiveIconDrawable;
+import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
+import android.graphics.drawable.InsetDrawable;
 import android.os.Build;
 import android.os.Build.VERSION_CODES;
 import android.os.DeadObjectException;
 import android.os.Handler;
 import android.os.Message;
-import android.os.Process;
 import android.os.TransactionTooLargeException;
-import android.provider.Settings;
 import android.text.Spannable;
 import android.text.SpannableString;
 import android.text.TextUtils;
 import android.text.style.TtsSpan;
 import android.util.DisplayMetrics;
 import android.util.Log;
+import android.util.Pair;
 import android.util.TypedValue;
 import android.view.MotionEvent;
 import android.view.View;
@@ -68,18 +73,24 @@
 import androidx.annotation.ChecksSdkIntAtLeast;
 import androidx.annotation.IntDef;
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.WorkerThread;
 import androidx.core.graphics.ColorUtils;
 
 import com.android.launcher3.dragndrop.FolderAdaptiveIcon;
 import com.android.launcher3.graphics.TintedDrawableSpan;
+import com.android.launcher3.icons.BitmapInfo;
+import com.android.launcher3.icons.LauncherIcons;
 import com.android.launcher3.icons.ShortcutCachingLogic;
 import com.android.launcher3.icons.ThemedIconDrawable;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.ItemInfoWithIcon;
 import com.android.launcher3.pm.ShortcutConfigActivityInfo;
+import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.shortcuts.ShortcutKey;
 import com.android.launcher3.shortcuts.ShortcutRequest;
 import com.android.launcher3.testing.shared.ResourceUtils;
+import com.android.launcher3.util.FlagOp;
 import com.android.launcher3.util.IntArray;
 import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption;
 import com.android.launcher3.util.Themes;
@@ -158,11 +169,6 @@
         return nightMode == Configuration.UI_MODE_NIGHT_YES;
     }
 
-    public static boolean isDevelopersOptionsEnabled(Context context) {
-        return Settings.Global.getInt(context.getApplicationContext().getContentResolver(),
-                        Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
-    }
-
     private static boolean sIsRunningInTestHarness = ActivityManager.isRunningInTestHarness();
 
     public static boolean isRunningInTestHarness() {
@@ -571,103 +577,115 @@
     }
 
     /**
-     * Returns the full drawable for info without any flattening or pre-processing.
+     * Returns the full drawable for info as multiple layers of AdaptiveIconDrawable. The second
+     * drawable in the Pair is the badge used with the icon.
      *
-     * @param shouldThemeIcon If true, will theme icons when applicable
-     * @param outObj this is set to the internal data associated with {@code info},
-     *               eg {@link LauncherActivityInfo} or {@link ShortcutInfo}.
+     * @param useTheme If true, will theme icons when applicable
      */
-    @TargetApi(Build.VERSION_CODES.TIRAMISU)
-    public static Drawable getFullDrawable(Context context, ItemInfo info, int width, int height,
-            boolean shouldThemeIcon, Object[] outObj, boolean[] outIsIconThemed) {
-        Drawable icon = loadFullDrawableWithoutTheme(context, info, width, height, outObj);
-        if (ATLEAST_T && icon instanceof AdaptiveIconDrawable && shouldThemeIcon) {
-            AdaptiveIconDrawable aid = (AdaptiveIconDrawable) icon.mutate();
-            Drawable mono = aid.getMonochrome();
-            if (mono != null && Themes.isThemedIconEnabled(context)) {
-                outIsIconThemed[0] = true;
-                int[] colors = ThemedIconDrawable.getColors(context);
-                mono = mono.mutate();
-                mono.setTint(colors[1]);
-                return new AdaptiveIconDrawable(new ColorDrawable(colors[0]), mono);
-            }
-        }
-        return icon;
-    }
-
-    private static Drawable loadFullDrawableWithoutTheme(Context context, ItemInfo info,
-            int width, int height, Object[] outObj) {
-        ActivityContext activity = ActivityContext.lookupContext(context);
+    @SuppressLint("UseCompatLoadingForDrawables")
+    @Nullable
+    @WorkerThread
+    public static <T extends Context & ActivityContext> Pair<AdaptiveIconDrawable, Drawable>
+            getFullDrawable(T context, ItemInfo info, int width, int height, boolean useTheme) {
+        useTheme &= Themes.isThemedIconEnabled(context);
         LauncherAppState appState = LauncherAppState.getInstance(context);
+        Drawable mainIcon = null;
+
+        Drawable badge = null;
+        if ((info instanceof ItemInfoWithIcon iiwi) && !iiwi.usingLowResIcon()) {
+            badge = iiwi.bitmap.getBadgeDrawable(context, useTheme);
+        }
+
         if (info instanceof PendingAddShortcutInfo) {
             ShortcutConfigActivityInfo activityInfo =
                     ((PendingAddShortcutInfo) info).getActivityInfo(context);
-            outObj[0] = activityInfo;
-            return activityInfo.getFullResIcon(appState.getIconCache());
-        }
-        if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION) {
+            mainIcon = activityInfo.getFullResIcon(appState.getIconCache());
+        } else if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_APPLICATION) {
             LauncherActivityInfo activityInfo = context.getSystemService(LauncherApps.class)
                     .resolveActivity(info.getIntent(), info.user);
-            outObj[0] = activityInfo;
-            return activityInfo == null ? null : LauncherAppState.getInstance(context)
-                    .getIconProvider().getIcon(
-                            activityInfo, activity.getDeviceProfile().inv.fillResIconDpi);
+            if (activityInfo == null) {
+                return null;
+            }
+            mainIcon = appState.getIconProvider().getIcon(
+                    activityInfo, appState.getInvariantDeviceProfile().fillResIconDpi);
         } else if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT) {
-            List<ShortcutInfo> si = ShortcutKey.fromItemInfo(info)
+            List<ShortcutInfo> siList = ShortcutKey.fromItemInfo(info)
                     .buildRequest(context)
                     .query(ShortcutRequest.ALL);
-            if (si.isEmpty()) {
+            if (siList.isEmpty()) {
                 return null;
             } else {
-                outObj[0] = si.get(0);
-                return ShortcutCachingLogic.getIcon(context, si.get(0),
+                ShortcutInfo si = siList.get(0);
+                mainIcon = ShortcutCachingLogic.getIcon(context, si,
                         appState.getInvariantDeviceProfile().fillResIconDpi);
+                // Only fetch badge if the icon is on workspace
+                if (info.id != ItemInfo.NO_ID && badge == null) {
+                    badge = appState.getIconCache().getShortcutInfoBadge(si)
+                            .newIcon(context, FLAG_THEMED);
+                }
             }
         } else if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER) {
             FolderAdaptiveIcon icon = FolderAdaptiveIcon.createFolderAdaptiveIcon(
-                    activity, info.id, new Point(width, height));
+                    context, info.id, new Point(width, height));
             if (icon == null) {
                 return null;
             }
-            outObj[0] = icon;
-            return icon;
-        } else if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_SEARCH_ACTION
-                && info instanceof ItemInfoWithIcon) {
-            return ((ItemInfoWithIcon) info).bitmap.newIcon(context);
-        } else {
+            mainIcon =  icon;
+            badge = icon.getBadge();
+        }
+
+        if (mainIcon == null) {
             return null;
         }
-    }
-
-    /**
-     * For apps icons and shortcut icons that have badges, this method creates a drawable that can
-     * later on be rendered on top of the layers for the badges. For app icons, work profile badges
-     * can only be applied. For deep shortcuts, when dragged from the pop up container, there's no
-     * badge. When dragged from workspace or folder, it may contain app AND/OR work profile badge
-     **/
-    @TargetApi(Build.VERSION_CODES.O)
-    public static Drawable getBadge(Context context, ItemInfo info, Object obj,
-            boolean isIconThemed) {
-        LauncherAppState appState = LauncherAppState.getInstance(context);
-        if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT) {
-            boolean iconBadged = (info instanceof ItemInfoWithIcon)
-                    && (((ItemInfoWithIcon) info).runtimeStatusFlags & FLAG_ICON_BADGED) > 0;
-            if ((info.id == ItemInfo.NO_ID && !iconBadged)
-                    || !(obj instanceof ShortcutInfo)) {
-                // The item is not yet added on home screen.
-                return new ColorDrawable(Color.TRANSPARENT);
-            }
-            ShortcutInfo si = (ShortcutInfo) obj;
-            return LauncherAppState.getInstance(appState.getContext())
-                    .getIconCache().getShortcutInfoBadge(si).newIcon(context, FLAG_THEMED);
-        } else if (info.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER) {
-            return ((FolderAdaptiveIcon) obj).getBadge();
+        AdaptiveIconDrawable result;
+        if (mainIcon instanceof AdaptiveIconDrawable aid) {
+            result = aid;
         } else {
-            return Process.myUserHandle().equals(info.user)
-                    ? new ColorDrawable(Color.TRANSPARENT)
-                    : context.getDrawable(isIconThemed
-                            ? R.drawable.ic_work_app_badge_themed : R.drawable.ic_work_app_badge);
+            // Wrap the main icon in AID
+            try (LauncherIcons li = LauncherIcons.obtain(context)) {
+                result = li.wrapToAdaptiveIcon(mainIcon);
+            }
         }
+        if (result == null) {
+            return null;
+        }
+
+        // Inject monochrome icon drawable
+        if (ATLEAST_T && useTheme) {
+            result.mutate();
+            int[] colors = ThemedIconDrawable.getColors(context);
+            Drawable mono = result.getMonochrome();
+
+            if (mono != null) {
+                mono.setTint(colors[1]);
+            } else  if (info instanceof ItemInfoWithIcon iiwi) {
+                // Inject a previously generated monochrome icon
+                Bitmap monoBitmap = iiwi.bitmap.getMono();
+                if (monoBitmap != null) {
+                    // Use BitmapDrawable instead of FastBitmapDrawable so that the colorState is
+                    // preserved in constantState
+                    mono = new BitmapDrawable(monoBitmap);
+                    mono.setColorFilter(new BlendModeColorFilter(colors[1], BlendMode.SRC_IN));
+                    // Inset the drawable according to the AdaptiveIconDrawable layers
+                    mono = new InsetDrawable(mono, getExtraInsetFraction() / 2);
+                }
+            }
+            if (mono != null) {
+                result = new AdaptiveIconDrawable(new ColorDrawable(colors[0]), mono);
+            }
+        }
+
+        if (badge == null) {
+            badge = BitmapInfo.LOW_RES_INFO.withFlags(
+                            UserCache.INSTANCE.get(context)
+                                    .getUserInfo(info.user)
+                                    .applyBitmapInfoFlags(FlagOp.NO_OP))
+                    .getBadgeDrawable(context, useTheme);
+            if (badge == null) {
+                badge = new ColorDrawable(Color.TRANSPARENT);
+            }
+        }
+        return Pair.create(result, badge);
     }
 
     public static float squaredHypot(float x, float y) {
@@ -739,10 +757,16 @@
      */
     public static List<SplitPositionOption> getSplitPositionOptions(
             DeviceProfile dp) {
+        int splitIconRes = dp.isLeftRightSplit
+                ? R.drawable.ic_split_horizontal
+                : R.drawable.ic_split_vertical;
+        int stagePosition = dp.isLeftRightSplit
+                ? STAGE_POSITION_BOTTOM_OR_RIGHT
+                : STAGE_POSITION_TOP_OR_LEFT;
         return Collections.singletonList(new SplitPositionOption(
-                dp.isLandscape ? R.drawable.ic_split_horizontal : R.drawable.ic_split_vertical,
+                splitIconRes,
                 R.string.recent_task_option_split_screen,
-                dp.isLandscape ? STAGE_POSITION_BOTTOM_OR_RIGHT : STAGE_POSITION_TOP_OR_LEFT,
+                stagePosition,
                 STAGE_TYPE_MAIN
         ));
     }
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 8be8fed..be4168d 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -28,7 +28,9 @@
 import static com.android.launcher3.LauncherState.SPRING_LOADED;
 import static com.android.launcher3.MotionEventsUtils.isTrackpadMultiFingerSwipe;
 import static com.android.launcher3.anim.AnimatorListeners.forSuccessCallback;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_SMARTSPACE_REMOVAL;
 import static com.android.launcher3.config.FeatureFlags.FOLDABLE_SINGLE_PAGE;
+import static com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget;
 import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_HOME;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SWIPELEFT;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SWIPERIGHT;
@@ -71,6 +73,8 @@
 import com.android.launcher3.accessibility.AccessibleDragListenerAdapter;
 import com.android.launcher3.accessibility.WorkspaceAccessibilityHelper;
 import com.android.launcher3.anim.PendingAnimation;
+import com.android.launcher3.apppairs.AppPairIcon;
+import com.android.launcher3.celllayout.CellInfo;
 import com.android.launcher3.celllayout.CellLayoutLayoutParams;
 import com.android.launcher3.celllayout.CellPosMapper;
 import com.android.launcher3.celllayout.CellPosMapper.CellPos;
@@ -186,7 +190,7 @@
     /**
      * CellInfo for the cell that is currently being dragged
      */
-    protected CellLayout.CellInfo mDragInfo;
+    protected CellInfo mDragInfo;
 
     /**
      * Target drop area calculated during last acceptDrop call.
@@ -346,7 +350,7 @@
             setPageSpacing(Math.max(maxInsets, maxPadding));
         }
 
-        updateCellLayoutPadding();
+        updateCellLayoutMeasures();
         updateWorkspaceWidgetsSizes();
         setPageIndicatorInset();
     }
@@ -370,10 +374,12 @@
         mPageIndicator.setLayoutParams(lp);
     }
 
-    private void updateCellLayoutPadding() {
+    private void updateCellLayoutMeasures() {
         Rect padding = mLauncher.getDeviceProfile().cellLayoutPaddingPx;
-        mWorkspaceScreens.forEach(
-                s -> s.setPadding(padding.left, padding.top, padding.right, padding.bottom));
+        mWorkspaceScreens.forEach(cellLayout -> {
+            cellLayout.setPadding(padding.left, padding.top, padding.right, padding.bottom);
+            cellLayout.setSpaceBetweenCellLayoutsPx(getPageSpacing() / 4);
+        });
     }
 
     private void updateWorkspaceWidgetsSizes() {
@@ -594,17 +600,19 @@
      * Initializes and binds the first page
      */
     public void bindAndInitFirstWorkspaceScreen() {
-        if (!FeatureFlags.QSB_ON_FIRST_SCREEN) {
+        if ((!FeatureFlags.QSB_ON_FIRST_SCREEN
+                || !mLauncher.getIsFirstPagePinnedItemEnabled())
+                || shouldShowFirstPageWidget()) {
+            mFirstPagePinnedItem = null;
             return;
         }
 
         // Add the first page
         CellLayout firstPage = insertNewWorkspaceScreen(Workspace.FIRST_SCREEN_ID, getChildCount());
-        // Always add a first page pinned widget on the first screen.
         if (mFirstPagePinnedItem == null) {
             // In transposed layout, we add the first page pinned widget in the Grid.
             // As workspace does not touch the edges, we do not need a full
-            // width first page pinned widget.
+            // width first page pinned item.
             mFirstPagePinnedItem = LayoutInflater.from(getContext())
                     .inflate(R.layout.search_container_workspace, firstPage, false);
         }
@@ -624,7 +632,7 @@
         // transition animations competing with us changing the scroll when we add pages
         disableLayoutTransitions();
 
-        // Recycle the first page pinned widget
+        // Recycle the first page pinned item
         if (mFirstPagePinnedItem != null) {
             ((ViewGroup) mFirstPagePinnedItem.getParent()).removeView(mFirstPagePinnedItem);
         }
@@ -635,12 +643,14 @@
         mScreenOrder.clear();
         mWorkspaceScreens.clear();
 
+        // Ensure that the first page is always present
+        if (!ENABLE_SMARTSPACE_REMOVAL.get()) {
+            bindAndInitFirstWorkspaceScreen();
+        }
+
         // Remove any deferred refresh callbacks
         mLauncher.mHandler.removeCallbacksAndMessages(DeferredWidgetRefresh.class);
 
-        // Ensure that the first page is always present
-        bindAndInitFirstWorkspaceScreen();
-
         // Re-enable the layout transitions
         enableLayoutTransitions();
     }
@@ -683,7 +693,7 @@
                 mLauncher.getStateManager().getState(), newScreen, insertIndex);
 
         updatePageScrollValues();
-        updateCellLayoutPadding();
+        updateCellLayoutMeasures();
         return newScreen;
     }
 
@@ -799,6 +809,13 @@
         // and we store them as extra empty screens.
         for (int i = 0; i < finalScreens.size(); i++) {
             int screenId = finalScreens.keyAt(i);
+
+            // We don't want to remove the first screen even if it's empty because that's where
+            // first page pinned item would go if it gets turned back on.
+            if (ENABLE_SMARTSPACE_REMOVAL.get() && screenId == FIRST_SCREEN_ID) {
+                continue;
+            }
+
             CellLayout screen = finalScreens.get(screenId);
 
             mWorkspaceScreens.remove(screenId);
@@ -1012,7 +1029,9 @@
             int id = mWorkspaceScreens.keyAt(i);
             CellLayout cl = mWorkspaceScreens.valueAt(i);
             // FIRST_SCREEN_ID can never be removed.
-            if ((!FeatureFlags.QSB_ON_FIRST_SCREEN || id > FIRST_SCREEN_ID)
+            if (((!FeatureFlags.QSB_ON_FIRST_SCREEN
+                    || shouldShowFirstPageWidget())
+                    || id > FIRST_SCREEN_ID)
                     && cl.getShortcutsAndWidgets().getChildCount() == 0) {
                 removeScreens.add(id);
             }
@@ -1602,7 +1621,7 @@
         page.setAccessibilityDelegate(null);
     }
 
-    public void startDrag(CellLayout.CellInfo cellInfo, DragOptions options) {
+    public void startDrag(CellInfo cellInfo, DragOptions options) {
         View child = cellInfo.cell;
 
         mDragInfo = cellInfo;
@@ -1766,7 +1785,7 @@
             int spanX;
             int spanY;
             if (mDragInfo != null) {
-                final CellLayout.CellInfo dragCellInfo = mDragInfo;
+                final CellInfo dragCellInfo = mDragInfo;
                 spanX = dragCellInfo.spanX;
                 spanY = dragCellInfo.spanY;
             } else {
@@ -2858,6 +2877,10 @@
                     view = FolderIcon.inflateFolderAndIcon(R.layout.folder_icon, mLauncher, cellLayout,
                             (FolderInfo) info);
                     break;
+                case LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR:
+                    view = AppPairIcon.inflateIcon(R.layout.app_pair_icon, mLauncher, cellLayout,
+                            (FolderInfo) info);
+                    break;
                 default:
                     throw new IllegalStateException("Unknown item type: " + info.itemType);
             }
@@ -3056,7 +3079,7 @@
      * so that Launcher can sync this object with the correct info when the activity is created/
      * destroyed
      */
-    public CellLayout.CellInfo getDragInfo() {
+    public CellInfo getDragInfo() {
         return mDragInfo;
     }
 
@@ -3413,7 +3436,8 @@
             if (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_NOT_VALID)) {
                 widgetInfo = widgetHelper.findProvider(item.providerName, item.user);
             } else {
-                widgetInfo = widgetHelper.getLauncherAppWidgetInfo(item.appWidgetId);
+                widgetInfo = widgetHelper.getLauncherAppWidgetInfo(item.appWidgetId,
+                        item.getTargetComponent());
             }
 
             if (widgetInfo != null) {
diff --git a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
index e4f34ae..2315111 100644
--- a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
+++ b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
@@ -34,6 +34,7 @@
 import static com.android.launcher3.LauncherState.NORMAL;
 import static com.android.launcher3.LauncherState.WORKSPACE_PAGE_INDICATOR;
 import static com.android.launcher3.anim.PropertySetter.NO_ANIM_PROPERTY_SETTER;
+import static com.android.launcher3.config.FeatureFlags.FOLDABLE_SINGLE_PAGE;
 import static com.android.launcher3.graphics.Scrim.SCRIM_PROGRESS;
 import static com.android.launcher3.states.StateAnimationConfig.ANIM_HOTSEAT_FADE;
 import static com.android.launcher3.states.StateAnimationConfig.ANIM_HOTSEAT_SCALE;
@@ -48,6 +49,7 @@
 import android.animation.ValueAnimator;
 import android.util.FloatProperty;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.animation.Interpolator;
 
 import com.android.launcher3.LauncherState.PageAlphaProvider;
@@ -163,6 +165,8 @@
                 state.hasFlag(FLAG_HOTSEAT_INACCESSIBLE)
                         ? View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
                         : View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
+        hotseat.setDescendantFocusability(state.hasFlag(FLAG_HOTSEAT_INACCESSIBLE)
+                ? ViewGroup.FOCUS_BLOCK_DESCENDANTS : ViewGroup.FOCUS_BEFORE_DESCENDANTS);
 
         Interpolator translationInterpolator =
                 config.getInterpolator(ANIM_WORKSPACE_TRANSLATE, ZOOM_OUT);
@@ -172,9 +176,13 @@
                 scaleAndTranslation.translationY, translationInterpolator);
         PageTranslationProvider pageTranslationProvider = state.getWorkspacePageTranslationProvider(
                 mLauncher);
-        for (int i = 0; i < childCount; i++) {
-            applyPageTranslation((CellLayout) mWorkspace.getChildAt(i), i, pageTranslationProvider,
-                    propertySetter, config);
+
+        if (!FOLDABLE_SINGLE_PAGE.get()) {
+            for (int i = 0; i < childCount; i++) {
+                applyPageTranslation((CellLayout) mWorkspace.getChildAt(i), i,
+                        pageTranslationProvider,
+                        propertySetter, config);
+            }
         }
 
         Interpolator hotseatTranslationInterpolator = config.getInterpolator(
diff --git a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
index 758bffb..ac5b528 100644
--- a/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
+++ b/src/com/android/launcher3/accessibility/LauncherAccessibilityDelegate.java
@@ -37,7 +37,6 @@
 import com.android.launcher3.model.data.LauncherAppWidgetInfo;
 import com.android.launcher3.model.data.WorkspaceItemFactory;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
-import com.android.launcher3.notification.NotificationListener;
 import com.android.launcher3.popup.ArrowPopup;
 import com.android.launcher3.popup.PopupContainerWithArrow;
 import com.android.launcher3.touch.ItemLongClickListener;
@@ -70,7 +69,6 @@
     protected static final int MOVE_TO_WORKSPACE = R.id.action_move_to_workspace;
     protected static final int RESIZE = R.id.action_resize;
     public static final int DEEP_SHORTCUTS = R.id.action_deep_shortcuts;
-    public static final int SHORTCUTS_AND_NOTIFICATIONS = R.id.action_shortcuts_and_notifications;
 
     public LauncherAccessibilityDelegate(Launcher launcher) {
         super(launcher);
@@ -93,8 +91,6 @@
                 RESIZE, R.string.action_resize, KeyEvent.KEYCODE_R));
         mActions.put(DEEP_SHORTCUTS, new LauncherAction(DEEP_SHORTCUTS,
                 R.string.action_deep_shortcut, KeyEvent.KEYCODE_S));
-        mActions.put(SHORTCUTS_AND_NOTIFICATIONS, new LauncherAction(DEEP_SHORTCUTS,
-                R.string.shortcuts_menu_with_notifications_description, KeyEvent.KEYCODE_S));
     }
 
     @Override
@@ -102,8 +98,7 @@
         // If the request came from keyboard, do not add custom shortcuts as that is already
         // exposed as a direct shortcut
         if (ShortcutUtil.supportsShortcuts(item)) {
-            out.add(mActions.get(NotificationListener.getInstanceIfConnected() != null
-                    ? SHORTCUTS_AND_NOTIFICATIONS : DEEP_SHORTCUTS));
+            out.add(mActions.get(DEEP_SHORTCUTS));
         }
 
         for (ButtonDropTarget target : mContext.getDropTargetBar().getDropTargets()) {
@@ -188,7 +183,7 @@
                 host.performAccessibilityAction(ACTION_ACCESSIBILITY_FOCUS, null);
             });
             return true;
-        } else if (action == DEEP_SHORTCUTS || action == SHORTCUTS_AND_NOTIFICATIONS) {
+        } else if (action == DEEP_SHORTCUTS) {
             BubbleTextView btv = host instanceof BubbleTextView ? (BubbleTextView) host
                     : (host instanceof BubbleTextHolder
                             ? ((BubbleTextHolder) host).getBubbleText() : null);
diff --git a/src/com/android/launcher3/accessibility/ShortcutMenuAccessibilityDelegate.java b/src/com/android/launcher3/accessibility/ShortcutMenuAccessibilityDelegate.java
index fb847ec..d115f9f 100644
--- a/src/com/android/launcher3/accessibility/ShortcutMenuAccessibilityDelegate.java
+++ b/src/com/android/launcher3/accessibility/ShortcutMenuAccessibilityDelegate.java
@@ -19,7 +19,6 @@
 import static com.android.launcher3.LauncherState.NORMAL;
 import static com.android.launcher3.anim.AnimatorListeners.forSuccessCallback;
 
-import android.view.KeyEvent;
 import android.view.View;
 
 import com.android.launcher3.AbstractFloatingView;
@@ -28,7 +27,6 @@
 import com.android.launcher3.R;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
-import com.android.launcher3.notification.NotificationMainView;
 import com.android.launcher3.shortcuts.DeepShortcutView;
 
 import java.util.Collections;
@@ -40,22 +38,14 @@
  */
 public class ShortcutMenuAccessibilityDelegate extends LauncherAccessibilityDelegate {
 
-    private static final int DISMISS_NOTIFICATION = R.id.action_dismiss_notification;
-
     public ShortcutMenuAccessibilityDelegate(Launcher launcher) {
         super(launcher);
-        mActions.put(DISMISS_NOTIFICATION, new LauncherAction(DISMISS_NOTIFICATION,
-                R.string.action_dismiss_notification, KeyEvent.KEYCODE_X));
     }
 
     @Override
     protected void getSupportedActions(View host, ItemInfo item, List<LauncherAction> out) {
         if ((host.getParent() instanceof DeepShortcutView)) {
             out.add(mActions.get(ADD_TO_WORKSPACE));
-        } else if (host instanceof NotificationMainView) {
-            if (((NotificationMainView) host).canChildBeDismissed()) {
-                out.add(mActions.get(DISMISS_NOTIFICATION));
-            }
         }
     }
 
@@ -80,13 +70,6 @@
                 announceConfirmation(R.string.item_added_to_workspace);
             }));
             return true;
-        } else if (action == DISMISS_NOTIFICATION) {
-            if (!(host instanceof NotificationMainView)) {
-                return false;
-            }
-            ((NotificationMainView) host).onChildDismissed();
-            announceConfirmation(R.string.notification_dismissed);
-            return true;
         }
         return false;
     }
diff --git a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
index 40382b2..55438fe 100644
--- a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java
@@ -15,6 +15,8 @@
  */
 package com.android.launcher3.allapps;
 
+import static com.android.launcher3.Flags.enableExpandingPauseWorkButton;
+import static com.android.launcher3.allapps.ActivityAllAppsContainerView.AdapterHolder.MAIN;
 import static com.android.launcher3.allapps.ActivityAllAppsContainerView.AdapterHolder.SEARCH;
 import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_WORK_DISABLED_CARD;
 import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_WORK_EDU_CARD;
@@ -68,6 +70,7 @@
 import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
 import com.android.launcher3.DragSource;
 import com.android.launcher3.DropTarget.DragObject;
+import com.android.launcher3.Flags;
 import com.android.launcher3.Insettable;
 import com.android.launcher3.InsettableFrameLayout;
 import com.android.launcher3.R;
@@ -79,6 +82,8 @@
 import com.android.launcher3.keyboard.FocusedItemDecorator;
 import com.android.launcher3.model.StringCache;
 import com.android.launcher3.model.data.ItemInfo;
+import com.android.launcher3.pm.UserCache;
+import com.android.launcher3.recyclerview.AllAppsRecyclerViewPool;
 import com.android.launcher3.util.ItemInfoMatcher;
 import com.android.launcher3.util.Themes;
 import com.android.launcher3.views.ActivityContext;
@@ -130,7 +135,8 @@
     protected final List<AdapterHolder> mAH;
     protected final Predicate<ItemInfo> mPersonalMatcher = ItemInfoMatcher.ofUser(
             Process.myUserHandle());
-    protected final WorkProfileManager mWorkManager;
+    protected WorkProfileManager mWorkManager;
+    protected final PrivateProfileManager mPrivateProfileManager;
     protected final Point mFastScrollerOffset = new Point();
     protected final int mScrimColor;
     protected final float mHeaderThreshold;
@@ -173,6 +179,7 @@
     protected SearchAdapterProvider<?> mMainAdapterProvider;
     private View mBottomSheetHandleArea;
     private boolean mHasWorkApps;
+    private boolean mHasPrivateApps;
     private float[] mBottomSheetCornerRadii;
     private ScrimView mScrimView;
     private int mHeaderColor;
@@ -182,6 +189,8 @@
     private int mTabsProtectionAlpha;
     @Nullable private AllAppsTransitionController mAllAppsTransitionController;
 
+    private PrivateSpaceHeaderViewController mPrivateSpaceHeaderViewController;
+
     public ActivityAllAppsContainerView(Context context) {
         this(context, null);
     }
@@ -202,7 +211,14 @@
 
         mWorkManager = new WorkProfileManager(
                 mActivityContext.getSystemService(UserManager.class),
-                this, mActivityContext.getStatsLogManager());
+                this,
+                mActivityContext.getStatsLogManager(),
+                UserCache.INSTANCE.get(mActivityContext));
+        mPrivateProfileManager = new PrivateProfileManager(
+                mActivityContext.getSystemService(UserManager.class),
+                this,
+                mActivityContext.getStatsLogManager(),
+                UserCache.INSTANCE.get(mActivityContext));
         mAH = Arrays.asList(null, null, null);
         mNavBarScrimPaint = new Paint();
         mNavBarScrimPaint.setColor(Themes.getNavBarScrimColor(mActivityContext));
@@ -242,13 +258,20 @@
      */
     protected void initContent() {
         mMainAdapterProvider = mSearchUiDelegate.createMainAdapterProvider();
+        if (Flags.enablePrivateSpace()) {
+            mPrivateSpaceHeaderViewController =
+                    new PrivateSpaceHeaderViewController(this, mPrivateProfileManager);
+        }
 
         mAH.set(AdapterHolder.MAIN, new AdapterHolder(AdapterHolder.MAIN,
-                new AlphabeticalAppsList<>(mActivityContext, mAllAppsStore, null)));
+                new AlphabeticalAppsList<>(mActivityContext,
+                        mAllAppsStore,
+                        null,
+                        mPrivateProfileManager)));
         mAH.set(AdapterHolder.WORK, new AdapterHolder(AdapterHolder.WORK,
-                new AlphabeticalAppsList<>(mActivityContext, mAllAppsStore, mWorkManager)));
+                new AlphabeticalAppsList<>(mActivityContext, mAllAppsStore, mWorkManager, null)));
         mAH.set(SEARCH, new AdapterHolder(SEARCH,
-                new AlphabeticalAppsList<>(mActivityContext, null, null)));
+                new AlphabeticalAppsList<>(mActivityContext, null, null, null)));
 
         getLayoutInflater().inflate(R.layout.all_apps_content, this);
         mHeader = findViewById(R.id.all_apps_header);
@@ -384,7 +407,7 @@
             // If exiting search, revert predictive back scale on all apps
             mAllAppsTransitionController.animateAllAppsToNoScale();
         }
-        mSearchTransitionController.animateToSearchState(goingToSearch, durationMs,
+        mSearchTransitionController.animateToState(goingToSearch, durationMs,
                 /* onEndRunnable = */ () -> {
                     mIsSearching = goingToSearch;
                     updateSearchResultsVisibility();
@@ -472,6 +495,30 @@
         }
     }
 
+    /**
+     * Exits search and returns to A-Z apps list. Scroll to the bottom.
+     */
+    public void resetAndScrollToBottom() {
+        if (mTouchHandler != null) {
+            mTouchHandler.endFastScrolling();
+        }
+
+        // Reset the base recycler view after transitioning home.
+        updateHeaderScroll(0);
+
+        // Animate to A-Z with 0 time to reset the animation with proper state management.
+        animateToSearchState(false, 0);
+
+        MAIN_EXECUTOR.getHandler().post(() -> {
+            // Reset the search bar after transitioning home.
+            mSearchUiManager.resetSearch();
+            // Switch to the main tab
+            switchToTab(ActivityAllAppsContainerView.AdapterHolder.MAIN);
+            // Scroll to bottom
+            getActiveRecyclerView().scrollToBottomWithMotion();
+        });
+    }
+
     @Override
     public boolean dispatchKeyEvent(KeyEvent event) {
         mSearchUiManager.preDispatchKeyEvent(event);
@@ -559,9 +606,10 @@
             mainRecyclerView = (AllAppsRecyclerView) mViewPager.getChildAt(0);
             workRecyclerView = (AllAppsRecyclerView) mViewPager.getChildAt(1);
             mAH.get(AdapterHolder.MAIN).setup(mainRecyclerView, mPersonalMatcher);
-            mAH.get(AdapterHolder.WORK).setup(workRecyclerView, mWorkManager.getMatcher());
+            mAH.get(AdapterHolder.WORK).setup(workRecyclerView, mWorkManager.getItemInfoMatcher());
             workRecyclerView.setId(R.id.apps_list_view_work);
-            if (FeatureFlags.ENABLE_EXPANDING_PAUSE_WORK_BUTTON.get()) {
+            if (enableExpandingPauseWorkButton()
+                    || FeatureFlags.ENABLE_EXPANDING_PAUSE_WORK_BUTTON.get()) {
                 mAH.get(AdapterHolder.WORK).mRecyclerView.addOnScrollListener(
                         mWorkManager.newScrollListener());
             }
@@ -587,7 +635,7 @@
         } else {
             mainRecyclerView = findViewById(R.id.apps_list_view);
             workRecyclerView = null;
-            mAH.get(AdapterHolder.MAIN).setup(mainRecyclerView, null);
+            mAH.get(AdapterHolder.MAIN).setup(mainRecyclerView, mPersonalMatcher);
             mAH.get(AdapterHolder.WORK).mRecyclerView = null;
         }
         setUpCustomRecyclerViewPool(
@@ -621,16 +669,18 @@
     private static void setUpCustomRecyclerViewPool(
             @NonNull AllAppsRecyclerView mainRecyclerView,
             @Nullable AllAppsRecyclerView workRecyclerView,
-            @NonNull RecyclerView.RecycledViewPool recycledViewPool) {
+            @NonNull AllAppsRecyclerViewPool recycledViewPool) {
         if (!ENABLE_ALL_APPS_RV_PREINFLATION.get()) {
             return;
         }
+        final boolean hasWorkProfile = workRecyclerView != null;
+        recycledViewPool.setHasWorkProfile(hasWorkProfile);
         mainRecyclerView.setRecycledViewPool(recycledViewPool);
         if (workRecyclerView != null) {
             workRecyclerView.setRecycledViewPool(recycledViewPool);
         }
         if (ALL_APPS_GONE_VISIBILITY.get()) {
-            mainRecyclerView.updatePoolSize();
+            mainRecyclerView.updatePoolSize(hasWorkProfile);
         }
     }
 
@@ -793,7 +843,7 @@
      */
     public int getFloatingSearchBarRestingMarginStart() {
         DeviceProfile dp = mActivityContext.getDeviceProfile();
-        return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin();
+        return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin(mActivityContext);
     }
 
     /**
@@ -806,7 +856,7 @@
      */
     public int getFloatingSearchBarRestingMarginEnd() {
         DeviceProfile dp = mActivityContext.getDeviceProfile();
-        return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin();
+        return dp.allAppsLeftRightMargin + dp.getAllAppsIconStartMargin(mActivityContext);
     }
 
     private void layoutBelowSearchContainer(View v, boolean includeTabsMargin) {
@@ -853,7 +903,7 @@
 
     protected BaseAllAppsAdapter<T> createAdapter(AlphabeticalAppsList<T> appsList) {
         return new AllAppsGridAdapter<>(mActivityContext, getLayoutInflater(), appsList,
-                mMainAdapterProvider);
+                mMainAdapterProvider, mPrivateSpaceHeaderViewController);
     }
 
     // TODO(b/216683257): Remove when Taskbar All Apps supports search.
@@ -930,6 +980,11 @@
         return mWorkManager;
     }
 
+    /** Returns whether Private Profile has been setup. */
+    public boolean hasPrivateProfile() {
+        return mHasPrivateApps;
+    }
+
     @Override
     public void onDeviceProfileChanged(DeviceProfile dp) {
         for (AdapterHolder holder : mAH) {
@@ -964,13 +1019,20 @@
         mBottomSheetAlpha = mActivityContext.getDeviceProfile().isTablet ? 1f : alpha;
     }
 
-    private void onAppsUpdated() {
-        mHasWorkApps = Stream.of(mAllAppsStore.getApps()).anyMatch(mWorkManager.getMatcher());
+    @VisibleForTesting
+    public void onAppsUpdated() {
+        mHasWorkApps = Stream.of(mAllAppsStore.getApps())
+                .anyMatch(mWorkManager.getItemInfoMatcher());
+        mHasPrivateApps = Stream.of(mAllAppsStore.getApps())
+                .anyMatch(mPrivateProfileManager.getItemInfoMatcher());
         if (!isSearching()) {
             rebindAdapters();
-            if (mHasWorkApps) {
-                mWorkManager.reset();
-            }
+        }
+        if (mHasWorkApps) {
+            mWorkManager.reset();
+        }
+        if (mHasPrivateApps) {
+            mPrivateProfileManager.reset();
         }
 
         mActivityContext.getStatsLogManager().logger()
@@ -1038,6 +1100,11 @@
         return getActiveAppsRecyclerView();
     }
 
+    /** The current focus change listener in the search container. */
+    public OnFocusChangeListener getSearchFocusChangeListener() {
+        return mAH.get(AdapterHolder.SEARCH).mOnFocusChangeListener;
+    }
+
     /** The current apps recycler view in the container. */
     private AllAppsRecyclerView getActiveAppsRecyclerView() {
         if (!mUsingTabs || isPersonalTab()) {
@@ -1088,22 +1155,22 @@
 
         applyAdapterSideAndBottomPaddings(grid);
 
-        MarginLayoutParams mlp = (MarginLayoutParams) getLayoutParams();
-        mlp.leftMargin = insets.left;
-        mlp.rightMargin = insets.right;
-        setLayoutParams(mlp);
+        // Ignore left/right insets on tablet because we are already centered in-screen.
+        if (grid.isPhone) {
+            MarginLayoutParams mlp = (MarginLayoutParams) getLayoutParams();
+            mlp.leftMargin = insets.left;
+            mlp.rightMargin = insets.right;
+            setLayoutParams(mlp);
+        }
 
-        if (grid.isVerticalBarLayout()) {
-            setPadding(grid.workspacePadding.left, 0, grid.workspacePadding.right, 0);
-        } else {
-            int topPadding = grid.allAppsTopPadding;
+        if (!grid.isVerticalBarLayout() || FeatureFlags.enableResponsiveWorkspace()) {
+            int topPadding = grid.allAppsPadding.top;
             if (isSearchBarFloating() && !grid.isTablet) {
                 topPadding += getResources().getDimensionPixelSize(
                         R.dimen.all_apps_additional_top_padding_floating_search);
             }
             setPadding(grid.allAppsLeftRightMargin, topPadding, grid.allAppsLeftRightMargin, 0);
         }
-
         InsettableFrameLayout.dispatchInsets(this, insets);
     }
 
@@ -1157,8 +1224,8 @@
         int bottomPadding = Math.max(mInsets.bottom, mNavBarScrimHeight);
         mAH.forEach(adapterHolder -> {
             adapterHolder.mPadding.bottom = bottomPadding;
-            adapterHolder.mPadding.left =
-                    adapterHolder.mPadding.right = grid.allAppsLeftRightPadding;
+            adapterHolder.mPadding.left = grid.allAppsPadding.left;
+            adapterHolder.mPadding.right = grid.allAppsPadding.right;
             adapterHolder.applyPadding();
         });
     }
@@ -1215,6 +1282,11 @@
     }
 
     @VisibleForTesting
+    public void setWorkManager(WorkProfileManager workManager) {
+        mWorkManager = workManager;
+    }
+
+    @VisibleForTesting
     public boolean isPersonalTabVisible() {
         return isDescendantViewVisible(R.id.tab_personal);
     }
@@ -1228,6 +1300,10 @@
         return mAH.get(SEARCH).mAppsList;
     }
 
+    public AlphabeticalAppsList<T> getPersonalAppList() {
+        return mAH.get(MAIN).mAppsList;
+    }
+
     public FloatingHeaderView getFloatingHeaderView() {
         return mHeader;
     }
@@ -1244,6 +1320,10 @@
                 : mViewPager == null ? AdapterHolder.MAIN : mViewPager.getNextPage();
     }
 
+    public PrivateProfileManager getPrivateProfileManager() {
+        return mPrivateProfileManager;
+    }
+
     /**
      * Adds an update listener to animator that adds springs to the animation.
      */
@@ -1430,6 +1510,7 @@
         final AlphabeticalAppsList<T> mAppsList;
         final Rect mPadding = new Rect();
         AllAppsRecyclerView mRecyclerView;
+        private OnFocusChangeListener mOnFocusChangeListener;
 
         AdapterHolder(int type, AlphabeticalAppsList<T> appsList) {
             mType = type;
@@ -1453,7 +1534,8 @@
             onInitializeRecyclerView(mRecyclerView);
             FocusedItemDecorator focusedItemDecorator = new FocusedItemDecorator(mRecyclerView);
             mRecyclerView.addItemDecoration(focusedItemDecorator);
-            mAdapter.setIconFocusListener(focusedItemDecorator.getFocusListener());
+            mOnFocusChangeListener = focusedItemDecorator.getFocusListener();
+            mAdapter.setIconFocusListener(mOnFocusChangeListener);
             applyPadding();
         }
 
diff --git a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
index df383bf..5f002b5 100644
--- a/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
+++ b/src/com/android/launcher3/allapps/AllAppsGridAdapter.java
@@ -73,8 +73,9 @@
 
 
     public AllAppsGridAdapter(T activityContext, LayoutInflater inflater,
-            AlphabeticalAppsList apps, SearchAdapterProvider<?> adapterProvider) {
-        super(activityContext, inflater, apps, adapterProvider);
+            AlphabeticalAppsList apps, SearchAdapterProvider<?> adapterProvider,
+            PrivateSpaceHeaderViewController privateSpaceHeaderViewController) {
+        super(activityContext, inflater, apps, adapterProvider, privateSpaceHeaderViewController);
         mGridLayoutMgr = new AppsGridLayoutManager(mActivityContext);
         mGridLayoutMgr.setSpanSizeLookup(new GridSpanSizer());
         setAppsPerRow(activityContext.getDeviceProfile().numShownAllAppsColumns);
diff --git a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
index 7edbeac..36a44cc 100644
--- a/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsRecyclerView.java
@@ -16,6 +16,7 @@
 package com.android.launcher3.allapps;
 
 import static com.android.launcher3.config.FeatureFlags.ALL_APPS_GONE_VISIBILITY;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_ALL_APPS_RV_PREINFLATION;
 import static com.android.launcher3.logger.LauncherAtom.ContainerInfo;
 import static com.android.launcher3.logger.LauncherAtom.SearchResultContainer;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_PERSONAL_SCROLLED_DOWN;
@@ -35,7 +36,11 @@
 import android.graphics.Canvas;
 import android.util.AttributeSet;
 import android.util.Log;
+import android.view.View;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.util.Consumer;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.launcher3.DeviceProfile;
@@ -56,6 +61,7 @@
     protected static final String TAG = "AllAppsRecyclerView";
     private static final boolean DEBUG = false;
     private static final boolean DEBUG_LATENCY = Utilities.isPropertyEnabled(SEARCH_LOGGING);
+    private Consumer<View> mChildAttachedConsumer;
 
     protected final int mNumAppsPerRow;
     private final AllAppsFastScrollHelper mFastScrollHelper;
@@ -94,21 +100,29 @@
     }
 
     protected void updatePoolSize() {
+        updatePoolSize(false);
+    }
+
+    void updatePoolSize(boolean hasWorkProfile) {
         DeviceProfile grid = ActivityContext.lookupContext(getContext()).getDeviceProfile();
         RecyclerView.RecycledViewPool pool = getRecycledViewPool();
-        int approxRows = (int) Math.ceil(grid.availableHeightPx / grid.allAppsIconSizePx);
         pool.setMaxRecycledViews(AllAppsGridAdapter.VIEW_TYPE_EMPTY_SEARCH, 1);
         pool.setMaxRecycledViews(AllAppsGridAdapter.VIEW_TYPE_ALL_APPS_DIVIDER, 1);
 
-        // If all apps' hidden visibility is INVISIBLE, we will need to preinflate one page of
-        // all apps icons for smooth scrolling.
-        int maxPoolSizeForAppIcons = (approxRows + 1) * grid.numShownAllAppsColumns;
-        if (ALL_APPS_GONE_VISIBILITY.get()) {
-            // If all apps' hidden visibility is GONE, we need to increase prefinated icons number
-            // by [PREINFLATE_ICONS_ROW_COUNT] rows + [EXTRA_ICONS_COUNT] for fast opening all apps.
+        // By default the max num of pool size for app icons is num of app icons in one page of
+        // all apps.
+        int maxPoolSizeForAppIcons = grid.getMaxAllAppsRowCount()
+                * grid.numShownAllAppsColumns;
+        if (ALL_APPS_GONE_VISIBILITY.get() && ENABLE_ALL_APPS_RV_PREINFLATION.get()) {
+            // If we set all apps' hidden visibility to GONE and enable pre-inflation, we want to
+            // preinflate one page of all apps icons plus [PREINFLATE_ICONS_ROW_COUNT] rows +
+            // [EXTRA_ICONS_COUNT]. Thus we need to bump the max pool size of app icons accordingly.
             maxPoolSizeForAppIcons +=
                     PREINFLATE_ICONS_ROW_COUNT * grid.numShownAllAppsColumns + EXTRA_ICONS_COUNT;
         }
+        if (hasWorkProfile) {
+            maxPoolSizeForAppIcons *= 2;
+        }
         pool.setMaxRecycledViews(
                 AllAppsGridAdapter.VIEW_TYPE_ICON, maxPoolSizeForAppIcons);
     }
@@ -273,6 +287,22 @@
         }
     }
 
+    /**
+     * This will be called just before a new child is attached to the window. Passing in null will
+     * remove the consumer.
+     */
+    protected void setChildAttachedConsumer(@Nullable Consumer<View> childAttachedConsumer) {
+        mChildAttachedConsumer = childAttachedConsumer;
+    }
+
+    @Override
+    public void onChildAttachedToWindow(@NonNull View child) {
+        if (mChildAttachedConsumer != null) {
+            mChildAttachedConsumer.accept(child);
+        }
+        super.onChildAttachedToWindow(child);
+    }
+
     @Override
     public int getScrollBarTop() {
         return ActivityContext.lookupContext(getContext()).getAppsView().isSearchSupported()
diff --git a/src/com/android/launcher3/allapps/AllAppsStore.java b/src/com/android/launcher3/allapps/AllAppsStore.java
index e724858..051cf50 100644
--- a/src/com/android/launcher3/allapps/AllAppsStore.java
+++ b/src/com/android/launcher3/allapps/AllAppsStore.java
@@ -27,7 +27,6 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.RecyclerView.RecycledViewPool;
 
 import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.model.data.AppInfo;
@@ -37,6 +36,7 @@
 import com.android.launcher3.util.PackageUserKey;
 import com.android.launcher3.views.ActivityContext;
 
+import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -82,22 +82,34 @@
     }
 
     /**
+     * Calling {@link #setApps(AppInfo[], int, Map, boolean)} with shouldPreinflate set to
+     * {@code true}. This method should be called in launcher (not for taskbar).
+     */
+    public void setApps(@Nullable AppInfo[] apps, int flags, Map<PackageUserKey, Integer> map) {
+        setApps(apps, flags, map, /* shouldPreinflate= */ true);
+    }
+
+    /**
      * Sets the current set of apps and sets mapping for {@link PackageUserKey} to Uid for
      * the current set of apps.
+     *
+     * <p> Note that shouldPreinflate param should be set to {@code false} for taskbar, because this
+     * method is too late to preinflate all apps, as user will open all apps in the same frame.
      */
-    public void setApps(@Nullable AppInfo[] apps, int flags, Map<PackageUserKey, Integer> map)  {
+    public void setApps(@Nullable AppInfo[] apps, int flags, Map<PackageUserKey, Integer> map,
+            boolean shouldPreinflate)  {
         mApps = apps == null ? EMPTY_ARRAY : apps;
         mModelFlags = flags;
         notifyUpdate();
         mPackageUserKeytoUidMap = map;
         // Preinflate all apps RV when apps has changed, which can happen after unlocking screen,
         // rotating screen, or downloading/upgrading apps.
-        if (ENABLE_ALL_APPS_RV_PREINFLATION.get()) {
+        if (shouldPreinflate && ENABLE_ALL_APPS_RV_PREINFLATION.get()) {
             mAllAppsRecyclerViewPool.preInflateAllAppsViewHolders(mContext);
         }
     }
 
-    RecycledViewPool getRecyclerViewPool() {
+    AllAppsRecyclerViewPool getRecyclerViewPool() {
         return mAllAppsRecyclerViewPool;
     }
 
@@ -112,6 +124,9 @@
      * @see com.android.launcher3.model.BgDataModel.Callbacks#FLAG_QUIET_MODE_ENABLED
      * @see com.android.launcher3.model.BgDataModel.Callbacks#FLAG_HAS_SHORTCUT_PERMISSION
      * @see com.android.launcher3.model.BgDataModel.Callbacks#FLAG_QUIET_MODE_CHANGE_PERMISSION
+     * @see com.android.launcher3.model.BgDataModel.Callbacks#FLAG_WORK_PROFILE_QUIET_MODE_ENABLED
+     * @see
+     * com.android.launcher3.model.BgDataModel.Callbacks#FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED
      */
     public boolean hasModelFlag(int mask) {
         return (mModelFlags & mask) != 0;
@@ -226,4 +241,13 @@
     public interface OnUpdateListener {
         void onAppsUpdated();
     }
+
+    /** Generate a dumpsys for each app package name and position in the apps list */
+    public void dump(String prefix, PrintWriter writer) {
+        writer.println(prefix + "\tAllAppsStore Apps[] size: " + mApps.length);
+        for (int i = 0; i < mApps.length; i++) {
+            writer.println(String.format("%s\tPackage index and name: %d/%s", prefix, i,
+                    mApps[i].componentName.getPackageName()));
+        }
+    }
 }
diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
index c09a5b9..e2c5795 100644
--- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java
+++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java
@@ -33,7 +33,6 @@
 import static com.android.launcher3.util.SystemUiController.UI_STATE_ALL_APPS;
 
 import android.animation.Animator;
-import android.animation.Animator.AnimatorListener;
 import android.animation.ObjectAnimator;
 import android.animation.ValueAnimator;
 import android.util.FloatProperty;
@@ -54,7 +53,6 @@
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.anim.AnimatedFloat;
-import com.android.launcher3.anim.AnimatorListeners;
 import com.android.launcher3.anim.PendingAnimation;
 import com.android.launcher3.anim.PropertySetter;
 import com.android.launcher3.config.FeatureFlags;
@@ -171,9 +169,6 @@
 
     private boolean mIsVerticalLayout;
 
-    // Whether this class should take care of closing the keyboard.
-    private boolean mShouldControlKeyboard;
-
     // Animation in this class is controlled by a single variable {@link mProgress}.
     // Visually, it represents top y coordinate of the all apps container if multiplied with
     // {@link mShiftRange}.
@@ -276,7 +271,6 @@
     public void setState(LauncherState state) {
         setProgress(state.getVerticalProgress(mLauncher));
         setAlphas(state, new StateAnimationConfig(), NO_ANIM_PROPERTY_SETTER);
-        onProgressAnimationEnd();
     }
 
     @Override
@@ -339,30 +333,16 @@
     public void setStateWithAnimation(LauncherState toState,
             StateAnimationConfig config, PendingAnimation builder) {
         if (mLauncher.isInState(ALL_APPS) && !ALL_APPS.equals(toState)) {
-            // For atomic animations, we close the keyboard immediately.
-            if (!config.userControlled && mShouldControlKeyboard) {
-                mLauncher.getAppsView().getSearchUiManager().getEditText().hideKeyboard();
-            }
-
             builder.addEndListener(success -> {
                 // Reset pull back progress and alpha after switching states.
                 ALL_APPS_PULL_BACK_TRANSLATION.set(this, ALL_APPS_PULL_BACK_TRANSLATION_DEFAULT);
                 ALL_APPS_PULL_BACK_ALPHA.set(this, ALL_APPS_PULL_BACK_ALPHA_DEFAULT);
 
-                // We only want to close the keyboard if the animation has completed successfully.
-                // The reason is that with keyboard sync, if the user swipes down from All Apps with
-                // the keyboard open and then changes their mind and swipes back up, we want the
-                // keyboard to remain open. However an onCancel signal is sent to the listeners
-                // (success = false), so we need to check for that.
-                if (config.userControlled && success && mShouldControlKeyboard) {
-                    mLauncher.getAppsView().getSearchUiManager().getEditText().hideKeyboard();
-                }
-
                 mAllAppScale.updateValue(1f);
             });
         }
 
-        if(FeatureFlags.ENABLE_PREMIUM_HAPTICS_ALL_APPS.get() && config.userControlled
+        if (FeatureFlags.ENABLE_PREMIUM_HAPTICS_ALL_APPS.get() && config.isUserControlled()
                 && Utilities.ATLEAST_S) {
             if (toState == ALL_APPS) {
                 builder.addOnFrameListener(
@@ -373,7 +353,9 @@
                         new VibrationAnimatorUpdateListener(this, mVibratorWrapper,
                                 0, SWIPE_DRAG_COMMIT_THRESHOLD));
             }
-            builder.addEndListener(mVibratorWrapper::cancelVibrate);
+            builder.addEndListener((unused) -> {
+                mVibratorWrapper.cancelVibrate();
+            });
         }
 
         float targetProgress = toState.getVerticalProgress(mLauncher);
@@ -385,10 +367,9 @@
 
         // need to decide depending on the release velocity
         Interpolator verticalProgressInterpolator = config.getInterpolator(ANIM_VERTICAL_PROGRESS,
-                config.userControlled ? LINEAR : DECELERATE_1_7);
+                config.isUserControlled() ? LINEAR : DECELERATE_1_7);
         Animator anim = createSpringAnimation(mProgress, targetProgress);
         anim.setInterpolator(verticalProgressInterpolator);
-        anim.addListener(getProgressAnimatorListener());
         builder.add(anim);
 
         setAlphas(toState, config, builder);
@@ -426,10 +407,6 @@
         mScrimView.setDrawingController(shouldProtectHeader ? mAppsView : null);
     }
 
-    public AnimatorListener getProgressAnimatorListener() {
-        return AnimatorListeners.forSuccessCallback(this::onProgressAnimationEnd);
-    }
-
     /**
      * see Launcher#setupViews
      */
@@ -443,8 +420,6 @@
         mAppsViewAlpha.setUpdateVisibility(true);
         mAppsViewTranslationY = new MultiPropertyFactory<>(
                 mAppsView, VIEW_TRANSLATE_Y, APPS_VIEW_INDEX_COUNT, Float::sum);
-
-        mShouldControlKeyboard = !mLauncher.getSearchConfig().isKeyboardSyncEnabled();
     }
 
     /**
@@ -528,18 +503,6 @@
     }
 
     /**
-     * Set the final view states based on the progress.
-     * TODO: This logic should go in {@link LauncherState}
-     */
-    private void onProgressAnimationEnd() {
-        if (Float.compare(mProgress, 1f) == 0) {
-            if (mShouldControlKeyboard) {
-                mLauncher.getAppsView().getSearchUiManager().getEditText().hideKeyboard();
-            }
-        }
-    }
-
-    /**
      * This VibrationAnimatorUpdateListener class takes in four parameters, a controller, start
      * threshold, end threshold, and a Vibrator wrapper. We use the progress given by the controller
      * as it gives an accurate progress that dictates where the vibrator should vibrate.
diff --git a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
index ee4b5bc..ad875e0 100644
--- a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
+++ b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
@@ -15,11 +15,17 @@
  */
 package com.android.launcher3.allapps;
 
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_LEFT;
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_RIGHT;
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_NOTHING;
+
 import android.content.Context;
 
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.recyclerview.widget.DiffUtil;
 
+import com.android.launcher3.Flags;
 import com.android.launcher3.allapps.BaseAllAppsAdapter.AdapterItem;
 import com.android.launcher3.model.data.AppInfo;
 import com.android.launcher3.model.data.ItemInfo;
@@ -47,6 +53,8 @@
 
     private final WorkProfileManager mWorkProviderManager;
 
+    private final PrivateProfileManager mPrivateProviderManager;
+
     /**
      * Info about a fast scroller section, depending if sections are merged, the fast scroller
      * sections will not be the same set as the section headers.
@@ -68,6 +76,7 @@
 
     // The set of apps from the system
     private final List<AppInfo> mApps = new ArrayList<>();
+    private final List<AppInfo> mPrivateApps = new ArrayList<>();
     @Nullable
     private final AllAppsStore<T> mAllAppsStore;
 
@@ -87,11 +96,12 @@
     private Predicate<ItemInfo> mItemFilter;
 
     public AlphabeticalAppsList(Context context, @Nullable AllAppsStore<T> appsStore,
-            WorkProfileManager workProfileManager) {
+            WorkProfileManager workProfileManager, PrivateProfileManager privateProfileManager) {
         mAllAppsStore = appsStore;
         mActivityContext = ActivityContext.lookupContext(context);
         mAppNameComparator = new AppInfoComparator(context);
         mWorkProviderManager = workProfileManager;
+        mPrivateProviderManager = privateProfileManager;
         mNumAppsPerRowAllApps = mActivityContext.getDeviceProfile().numShownAllAppsColumns;
         if (mAllAppsStore != null) {
             mAllAppsStore.addUpdateListener(this);
@@ -197,12 +207,20 @@
         }
         // Sort the list of apps
         mApps.clear();
+        mPrivateApps.clear();
 
         Stream<AppInfo> appSteam = Stream.of(mAllAppsStore.getApps());
+        Stream<AppInfo> privateAppStream = Stream.of(mAllAppsStore.getApps());
+
         if (!hasSearchResults() && mItemFilter != null) {
             appSteam = appSteam.filter(mItemFilter);
+            if (mPrivateProviderManager != null) {
+                privateAppStream = privateAppStream
+                        .filter(mPrivateProviderManager.getItemInfoMatcher());
+            }
         }
         appSteam = appSteam.sorted(mAppNameComparator);
+        privateAppStream = privateAppStream.sorted(mAppNameComparator);
 
         // As a special case for some languages (currently only Simplified Chinese), we may need to
         // coalesce sections
@@ -221,6 +239,7 @@
         }
 
         appSteam.forEachOrdered(mApps::add);
+        privateAppStream.forEachOrdered(mPrivateApps::add);
         // Recompose the set of adapter items from the current set of apps
         if (mSearchResults.isEmpty()) {
             updateAdapterItems();
@@ -250,18 +269,10 @@
                 addApps = mWorkProviderManager.shouldShowWorkApps();
             }
             if (addApps) {
-                String lastSectionName = null;
-                for (AppInfo info : mApps) {
-                    mAdapterItems.add(AdapterItem.asApp(info));
-
-                    String sectionName = info.sectionName;
-                    // Create a new section if the section names do not match
-                    if (!sectionName.equals(lastSectionName)) {
-                        lastSectionName = sectionName;
-                        mFastScrollerSections.add(new FastScrollSectionInfo(sectionName, position));
-                    }
-                    position++;
-                }
+                addAppsWithSections(mApps, position);
+            }
+            if (Flags.enablePrivateSpace()) {
+                addPrivateSpaceItems(position);
             }
         }
         mAccessibilityResultsCount = (int) mAdapterItems.stream()
@@ -275,7 +286,8 @@
             int rowIndex = -1;
             for (AdapterItem item : mAdapterItems) {
                 item.rowIndex = 0;
-                if (BaseAllAppsAdapter.isDividerViewType(item.viewType)) {
+                if (BaseAllAppsAdapter.isDividerViewType(item.viewType)
+                        || BaseAllAppsAdapter.isPrivateSpaceHeaderView(item.viewType)) {
                     numAppsInSection = 0;
                 } else if (BaseAllAppsAdapter.isIconViewType(item.viewType)) {
                     if (numAppsInSection % mNumAppsPerRowAllApps == 0) {
@@ -297,6 +309,93 @@
         }
     }
 
+    void addPrivateSpaceItems(int position) {
+        if (mPrivateProviderManager != null
+                && !mPrivateProviderManager.isPrivateSpaceHidden()
+                && !mPrivateApps.isEmpty()) {
+            // Always add PS Header if Space is present and visible.
+            position += mPrivateProviderManager.addPrivateSpaceHeader(mAdapterItems);
+            int privateSpaceState = mPrivateProviderManager.getCurrentState();
+            switch (privateSpaceState) {
+                case PrivateProfileManager.STATE_DISABLED:
+                case PrivateProfileManager.STATE_TRANSITION:
+                    break;
+                case PrivateProfileManager.STATE_ENABLED:
+                    // Add PS Apps only in Enabled State.
+                    mPrivateProviderManager.addPrivateSpaceInstallAppButton(mAdapterItems);
+                    position++;
+                    addAppsWithSections(mPrivateApps, position);
+                    break;
+            }
+        }
+    }
+
+    private void addAppsWithSections(List<AppInfo> appList, int startPosition) {
+        String lastSectionName = null;
+        boolean hasPrivateApps = false;
+        if (mPrivateProviderManager != null) {
+            hasPrivateApps = appList.stream().
+                    allMatch(mPrivateProviderManager.getItemInfoMatcher());
+        }
+        for (int i = 0; i < appList.size(); i++) {
+            AppInfo info = appList.get(i);
+            // Apply decorator to private apps.
+            if (hasPrivateApps) {
+                mAdapterItems.add(AdapterItem.asAppWithDecorationInfo(info,
+                        new SectionDecorationInfo(mActivityContext.getApplicationContext(),
+                                getRoundRegions(i, appList.size()),
+                                true /* decorateTogether */)));
+            } else {
+                mAdapterItems.add(AdapterItem.asApp(info));
+            }
+
+            String sectionName = info.sectionName;
+            // Create a new section if the section names do not match
+            if (!sectionName.equals(lastSectionName)) {
+                lastSectionName = sectionName;
+                mFastScrollerSections.add(new FastScrollSectionInfo(sectionName, startPosition));
+            }
+            startPosition++;
+        }
+    }
+
+    /**
+     * Determines the corner regions that should be rounded for a specific app icon based on its
+     * position in a grid. Apps that should only be cared about rounding are the apps in the last
+     * row. In the last row on the first column, the app should only be rounded on the bottom left.
+     * Apps in the middle would not be rounded and the last app on the last row will ALWAYS have a
+     * {@link SectionDecorationInfo#ROUND_BOTTOM_RIGHT}.
+     *
+     * @param appIndex The index of the app icon within the app list.
+     * @param appListSize The total number of apps within the app list.
+     * @return  An integer representing the corner regions to be rounded, using bitwise flags:
+     *          - {@link SectionDecorationInfo#ROUND_NOTHING}: No corners should be rounded.
+     *          - {@link SectionDecorationInfo#ROUND_TOP_LEFT}: Round the top-left corner.
+     *          - {@link SectionDecorationInfo#ROUND_TOP_RIGHT}: Round the top-right corner.
+     *          - {@link SectionDecorationInfo#ROUND_BOTTOM_LEFT}: Round the bottom-left corner.
+     *          - {@link SectionDecorationInfo#ROUND_BOTTOM_RIGHT}: Round the bottom-right corner.
+     */
+    @VisibleForTesting
+    int getRoundRegions(int appIndex, int appListSize) {
+        int numberOfAppRows = (int) Math.ceil((double) appListSize / mNumAppsPerRowAllApps);
+        int roundRegion = ROUND_NOTHING;
+        // App is in the last row.
+        if ((appIndex / mNumAppsPerRowAllApps) == numberOfAppRows - 1) {
+            if ((appIndex % mNumAppsPerRowAllApps) == 0) {
+                // App is the first column.
+                roundRegion = ROUND_BOTTOM_LEFT;
+            } else if ((appIndex % mNumAppsPerRowAllApps) == mNumAppsPerRowAllApps-1) {
+                // App is in the last column.
+                roundRegion = ROUND_BOTTOM_RIGHT;
+            }
+            // Ensure the last private app is rounded on the bottom right.
+            if (appIndex == appListSize - 1) {
+                roundRegion |= ROUND_BOTTOM_RIGHT;
+            }
+        }
+        return roundRegion;
+    }
+
     private static class MyDiffCallback extends DiffUtil.Callback {
 
         private final List<AdapterItem> mOldList;
@@ -328,4 +427,4 @@
         }
     }
 
-}
+}
\ No newline at end of file
diff --git a/src/com/android/launcher3/allapps/BaseAllAppsAdapter.java b/src/com/android/launcher3/allapps/BaseAllAppsAdapter.java
index be0a898..5eeb259 100644
--- a/src/com/android/launcher3/allapps/BaseAllAppsAdapter.java
+++ b/src/com/android/launcher3/allapps/BaseAllAppsAdapter.java
@@ -15,6 +15,12 @@
  */
 package com.android.launcher3.allapps;
 
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_LEFT;
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_RIGHT;
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_TOP_LEFT;
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_TOP_RIGHT;
+import static com.android.launcher3.allapps.UserProfileManager.STATE_DISABLED;
+
 import android.content.Context;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -22,13 +28,14 @@
 import android.view.View.OnFocusChangeListener;
 import android.view.View.OnLongClickListener;
 import android.view.ViewGroup;
+import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.R;
-import com.android.launcher3.Utilities;
 import com.android.launcher3.allapps.search.SearchAdapterProvider;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.model.data.AppInfo;
@@ -53,13 +60,16 @@
 
     public static final int VIEW_TYPE_WORK_EDU_CARD = 1 << 4;
     public static final int VIEW_TYPE_WORK_DISABLED_CARD = 1 << 5;
-
-    public static final int NEXT_ID = 6;
+    public static final int VIEW_TYPE_PRIVATE_SPACE_HEADER = 1 << 6;
+    public static final int NEXT_ID = 7;
 
     // Common view type masks
     public static final int VIEW_TYPE_MASK_DIVIDER = VIEW_TYPE_ALL_APPS_DIVIDER;
     public static final int VIEW_TYPE_MASK_ICON = VIEW_TYPE_ICON;
 
+    public static final int VIEW_TYPE_MASK_PRIVATE_SPACE_HEADER =
+            VIEW_TYPE_PRIVATE_SPACE_HEADER;
+
     protected final SearchAdapterProvider<?> mAdapterProvider;
 
     /**
@@ -89,7 +99,8 @@
         public int rowAppIndex;
         // The associated ItemInfoWithIcon for the item
         public AppInfo itemInfo = null;
-
+        // Private App Decorator
+        public SectionDecorationInfo decorationInfo = null;
         public AdapterItem(int viewType) {
             this.viewType = viewType;
         }
@@ -103,6 +114,13 @@
             return item;
         }
 
+        public static AdapterItem asAppWithDecorationInfo(AppInfo appInfo,
+                SectionDecorationInfo decorationInfo) {
+            AdapterItem item = asApp(appInfo);
+            item.decorationInfo = decorationInfo;
+            return item;
+        }
+
         protected boolean isCountedForAccessibility() {
             return viewType == VIEW_TYPE_ICON;
         }
@@ -122,9 +140,17 @@
             return itemInfo == null && other.itemInfo == null;
         }
 
-        /** Sets the alpha of the decorator for this item. Returns true if successful. */
-        public boolean setDecorationFillAlpha(int alpha) {
-            return false;
+        @Nullable
+        public SectionDecorationInfo getDecorationInfo() {
+            return decorationInfo;
+        }
+
+        /** Sets the alpha of the decorator for this item. */
+        protected void setDecorationFillAlpha(int alpha) {
+            if (decorationInfo == null || decorationInfo.getDecorationHandler() == null) {
+                return;
+            }
+            decorationInfo.getDecorationHandler().setFillAlpha(alpha);
         }
     }
 
@@ -137,10 +163,16 @@
     protected final OnClickListener mOnIconClickListener;
     protected final OnLongClickListener mOnIconLongClickListener;
     protected OnFocusChangeListener mIconFocusListener;
-    private final int mExtraTextHeight;
+    private final PrivateSpaceHeaderViewController mPrivateSpaceHeaderViewController;
 
     public BaseAllAppsAdapter(T activityContext, LayoutInflater inflater,
             AlphabeticalAppsList<T> apps, SearchAdapterProvider<?> adapterProvider) {
+        this(activityContext, inflater, apps, adapterProvider, null);
+    }
+
+    public BaseAllAppsAdapter(T activityContext, LayoutInflater inflater,
+            AlphabeticalAppsList<T> apps, SearchAdapterProvider<?> adapterProvider,
+            PrivateSpaceHeaderViewController privateSpaceHeaderViewController) {
         mActivityContext = activityContext;
         mApps = apps;
         mLayoutInflater = inflater;
@@ -149,8 +181,7 @@
         mOnIconLongClickListener = mActivityContext.getAllAppsItemLongClickListener();
 
         mAdapterProvider = adapterProvider;
-        mExtraTextHeight = Utilities.calculateTextHeight(
-                mActivityContext.getDeviceProfile().allAppsIconTextSizePx);
+        mPrivateSpaceHeaderViewController = privateSpaceHeaderViewController;
     }
 
     /** Checks if the passed viewType represents all apps divider. */
@@ -163,6 +194,11 @@
         return isViewType(viewType, VIEW_TYPE_MASK_ICON);
     }
 
+    /** Checks if the passed viewType represents private space header. */
+    public static boolean isPrivateSpaceHeaderView(int viewType) {
+        return isViewType(viewType, VIEW_TYPE_MASK_PRIVATE_SPACE_HEADER);
+    }
+
     public void setIconFocusListener(OnFocusChangeListener focusListener) {
         mIconFocusListener = focusListener;
     }
@@ -176,8 +212,8 @@
     public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
         switch (viewType) {
             case VIEW_TYPE_ICON:
-                int layout = !FeatureFlags.ENABLE_TWOLINE_ALLAPPS.get() ? R.layout.all_apps_icon
-                        : R.layout.all_apps_icon_twoline;
+                int layout = !FeatureFlags.enableTwolineAllapps() ? R.layout.all_apps_icon
+                                : R.layout.all_apps_icon_twoline;
                 BubbleTextView icon = (BubbleTextView) mLayoutInflater.inflate(
                         layout, parent, false);
                 icon.setLongPressTimeoutFactor(1f);
@@ -187,9 +223,6 @@
                 // Ensure the all apps icon height matches the workspace icons in portrait mode.
                 icon.getLayoutParams().height =
                         mActivityContext.getDeviceProfile().allAppsCellHeightPx;
-                if (FeatureFlags.ENABLE_TWOLINE_ALLAPPS.get()) {
-                    icon.getLayoutParams().height += mExtraTextHeight;
-                }
                 return new ViewHolder(icon);
             case VIEW_TYPE_EMPTY_SEARCH:
                 return new ViewHolder(mLayoutInflater.inflate(R.layout.all_apps_empty_search,
@@ -203,6 +236,9 @@
             case VIEW_TYPE_WORK_DISABLED_CARD:
                 return new ViewHolder(mLayoutInflater.inflate(
                         R.layout.work_apps_paused, parent, false));
+            case VIEW_TYPE_PRIVATE_SPACE_HEADER:
+                return new ViewHolder(mLayoutInflater.inflate(
+                        R.layout.private_space_header, parent, false));
             default:
                 if (mAdapterProvider.isViewSupported(viewType)) {
                     return mAdapterProvider.onCreateViewHolder(mLayoutInflater, parent, viewType);
@@ -219,6 +255,7 @@
                 BubbleTextView icon = (BubbleTextView) holder.itemView;
                 icon.reset();
                 icon.applyFromApplicationInfo(adapterItem.itemInfo);
+                icon.setOnFocusChangeListener(mIconFocusListener);
                 break;
             }
             case VIEW_TYPE_EMPTY_SEARCH: {
@@ -229,6 +266,22 @@
                 }
                 break;
             }
+            case VIEW_TYPE_PRIVATE_SPACE_HEADER:
+                RelativeLayout psHeaderLayout = holder.itemView.findViewById(
+                        R.id.ps_header_layout);
+                assert mPrivateSpaceHeaderViewController != null;
+                assert psHeaderLayout != null;
+                mPrivateSpaceHeaderViewController.addPrivateSpaceHeaderViewElements(psHeaderLayout);
+                AdapterItem adapterItem = mApps.getAdapterItems().get(position);
+                int roundRegions = ROUND_TOP_LEFT | ROUND_TOP_RIGHT;
+                if (mPrivateSpaceHeaderViewController.getPrivateProfileManager().getCurrentState()
+                        == STATE_DISABLED) {
+                    roundRegions |= (ROUND_BOTTOM_LEFT | ROUND_BOTTOM_RIGHT);
+                }
+                adapterItem.decorationInfo =
+                        new SectionDecorationInfo(mActivityContext, roundRegions,
+                                false /* decorateTogether */);
+                break;
             case VIEW_TYPE_ALL_APPS_DIVIDER:
             case VIEW_TYPE_WORK_DISABLED_CARD:
                 // nothing to do
diff --git a/src/com/android/launcher3/allapps/BaseSearchConfig.java b/src/com/android/launcher3/allapps/BaseSearchConfig.java
deleted file mode 100644
index 9f47e8d..0000000
--- a/src/com/android/launcher3/allapps/BaseSearchConfig.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.launcher3.allapps;
-
-/** Base config values for search. */
-public class BaseSearchConfig {
-    public BaseSearchConfig() {}
-
-    /**
-     * Returns whether to enable the synchronized keyboard transition between Home and All Apps.
-     */
-    public boolean isKeyboardSyncEnabled() {
-        return false;
-    }
-}
diff --git a/src/com/android/launcher3/allapps/DiscoveryBounce.java b/src/com/android/launcher3/allapps/DiscoveryBounce.java
index df22425..1692912 100644
--- a/src/com/android/launcher3/allapps/DiscoveryBounce.java
+++ b/src/com/android/launcher3/allapps/DiscoveryBounce.java
@@ -17,6 +17,7 @@
 package com.android.launcher3.allapps;
 
 import static com.android.launcher3.LauncherState.NORMAL;
+import static com.android.launcher3.util.OnboardingPrefs.HOME_BOUNCE_SEEN;
 
 import android.animation.Animator;
 import android.animation.AnimatorInflater;
@@ -122,9 +123,8 @@
     }
 
     private static void showForHomeIfNeeded(Launcher launcher, boolean withDelay) {
-        OnboardingPrefs onboardingPrefs = launcher.getOnboardingPrefs();
         if (!launcher.isInState(NORMAL)
-                || onboardingPrefs.getBoolean(OnboardingPrefs.HOME_BOUNCE_SEEN)
+                || HOME_BOUNCE_SEEN.get(launcher)
                 || AbstractFloatingView.getTopOpenView(launcher) != null
                 || launcher.getSystemService(UserManager.class).isDemoUser()
                 || Utilities.isRunningInTestHarness()) {
@@ -135,7 +135,7 @@
             new Handler().postDelayed(() -> showForHomeIfNeeded(launcher, false), DELAY_MS);
             return;
         }
-        onboardingPrefs.incrementEventCount(OnboardingPrefs.HOME_BOUNCE_COUNT);
+        OnboardingPrefs.HOME_BOUNCE_COUNT.increment(launcher);
         new DiscoveryBounce(launcher).show();
     }
 
diff --git a/src/com/android/launcher3/allapps/FloatingHeaderView.java b/src/com/android/launcher3/allapps/FloatingHeaderView.java
index 330d13d..a1f6ebe 100644
--- a/src/com/android/launcher3/allapps/FloatingHeaderView.java
+++ b/src/com/android/launcher3/allapps/FloatingHeaderView.java
@@ -225,10 +225,10 @@
         for (FloatingHeaderRow row : mAllRows) {
             row.setup(this, mAllRows, tabsHidden);
         }
-        updateExpectedHeight();
 
         mTabsHidden = tabsHidden;
         maybeSetTabVisibility(VISIBLE);
+        updateExpectedHeight();
         mMainRV = mainRV;
         mWorkRV = workRV;
         mSearchRV = searchRV;
@@ -451,9 +451,9 @@
 
     @Override
     public void setInsets(Rect insets) {
-        int leftRightPadding = ActivityContext.lookupContext(getContext())
-                .getDeviceProfile().allAppsLeftRightPadding;
-        setPadding(leftRightPadding, getPaddingTop(), leftRightPadding, getPaddingBottom());
+        Rect allAppsPadding = ActivityContext.lookupContext(getContext())
+                .getDeviceProfile().allAppsPadding;
+        setPadding(allAppsPadding.left, getPaddingTop(), allAppsPadding.right, getPaddingBottom());
     }
 
     public <T extends FloatingHeaderRow> T findFixedRowByType(Class<T> type) {
diff --git a/src/com/android/launcher3/allapps/PrivateAppsSectionDecorator.java b/src/com/android/launcher3/allapps/PrivateAppsSectionDecorator.java
new file mode 100644
index 0000000..8712b84
--- /dev/null
+++ b/src/com/android/launcher3/allapps/PrivateAppsSectionDecorator.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.allapps;
+
+import android.graphics.Canvas;
+import android.view.View;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+import java.util.HashMap;
+
+/**
+ * Decorator which changes the background color for Private Space Icon Rows in AllAppsContainer.
+ */
+public class PrivateAppsSectionDecorator extends RecyclerView.ItemDecoration {
+
+    private static final String PRIVATE_APP_SECTION = "private_apps";
+    private final AlphabeticalAppsList<?> mAppsList;
+
+    public PrivateAppsSectionDecorator(AlphabeticalAppsList<?> appsList) {
+        mAppsList = appsList;
+    }
+
+    /** Decorates Private Space Header and Icon Rows to give the shape of a container. */
+    @Override
+    public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
+        HashMap<String, SectionDecorationHandler.UnionDecorationHandler> deferredDecorations =
+                new HashMap<>();
+        for (int i = 0; i < parent.getChildCount(); i++) {
+            View view = parent.getChildAt(i);
+            int position = parent.getChildAdapterPosition(view);
+            BaseAllAppsAdapter.AdapterItem adapterItem = mAppsList.getAdapterItems().get(position);
+            SectionDecorationInfo info = adapterItem.decorationInfo;
+            if (info == null) {
+                continue;
+            }
+            SectionDecorationHandler decorationHandler = info.getDecorationHandler();
+            if (info.shouldDecorateItemsTogether()) {
+                SectionDecorationHandler.UnionDecorationHandler unionHandler =
+                        deferredDecorations.getOrDefault(
+                                PRIVATE_APP_SECTION,
+                                new SectionDecorationHandler.UnionDecorationHandler(
+                                        decorationHandler, parent.getPaddingLeft(),
+                                        parent.getPaddingRight()));
+                unionHandler.addChild(decorationHandler, view, true /* applyBackground */);
+                deferredDecorations.put(PRIVATE_APP_SECTION, unionHandler);
+            } else {
+                decorationHandler.onFocusDraw(c, view);
+            }
+        }
+        for (SectionDecorationHandler.UnionDecorationHandler decorationHandler
+                : deferredDecorations.values()) {
+            decorationHandler.onGroupDecorate(c);
+        }
+    }
+}
diff --git a/src/com/android/launcher3/allapps/PrivateProfileManager.java b/src/com/android/launcher3/allapps/PrivateProfileManager.java
new file mode 100644
index 0000000..aee511c
--- /dev/null
+++ b/src/com/android/launcher3/allapps/PrivateProfileManager.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.allapps;
+
+import static com.android.launcher3.allapps.ActivityAllAppsContainerView.AdapterHolder.MAIN;
+import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_ICON;
+import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_PRIVATE_SPACE_HEADER;
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_NOTHING;
+import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED;
+import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
+import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
+import static com.android.launcher3.util.SettingsCache.PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.launcher3.BuildConfig;
+import com.android.launcher3.R;
+import com.android.launcher3.icons.BitmapInfo;
+import com.android.launcher3.icons.LauncherIcons;
+import com.android.launcher3.logging.StatsLogManager;
+import com.android.launcher3.model.data.AppInfo;
+import com.android.launcher3.pm.UserCache;
+import com.android.launcher3.uioverrides.ApiWrapper;
+import com.android.launcher3.util.Preconditions;
+import com.android.launcher3.util.SettingsCache;
+import com.android.launcher3.util.UserIconInfo;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Predicate;
+
+/**
+ * Companion class for {@link ActivityAllAppsContainerView} to manage private space section related
+ * logic in the Personal tab.
+ */
+public class PrivateProfileManager extends UserProfileManager {
+
+    private static final String SAFETY_CENTER_INTENT = Intent.ACTION_SAFETY_CENTER;
+    private static final String PS_SETTINGS_FRAGMENT_KEY = ":settings:fragment_args_key";
+    private static final String PS_SETTINGS_FRAGMENT_VALUE = "AndroidPrivateSpace_personal";
+    private final ActivityAllAppsContainerView<?> mAllApps;
+    private final Predicate<UserHandle> mPrivateProfileMatcher;
+    private PrivateAppsSectionDecorator mPrivateAppsSectionDecorator;
+    private boolean mPrivateSpaceSettingsAvailable;
+    private Runnable mUnlockRunnable;
+
+    public PrivateProfileManager(UserManager userManager,
+            ActivityAllAppsContainerView<?> allApps,
+            StatsLogManager statsLogManager,
+            UserCache userCache) {
+        super(userManager, statsLogManager, userCache);
+        mAllApps = allApps;
+        mPrivateProfileMatcher = (user) -> userCache.getUserInfo(user).isPrivate();
+        UI_HELPER_EXECUTOR.post(this::setPrivateSpaceSettingsAvailable);
+    }
+
+    /** Adds Private Space Header to the layout. */
+    public int addPrivateSpaceHeader(ArrayList<BaseAllAppsAdapter.AdapterItem> adapterItems) {
+        adapterItems.add(new BaseAllAppsAdapter.AdapterItem(VIEW_TYPE_PRIVATE_SPACE_HEADER));
+        mAllApps.mAH.get(MAIN).mAdapter.notifyItemInserted(adapterItems.size() - 1);
+        return adapterItems.size();
+    }
+
+    /** Adds Private Space install app button to the layout. */
+    public void addPrivateSpaceInstallAppButton(List<BaseAllAppsAdapter.AdapterItem> adapterItems) {
+        Context context = mAllApps.getContext();
+        // Prepare intent
+        UserCache userCache = UserCache.getInstance(context);
+        UserHandle userHandle = userCache.getUserProfiles().stream()
+                .filter(user -> userCache.getUserInfo(user).type == UserIconInfo.TYPE_PRIVATE)
+                .findFirst()
+                .orElse(null);
+        Intent intent = ApiWrapper.getAppMarketActivityIntent(context,
+                BuildConfig.APPLICATION_ID, userHandle);
+
+        // Prepare bitmapInfo
+        Intent.ShortcutIconResource shortcut = Intent.ShortcutIconResource.fromContext(
+                context, com.android.launcher3.R.drawable.private_space_install_app_icon);
+        BitmapInfo bitmapInfo = LauncherIcons.obtain(context).createIconBitmap(shortcut);
+
+        AppInfo itemInfo = new AppInfo();
+        itemInfo.title = context.getResources().getString(R.string.ps_add_button_label);
+        itemInfo.intent = intent;
+        itemInfo.bitmap = bitmapInfo;
+        itemInfo.contentDescription = context.getResources().getString(
+                com.android.launcher3.R.string.ps_add_button_content_description);
+
+        BaseAllAppsAdapter.AdapterItem item = new BaseAllAppsAdapter.AdapterItem(VIEW_TYPE_ICON);
+        item.itemInfo = itemInfo;
+        item.decorationInfo = new SectionDecorationInfo(context, ROUND_NOTHING,
+                /* decorateTogether */ true);
+
+        adapterItems.add(item);
+        mAllApps.mAH.get(MAIN).mAdapter.notifyItemInserted(adapterItems.size() - 1);
+    }
+
+    /**
+     * Disables quiet mode for Private Space User Profile.
+     * The runnable passed will be executed in the {@link #reset()} method,
+     * when Launcher receives update about profile availability.
+     * The runnable passed is only executed once, and reset after execution.
+     * In case the method is called again, before the previously set runnable was executed,
+     * the runnable will be updated.
+     */
+    public void unlockPrivateProfile(Runnable runnable) {
+        enableQuietMode(false);
+        mUnlockRunnable = runnable;
+    }
+
+    /** Enables quiet mode for Private Space User Profile. */
+    public void lockPrivateProfile() {
+        enableQuietMode(true);
+    }
+
+    /** Whether private profile should be hidden on Launcher. */
+    public boolean isPrivateSpaceHidden() {
+        return getCurrentState() == STATE_DISABLED && SettingsCache.INSTANCE
+                    .get(mAllApps.mActivityContext).getValue(PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI, 0);
+    }
+
+    /** Resets the current state of Private Profile, w.r.t. to Launcher. */
+    public void reset() {
+        int previousState = getCurrentState();
+        boolean isEnabled = !mAllApps.getAppsStore()
+                .hasModelFlag(FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED);
+        int updatedState = isEnabled ? STATE_ENABLED : STATE_DISABLED;
+        setCurrentState(updatedState);
+        resetPrivateSpaceDecorator(updatedState);
+        if (transitioningFromLockedToUnlocked(previousState, updatedState)) {
+            applyUnlockRunnable();
+        }
+    }
+
+    /** Opens the Private Space Settings Entry Point. */
+    public void openPrivateSpaceSettings() {
+        Intent psSettingsIntent = new Intent(SAFETY_CENTER_INTENT);
+        psSettingsIntent.putExtra(PS_SETTINGS_FRAGMENT_KEY, PS_SETTINGS_FRAGMENT_VALUE);
+        mAllApps.getContext().startActivity(psSettingsIntent);
+    }
+
+    /** Whether Private Space Settings Entry Point is available on the device. */
+    public boolean isPrivateSpaceSettingsAvailable() {
+        return mPrivateSpaceSettingsAvailable;
+    }
+
+    private void setPrivateSpaceSettingsAvailable() {
+        if (mPrivateSpaceSettingsAvailable) {
+            return;
+        }
+        Preconditions.assertNonUiThread();
+        Intent psSettingsIntent = new Intent(SAFETY_CENTER_INTENT);
+        psSettingsIntent.putExtra(PS_SETTINGS_FRAGMENT_KEY, PS_SETTINGS_FRAGMENT_VALUE);
+        ResolveInfo resolveInfo = mAllApps.getContext().getPackageManager()
+                .resolveActivity(psSettingsIntent, PackageManager.MATCH_SYSTEM_ONLY);
+        mPrivateSpaceSettingsAvailable = resolveInfo != null;
+    }
+
+    @VisibleForTesting
+    void resetPrivateSpaceDecorator(int updatedState) {
+        ActivityAllAppsContainerView<?>.AdapterHolder mainAdapterHolder = mAllApps.mAH.get(MAIN);
+        if (updatedState == STATE_ENABLED) {
+            // Create a new decorator instance if not already available.
+            if (mPrivateAppsSectionDecorator == null) {
+                mPrivateAppsSectionDecorator = new PrivateAppsSectionDecorator(
+                        mainAdapterHolder.mAppsList);
+            }
+            for (int i = 0; i < mainAdapterHolder.mRecyclerView.getItemDecorationCount(); i++) {
+                if (mainAdapterHolder.mRecyclerView.getItemDecorationAt(i)
+                        .equals(mPrivateAppsSectionDecorator)) {
+                    // No need to add another decorator if one is already present in recycler view.
+                    return;
+                }
+            }
+            // Add Private Space Decorator to the Recycler view.
+            mainAdapterHolder.mRecyclerView.addItemDecoration(mPrivateAppsSectionDecorator);
+        } else {
+            // Remove Private Space Decorator from the Recycler view.
+            if (mPrivateAppsSectionDecorator != null) {
+                mainAdapterHolder.mRecyclerView.removeItemDecoration(mPrivateAppsSectionDecorator);
+            }
+        }
+    }
+
+    /** Posts quiet mode enable/disable call for private profile. */
+    private void enableQuietMode(boolean enable) {
+        setQuietMode(enable);
+    }
+
+    void applyUnlockRunnable() {
+        if (mUnlockRunnable != null) {
+            // reset the runnable to prevent re-execution.
+            MAIN_EXECUTOR.post(mUnlockRunnable);
+            mUnlockRunnable = null;
+        }
+    }
+
+    private boolean transitioningFromLockedToUnlocked(int previousState, int updatedState) {
+        return previousState == STATE_DISABLED && updatedState == STATE_ENABLED;
+    }
+
+    @Override
+    public Predicate<UserHandle> getUserMatcher() {
+        return mPrivateProfileMatcher;
+    }
+}
diff --git a/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewController.java b/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewController.java
new file mode 100644
index 0000000..bc3269d
--- /dev/null
+++ b/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewController.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.allapps;
+
+import static com.android.launcher3.allapps.ActivityAllAppsContainerView.AdapterHolder.MAIN;
+import static com.android.launcher3.allapps.PrivateProfileManager.STATE_DISABLED;
+import static com.android.launcher3.allapps.PrivateProfileManager.STATE_ENABLED;
+import static com.android.launcher3.allapps.PrivateProfileManager.STATE_TRANSITION;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_PRIVATE_SPACE_LOCK_TAP;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_PRIVATE_SPACE_SETTINGS_TAP;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_PRIVATE_SPACE_UNLOCK_TAP;
+
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+
+import com.android.launcher3.Flags;
+import com.android.launcher3.R;
+import com.android.launcher3.allapps.UserProfileManager.UserProfileState;
+
+/**
+ * Controller which returns views to be added to Private Space Header based upon
+ * {@link UserProfileState}
+ */
+public class PrivateSpaceHeaderViewController {
+    private static final int ANIMATION_DURATION = 2000;
+    private final ActivityAllAppsContainerView mAllApps;
+    private final PrivateProfileManager mPrivateProfileManager;
+
+    public PrivateSpaceHeaderViewController(ActivityAllAppsContainerView allApps,
+            PrivateProfileManager privateProfileManager) {
+        this.mAllApps = allApps;
+        this.mPrivateProfileManager = privateProfileManager;
+    }
+
+    /** Add Private Space Header view elements based upon {@link UserProfileState} */
+    public void addPrivateSpaceHeaderViewElements(RelativeLayout parent) {
+        //Add quietMode image and action for lock/unlock button
+        ImageButton quietModeButton = parent.findViewById(R.id.ps_lock_unlock_button);
+        assert quietModeButton != null;
+        addQuietModeButton(quietModeButton);
+
+        //Add image and action for private space settings button
+        ImageButton settingsButton = parent.findViewById(R.id.ps_settings_button);
+        assert settingsButton != null;
+        addPrivateSpaceSettingsButton(settingsButton);
+
+        //Add image for private space transitioning view
+        ImageView transitionView = parent.findViewById(R.id.ps_transition_image);
+        assert transitionView != null;
+        addTransitionImage(transitionView);
+    }
+
+    private void addQuietModeButton(ImageButton quietModeButton) {
+        switch (mPrivateProfileManager.getCurrentState()) {
+            case STATE_ENABLED -> {
+                quietModeButton.setVisibility(View.VISIBLE);
+                quietModeButton.setImageResource(R.drawable.bg_ps_lock_button);
+                quietModeButton.setOnClickListener(
+                        view -> {
+                            mPrivateProfileManager.logEvents(LAUNCHER_PRIVATE_SPACE_LOCK_TAP);
+                            mPrivateProfileManager.lockPrivateProfile();
+                        });
+            }
+            case STATE_DISABLED -> {
+                quietModeButton.setVisibility(View.VISIBLE);
+                quietModeButton.setImageResource(R.drawable.bg_ps_unlock_button);
+                quietModeButton.setOnClickListener(
+                        view -> {
+                            mPrivateProfileManager.logEvents(LAUNCHER_PRIVATE_SPACE_UNLOCK_TAP);
+                            mPrivateProfileManager.unlockPrivateProfile((this::
+                                    onPrivateProfileUnlocked));
+                        });
+            }
+            default -> quietModeButton.setVisibility(View.GONE);
+        }
+    }
+
+    private void addPrivateSpaceSettingsButton(ImageButton settingsButton) {
+        if (mPrivateProfileManager.getCurrentState() == STATE_ENABLED
+                && mPrivateProfileManager.isPrivateSpaceSettingsAvailable()) {
+            settingsButton.setVisibility(View.VISIBLE);
+            settingsButton.setOnClickListener(
+                    view -> {
+                        mPrivateProfileManager.logEvents(LAUNCHER_PRIVATE_SPACE_SETTINGS_TAP);
+                        mPrivateProfileManager.openPrivateSpaceSettings();
+                    });
+        } else {
+            settingsButton.setVisibility(View.GONE);
+        }
+    }
+
+    private void addTransitionImage(ImageView transitionImage) {
+        if (mPrivateProfileManager.getCurrentState() == STATE_TRANSITION) {
+            transitionImage.setVisibility(View.VISIBLE);
+        } else {
+            transitionImage.setVisibility(View.GONE);
+        }
+    }
+
+    private void onPrivateProfileUnlocked() {
+        // If we are on main adapter view, we apply the PS Container expansion animation and
+        // then scroll down to load the entire container, making animation visible.
+        ActivityAllAppsContainerView<?>.AdapterHolder mainAdapterHolder =
+                (ActivityAllAppsContainerView<?>.AdapterHolder) mAllApps.mAH.get(MAIN);
+        if (Flags.enablePrivateSpace() && Flags.privateSpaceAnimation()
+                && mAllApps.getActiveRecyclerView() == mainAdapterHolder.mRecyclerView) {
+            RecyclerViewAnimationController recyclerViewAnimationController =
+                    new RecyclerViewAnimationController(mAllApps);
+            recyclerViewAnimationController.animateToState(true /* expand */,
+                    ANIMATION_DURATION, () -> {});
+            mAllApps.getActiveRecyclerView().scrollToBottomWithMotion();
+        }
+    }
+
+    PrivateProfileManager getPrivateProfileManager() {
+        return mPrivateProfileManager;
+    }
+}
diff --git a/src/com/android/launcher3/allapps/RecyclerViewAnimationController.java b/src/com/android/launcher3/allapps/RecyclerViewAnimationController.java
new file mode 100644
index 0000000..6209393
--- /dev/null
+++ b/src/com/android/launcher3/allapps/RecyclerViewAnimationController.java
@@ -0,0 +1,309 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.allapps;
+
+import static androidx.recyclerview.widget.RecyclerView.NO_POSITION;
+
+import static com.android.app.animation.Interpolators.DECELERATE_1_7;
+import static com.android.app.animation.Interpolators.INSTANT;
+import static com.android.app.animation.Interpolators.clampToProgress;
+import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
+import static com.android.launcher3.anim.AnimatorListeners.forEndCallback;
+import static com.android.launcher3.anim.AnimatorListeners.forSuccessCallback;
+
+import android.animation.ObjectAnimator;
+import android.animation.TimeInterpolator;
+import android.graphics.drawable.Drawable;
+import android.util.FloatProperty;
+import android.util.Log;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.animation.Interpolator;
+
+import com.android.launcher3.BubbleTextView;
+import com.android.launcher3.Utilities;
+import com.android.launcher3.model.data.ItemInfo;
+
+import java.util.List;
+
+public class RecyclerViewAnimationController {
+
+    private static final String LOG_TAG = "AnimationCtrl";
+
+    /**
+     * These values represent points on the [0, 1] animation progress spectrum. They are used to
+     * animate items in the {@link SearchRecyclerView} and private space container in
+     * {@link AllAppsRecyclerView}.
+     */
+    protected static final float TOP_CONTENT_FADE_PROGRESS_START = 0.133f;
+    protected static final float CONTENT_FADE_PROGRESS_DURATION = 0.083f;
+    protected static final float TOP_BACKGROUND_FADE_PROGRESS_START = 0.633f;
+    protected static final float BACKGROUND_FADE_PROGRESS_DURATION = 0.15f;
+    // Progress before next item starts fading.
+    protected static final float CONTENT_STAGGER = 0.01f;
+
+    protected static final FloatProperty<RecyclerViewAnimationController> PROGRESS =
+            new FloatProperty<RecyclerViewAnimationController>("expansionProgress") {
+                @Override
+                public Float get(RecyclerViewAnimationController controller) {
+                    return controller.getAnimationProgress();
+                }
+
+                @Override
+                public void setValue(RecyclerViewAnimationController controller, float progress) {
+                    controller.setAnimationProgress(progress);
+                }
+            };
+
+    protected final ActivityAllAppsContainerView<?> mAllAppsContainerView;
+    protected ObjectAnimator mAnimator = null;
+    private float mAnimatorProgress = 1f;
+
+    public RecyclerViewAnimationController(ActivityAllAppsContainerView<?> allAppsContainerView) {
+        mAllAppsContainerView = allAppsContainerView;
+    }
+
+    /**
+     * Updates the children views of the current recyclerView based on the current animation
+     * progress.
+     *
+     * @return the total height of animating views (may exclude at most one row of app icons
+     * depending on which recyclerView is being acted upon).
+     */
+    protected int onProgressUpdated(float expansionProgress) {
+        int numItemsAnimated = 0;
+        int totalHeight = 0;
+        int appRowHeight = 0;
+        boolean appRowComplete = false;
+        Integer top = null;
+        AllAppsRecyclerView allAppsRecyclerView = getRecyclerView();
+
+        for (int i = 0; i < allAppsRecyclerView.getChildCount(); i++) {
+            View currentView = allAppsRecyclerView.getChildAt(i);
+            if (currentView == null) {
+                continue;
+            }
+            if (top == null) {
+                top = currentView.getTop();
+            }
+            int adapterPosition = allAppsRecyclerView.getChildAdapterPosition(currentView);
+            List<BaseAllAppsAdapter.AdapterItem> allAppsAdapters = allAppsRecyclerView.getApps()
+                    .getAdapterItems();
+            if (adapterPosition < 0 || adapterPosition >= allAppsAdapters.size()) {
+                continue;
+            }
+            BaseAllAppsAdapter.AdapterItem adapterItemAtPosition =
+                    allAppsAdapters.get(adapterPosition);
+            int spanIndex = getSpanIndex(allAppsRecyclerView, adapterPosition);
+            appRowComplete |= appRowHeight > 0 && spanIndex == 0;
+
+            float backgroundAlpha = 1f;
+            boolean hasDecorationInfo = adapterItemAtPosition.getDecorationInfo() != null;
+            boolean shouldAnimate = shouldAnimate(currentView, hasDecorationInfo, appRowComplete);
+
+            if (shouldAnimate) {
+                if (spanIndex > 0) {
+                    // Animate this item with the previous item on the same row.
+                    numItemsAnimated--;
+                }
+                // Adjust background (or decorator) alpha based on start progress and stagger.
+                backgroundAlpha = getAdjustedBackgroundAlpha(numItemsAnimated);
+            }
+
+            Drawable background = currentView.getBackground();
+            if (background != null && currentView instanceof ViewGroup currentViewGroup) {
+                currentView.setAlpha(1f);
+                // Apply content alpha to each child, since the view needs to be fully opaque for
+                // the background to show properly.
+                for (int j = 0; j < currentViewGroup.getChildCount(); j++) {
+                    setViewAdjustedContentAlpha(currentViewGroup.getChildAt(j), numItemsAnimated,
+                            shouldAnimate);
+                }
+
+                // Apply background alpha to the background drawable directly.
+                background.setAlpha((int) (255 * backgroundAlpha));
+            } else {
+                // Adjust content alpha based on start progress and stagger.
+                setViewAdjustedContentAlpha(currentView, numItemsAnimated, shouldAnimate);
+
+                // Apply background alpha to decorator if possible.
+                setAdjustedAdapterItemDecorationBackgroundAlpha(
+                        allAppsRecyclerView.getApps().getAdapterItems().get(adapterPosition),
+                        numItemsAnimated);
+
+                // Apply background alpha to view's background (e.g. for Search Edu card).
+                if (background != null) {
+                    background.setAlpha((int) (255 * backgroundAlpha));
+                }
+            }
+
+            float scaleY = 1;
+            if (shouldAnimate) {
+                scaleY = 1 - getAnimationProgress();
+                // Update number of search results that has been animated.
+                numItemsAnimated++;
+            }
+            int scaledHeight = (int) (currentView.getHeight() * scaleY);
+            currentView.setScaleY(scaleY);
+
+            // For rows with multiple elements, only count the height once and translate elements to
+            // the same y position.
+            int y = top + totalHeight;
+            if (spanIndex > 0) {
+                // Continuation of an existing row; move this item into the row.
+                y -= scaledHeight;
+            } else {
+                // Start of a new row contributes to total height.
+                totalHeight += scaledHeight;
+                if (!shouldAnimate) {
+                    appRowHeight = scaledHeight;
+                }
+            }
+            currentView.setY(y);
+        }
+        return totalHeight - appRowHeight;
+    }
+
+    protected void animateToState(boolean expand, long duration, Runnable onEndRunnable) {
+        float targetProgress = expand ? 0 : 1;
+        if (mAnimator != null) {
+            mAnimator.cancel();
+        }
+        mAnimator = ObjectAnimator.ofFloat(this, PROGRESS, targetProgress);
+
+        TimeInterpolator timeInterpolator = getInterpolator();
+        if (timeInterpolator == INSTANT) {
+            duration = 0;
+        }
+
+        mAnimator.addListener(forEndCallback(() -> mAnimator = null));
+        mAnimator.setDuration(duration).setInterpolator(timeInterpolator);
+        mAnimator.addListener(forSuccessCallback(onEndRunnable));
+        mAnimator.start();
+        getRecyclerView().setChildAttachedConsumer(this::onChildAttached);
+    }
+
+    /** Called just before a child is attached to the RecyclerView. */
+    private void onChildAttached(View child) {
+        // Avoid allocating hardware layers for alpha changes.
+        child.forceHasOverlappingRendering(false);
+        child.setPivotY(0);
+        if (getAnimationProgress() > 0 && getAnimationProgress() < 1) {
+            // Before the child is rendered, apply the animation including it to avoid flicker.
+            onProgressUpdated(getAnimationProgress());
+        } else {
+            // Apply default states without processing the full layout.
+            child.setAlpha(1);
+            child.setScaleY(1);
+            child.setTranslationY(0);
+            int adapterPosition = getRecyclerView().getChildAdapterPosition(child);
+            List<BaseAllAppsAdapter.AdapterItem> allAppsAdapters =
+                    getRecyclerView().getApps().getAdapterItems();
+            if (adapterPosition >= 0 && adapterPosition < allAppsAdapters.size()) {
+                allAppsAdapters.get(adapterPosition).setDecorationFillAlpha(255);
+            }
+            if (child instanceof ViewGroup childGroup) {
+                for (int i = 0; i < childGroup.getChildCount(); i++) {
+                    childGroup.getChildAt(i).setAlpha(1f);
+                }
+            }
+            if (child.getBackground() != null) {
+                child.getBackground().setAlpha(255);
+            }
+        }
+    }
+
+    /** @return the column that the view at this position is found (0 assumed if indeterminate). */
+    protected int getSpanIndex(AllAppsRecyclerView appsRecyclerView, int adapterPosition) {
+        if (adapterPosition == NO_POSITION) {
+            Log.w(LOG_TAG, "Can't determine span index - child not found in adapter");
+            return 0;
+        }
+        if (!(appsRecyclerView.getAdapter() instanceof AllAppsGridAdapter<?>)) {
+            Log.e(LOG_TAG, "Search RV doesn't have an AllAppsGridAdapter?");
+            // This case shouldn't happen, but for debug devices we will continue to create a more
+            // visible crash.
+            if (!Utilities.IS_DEBUG_DEVICE) {
+                return 0;
+            }
+        }
+        AllAppsGridAdapter<?> adapter = (AllAppsGridAdapter<?>) appsRecyclerView.getAdapter();
+        return adapter.getSpanIndex(adapterPosition);
+    }
+
+    protected TimeInterpolator getInterpolator() {
+        return DECELERATE_1_7;
+    }
+
+    protected AllAppsRecyclerView getRecyclerView() {
+        return mAllAppsContainerView.mAH.get(ActivityAllAppsContainerView.AdapterHolder.MAIN)
+                .mRecyclerView;
+    }
+
+    /** Returns true if a transition animation is currently in progress. */
+    protected boolean isRunning() {
+        return mAnimator != null;
+    }
+
+    /** Should only animate if the view is an app icon and if it has a decoration info. */
+    protected boolean shouldAnimate(View view, boolean hasDecorationInfo,
+            boolean firstAppRowComplete) {
+        return isAppIcon(view) && hasDecorationInfo;
+    }
+
+    private float getAdjustedContentAlpha(int itemsAnimated) {
+        float startContentFadeProgress = Math.max(0,
+                TOP_CONTENT_FADE_PROGRESS_START - CONTENT_STAGGER * itemsAnimated);
+        float endContentFadeProgress = Math.min(1,
+                startContentFadeProgress + CONTENT_FADE_PROGRESS_DURATION);
+        return 1 - clampToProgress(mAnimatorProgress,
+                startContentFadeProgress, endContentFadeProgress);
+    }
+
+    private float getAdjustedBackgroundAlpha(int itemsAnimated) {
+        float startBackgroundFadeProgress = Math.max(0,
+                TOP_BACKGROUND_FADE_PROGRESS_START - CONTENT_STAGGER * itemsAnimated);
+        float endBackgroundFadeProgress = Math.min(1,
+                startBackgroundFadeProgress + BACKGROUND_FADE_PROGRESS_DURATION);
+        return 1 - clampToProgress(mAnimatorProgress,
+                startBackgroundFadeProgress, endBackgroundFadeProgress);
+    }
+
+    private void setViewAdjustedContentAlpha(View view, int numberOfItemsAnimated,
+            boolean shouldAnimate) {
+        view.setAlpha(shouldAnimate ? getAdjustedContentAlpha(numberOfItemsAnimated) : 1f);
+    }
+
+    private void setAdjustedAdapterItemDecorationBackgroundAlpha(
+            BaseAllAppsAdapter.AdapterItem adapterItem, int numberOfItemsAnimated) {
+        adapterItem.setDecorationFillAlpha((int)
+                (255 * getAdjustedBackgroundAlpha(numberOfItemsAnimated)));
+    }
+
+    private float getAnimationProgress() {
+        return mAnimatorProgress;
+    }
+
+    private void setAnimationProgress(float expansionProgress) {
+        mAnimatorProgress = expansionProgress;
+        onProgressUpdated(expansionProgress);
+    }
+
+    protected boolean isAppIcon(View item) {
+        return item instanceof BubbleTextView && item.getTag() instanceof ItemInfo
+                && ((ItemInfo) item.getTag()).itemType == ITEM_TYPE_APPLICATION;
+    }
+}
diff --git a/src/com/android/launcher3/allapps/SearchRecyclerView.java b/src/com/android/launcher3/allapps/SearchRecyclerView.java
index 9d1dfc0..68f9f11 100644
--- a/src/com/android/launcher3/allapps/SearchRecyclerView.java
+++ b/src/com/android/launcher3/allapps/SearchRecyclerView.java
@@ -27,8 +27,6 @@
 /** A RecyclerView for AllApps Search results. */
 public class SearchRecyclerView extends AllAppsRecyclerView {
 
-    private Consumer<View> mChildAttachedConsumer;
-
     public SearchRecyclerView(Context context) {
         this(context, null);
     }
@@ -46,11 +44,6 @@
         super(context, attrs, defStyleAttr, defStyleRes);
     }
 
-    /** This will be called just before a new child is attached to the window. */
-    public void setChildAttachedConsumer(Consumer<View> childAttachedConsumer) {
-        mChildAttachedConsumer = childAttachedConsumer;
-    }
-
     @Override
     protected void updatePoolSize() {
         RecycledViewPool pool = getRecycledViewPool();
@@ -67,12 +60,4 @@
     public RecyclerViewFastScroller getScrollbar() {
         return null;
     }
-
-    @Override
-    public void onChildAttachedToWindow(@NonNull View child) {
-        if (mChildAttachedConsumer != null) {
-            mChildAttachedConsumer.accept(child);
-        }
-        super.onChildAttachedToWindow(child);
-    }
 }
diff --git a/src/com/android/launcher3/allapps/SearchTransitionController.java b/src/com/android/launcher3/allapps/SearchTransitionController.java
index eb1bc0a..d5c3b57 100644
--- a/src/com/android/launcher3/allapps/SearchTransitionController.java
+++ b/src/com/android/launcher3/allapps/SearchTransitionController.java
@@ -18,34 +18,21 @@
 
 import static android.view.View.VISIBLE;
 
-import static androidx.recyclerview.widget.RecyclerView.NO_POSITION;
-
 import static com.android.app.animation.Interpolators.DECELERATE_1_7;
 import static com.android.app.animation.Interpolators.INSTANT;
 import static com.android.app.animation.Interpolators.clampToProgress;
-import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
 import static com.android.launcher3.anim.AnimatorListeners.forEndCallback;
 import static com.android.launcher3.anim.AnimatorListeners.forSuccessCallback;
 
 import android.animation.ObjectAnimator;
 import android.animation.TimeInterpolator;
-import android.graphics.drawable.Drawable;
-import android.util.FloatProperty;
-import android.util.Log;
 import android.view.View;
-import android.view.ViewGroup;
 import android.view.animation.Interpolator;
 
-import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.R;
-import com.android.launcher3.Utilities;
-import com.android.launcher3.config.FeatureFlags;
-import com.android.launcher3.model.data.ItemInfo;
 
 /** Coordinates the transition between Search and A-Z in All Apps. */
-public class SearchTransitionController {
-
-    private static final String LOG_TAG = "SearchTransitionCtrl";
+public class SearchTransitionController extends RecyclerViewAnimationController {
 
     // Interpolator when the user taps the QSB while already in All Apps.
     private static final Interpolator INTERPOLATOR_WITHIN_ALL_APPS = DECELERATE_1_7;
@@ -53,42 +40,10 @@
     // happening simultaneously.
     private static final Interpolator INTERPOLATOR_TRANSITIONING_TO_ALL_APPS = INSTANT;
 
-    /**
-     * These values represent points on the [0, 1] animation progress spectrum. They are used to
-     * animate items in the {@link SearchRecyclerView}.
-     */
-    private static final float TOP_CONTENT_FADE_PROGRESS_START = 0.133f;
-    private static final float CONTENT_FADE_PROGRESS_DURATION = 0.083f;
-    private static final float TOP_BACKGROUND_FADE_PROGRESS_START = 0.633f;
-    private static final float BACKGROUND_FADE_PROGRESS_DURATION = 0.15f;
-    private static final float CONTENT_STAGGER = 0.01f;  // Progress before next item starts fading.
-
-    private static final FloatProperty<SearchTransitionController> SEARCH_TO_AZ_PROGRESS =
-            new FloatProperty<SearchTransitionController>("searchToAzProgress") {
-                @Override
-                public Float get(SearchTransitionController controller) {
-                    return controller.getSearchToAzProgress();
-                }
-
-                @Override
-                public void setValue(SearchTransitionController controller, float progress) {
-                    controller.setSearchToAzProgress(progress);
-                }
-            };
-
-    private final ActivityAllAppsContainerView<?> mAllAppsContainerView;
-
-    private ObjectAnimator mSearchToAzAnimator = null;
-    private float mSearchToAzProgress = 1f;
     private boolean mSkipNextAnimationWithinAllApps;
 
     public SearchTransitionController(ActivityAllAppsContainerView<?> allAppsContainerView) {
-        mAllAppsContainerView = allAppsContainerView;
-    }
-
-    /** Returns true if a transition animation is currently in progress. */
-    public boolean isRunning() {
-        return mSearchToAzAnimator != null;
+        super(allAppsContainerView);
     }
 
     /**
@@ -101,51 +56,31 @@
      * @param onEndRunnable will be called when the animation finishes, unless another animation is
      *                      scheduled in the meantime
      */
-    public void animateToSearchState(boolean goingToSearch, long duration, Runnable onEndRunnable) {
-        float targetProgress = goingToSearch ? 0 : 1;
-
-        if (mSearchToAzAnimator != null) {
-            mSearchToAzAnimator.cancel();
-        }
-
-        mSearchToAzAnimator = ObjectAnimator.ofFloat(this, SEARCH_TO_AZ_PROGRESS, targetProgress);
-        boolean inAllApps = mAllAppsContainerView.isInAllApps();
-        TimeInterpolator timeInterpolator =
-                inAllApps ? INTERPOLATOR_WITHIN_ALL_APPS : INTERPOLATOR_TRANSITIONING_TO_ALL_APPS;
-        if (mSkipNextAnimationWithinAllApps) {
-            timeInterpolator = INSTANT;
-            mSkipNextAnimationWithinAllApps = false;
-        }
-        if (timeInterpolator == INSTANT) {
-            duration = 0;  // Don't want to animate when coming from QSB.
-        }
-        mSearchToAzAnimator.setDuration(duration).setInterpolator(timeInterpolator);
-        mSearchToAzAnimator.addListener(forEndCallback(() -> mSearchToAzAnimator = null));
+    @Override
+    protected void animateToState(boolean goingToSearch, long duration, Runnable onEndRunnable) {
+        super.animateToState(goingToSearch, duration, onEndRunnable);
         if (!goingToSearch) {
-            mSearchToAzAnimator.addListener(forSuccessCallback(() -> {
+            mAnimator.addListener(forSuccessCallback(() -> {
                 mAllAppsContainerView.getFloatingHeaderView().setFloatingRowsCollapsed(false);
                 mAllAppsContainerView.getFloatingHeaderView().reset(false /* animate */);
                 mAllAppsContainerView.getAppsRecyclerViewContainer().setTranslationY(0);
             }));
         }
-        mSearchToAzAnimator.addListener(forSuccessCallback(onEndRunnable));
-
         mAllAppsContainerView.getFloatingHeaderView().setFloatingRowsCollapsed(true);
         mAllAppsContainerView.getFloatingHeaderView().setVisibility(VISIBLE);
         mAllAppsContainerView.getFloatingHeaderView().maybeSetTabVisibility(VISIBLE);
         mAllAppsContainerView.getAppsRecyclerViewContainer().setVisibility(VISIBLE);
-        getSearchRecyclerView().setVisibility(VISIBLE);
-        getSearchRecyclerView().setChildAttachedConsumer(this::onSearchChildAttached);
-        mSearchToAzAnimator.start();
+        getRecyclerView().setVisibility(VISIBLE);
     }
 
-    private SearchRecyclerView getSearchRecyclerView() {
+    @Override
+    protected SearchRecyclerView getRecyclerView() {
         return mAllAppsContainerView.getSearchRecyclerView();
     }
 
-    private void setSearchToAzProgress(float searchToAzProgress) {
-        mSearchToAzProgress = searchToAzProgress;
-        int searchHeight = updateSearchRecyclerViewProgress();
+    @Override
+    protected int onProgressUpdated(float searchToAzProgress) {
+        int searchHeight = super.onProgressUpdated(searchToAzProgress);
 
         FloatingHeaderView headerView = mAllAppsContainerView.getFloatingHeaderView();
 
@@ -171,179 +106,27 @@
         appsContainer.setTranslationY(appsTranslationY);
         // Fade apps out with tabs (in 20% of the total animation).
         appsContainer.setAlpha(clampToProgress(searchToAzProgress, 0.8f, 1f));
+        return searchHeight;
     }
 
     /**
-     * Updates the children views of SearchRecyclerView based on the current animation progress.
-     *
-     * @return the total height of animating views (excluding at most one row of app icons).
+     * Should only animate if the view is not an app icon or if the app row is complete.
      */
-    private int updateSearchRecyclerViewProgress() {
-        int numSearchResultsAnimated = 0;
-        int totalHeight = 0;
-        int appRowHeight = 0;
-        boolean appRowComplete = false;
-        Integer top = null;
-        SearchRecyclerView searchRecyclerView = getSearchRecyclerView();
-
-        for (int i = 0; i < searchRecyclerView.getChildCount(); i++) {
-            View searchResultView = searchRecyclerView.getChildAt(i);
-            if (searchResultView == null) {
-                continue;
-            }
-
-            if (top == null) {
-                top = searchResultView.getTop();
-            }
-
-            int adapterPosition = searchRecyclerView.getChildAdapterPosition(searchResultView);
-            int spanIndex = getSpanIndex(searchRecyclerView, adapterPosition);
-            appRowComplete |= appRowHeight > 0 && spanIndex == 0;
-            // We don't animate the first (currently only) app row we see, as that is assumed to be
-            // predicted/prefix-matched apps.
-            boolean shouldAnimate = !isAppIcon(searchResultView) || appRowComplete;
-
-            float contentAlpha = 1f;
-            float backgroundAlpha = 1f;
-            if (shouldAnimate) {
-                if (spanIndex > 0) {
-                    // Animate this item with the previous item on the same row.
-                    numSearchResultsAnimated--;
-                }
-
-                // Adjust content alpha based on start progress and stagger.
-                float startContentFadeProgress = Math.max(0,
-                        TOP_CONTENT_FADE_PROGRESS_START
-                                - CONTENT_STAGGER * numSearchResultsAnimated);
-                float endContentFadeProgress = Math.min(1,
-                        startContentFadeProgress + CONTENT_FADE_PROGRESS_DURATION);
-                contentAlpha = 1 - clampToProgress(mSearchToAzProgress,
-                        startContentFadeProgress, endContentFadeProgress);
-
-                // Adjust background (or decorator) alpha based on start progress and stagger.
-                float startBackgroundFadeProgress = Math.max(0,
-                        TOP_BACKGROUND_FADE_PROGRESS_START
-                                - CONTENT_STAGGER * numSearchResultsAnimated);
-                float endBackgroundFadeProgress = Math.min(1,
-                        startBackgroundFadeProgress + BACKGROUND_FADE_PROGRESS_DURATION);
-                backgroundAlpha = 1 - clampToProgress(mSearchToAzProgress,
-                        startBackgroundFadeProgress, endBackgroundFadeProgress);
-
-                numSearchResultsAnimated++;
-            }
-
-            Drawable background = searchResultView.getBackground();
-            if (background != null
-                    && searchResultView instanceof ViewGroup
-                    && FeatureFlags.ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES.get()) {
-                searchResultView.setAlpha(1f);
-
-                // Apply content alpha to each child, since the view needs to be fully opaque for
-                // the background to show properly.
-                ViewGroup searchResultViewGroup = (ViewGroup) searchResultView;
-                for (int j = 0; j < searchResultViewGroup.getChildCount(); j++) {
-                    searchResultViewGroup.getChildAt(j).setAlpha(contentAlpha);
-                }
-
-                // Apply background alpha to the background drawable directly.
-                background.setAlpha((int) (255 * backgroundAlpha));
-            } else {
-                searchResultView.setAlpha(contentAlpha);
-
-                // Apply background alpha to decorator if possible.
-                if (adapterPosition != NO_POSITION) {
-                    searchRecyclerView.getApps().getAdapterItems().get(adapterPosition)
-                            .setDecorationFillAlpha((int) (255 * backgroundAlpha));
-                }
-
-                // Apply background alpha to view's background (e.g. for Search Edu card).
-                if (background != null) {
-                    background.setAlpha((int) (255 * backgroundAlpha));
-                }
-            }
-
-            float scaleY = 1;
-            if (shouldAnimate) {
-                scaleY = 1 - mSearchToAzProgress;
-            }
-            int scaledHeight = (int) (searchResultView.getHeight() * scaleY);
-            searchResultView.setScaleY(scaleY);
-
-            // For rows with multiple elements, only count the height once and translate elements to
-            // the same y position.
-            int y = top + totalHeight;
-            if (spanIndex > 0) {
-                // Continuation of an existing row; move this item into the row.
-                y -= scaledHeight;
-            } else {
-                // Start of a new row contributes to total height.
-                totalHeight += scaledHeight;
-                if (!shouldAnimate) {
-                    appRowHeight = scaledHeight;
-                }
-            }
-            searchResultView.setY(y);
-        }
-
-        return totalHeight - appRowHeight;
+    @Override
+    protected boolean shouldAnimate(View view, boolean hasDecorationInfo, boolean appRowComplete) {
+        return !isAppIcon(view) || appRowComplete;
     }
 
-    /** @return the column that the view at this position is found (0 assumed if indeterminate). */
-    private int getSpanIndex(SearchRecyclerView searchRecyclerView, int adapterPosition) {
-        if (adapterPosition == NO_POSITION) {
-            Log.w(LOG_TAG, "Can't determine span index - child not found in adapter");
-            return 0;
+    @Override
+    protected TimeInterpolator getInterpolator() {
+        TimeInterpolator timeInterpolator =
+                mAllAppsContainerView.isInAllApps()
+                        ? INTERPOLATOR_WITHIN_ALL_APPS : INTERPOLATOR_TRANSITIONING_TO_ALL_APPS;
+        if (mSkipNextAnimationWithinAllApps) {
+            timeInterpolator = INSTANT;
+            mSkipNextAnimationWithinAllApps = false;
         }
-        if (!(searchRecyclerView.getAdapter() instanceof AllAppsGridAdapter<?>)) {
-            Log.e(LOG_TAG, "Search RV doesn't have an AllAppsGridAdapter?");
-            // This case shouldn't happen, but for debug devices we will continue to create a more
-            // visible crash.
-            if (!Utilities.IS_DEBUG_DEVICE) {
-                return 0;
-            }
-        }
-        AllAppsGridAdapter<?> adapter = (AllAppsGridAdapter<?>) searchRecyclerView.getAdapter();
-        return adapter.getSpanIndex(adapterPosition);
-    }
-
-    private boolean isAppIcon(View item) {
-        return item instanceof BubbleTextView && item.getTag() instanceof ItemInfo
-                && ((ItemInfo) item.getTag()).itemType == ITEM_TYPE_APPLICATION;
-    }
-
-    /** Called just before a child is attached to the SearchRecyclerView. */
-    private void onSearchChildAttached(View child) {
-        // Avoid allocating hardware layers for alpha changes.
-        child.forceHasOverlappingRendering(false);
-        child.setPivotY(0);
-        if (mSearchToAzProgress > 0) {
-            // Before the child is rendered, apply the animation including it to avoid flicker.
-            updateSearchRecyclerViewProgress();
-        } else {
-            // Apply default states without processing the full layout.
-            child.setAlpha(1);
-            child.setScaleY(1);
-            child.setTranslationY(0);
-            int adapterPosition = getSearchRecyclerView().getChildAdapterPosition(child);
-            if (adapterPosition != NO_POSITION) {
-                getSearchRecyclerView().getApps().getAdapterItems().get(adapterPosition)
-                        .setDecorationFillAlpha(255);
-            }
-            if (child instanceof ViewGroup
-                    && FeatureFlags.ENABLE_SEARCH_RESULT_BACKGROUND_DRAWABLES.get()) {
-                ViewGroup childGroup = (ViewGroup) child;
-                for (int i = 0; i < childGroup.getChildCount(); i++) {
-                    childGroup.getChildAt(i).setAlpha(1f);
-                }
-            }
-            if (child.getBackground() != null) {
-                child.getBackground().setAlpha(255);
-            }
-        }
-    }
-
-    private float getSearchToAzProgress() {
-        return mSearchToAzProgress;
+        return timeInterpolator;
     }
 
     /**
diff --git a/src/com/android/launcher3/allapps/SectionDecorationHandler.java b/src/com/android/launcher3/allapps/SectionDecorationHandler.java
new file mode 100644
index 0000000..f79b82c
--- /dev/null
+++ b/src/com/android/launcher3/allapps/SectionDecorationHandler.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.allapps;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Path;
+import android.graphics.RectF;
+import android.graphics.drawable.GradientDrawable;
+import android.graphics.drawable.InsetDrawable;
+import android.view.View;
+
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+
+import com.android.launcher3.R;
+import com.android.launcher3.util.Themes;
+
+public class SectionDecorationHandler {
+
+    protected final Path mTmpPath = new Path();
+    protected final RectF mTmpRect = new RectF();
+
+    protected final int mCornerGroupRadius;
+    protected final int mCornerResultRadius;
+    protected final RectF mBounds = new RectF();
+    protected final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+
+    protected final int mFocusAlpha = 255; // main focused item alpha
+    protected int mFillColor; // grouping color
+    protected int mFocusColor; // main focused item color
+    protected float mFillSpacing;
+    protected int mInlineRadius;
+    protected Context mContext;
+    protected float[] mCorners;
+    protected int mFillAlpha;
+    protected boolean mIsTopLeftRound;
+    protected boolean mIsTopRightRound;
+    protected boolean mIsBottomLeftRound;
+    protected boolean mIsBottomRightRound;
+    protected boolean mIsBottomRound;
+    protected boolean mIsTopRound;
+
+    public SectionDecorationHandler(Context context, int fillAlpha, boolean isTopLeftRound,
+            boolean isTopRightRound, boolean isBottomLeftRound,
+            boolean isBottomRightRound) {
+
+        mContext = context;
+        mFillAlpha = fillAlpha;
+        mFocusColor = ContextCompat.getColor(context,
+                R.color.material_color_surface_bright); // UX recommended
+        mFillColor = ContextCompat.getColor(context,
+                R.color.material_color_surface_container_high); // UX recommended
+
+        mIsTopLeftRound = isTopLeftRound;
+        mIsTopRightRound = isTopRightRound;
+        mIsBottomLeftRound = isBottomLeftRound;
+        mIsBottomRightRound = isBottomRightRound;
+        mIsBottomRound = mIsBottomLeftRound && mIsBottomRightRound;
+        mIsTopRound = mIsTopLeftRound && mIsTopRightRound;
+
+        mCornerGroupRadius = context.getResources().getDimensionPixelSize(
+                R.dimen.all_apps_recycler_view_decorator_group_radius);
+        mCornerResultRadius = context.getResources().getDimensionPixelSize(
+                R.dimen.all_apps_recycler_view_decorator_result_radius);
+
+        mInlineRadius = 0;
+        mFillSpacing = 0;
+        initCorners();
+    }
+
+    protected void initCorners() {
+        mCorners = new float[]{
+                mIsTopLeftRound ? mCornerGroupRadius : 0,
+                mIsTopLeftRound ? mCornerGroupRadius : 0, // Top left radius in px
+                mIsTopRightRound ? mCornerGroupRadius : 0,
+                mIsTopRightRound ? mCornerGroupRadius : 0, // Top right radius in px
+                mIsBottomRightRound ? mCornerGroupRadius : 0,
+                mIsBottomRightRound ? mCornerGroupRadius : 0, // Bottom right
+                mIsBottomLeftRound ? mCornerGroupRadius : 0,
+                mIsBottomLeftRound ? mCornerGroupRadius : 0 // Bottom left
+        };
+    }
+
+    protected void setFillAlpha(int fillAlpha) {
+        mFillAlpha = fillAlpha;
+        mPaint.setAlpha(mFillAlpha);
+    }
+
+    protected void onFocusDraw(Canvas canvas, @Nullable View view) {
+        if (view == null) {
+            return;
+        }
+        mPaint.setColor(mFillColor);
+        mPaint.setAlpha(mFillAlpha);
+        int scaledHeight = (int) (view.getHeight() * view.getScaleY());
+        mBounds.set(view.getLeft(), view.getY(), view.getRight(), view.getY() + scaledHeight);
+        onDraw(canvas);
+    }
+
+    protected void onDraw(Canvas canvas) {
+        mTmpPath.reset();
+        mTmpRect.set(mBounds.left + mFillSpacing,
+                mBounds.top + mFillSpacing,
+                mBounds.right - mFillSpacing,
+                mBounds.bottom - mFillSpacing);
+        mTmpPath.addRoundRect(mTmpRect, mCorners, Path.Direction.CW);
+        canvas.drawPath(mTmpPath, mPaint);
+    }
+
+    /** Sets the right background drawable to the view based on the give decoration info. */
+    public void applyBackground(View view, Context context,
+           @Nullable SectionDecorationInfo decorationInfo, boolean isHighlighted) {
+        int inset = context.getResources().getDimensionPixelSize(
+                R.dimen.all_apps_recycler_view_decorator_padding);
+        float radiusBottom = (decorationInfo == null || decorationInfo.isBottomRound()) ?
+                mCornerGroupRadius : mCornerResultRadius;
+        float radiusTop =
+                (decorationInfo == null || decorationInfo.isTopRound()) ?
+                        mCornerGroupRadius : mCornerResultRadius;
+        int color = isHighlighted ? mFocusColor : mFillColor;
+
+        GradientDrawable shape = new GradientDrawable();
+        shape.setShape(GradientDrawable.RECTANGLE);
+        shape.setCornerRadii(new float[] {
+                radiusTop, radiusTop, // top-left
+                radiusTop, radiusTop, // top-right
+                radiusBottom, radiusBottom, // bottom-right
+                radiusBottom, radiusBottom // bottom-left
+        });
+        shape.setColor(color);
+
+        // Setting the background resets the padding, so we cache it and reset it afterwards.
+        int paddingLeft = view.getPaddingLeft();
+        int paddingTop = view.getPaddingTop();
+        int paddingRight = view.getPaddingRight();
+        int paddingBottom = view.getPaddingBottom();
+
+        view.setBackground(new InsetDrawable(shape, inset));
+
+        view.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);
+    }
+
+    /**
+     * Section decorator that combines views and draws a single block decoration
+     */
+    public static class UnionDecorationHandler extends SectionDecorationHandler {
+
+        private final int mPaddingLeft;
+        private final int mPaddingRight;
+
+        public UnionDecorationHandler(
+                SectionDecorationHandler decorationHandler,
+                int paddingLeft, int paddingRight) {
+            super(decorationHandler.mContext, decorationHandler.mFillAlpha,
+                    decorationHandler.mIsTopLeftRound, decorationHandler.mIsTopRightRound,
+                    decorationHandler.mIsBottomLeftRound, decorationHandler.mIsBottomRightRound);
+            mPaddingLeft = paddingLeft;
+            mPaddingRight = paddingRight;
+        }
+
+        /**
+         * Expands decoration bounds to include child {@link PrivateAppsSectionDecorator}
+         */
+        public void addChild(SectionDecorationHandler child, View view, boolean applyBackground) {
+            int scaledHeight = (int) (view.getHeight() * view.getScaleY());
+            mBounds.union(view.getLeft(), view.getY(),
+                    view.getRight(), view.getY() + scaledHeight);
+            if (applyBackground) {
+                applyBackground(view, mContext, null, false);
+            }
+            mIsBottomRound |= child.mIsBottomRound;
+            mIsBottomLeftRound |= child.mIsBottomLeftRound;
+            mIsBottomRightRound |= child.mIsBottomRightRound;
+            mIsTopRound |= child.mIsTopRound;
+            mIsTopLeftRound |= child.mIsTopLeftRound;
+            mIsTopRightRound |= child.mIsTopRightRound;
+        }
+
+        /**
+         * Draws group decoration to canvas
+         */
+        public void onGroupDecorate(Canvas canvas) {
+            initCorners();
+            mBounds.left = mPaddingLeft;
+            mBounds.right = canvas.getWidth() - mPaddingRight;
+            mPaint.setColor(mFillColor);
+            mPaint.setAlpha(mFillAlpha);
+            onDraw(canvas);
+        }
+    }
+}
diff --git a/src/com/android/launcher3/allapps/SectionDecorationInfo.java b/src/com/android/launcher3/allapps/SectionDecorationInfo.java
new file mode 100644
index 0000000..c438d19
--- /dev/null
+++ b/src/com/android/launcher3/allapps/SectionDecorationInfo.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.allapps;
+
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+
+public class SectionDecorationInfo {
+
+    public static final int ROUND_NOTHING = 0;
+    public static final int ROUND_TOP_LEFT = 1 << 1;
+    public static final int ROUND_TOP_RIGHT = 1 << 2;
+    public static final int ROUND_BOTTOM_LEFT = 1 << 3;
+    public static final int ROUND_BOTTOM_RIGHT = 1 << 4;
+    public static final int DECORATOR_ALPHA = 255;
+
+    protected boolean mShouldDecorateItemsTogether;
+    private SectionDecorationHandler mDecorationHandler;
+    protected boolean mIsTopRound;
+    protected boolean mIsBottomRound;
+
+    public SectionDecorationInfo(Context context, int roundRegions, boolean decorateTogether) {
+        mDecorationHandler =
+                new SectionDecorationHandler(context, DECORATOR_ALPHA,
+                        isFlagEnabled(roundRegions, ROUND_TOP_LEFT),
+                        isFlagEnabled(roundRegions, ROUND_TOP_RIGHT),
+                        isFlagEnabled(roundRegions, ROUND_BOTTOM_LEFT),
+                        isFlagEnabled(roundRegions, ROUND_BOTTOM_RIGHT));
+        mShouldDecorateItemsTogether = decorateTogether;
+        mIsTopRound = isFlagEnabled(roundRegions, ROUND_TOP_LEFT) &&
+                isFlagEnabled(roundRegions, ROUND_TOP_RIGHT);
+        mIsBottomRound = isFlagEnabled(roundRegions, ROUND_BOTTOM_LEFT) &&
+                isFlagEnabled(roundRegions, ROUND_BOTTOM_RIGHT);
+    }
+
+    public SectionDecorationInfo(Context context, @NonNull Bundle target,
+            String targetLayoutType, @NonNull Bundle prevTarget, @NonNull Bundle nextTarget) {}
+
+    public SectionDecorationHandler getDecorationHandler() {
+        return mDecorationHandler;
+    }
+
+    private boolean isFlagEnabled(int canonicalFlag, int comparison) {
+        return (canonicalFlag & comparison) != 0;
+    }
+
+    /**
+     * Returns whether multiple {@link SectionDecorationInfo}s with the same sectionId should
+     * be grouped together.
+     */
+    public boolean shouldDecorateItemsTogether() {
+        return mShouldDecorateItemsTogether;
+    }
+
+    public boolean isTopRound() {
+        return mIsTopRound;
+    }
+
+    public boolean isBottomRound() {
+        return mIsBottomRound;
+    }
+}
diff --git a/src/com/android/launcher3/allapps/UserProfileManager.java b/src/com/android/launcher3/allapps/UserProfileManager.java
new file mode 100644
index 0000000..8894f45
--- /dev/null
+++ b/src/com/android/launcher3/allapps/UserProfileManager.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.allapps;
+
+import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
+
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import androidx.annotation.IntDef;
+
+import com.android.launcher3.Utilities;
+import com.android.launcher3.logging.StatsLogManager;
+import com.android.launcher3.model.data.ItemInfo;
+import com.android.launcher3.pm.UserCache;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.function.Predicate;
+
+/**
+ * A Generic User Profile Manager which abstract outs the common functionality required
+ * by user-profiles supported by Launcher
+ * <p>
+ * Concrete impls are
+ * {@link WorkProfileManager} which manages work profile state
+ * {@link PrivateProfileManager} which manages private profile state.
+ */
+public abstract class UserProfileManager {
+    public static final int STATE_ENABLED = 1;
+    public static final int STATE_DISABLED = 2;
+    public static final int STATE_TRANSITION = 3;
+
+    @IntDef(value = {
+            STATE_ENABLED,
+            STATE_DISABLED,
+            STATE_TRANSITION
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface UserProfileState { }
+
+    @UserProfileState
+    private int mCurrentState;
+
+    private final UserManager mUserManager;
+    private final StatsLogManager mStatsLogManager;
+    private final UserCache mUserCache;
+
+    protected UserProfileManager(UserManager userManager,
+            StatsLogManager statsLogManager,
+            UserCache userCache) {
+        mUserManager = userManager;
+        mStatsLogManager = statsLogManager;
+        mUserCache = userCache;
+    }
+
+    /** Sets quiet mode as enabled/disabled for the profile type. */
+    protected void setQuietMode(boolean enabled) {
+        if (Utilities.ATLEAST_P) {
+            UI_HELPER_EXECUTOR.post(() -> {
+                mUserCache.getUserProfiles()
+                        .stream()
+                        .filter(getUserMatcher())
+                        .findFirst()
+                        .ifPresent(userHandle ->
+                                mUserManager.requestQuietModeEnabled(enabled, userHandle));
+            });
+        }
+    }
+
+    /** Sets current state for the profile type. */
+    protected void setCurrentState(int state) {
+        mCurrentState = state;
+    }
+
+    /** Returns current state for the profile type. */
+    public int getCurrentState() {
+        return mCurrentState;
+    }
+
+    /** Returns if user profile is enabled. */
+    public boolean isEnabled() {
+        return mCurrentState == STATE_ENABLED;
+    }
+
+    /** Returns the UserHandle corresponding to the profile type, null in case no matches found. */
+    public UserHandle getProfileUser() {
+        return mUserCache.getUserProfiles().stream()
+                .filter(getUserMatcher())
+                .findAny()
+                .orElse(null);
+    }
+
+    /** Logs Event to StatsLogManager. */
+    protected void logEvents(StatsLogManager.EventEnum event) {
+        mStatsLogManager.logger().log(event);
+    }
+
+    /** Returns the matcher corresponding to profile type. */
+    protected abstract Predicate<UserHandle> getUserMatcher();
+
+    /** Returns the matcher corresponding to the profile type associated with ItemInfo. */
+    protected Predicate<ItemInfo> getItemInfoMatcher() {
+        return itemInfo -> itemInfo != null && getUserMatcher().test(itemInfo.user);
+    }
+}
diff --git a/src/com/android/launcher3/allapps/WorkModeSwitch.java b/src/com/android/launcher3/allapps/WorkModeSwitch.java
index 144381c..48400b2 100644
--- a/src/com/android/launcher3/allapps/WorkModeSwitch.java
+++ b/src/com/android/launcher3/allapps/WorkModeSwitch.java
@@ -117,12 +117,13 @@
     protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
         super.onLayout(changed, left, top, right, bottom);
         View parent = (View) getParent();
-        int allAppsLeftRightPadding = mActivityContext.getDeviceProfile().allAppsLeftRightPadding;
+        boolean isRtl = Utilities.isRtl(getResources());
+        Rect allAppsPadding = mActivityContext.getDeviceProfile().allAppsPadding;
         int size = parent.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight()
-                - 2 * allAppsLeftRightPadding;
+                - (allAppsPadding.left + allAppsPadding.right);
         int tabWidth = getTabWidth(getContext(), size);
-        int shift = (size - tabWidth) / 2 + allAppsLeftRightPadding;
-        setTranslationX(Utilities.isRtl(getResources()) ? shift : -shift);
+        int shift = (size - tabWidth) / 2 + (isRtl ? allAppsPadding.left : allAppsPadding.right);
+        setTranslationX(isRtl ? shift : -shift);
     }
 
     @Override
diff --git a/src/com/android/launcher3/allapps/WorkProfileManager.java b/src/com/android/launcher3/allapps/WorkProfileManager.java
index 1ac8d87..c430a36 100644
--- a/src/com/android/launcher3/allapps/WorkProfileManager.java
+++ b/src/com/android/launcher3/allapps/WorkProfileManager.java
@@ -25,92 +25,56 @@
 import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_HAS_SHORTCUT_PERMISSION;
 import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_QUIET_MODE_CHANGE_PERMISSION;
 import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_QUIET_MODE_ENABLED;
-import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
+import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_WORK_PROFILE_QUIET_MODE_ENABLED;
 
-import android.os.Build;
-import android.os.Process;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.util.Log;
 import android.view.View;
 
-import androidx.annotation.IntDef;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.annotation.RequiresApi;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.android.launcher3.Flags;
 import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.allapps.BaseAllAppsAdapter.AdapterItem;
 import com.android.launcher3.logging.StatsLogManager;
-import com.android.launcher3.model.data.ItemInfo;
+import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.workprofile.PersonalWorkSlidingTabStrip;
 
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
 import java.util.function.Predicate;
+import java.util.stream.Stream;
 
 /**
  * Companion class for {@link ActivityAllAppsContainerView} to manage work tab and personal tab
  * related
- * logic based on {@link WorkProfileState}?
+ * logic based on {@link UserProfileState}?
  */
-public class WorkProfileManager implements PersonalWorkSlidingTabStrip.OnActivePageChangedListener {
+public class WorkProfileManager extends UserProfileManager
+        implements PersonalWorkSlidingTabStrip.OnActivePageChangedListener {
     private static final String TAG = "WorkProfileManager";
-
-    public static final String KEY_WORK_EDU_STEP = "showed_work_profile_edu";
-
-    public static final int STATE_ENABLED = 1;
-    public static final int STATE_DISABLED = 2;
-    public static final int STATE_TRANSITION = 3;
-
-    /**
-     * Work profile manager states
-     */
-    @IntDef(value = {
-            STATE_ENABLED,
-            STATE_DISABLED,
-            STATE_TRANSITION
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface WorkProfileState { }
-
-    private final UserManager mUserManager;
     private final ActivityAllAppsContainerView<?> mAllApps;
-    private final Predicate<ItemInfo> mMatcher;
-    private final StatsLogManager mStatsLogManager;
-
     private WorkModeSwitch mWorkModeSwitch;
-
-    @WorkProfileState
-    private int mCurrentState;
+    private final Predicate<UserHandle> mWorkProfileMatcher;
 
     public WorkProfileManager(
             UserManager userManager, ActivityAllAppsContainerView allApps,
-            StatsLogManager statsLogManager) {
-        mUserManager = userManager;
+            StatsLogManager statsLogManager, UserCache userCache) {
+        super(userManager, statsLogManager, userCache);
         mAllApps = allApps;
-        mMatcher = mAllApps.mPersonalMatcher.negate();
-        mStatsLogManager = statsLogManager;
+        mWorkProfileMatcher = (user) -> userCache.getUserInfo(user).isWork();
     }
 
     /**
      * Posts quite mode enable/disable call for work profile user
      */
-    @RequiresApi(Build.VERSION_CODES.P)
     public void setWorkProfileEnabled(boolean enabled) {
-        updateCurrentState(STATE_TRANSITION);
-        UI_HELPER_EXECUTOR.post(() -> {
-            for (UserHandle userProfile : mUserManager.getUserProfiles()) {
-                if (Process.myUserHandle().equals(userProfile)) {
-                    continue;
-                }
-                mUserManager.requestQuietModeEnabled(!enabled, userProfile);
-            }
-        });
+        setCurrentState(STATE_TRANSITION);
+        setQuietMode(!enabled);
     }
 
     @Override
@@ -122,7 +86,7 @@
         if (mWorkModeSwitch != null) {
             if (page == MAIN || page == SEARCH) {
                 mWorkModeSwitch.animateVisibility(false);
-            } else if (page == WORK && mCurrentState == STATE_ENABLED) {
+            } else if (page == WORK && getCurrentState() == STATE_ENABLED) {
                 mWorkModeSwitch.animateVisibility(true);
             }
         }
@@ -132,7 +96,13 @@
      * Requests work profile state from {@link AllAppsStore} and updates work profile related views
      */
     public void reset() {
-        boolean isEnabled = !mAllApps.getAppsStore().hasModelFlag(FLAG_QUIET_MODE_ENABLED);
+        int quietModeFlag;
+        if (Flags.enablePrivateSpace()) {
+            quietModeFlag = FLAG_WORK_PROFILE_QUIET_MODE_ENABLED;
+        } else {
+            quietModeFlag = FLAG_QUIET_MODE_ENABLED;
+        }
+        boolean isEnabled = !mAllApps.getAppsStore().hasModelFlag(quietModeFlag);
         updateCurrentState(isEnabled ? STATE_ENABLED : STATE_DISABLED);
         if (mWorkModeSwitch != null) {
             // reset the position of the button and clear IME insets.
@@ -141,17 +111,17 @@
         }
     }
 
-    private void updateCurrentState(@WorkProfileState int currentState) {
-        mCurrentState = currentState;
+    private void updateCurrentState(@UserProfileState int currentState) {
+        setCurrentState(currentState);
         if (getAH() != null) {
             getAH().mAppsList.updateAdapterItems();
         }
         if (mWorkModeSwitch != null) {
             updateWorkFAB(mAllApps.getCurrentPage());
         }
-        if (mCurrentState == STATE_ENABLED) {
+        if (getCurrentState() == STATE_ENABLED) {
             attachWorkModeSwitch();
-        } else if (mCurrentState == STATE_DISABLED) {
+        } else if (getCurrentState() == STATE_DISABLED) {
             detachWorkModeSwitch();
         }
     }
@@ -191,10 +161,6 @@
         mWorkModeSwitch = null;
     }
 
-    public Predicate<ItemInfo> getMatcher() {
-        return mMatcher;
-    }
-
     @Nullable
     public WorkModeSwitch getWorkModeSwitch() {
         return mWorkModeSwitch;
@@ -204,25 +170,25 @@
         return mAllApps.mAH.get(WORK);
     }
 
-    public int getCurrentState() {
-        return mCurrentState;
-    }
-
     /**
      * returns whether or not work apps should be visible in work tab.
      */
     public boolean shouldShowWorkApps() {
-        return mCurrentState != WorkProfileManager.STATE_DISABLED;
+        return getCurrentState() != WorkProfileManager.STATE_DISABLED;
+    }
+
+    public boolean hasWorkApps() {
+        return Stream.of(mAllApps.getAppsStore().getApps()).anyMatch(getItemInfoMatcher());
     }
 
     /**
      * Adds work profile specific adapter items to adapterItems and returns number of items added
      */
     public int addWorkItems(ArrayList<AdapterItem> adapterItems) {
-        if (mCurrentState == WorkProfileManager.STATE_DISABLED) {
+        if (getCurrentState() == WorkProfileManager.STATE_DISABLED) {
             //add disabled card here.
             adapterItems.add(new AdapterItem(VIEW_TYPE_WORK_DISABLED_CARD));
-        } else if (mCurrentState == WorkProfileManager.STATE_ENABLED && !isEduSeen()) {
+        } else if (getCurrentState() == WorkProfileManager.STATE_ENABLED && !isEduSeen()) {
             adapterItems.add(new AdapterItem(VIEW_TYPE_WORK_EDU_CARD));
         }
         return adapterItems.size();
@@ -233,8 +199,9 @@
     }
 
     private void onWorkFabClicked(View view) {
-        if (Utilities.ATLEAST_P && mCurrentState == STATE_ENABLED && mWorkModeSwitch.isEnabled()) {
-            mStatsLogManager.logger().log(LAUNCHER_TURN_OFF_WORK_APPS_TAP);
+        if (Utilities.ATLEAST_P && getCurrentState() == STATE_ENABLED
+                && mWorkModeSwitch.isEnabled()) {
+            logEvents(LAUNCHER_TURN_OFF_WORK_APPS_TAP);
             setWorkProfileEnabled(false);
         }
     }
@@ -265,4 +232,9 @@
             }
         };
     }
+
+    @Override
+    public Predicate<UserHandle> getUserMatcher() {
+        return mWorkProfileMatcher;
+    }
 }
diff --git a/src/com/android/launcher3/allapps/search/AllAppsSearchBarController.java b/src/com/android/launcher3/allapps/search/AllAppsSearchBarController.java
index ecbc7a9..4427a49 100644
--- a/src/com/android/launcher3/allapps/search/AllAppsSearchBarController.java
+++ b/src/com/android/launcher3/allapps/search/AllAppsSearchBarController.java
@@ -160,7 +160,7 @@
      * Focuses the search field to handle key events.
      */
     public void focusSearchField() {
-        mInput.showKeyboard(true /* shouldFocus */);
+        mInput.showKeyboard();
     }
 
     /**
diff --git a/src/com/android/launcher3/anim/PendingAnimation.java b/src/com/android/launcher3/anim/PendingAnimation.java
index 7316420..fd731f4 100644
--- a/src/com/android/launcher3/anim/PendingAnimation.java
+++ b/src/com/android/launcher3/anim/PendingAnimation.java
@@ -22,8 +22,10 @@
 import android.animation.ObjectAnimator;
 import android.animation.TimeInterpolator;
 import android.animation.ValueAnimator;
+import android.os.Trace;
 import android.util.FloatProperty;
 
+import com.android.launcher3.Utilities;
 import com.android.launcher3.anim.AnimatorPlaybackController.Holder;
 
 import java.util.ArrayList;
@@ -82,6 +84,15 @@
         add(anim);
     }
 
+    /** If trace is enabled, add counter to trace animation progress. */
+    public void logAnimationProgressToTrace(String counterName) {
+        if (Utilities.ATLEAST_Q && Trace.isEnabled()) {
+            super.addOnFrameListener(
+                    animation -> Trace.setCounter(
+                            counterName, (long) (animation.getAnimatedFraction() * 100)));
+        }
+    }
+
     /**
      * Creates and returns the underlying AnimatorSet
      */
diff --git a/src/com/android/launcher3/apppairs/AppPairIcon.java b/src/com/android/launcher3/apppairs/AppPairIcon.java
index 1dc4ad2..1d73441 100644
--- a/src/com/android/launcher3/apppairs/AppPairIcon.java
+++ b/src/com/android/launcher3/apppairs/AppPairIcon.java
@@ -20,16 +20,19 @@
 import android.graphics.Rect;
 import android.util.AttributeSet;
 import android.view.LayoutInflater;
+import android.view.View;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 
 import androidx.annotation.Nullable;
 
 import com.android.launcher3.BubbleTextView;
+import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.R;
+import com.android.launcher3.Reorderable;
 import com.android.launcher3.dragndrop.DraggableView;
 import com.android.launcher3.model.data.FolderInfo;
-import com.android.launcher3.model.data.WorkspaceItemInfo;
+import com.android.launcher3.util.MultiTranslateDelegate;
 import com.android.launcher3.views.ActivityContext;
 
 import java.util.Collections;
@@ -37,13 +40,22 @@
 
 /**
  * A {@link android.widget.FrameLayout} used to represent an app pair icon on the workspace.
+ * <br>
+ * The app pair icon is two parallel background rectangles with rounded corners. Icons of the two
+ * member apps are set into these rectangles.
  */
-public class AppPairIcon extends FrameLayout implements DraggableView {
-
-    private ActivityContext mActivity;
+public class AppPairIcon extends FrameLayout implements DraggableView, Reorderable {
+    // A view that holds the app pair icon graphic.
+    private AppPairIconGraphic mIconGraphic;
+    // A view that holds the app pair's title.
     private BubbleTextView mAppPairName;
+    // The underlying ItemInfo that stores info about the app pair members, etc.
     private FolderInfo mInfo;
 
+    // Required for Reorderable -- handles translation and bouncing movements
+    private final MultiTranslateDelegate mTranslateDelegate = new MultiTranslateDelegate(this);
+    private float mScaleForReorderBounce = 1f;
+
     public AppPairIcon(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
@@ -53,11 +65,11 @@
     }
 
     /**
-     * Builds an AppPairIcon to be added to the Launcher
+     * Builds an AppPairIcon to be added to the Launcher.
      */
     public static AppPairIcon inflateIcon(int resId, ActivityContext activity,
             @Nullable ViewGroup group, FolderInfo appPairInfo) {
-
+        DeviceProfile grid = activity.getDeviceProfile();
         LayoutInflater inflater = (group != null)
                 ? LayoutInflater.from(group.getContext())
                 : activity.getLayoutInflater();
@@ -67,36 +79,83 @@
         Collections.sort(appPairInfo.contents, Comparator.comparingInt(a -> a.rank));
 
         icon.setClipToPadding(false);
-        icon.mAppPairName = icon.findViewById(R.id.app_pair_icon_name);
-
-        // TODO (jeremysim b/274189428): Replace this placeholder icon
-        WorkspaceItemInfo placeholder = new WorkspaceItemInfo();
-        placeholder.newIcon(icon.getContext());
-        icon.mAppPairName.applyFromWorkspaceItem(placeholder);
-
-        icon.mAppPairName.setText(appPairInfo.title);
-
         icon.setTag(appPairInfo);
         icon.setOnClickListener(activity.getItemOnClickListener());
         icon.mInfo = appPairInfo;
-        icon.mActivity = activity;
 
+        // Set up icon drawable area
+        icon.mIconGraphic = icon.findViewById(R.id.app_pair_icon_graphic);
+        icon.mIconGraphic.init(activity.getDeviceProfile(), icon);
+
+        // Set up app pair title
+        icon.mAppPairName = icon.findViewById(R.id.app_pair_icon_name);
+        icon.mAppPairName.setCompoundDrawablePadding(0);
+        FrameLayout.LayoutParams lp =
+                (FrameLayout.LayoutParams) icon.mAppPairName.getLayoutParams();
+        lp.topMargin = grid.iconSizePx + grid.iconDrawablePaddingPx;
+        icon.mAppPairName.setText(appPairInfo.title);
+
+        // Set up accessibility
+        icon.setContentDescription(icon.getAccessibilityTitle(
+                appPairInfo.contents.get(0).title, appPairInfo.contents.get(1).title));
         icon.setAccessibilityDelegate(activity.getAccessibilityDelegate());
 
         return icon;
     }
 
+    /**
+     * Returns a formatted accessibility title for app pairs.
+     */
+    public String getAccessibilityTitle(CharSequence app1, CharSequence app2) {
+        return getContext().getString(R.string.app_pair_name_format, app1, app2);
+    }
+
+    // Required for DraggableView
     @Override
     public int getViewType() {
         return DRAGGABLE_ICON;
     }
 
+    // Required for DraggableView
     @Override
-    public void getWorkspaceVisualDragBounds(Rect bounds) {
-        mAppPairName.getIconBounds(bounds);
+    public void getWorkspaceVisualDragBounds(Rect outBounds) {
+        mIconGraphic.getIconBounds(outBounds);
+    }
+
+    /** Sets the visibility of the icon's title text */
+    public void setTextVisible(boolean visible) {
+        if (visible) {
+            mAppPairName.setVisibility(VISIBLE);
+        } else {
+            mAppPairName.setVisibility(INVISIBLE);
+        }
+    }
+
+    // Required for Reorderable
+    @Override
+    public MultiTranslateDelegate getTranslateDelegate() {
+        return mTranslateDelegate;
+    }
+
+    // Required for Reorderable
+    @Override
+    public void setReorderBounceScale(float scale) {
+        mScaleForReorderBounce = scale;
+        super.setScaleX(scale);
+        super.setScaleY(scale);
+    }
+
+    // Required for Reorderable
+    @Override
+    public float getReorderBounceScale() {
+        return mScaleForReorderBounce;
     }
 
     public FolderInfo getInfo() {
         return mInfo;
     }
+
+    public View getIconDrawableArea() {
+        return mIconGraphic;
+    }
 }
diff --git a/src/com/android/launcher3/apppairs/AppPairIconBackground.java b/src/com/android/launcher3/apppairs/AppPairIconBackground.java
new file mode 100644
index 0000000..4e60ece
--- /dev/null
+++ b/src/com/android/launcher3/apppairs/AppPairIconBackground.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.apppairs;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.ColorFilter;
+import android.graphics.Paint;
+import android.graphics.PixelFormat;
+import android.graphics.RectF;
+import android.graphics.drawable.Drawable;
+import android.os.Build;
+
+import com.android.launcher3.R;
+
+/**
+ * A Drawable for the background behind the twin app icons (looks like two rectangles).
+ */
+class AppPairIconBackground extends Drawable {
+    // The underlying view that we are drawing this background on.
+    private final AppPairIconGraphic icon;
+    private final Paint mBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+
+    /**
+     * Null values to use with
+     * {@link Canvas#drawDoubleRoundRect(RectF, float[], RectF, float[], Paint)}, since there
+     * doesn't seem to be any other API for drawing rectangles with 4 different corner radii.
+     */
+    private static final RectF EMPTY_RECT = new RectF();
+    private static final float[] ARRAY_OF_ZEROES = new float[8];
+
+    AppPairIconBackground(Context context, AppPairIconGraphic iconGraphic) {
+        icon = iconGraphic;
+        // Set up background paint color
+        TypedArray ta = context.getTheme().obtainStyledAttributes(R.styleable.FolderIconPreview);
+        mBackgroundPaint.setStyle(Paint.Style.FILL);
+        mBackgroundPaint.setColor(
+                ta.getColor(R.styleable.FolderIconPreview_folderPreviewColor, 0));
+        ta.recycle();
+    }
+
+    @Override
+    public void draw(Canvas canvas) {
+        if (icon.isLeftRightSplit()) {
+            drawLeftRightSplit(canvas);
+        } else {
+            drawTopBottomSplit(canvas);
+        }
+    }
+
+    /**
+     * When device is in landscape, we draw the rectangles with a left-right split.
+     */
+    private void drawLeftRightSplit(Canvas canvas) {
+        // Get the bounds where we will draw the background image
+        int width = getBounds().width();
+        int height = getBounds().height();
+
+        // The left half of the background image, excluding center channel
+        RectF leftSide = new RectF(
+                0,
+                0,
+                (width / 2f) - (icon.getCenterChannelSize() / 2f),
+                height
+        );
+        // The right half of the background image, excluding center channel
+        RectF rightSide = new RectF(
+                (width / 2f) + (icon.getCenterChannelSize() / 2f),
+                0,
+                width,
+                height
+        );
+
+        drawCustomRoundedRect(canvas, leftSide, new float[]{
+                icon.getBigRadius(), icon.getBigRadius(),
+                icon.getSmallRadius(), icon.getSmallRadius(),
+                icon.getSmallRadius(), icon.getSmallRadius(),
+                icon.getBigRadius(), icon.getBigRadius()});
+        drawCustomRoundedRect(canvas, rightSide, new float[]{
+                icon.getSmallRadius(), icon.getSmallRadius(),
+                icon.getBigRadius(), icon.getBigRadius(),
+                icon.getBigRadius(), icon.getBigRadius(),
+                icon.getSmallRadius(), icon.getSmallRadius()});
+    }
+
+    /**
+     * When device is in portrait, we draw the rectangles with a top-bottom split.
+     */
+    private void drawTopBottomSplit(Canvas canvas) {
+        // Get the bounds where we will draw the background image
+        int width = getBounds().width();
+        int height = getBounds().height();
+
+        // The top half of the background image, excluding center channel
+        RectF topSide = new RectF(
+                0,
+                0,
+                width,
+                (height / 2f) - (icon.getCenterChannelSize() / 2f)
+        );
+        // The bottom half of the background image, excluding center channel
+        RectF bottomSide = new RectF(
+                0,
+                (height / 2f) + (icon.getCenterChannelSize() / 2f),
+                width,
+                height
+        );
+
+        drawCustomRoundedRect(canvas, topSide, new float[]{
+                icon.getBigRadius(), icon.getBigRadius(),
+                icon.getBigRadius(), icon.getBigRadius(),
+                icon.getSmallRadius(), icon.getSmallRadius(),
+                icon.getSmallRadius(), icon.getSmallRadius()});
+        drawCustomRoundedRect(canvas, bottomSide, new float[]{
+                icon.getSmallRadius(), icon.getSmallRadius(),
+                icon.getSmallRadius(), icon.getSmallRadius(),
+                icon.getBigRadius(), icon.getBigRadius(),
+                icon.getBigRadius(), icon.getBigRadius()});
+    }
+
+    /**
+     * Draws a rectangle with custom rounded corners.
+     * @param c The Canvas to draw on.
+     * @param rect The bounds of the rectangle.
+     * @param radii An array of 8 radii for the corners: top left x, top left y, top right x, top
+     *              right y, bottom right x, and so on.
+     */
+    private void drawCustomRoundedRect(Canvas c, RectF rect, float[] radii) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+            // Canvas.drawDoubleRoundRect is supported from Q onward
+            c.drawDoubleRoundRect(rect, radii, EMPTY_RECT, ARRAY_OF_ZEROES, mBackgroundPaint);
+        } else {
+            // Fallback rectangle with uniform rounded corners
+            c.drawRoundRect(rect, icon.getBigRadius(), icon.getBigRadius(), mBackgroundPaint);
+        }
+    }
+
+    @Override
+    public int getOpacity() {
+        return PixelFormat.OPAQUE;
+    }
+
+    @Override
+    public void setAlpha(int i) {
+        // Required by Drawable but not used.
+    }
+
+    @Override
+    public void setColorFilter(ColorFilter colorFilter) {
+        // Required by Drawable but not used.
+    }
+}
diff --git a/src/com/android/launcher3/apppairs/AppPairIconGraphic.kt b/src/com/android/launcher3/apppairs/AppPairIconGraphic.kt
new file mode 100644
index 0000000..b2497a3
--- /dev/null
+++ b/src/com/android/launcher3/apppairs/AppPairIconGraphic.kt
@@ -0,0 +1,179 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.apppairs
+
+import android.content.Context
+import android.graphics.Canvas
+import android.graphics.Rect
+import android.graphics.drawable.Drawable
+import android.util.AttributeSet
+import android.util.Log
+import android.view.Gravity
+import android.widget.FrameLayout
+import com.android.launcher3.DeviceProfile
+import com.android.launcher3.icons.BitmapInfo
+import com.android.launcher3.icons.PlaceHolderIconDrawable
+import com.android.launcher3.model.data.WorkspaceItemInfo
+import com.android.launcher3.util.Themes
+
+/**
+ * A FrameLayout marking the area on an [AppPairIcon] where the visual icon will be drawn. One of
+ * two child UI elements on an [AppPairIcon], along with a BubbleTextView holding the text title.
+ */
+class AppPairIconGraphic @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
+    FrameLayout(context, attrs) {
+    private val TAG = "AppPairIconGraphic"
+
+    companion object {
+        // Design specs -- the below ratios are in relation to the size of a standard app icon.
+        private const val OUTER_PADDING_SCALE = 1 / 30f
+        private const val INNER_PADDING_SCALE = 1 / 24f
+        private const val MEMBER_ICON_SCALE = 11 / 30f
+        private const val CENTER_CHANNEL_SCALE = 1 / 30f
+        private const val BIG_RADIUS_SCALE = 1 / 5f
+        private const val SMALL_RADIUS_SCALE = 1 / 15f
+    }
+
+    // App pair icons are slightly smaller than regular icons, so we pad the icon by this much on
+    // each side.
+    private var outerPadding = 0f
+    // Inside of the icon, the two member apps are padded by this much.
+    private var innerPadding = 0f
+    // The colored background (two rectangles in a square area) is this big.
+    private var backgroundSize = 0f
+    // The two member apps have icons that are this big (in diameter).
+    private var memberIconSize = 0f
+    // The size of the center channel.
+    var centerChannelSize = 0f
+    // The large outer radius of the background rectangles.
+    var bigRadius = 0f
+    // The small inner radius of the background rectangles.
+    var smallRadius = 0f
+    // The app pairs icon appears differently in portrait and landscape.
+    var isLeftRightSplit = false
+
+    private lateinit var parentIcon: AppPairIcon
+    private lateinit var appPairBackground: Drawable
+    private var appIcon1: Drawable? = null
+    private var appIcon2: Drawable? = null
+
+    fun init(grid: DeviceProfile, icon: AppPairIcon) {
+        // Calculate device-specific measurements
+        val defaultIconSize = grid.iconSizePx
+        outerPadding = OUTER_PADDING_SCALE * defaultIconSize
+        innerPadding = INNER_PADDING_SCALE * defaultIconSize
+        backgroundSize = defaultIconSize - outerPadding * 2
+        memberIconSize = MEMBER_ICON_SCALE * defaultIconSize
+        centerChannelSize = CENTER_CHANNEL_SCALE * defaultIconSize
+        bigRadius = BIG_RADIUS_SCALE * defaultIconSize
+        smallRadius = SMALL_RADIUS_SCALE * defaultIconSize
+        isLeftRightSplit = grid.isLeftRightSplit
+        parentIcon = icon
+
+        appPairBackground = AppPairIconBackground(context, this)
+        appPairBackground.setBounds(0, 0, backgroundSize.toInt(), backgroundSize.toInt())
+        applyIcons(parentIcon.info.contents)
+    }
+
+    /** Sets up app pair member icons for drawing. */
+    private fun applyIcons(contents: ArrayList<WorkspaceItemInfo>) {
+        // App pair should always contain 2 members; if not 2, return to avoid a crash loop
+        if (contents.size != 2) {
+            Log.w(TAG, "AppPair contents not 2, size: " + contents.size, Throwable())
+            return
+        }
+
+        // Generate new icons, using themed flag if needed
+        val flags = if (Themes.isThemedIconEnabled(context)) BitmapInfo.FLAG_THEMED else 0
+        val newIcon1 = parentIcon.info.contents[0].newIcon(context, flags)
+        val newIcon2 = parentIcon.info.contents[1].newIcon(context, flags)
+
+        // If app icons did not draw fully last time, animate to full icon
+        (appIcon1 as? PlaceHolderIconDrawable)?.animateIconUpdate(newIcon1)
+        (appIcon2 as? PlaceHolderIconDrawable)?.animateIconUpdate(newIcon2)
+
+        appIcon1 = newIcon1
+        appIcon2 = newIcon2
+        appIcon1?.setBounds(0, 0, memberIconSize.toInt(), memberIconSize.toInt())
+        appIcon2?.setBounds(0, 0, memberIconSize.toInt(), memberIconSize.toInt())
+    }
+
+
+    /** Gets this icon graphic's bounds, with respect to the parent icon's coordinate system. */
+    fun getIconBounds(outBounds: Rect) {
+        outBounds.set(0, 0, backgroundSize.toInt(), backgroundSize.toInt())
+        outBounds.offset(
+            // x-coordinate in parent's coordinate system
+            ((parentIcon.width - backgroundSize) / 2).toInt(),
+            // y-coordinate in parent's coordinate system
+            parentIcon.paddingTop + outerPadding.toInt()
+        )
+    }
+
+    override fun dispatchDraw(canvas: Canvas) {
+        super.dispatchDraw(canvas)
+
+        // Center the drawable area in the larger icon canvas
+        val lp: LayoutParams = layoutParams as LayoutParams
+        lp.gravity = Gravity.CENTER_HORIZONTAL
+        lp.topMargin = outerPadding.toInt()
+        lp.height = backgroundSize.toInt()
+        lp.width = backgroundSize.toInt()
+        layoutParams = lp
+
+        // Draw background
+        appPairBackground.draw(canvas)
+
+        // Make sure icons are loaded
+        if (
+            appIcon1 == null ||
+                appIcon2 == null ||
+                appIcon1 is PlaceHolderIconDrawable ||
+                appIcon2 is PlaceHolderIconDrawable
+        ) {
+            applyIcons(parentIcon.info.contents)
+        }
+
+        // Draw first icon
+        canvas.save()
+        // The app icons are placed differently depending on device orientation.
+        if (isLeftRightSplit) {
+            canvas.translate(innerPadding, height / 2f - memberIconSize / 2f)
+        } else {
+            canvas.translate(width / 2f - memberIconSize / 2f, innerPadding)
+        }
+        appIcon1?.draw(canvas)
+        canvas.restore()
+
+        // Draw second icon
+        canvas.save()
+        // The app icons are placed differently depending on device orientation.
+        if (isLeftRightSplit) {
+            canvas.translate(
+                width - (innerPadding + memberIconSize),
+                height / 2f - memberIconSize / 2f
+            )
+        } else {
+            canvas.translate(
+                width / 2f - memberIconSize / 2f,
+                height - (innerPadding + memberIconSize)
+            )
+        }
+        appIcon2?.draw(canvas)
+        canvas.restore()
+    }
+}
diff --git a/src/com/android/launcher3/backuprestore/LauncherRestoreEventLogger.kt b/src/com/android/launcher3/backuprestore/LauncherRestoreEventLogger.kt
new file mode 100644
index 0000000..e6654b1
--- /dev/null
+++ b/src/com/android/launcher3/backuprestore/LauncherRestoreEventLogger.kt
@@ -0,0 +1,132 @@
+package com.android.launcher3.backuprestore
+
+import android.content.Context
+import androidx.annotation.StringDef
+import com.android.launcher3.LauncherSettings.Favorites
+import com.android.launcher3.R
+import com.android.launcher3.util.ResourceBasedOverride
+
+/**
+ * Wrapper for logging Restore event metrics for both success and failure to restore the Launcher
+ * workspace from a backup.
+ */
+open class LauncherRestoreEventLogger : ResourceBasedOverride {
+
+    /** Enumeration of potential errors returned to calls of pause/resume app updates. */
+    @Retention(AnnotationRetention.SOURCE)
+    @StringDef(
+        RestoreError.PROFILE_DELETED,
+        RestoreError.MISSING_INFO,
+        RestoreError.MISSING_WIDGET_PROVIDER,
+        RestoreError.INVALID_LOCATION,
+        RestoreError.SHORTCUT_NOT_FOUND,
+        RestoreError.APP_NOT_INSTALLED,
+        RestoreError.WIDGETS_DISABLED,
+        RestoreError.PROFILE_NOT_RESTORED,
+        RestoreError.WIDGET_REMOVED,
+        RestoreError.GRID_MIGRATION_FAILURE,
+        RestoreError.NO_SEARCH_WIDGET,
+        RestoreError.INVALID_WIDGET_ID
+    )
+    annotation class RestoreError {
+        companion object {
+            const val PROFILE_DELETED = "user_profile_deleted"
+            const val MISSING_INFO = "missing_information_when_loading"
+            const val MISSING_WIDGET_PROVIDER = "missing_widget_provider"
+            const val INVALID_LOCATION = "invalid_size_or_location"
+            const val SHORTCUT_NOT_FOUND = "shortcut_not_found"
+            const val APP_NOT_INSTALLED = "app_not_installed"
+            const val WIDGETS_DISABLED = "widgets_disabled"
+            const val PROFILE_NOT_RESTORED = "profile_not_restored"
+            const val WIDGET_REMOVED = "widget_not_found"
+            const val GRID_MIGRATION_FAILURE = "grid_migration_failed"
+            const val NO_SEARCH_WIDGET = "no_search_widget"
+            const val INVALID_WIDGET_ID = "invalid_widget_id"
+        }
+    }
+
+    companion object {
+        const val TAG = "LauncherRestoreEventLogger"
+
+        fun newInstance(context: Context?): LauncherRestoreEventLogger {
+            return ResourceBasedOverride.Overrides.getObject(
+                LauncherRestoreEventLogger::class.java,
+                context,
+                R.string.launcher_restore_event_logger_class
+            )
+        }
+    }
+
+    /**
+     * For logging when multiple items of a given data type failed to restore.
+     *
+     * @param dataType The data type that was not restored.
+     * @param count the number of data items that were not restored.
+     * @param error error type for why the data was not restored.
+     */
+    open fun logLauncherItemsRestoreFailed(dataType: String, count: Int, error: String?) {
+        // no-op
+    }
+
+    /**
+     * For logging when multiple items of a given data type were successfully restored.
+     *
+     * @param dataType The data type that was restored.
+     * @param count the number of data items restored.
+     */
+    open fun logLauncherItemsRestored(dataType: String, count: Int) {
+        // no-op
+    }
+
+    /**
+     * Helper to log successfully restoring a single item from the Favorites table.
+     *
+     * @param favoritesId The id of the item type from [Favorites] that was restored.
+     */
+    open fun logSingleFavoritesItemRestored(favoritesId: Int) {
+        // no-op
+    }
+
+    /**
+     * Helper to log successfully restoring multiple items from the Favorites table.
+     *
+     * @param favoritesId The id of the item type from [Favorites] that was restored.
+     * @param count number of items that restored.
+     */
+    open fun logFavoritesItemsRestored(favoritesId: Int, count: Int) {
+        // no-op
+    }
+
+    /**
+     * Helper to log a failure to restore a single item from the Favorites table.
+     *
+     * @param favoritesId The id of the item type from [Favorites] that was not restored.
+     * @param error error type for why the data was not restored.
+     */
+    open fun logSingleFavoritesItemRestoreFailed(favoritesId: Int, @RestoreError error: String?) {
+        // no-op
+    }
+
+    /**
+     * Helper to log a failure to restore items from the Favorites table.
+     *
+     * @param favoritesId The id of the item type from [Favorites] that was not restored.
+     * @param count number of items that failed to restore.
+     * @param error error type for why the data was not restored.
+     */
+    open fun logFavoritesItemsRestoreFailed(
+        favoritesId: Int,
+        count: Int,
+        @RestoreError error: String?
+    ) {
+        // no-op
+    }
+
+    /**
+     * Uses the current [restoreEventLogger] to report its results to the [backupManager]. Use when
+     * done restoring items for Launcher.
+     */
+    open fun reportLauncherRestoreResults() {
+        // no-op
+    }
+}
diff --git a/src/com/android/launcher3/celllayout/CellInfo.kt b/src/com/android/launcher3/celllayout/CellInfo.kt
new file mode 100644
index 0000000..5a3b7f7
--- /dev/null
+++ b/src/com/android/launcher3/celllayout/CellInfo.kt
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.celllayout
+
+import android.view.View
+import com.android.launcher3.celllayout.CellPosMapper.CellPos
+import com.android.launcher3.model.data.ItemInfo
+import com.android.launcher3.util.CellAndSpan
+
+// This class stores info for two purposes:
+// 1. When dragging items (mDragInfo in Workspace), we store the View, its cellX & cellY,
+//    its spanX, spanY, and the screen it is on
+// 2. When long clicking on an empty cell in a CellLayout, we save information about the
+//    cellX and cellY coordinates and which page was clicked. We then set this as a tag on
+//    the CellLayout that was long clicked
+class CellInfo(v: View?, info: ItemInfo, cellPos: CellPos) :
+    CellAndSpan(cellPos.cellX, cellPos.cellY, info.spanX, info.spanY) {
+    @JvmField val cell: View?
+    @JvmField val screenId: Int
+    @JvmField val container: Int
+
+    init {
+        cell = v
+        screenId = cellPos.screenId
+        container = info.container
+    }
+
+    override fun toString(): String {
+        return "CellInfo(cell=$cell, screenId=$screenId, container=$container)"
+    }
+}
diff --git a/src/com/android/launcher3/celllayout/CellPosMapper.java b/src/com/android/launcher3/celllayout/CellPosMapper.java
index 1891696..b133a1d 100644
--- a/src/com/android/launcher3/celllayout/CellPosMapper.java
+++ b/src/com/android/launcher3/celllayout/CellPosMapper.java
@@ -17,6 +17,7 @@
 
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_DESKTOP;
 
+import com.android.launcher3.LauncherSettings.Favorites;
 import com.android.launcher3.model.data.ItemInfo;
 
 import java.util.Objects;
@@ -26,9 +27,14 @@
  */
 public class CellPosMapper {
 
-    public static final CellPosMapper DEFAULT = new CellPosMapper();
+    public static final CellPosMapper DEFAULT = new CellPosMapper(false, -1);
+    private final boolean mHasVerticalHotseat;
+    private final int mNumOfHotseat;
 
-    private CellPosMapper() { }
+    public CellPosMapper(boolean hasVerticalHotseat, int numOfHotseat) {
+        mHasVerticalHotseat = hasVerticalHotseat;
+        mNumOfHotseat = numOfHotseat;
+    }
 
     /**
      * Maps the position in model to the position in view
@@ -42,17 +48,22 @@
      */
     public CellPos mapPresenterToModel(int presenterX, int presenterY, int presenterScreen,
             int container) {
+        if (container == Favorites.CONTAINER_HOTSEAT) {
+            presenterScreen = mHasVerticalHotseat
+                    ? mNumOfHotseat - presenterY - 1 : presenterX;
+        }
         return new CellPos(presenterX, presenterY, presenterScreen);
     }
 
     /**
      * Cell mapper which maps two panels into a single layout
      */
-    public static class TwoPanelCellPosMapper extends CellPosMapper  {
+    public static class TwoPanelCellPosMapper extends CellPosMapper {
 
         private final int mColumnCount;
 
         public TwoPanelCellPosMapper(int columnCount) {
+            super(false, -1);
             mColumnCount = columnCount;
         }
 
@@ -103,5 +114,13 @@
         public int hashCode() {
             return Objects.hash(cellX, cellY, screenId);
         }
+
+        @Override
+        public String toString() {
+            return "CellPos{"
+                    + "cellX=" + cellX
+                    + ", cellY=" + cellY
+                    + ", screenId=" + screenId + '}';
+        }
     }
 }
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java b/src/com/android/launcher3/celllayout/DelegatedCellDrawing.kt
similarity index 60%
copy from src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
copy to src/com/android/launcher3/celllayout/DelegatedCellDrawing.kt
index 68843f2..1703f9b 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
+++ b/src/com/android/launcher3/celllayout/DelegatedCellDrawing.kt
@@ -13,10 +13,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.uioverrides.flags;
+package com.android.launcher3.celllayout
 
-/**
- * Place holder class for developer options.
- */
-public class DeveloperOptionsFragment {
+import android.graphics.Canvas
+
+/** A Delegated cell Drawing for drawing on CellLayout */
+abstract class DelegatedCellDrawing {
+    @JvmField var mDelegateCellX = 0
+    @JvmField var mDelegateCellY = 0
+
+    /** Draw under CellLayout */
+    abstract fun drawUnderItem(canvas: Canvas)
+
+    /** Draw over CellLayout */
+    abstract fun drawOverItem(canvas: Canvas)
 }
diff --git a/src/com/android/launcher3/celllayout/ItemConfiguration.kt b/src/com/android/launcher3/celllayout/ItemConfiguration.kt
new file mode 100644
index 0000000..e775145
--- /dev/null
+++ b/src/com/android/launcher3/celllayout/ItemConfiguration.kt
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.celllayout
+
+import android.graphics.Rect
+import android.util.ArrayMap
+import android.view.View
+import com.android.launcher3.util.CellAndSpan
+
+/** Represents the solution to a reorder of items in the Workspace. */
+class ItemConfiguration : CellAndSpan() {
+    @JvmField val map = ArrayMap<View, CellAndSpan>()
+    private val savedMap = ArrayMap<View, CellAndSpan>()
+
+    @JvmField val sortedViews = ArrayList<View>()
+
+    @JvmField var intersectingViews: ArrayList<View> = ArrayList()
+
+    @JvmField var isSolution = false
+    fun save() {
+        // Copy current state into savedMap
+        map.forEach { (k, v) -> savedMap[k]?.copyFrom(v) }
+    }
+
+    fun restore() {
+        // Restore current state from savedMap
+        savedMap.forEach { (k, v) -> map[k]?.copyFrom(v) }
+    }
+
+    fun add(v: View, cs: CellAndSpan) {
+        map[v] = cs
+        savedMap[v] = CellAndSpan()
+        sortedViews.add(v)
+    }
+
+    fun area(): Int {
+        return spanX * spanY
+    }
+
+    fun getBoundingRectForViews(views: ArrayList<View>, outRect: Rect) {
+        views
+            .mapNotNull { v -> map[v] }
+            .forEachIndexed { i, c ->
+                if (i == 0) outRect.set(c.cellX, c.cellY, c.cellX + c.spanX, c.cellY + c.spanY)
+                else outRect.union(c.cellX, c.cellY, c.cellX + c.spanX, c.cellY + c.spanY)
+            }
+    }
+}
diff --git a/src/com/android/launcher3/celllayout/MulticellReorderAlgorithm.java b/src/com/android/launcher3/celllayout/MulticellReorderAlgorithm.java
index a2e26b3..8d0cf13 100644
--- a/src/com/android/launcher3/celllayout/MulticellReorderAlgorithm.java
+++ b/src/com/android/launcher3/celllayout/MulticellReorderAlgorithm.java
@@ -38,8 +38,8 @@
         mSeam = new View(cellLayout.getContext());
     }
 
-    private CellLayout.ItemConfiguration removeSeamFromSolution(
-            CellLayout.ItemConfiguration solution) {
+    public ItemConfiguration removeSeamFromSolution(ItemConfiguration solution) {
+        solution.map.remove(mSeam);
         solution.map.forEach((view, cell) -> cell.cellX =
                 cell.cellX > mCellLayout.getCountX() / 2 ? cell.cellX - 1 : cell.cellX);
         solution.cellX =
@@ -48,29 +48,24 @@
     }
 
     @Override
-    public CellLayout.ItemConfiguration closestEmptySpaceReorder(int pixelX, int pixelY,
-            int minSpanX, int minSpanY,
-            int spanX, int spanY) {
+    public ItemConfiguration closestEmptySpaceReorder(ReorderParameters reorderParameters) {
         return removeSeamFromSolution(simulateSeam(
-                () -> super.closestEmptySpaceReorder(pixelX, pixelY, minSpanX, minSpanY, spanX,
-                        spanY)));
+                () -> super.closestEmptySpaceReorder(reorderParameters))
+        );
     }
 
     @Override
-    public CellLayout.ItemConfiguration findReorderSolution(int pixelX, int pixelY, int minSpanX,
-            int minSpanY, int spanX, int spanY, int[] direction, View dragView, boolean decX,
-            CellLayout.ItemConfiguration solution) {
+    public ItemConfiguration findReorderSolution(ReorderParameters reorderParameters,
+            boolean decX) {
         return removeSeamFromSolution(simulateSeam(
-                () -> super.findReorderSolution(pixelX, pixelY, minSpanX, minSpanY, spanX, spanY,
-                        direction, dragView, decX, solution)));
+                () -> super.findReorderSolution(reorderParameters, decX)));
     }
 
     @Override
-    public CellLayout.ItemConfiguration dropInPlaceSolution(int pixelX, int pixelY, int spanX,
-            int spanY,
-            View dragView) {
-        return removeSeamFromSolution(simulateSeam(
-                () -> super.dropInPlaceSolution(pixelX, pixelY, spanX, spanY, dragView)));
+    public ItemConfiguration dropInPlaceSolution(ReorderParameters reorderParameters) {
+        return removeSeamFromSolution(
+                simulateSeam(() -> super.dropInPlaceSolution(reorderParameters))
+        );
     }
 
     void addSeam() {
diff --git a/src/com/android/launcher3/celllayout/ReorderAlgorithm.java b/src/com/android/launcher3/celllayout/ReorderAlgorithm.java
index 5e5eefe..8754b74 100644
--- a/src/com/android/launcher3/celllayout/ReorderAlgorithm.java
+++ b/src/com/android/launcher3/celllayout/ReorderAlgorithm.java
@@ -15,9 +15,17 @@
  */
 package com.android.launcher3.celllayout;
 
+import android.graphics.Rect;
 import android.view.View;
 
 import com.android.launcher3.CellLayout;
+import com.android.launcher3.util.CellAndSpan;
+import com.android.launcher3.util.GridOccupancy;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map.Entry;
 
 /**
  * Contains the logic of a reorder.
@@ -37,30 +45,30 @@
      * This method differs from closestEmptySpaceReorder and dropInPlaceSolution because this method
      * will move items around and will change the shape of the item if possible to try to find a
      * solution.
-     *
+     * <p>
      * When changing the size of the widget this method will try first subtracting -1 in the x
      * dimension and then subtracting -1 in the y dimension until finding a possible solution or
      * until it no longer can reduce the span.
      *
-     * @param pixelX    X coordinate in pixels in the screen
-     * @param pixelY    Y coordinate in pixels in the screen
-     * @param minSpanX  minimum possible horizontal span it will try to find a solution for.
-     * @param minSpanY  minimum possible vertical span it will try to find a solution for.
-     * @param spanX     horizontal cell span
-     * @param spanY     vertical cell span
-     * @param direction direction in which it will try to push the items intersecting the desired
-     *                  view
-     * @param dragView  view being dragged in reorder
-     * @param decX      whether it will decrease the horizontal or vertical span if it can't find a
-     *                  solution for the current span.
-     * @param solution  variable to store the solution
+     * @param decX     whether it will decrease the horizontal or vertical span if it can't find a
+     *                 solution for the current span.
      * @return the same solution variable
      */
-    public CellLayout.ItemConfiguration findReorderSolution(int pixelX, int pixelY, int minSpanX,
+    public ItemConfiguration findReorderSolution(ReorderParameters reorderParameters,
+            boolean decX) {
+        return findReorderSolutionRecursive(reorderParameters.getPixelX(),
+                reorderParameters.getPixelY(), reorderParameters.getMinSpanX(),
+                reorderParameters.getMinSpanY(), reorderParameters.getSpanX(),
+                reorderParameters.getSpanY(), mCellLayout.mDirectionVector,
+                reorderParameters.getDragView(), decX, reorderParameters.getSolution());
+    }
+
+
+    private ItemConfiguration findReorderSolutionRecursive(int pixelX, int pixelY, int minSpanX,
             int minSpanY, int spanX, int spanY, int[] direction, View dragView, boolean decX,
-            CellLayout.ItemConfiguration solution) {
+            ItemConfiguration solution) {
         // Copy the current state into the solution. This solution will be manipulated as necessary.
-        mCellLayout.copyCurrentStateToSolution(solution, false);
+        mCellLayout.copyCurrentStateToSolution(solution);
         // Copy the current occupied array into the temporary occupied array. This array will be
         // manipulated as necessary to find a solution.
         mCellLayout.getOccupied().copyTo(mCellLayout.mTmpOccupied);
@@ -73,18 +81,18 @@
         boolean success;
         // First we try the exact nearest position of the item being dragged,
         // we will then want to try to move this around to other neighbouring positions
-        success = mCellLayout.rearrangementExists(result[0], result[1], spanX, spanY, direction,
-                dragView, solution);
+        success = rearrangementExists(result[0], result[1], spanX, spanY, direction, dragView,
+                solution);
 
         if (!success) {
             // We try shrinking the widget down to size in an alternating pattern, shrink 1 in
             // x, then 1 in y etc.
             if (spanX > minSpanX && (minSpanY == spanY || decX)) {
-                return findReorderSolution(pixelX, pixelY, minSpanX, minSpanY, spanX - 1, spanY,
-                        direction, dragView, false, solution);
+                return findReorderSolutionRecursive(pixelX, pixelY, minSpanX, minSpanY, spanX - 1,
+                        spanY, direction, dragView, false, solution);
             } else if (spanY > minSpanY) {
-                return findReorderSolution(pixelX, pixelY, minSpanX, minSpanY, spanX, spanY - 1,
-                        direction, dragView, true, solution);
+                return findReorderSolutionRecursive(pixelX, pixelY, minSpanX, minSpanY, spanX,
+                        spanY - 1, direction, dragView, true, solution);
             }
             solution.isSolution = false;
         } else {
@@ -97,55 +105,343 @@
         return solution;
     }
 
+    private boolean rearrangementExists(int cellX, int cellY, int spanX, int spanY, int[] direction,
+            View ignoreView, ItemConfiguration solution) {
+        // Return early if get invalid cell positions
+        if (cellX < 0 || cellY < 0) return false;
+
+        ArrayList<View> intersectingViews = new ArrayList<>();
+        Rect occupiedRect = new Rect(cellX, cellY, cellX + spanX, cellY + spanY);
+
+        // Mark the desired location of the view currently being dragged.
+        if (ignoreView != null) {
+            CellAndSpan c = solution.map.get(ignoreView);
+            if (c != null) {
+                c.cellX = cellX;
+                c.cellY = cellY;
+            }
+        }
+        Rect r0 = new Rect(cellX, cellY, cellX + spanX, cellY + spanY);
+        Rect r1 = new Rect();
+        // The views need to be sorted so that the results are deterministic on the views positions
+        // and not by the views hash which is "random".
+        // The views are sorted twice, once for the X position and a second time for the Y position
+        // to ensure same order everytime.
+        Comparator comparator = Comparator.comparing(
+                view -> ((CellLayoutLayoutParams) ((View) view).getLayoutParams()).getCellX()
+        ).thenComparing(
+                view -> ((CellLayoutLayoutParams) ((View) view).getLayoutParams()).getCellY()
+        );
+        List<View> views = solution.map.keySet().stream().sorted(comparator).toList();
+        for (View child : views) {
+            if (child == ignoreView) continue;
+            CellAndSpan c = solution.map.get(child);
+            CellLayoutLayoutParams lp = (CellLayoutLayoutParams) child.getLayoutParams();
+            r1.set(c.cellX, c.cellY, c.cellX + c.spanX, c.cellY + c.spanY);
+            if (Rect.intersects(r0, r1)) {
+                if (!lp.canReorder) {
+                    return false;
+                }
+                intersectingViews.add(child);
+            }
+        }
+
+        solution.intersectingViews = intersectingViews;
+
+        // First we try to find a solution which respects the push mechanic. That is,
+        // we try to find a solution such that no displaced item travels through another item
+        // without also displacing that item.
+        if (attemptPushInDirection(intersectingViews, occupiedRect, direction, ignoreView,
+                solution)) {
+            return true;
+        }
+
+        // Next we try moving the views as a block, but without requiring the push mechanic.
+        if (addViewsToTempLocation(intersectingViews, occupiedRect, direction, ignoreView,
+                solution)) {
+            return true;
+        }
+
+        // Ok, they couldn't move as a block, let's move them individually
+        for (View v : intersectingViews) {
+            if (!addViewToTempLocation(v, occupiedRect, direction, solution)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    private boolean addViewToTempLocation(View v, Rect rectOccupiedByPotentialDrop, int[] direction,
+            ItemConfiguration currentState) {
+        CellAndSpan c = currentState.map.get(v);
+        boolean success = false;
+        mCellLayout.mTmpOccupied.markCells(c, false);
+        mCellLayout.mTmpOccupied.markCells(rectOccupiedByPotentialDrop, true);
+
+        int[] tmpLocation = findNearestArea(c.cellX, c.cellY, c.spanX, c.spanY, direction,
+                mCellLayout.mTmpOccupied.cells, null, new int[2]);
+
+        if (tmpLocation[0] >= 0 && tmpLocation[1] >= 0) {
+            c.cellX = tmpLocation[0];
+            c.cellY = tmpLocation[1];
+            success = true;
+        }
+        mCellLayout.mTmpOccupied.markCells(c, true);
+        return success;
+    }
+
+    private boolean pushViewsToTempLocation(ArrayList<View> views, Rect rectOccupiedByPotentialDrop,
+            int[] direction, View dragView, ItemConfiguration currentState) {
+
+        ViewCluster cluster = new ViewCluster(mCellLayout, views, currentState);
+        Rect clusterRect = cluster.getBoundingRect();
+        int whichEdge;
+        int pushDistance;
+        boolean fail = false;
+
+        // Determine the edge of the cluster that will be leading the push and how far
+        // the cluster must be shifted.
+        if (direction[0] < 0) {
+            whichEdge = ViewCluster.LEFT;
+            pushDistance = clusterRect.right - rectOccupiedByPotentialDrop.left;
+        } else if (direction[0] > 0) {
+            whichEdge = ViewCluster.RIGHT;
+            pushDistance = rectOccupiedByPotentialDrop.right - clusterRect.left;
+        } else if (direction[1] < 0) {
+            whichEdge = ViewCluster.TOP;
+            pushDistance = clusterRect.bottom - rectOccupiedByPotentialDrop.top;
+        } else {
+            whichEdge = ViewCluster.BOTTOM;
+            pushDistance = rectOccupiedByPotentialDrop.bottom - clusterRect.top;
+        }
+
+        // Break early for invalid push distance.
+        if (pushDistance <= 0) {
+            return false;
+        }
+
+        // Mark the occupied state as false for the group of views we want to move.
+        for (View v : views) {
+            CellAndSpan c = currentState.map.get(v);
+            mCellLayout.mTmpOccupied.markCells(c, false);
+        }
+
+        // We save the current configuration -- if we fail to find a solution we will revert
+        // to the initial state. The process of finding a solution modifies the configuration
+        // in place, hence the need for revert in the failure case.
+        currentState.save();
+
+        // The pushing algorithm is simplified by considering the views in the order in which
+        // they would be pushed by the cluster. For example, if the cluster is leading with its
+        // left edge, we consider sort the views by their right edge, from right to left.
+        cluster.sortConfigurationForEdgePush(whichEdge);
+
+        while (pushDistance > 0 && !fail) {
+            for (View v : currentState.sortedViews) {
+                // For each view that isn't in the cluster, we see if the leading edge of the
+                // cluster is contacting the edge of that view. If so, we add that view to the
+                // cluster.
+                if (!cluster.views.contains(v) && v != dragView) {
+                    if (cluster.isViewTouchingEdge(v, whichEdge)) {
+                        CellLayoutLayoutParams lp = (CellLayoutLayoutParams) v.getLayoutParams();
+                        if (!lp.canReorder) {
+                            // The push solution includes the all apps button, this is not viable.
+                            fail = true;
+                            break;
+                        }
+                        cluster.addView(v);
+                        CellAndSpan c = currentState.map.get(v);
+
+                        // Adding view to cluster, mark it as not occupied.
+                        mCellLayout.mTmpOccupied.markCells(c, false);
+                    }
+                }
+            }
+            pushDistance--;
+
+            // The cluster has been completed, now we move the whole thing over in the appropriate
+            // direction.
+            cluster.shift(whichEdge, 1);
+        }
+
+        boolean foundSolution = false;
+        clusterRect = cluster.getBoundingRect();
+
+        // Due to the nature of the algorithm, the only check required to verify a valid solution
+        // is to ensure that completed shifted cluster lies completely within the cell layout.
+        if (!fail && clusterRect.left >= 0 && clusterRect.right <= mCellLayout.getCountX()
+                && clusterRect.top >= 0 && clusterRect.bottom <= mCellLayout.getCountY()) {
+            foundSolution = true;
+        } else {
+            currentState.restore();
+        }
+
+        // In either case, we set the occupied array as marked for the location of the views
+        for (View v : cluster.views) {
+            CellAndSpan c = currentState.map.get(v);
+            mCellLayout.mTmpOccupied.markCells(c, true);
+        }
+
+        return foundSolution;
+    }
+
+    private void revertDir(int[] direction) {
+        direction[0] *= -1;
+        direction[1] *= -1;
+    }
+
+    // This method tries to find a reordering solution which satisfies the push mechanic by trying
+    // to push items in each of the cardinal directions, in an order based on the direction vector
+    // passed.
+    private boolean attemptPushInDirection(ArrayList<View> intersectingViews, Rect occupied,
+            int[] direction, View ignoreView, ItemConfiguration solution) {
+        if ((Math.abs(direction[0]) + Math.abs(direction[1])) > 1) {
+            // If the direction vector has two non-zero components, we try pushing
+            // separately in each of the components.
+            int temp;
+            for (int j = 0; j < 2; j++) {
+                for (int i = 1; i >= 0; i--) {
+                    temp = direction[i];
+                    direction[i] = 0;
+                    if (pushViewsToTempLocation(intersectingViews, occupied, direction, ignoreView,
+                            solution)) {
+                        return true;
+                    }
+                    direction[i] = temp;
+                }
+                revertDir(direction);
+            }
+        } else {
+            // If the direction vector has a single non-zero component, we push first in the
+            // direction of the vector
+            int temp;
+            for (int j = 0; j < 2; j++) {
+                for (int i = 0; i < 2; i++) {
+                    if (pushViewsToTempLocation(intersectingViews, occupied, direction, ignoreView,
+                            solution)) {
+                        return true;
+                    }
+                    revertDir(direction);
+                }
+                // Swap the components
+                temp = direction[1];
+                direction[1] = direction[0];
+                direction[0] = temp;
+            }
+        }
+        return false;
+    }
+
+    private boolean addViewsToTempLocation(ArrayList<View> views, Rect rectOccupiedByPotentialDrop,
+            int[] direction, View dragView, ItemConfiguration currentState) {
+        if (views.isEmpty()) return true;
+
+        boolean success = false;
+        Rect boundingRect = new Rect();
+        // We construct a rect which represents the entire group of views passed in
+        currentState.getBoundingRectForViews(views, boundingRect);
+
+        // Mark the occupied state as false for the group of views we want to move.
+        for (View v : views) {
+            CellAndSpan c = currentState.map.get(v);
+            mCellLayout.mTmpOccupied.markCells(c, false);
+        }
+
+        GridOccupancy blockOccupied = new GridOccupancy(boundingRect.width(),
+                boundingRect.height());
+        int top = boundingRect.top;
+        int left = boundingRect.left;
+        // We mark more precisely which parts of the bounding rect are truly occupied, allowing
+        // for interlocking.
+        for (View v : views) {
+            CellAndSpan c = currentState.map.get(v);
+            blockOccupied.markCells(c.cellX - left, c.cellY - top, c.spanX, c.spanY, true);
+        }
+
+        mCellLayout.mTmpOccupied.markCells(rectOccupiedByPotentialDrop, true);
+
+        int[] tmpLocation = findNearestArea(boundingRect.left, boundingRect.top,
+                boundingRect.width(), boundingRect.height(), direction,
+                mCellLayout.mTmpOccupied.cells, blockOccupied.cells, new int[2]);
+
+        // If we successfully found a location by pushing the block of views, we commit it
+        if (tmpLocation[0] >= 0 && tmpLocation[1] >= 0) {
+            int deltaX = tmpLocation[0] - boundingRect.left;
+            int deltaY = tmpLocation[1] - boundingRect.top;
+            for (View v : views) {
+                CellAndSpan c = currentState.map.get(v);
+                c.cellX += deltaX;
+                c.cellY += deltaY;
+            }
+            success = true;
+        }
+
+        // In either case, we set the occupied array as marked for the location of the views
+        for (View v : views) {
+            CellAndSpan c = currentState.map.get(v);
+            mCellLayout.mTmpOccupied.markCells(c, true);
+        }
+        return success;
+    }
+
     /**
      * Returns a "reorder" if there is empty space without rearranging anything.
      *
-     * @param pixelX   X coordinate in pixels in the screen
-     * @param pixelY   Y coordinate in pixels in the screen
-     * @param spanX    horizontal cell span
-     * @param spanY    vertical cell span
-     * @param dragView view being dragged in reorder
      * @return the configuration that represents the found reorder
      */
-    public CellLayout.ItemConfiguration dropInPlaceSolution(int pixelX, int pixelY, int spanX,
-            int spanY, View dragView) {
-        int[] result = new int[2];
-        if (mCellLayout.isNearestDropLocationOccupied(pixelX, pixelY, spanX, spanY, dragView,
-                result)) {
-            result[0] = result[1] = -1;
-        }
-        CellLayout.ItemConfiguration solution = new CellLayout.ItemConfiguration();
-        mCellLayout.copyCurrentStateToSolution(solution, false);
-        solution.isSolution = result[0] != -1;
+    public ItemConfiguration dropInPlaceSolution(ReorderParameters reorderParameters) {
+        int[] result = mCellLayout.findNearestAreaIgnoreOccupied(reorderParameters.getPixelX(),
+                reorderParameters.getPixelY(), reorderParameters.getSpanX(),
+                reorderParameters.getSpanY(), new int[2]);
+        ItemConfiguration solution = new ItemConfiguration();
+        mCellLayout.copyCurrentStateToSolution(solution);
+
+        solution.isSolution = !isConfigurationRegionOccupied(
+                new Rect(result[0], result[1], result[0] + reorderParameters.getSpanX(),
+                        result[1] + reorderParameters.getSpanY()), solution,
+                reorderParameters.getDragView());
         if (!solution.isSolution) {
             return solution;
         }
         solution.cellX = result[0];
         solution.cellY = result[1];
-        solution.spanX = spanX;
-        solution.spanY = spanY;
+        solution.spanX = reorderParameters.getSpanX();
+        solution.spanY = reorderParameters.getSpanY();
         return solution;
     }
 
+    private boolean isConfigurationRegionOccupied(Rect region, ItemConfiguration configuration,
+            View ignoreView) {
+        return configuration.map
+                .entrySet()
+                .stream()
+                .filter(entry -> entry.getKey() != ignoreView)
+                .map(Entry::getValue)
+                .anyMatch(cellAndSpan -> region.intersect(
+                        cellAndSpan.cellX,
+                        cellAndSpan.cellY,
+                        cellAndSpan.cellX + cellAndSpan.spanX,
+                        cellAndSpan.cellY + cellAndSpan.spanY
+                        )
+                );
+    }
+
     /**
      * Returns a "reorder" where we simply drop the item in the closest empty space, without moving
      * any other item in the way.
      *
-     * @param pixelX X coordinate in pixels in the screen
-     * @param pixelY Y coordinate in pixels in the screen
-     * @param spanX  horizontal cell span
-     * @param spanY  vertical cell span
      * @return the configuration that represents the found reorder
      */
-    public CellLayout.ItemConfiguration closestEmptySpaceReorder(int pixelX, int pixelY,
-            int minSpanX, int minSpanY, int spanX, int spanY) {
-        CellLayout.ItemConfiguration solution = new CellLayout.ItemConfiguration();
+    public ItemConfiguration closestEmptySpaceReorder(ReorderParameters reorderParameters) {
+        ItemConfiguration solution = new ItemConfiguration();
         int[] result = new int[2];
         int[] resultSpan = new int[2];
-        mCellLayout.findNearestVacantArea(pixelX, pixelY, minSpanX, minSpanY, spanX, spanY, result,
-                resultSpan);
+        mCellLayout.findNearestVacantArea(reorderParameters.getPixelX(),
+                reorderParameters.getPixelY(), reorderParameters.getMinSpanX(),
+                reorderParameters.getMinSpanY(), reorderParameters.getSpanX(),
+                reorderParameters.getSpanY(), result, resultSpan);
         if (result[0] >= 0 && result[1] >= 0) {
-            mCellLayout.copyCurrentStateToSolution(solution, false);
+            mCellLayout.copyCurrentStateToSolution(solution);
             solution.cellX = result[0];
             solution.cellY = result[1];
             solution.spanX = resultSpan[0];
@@ -162,33 +458,19 @@
      * the workspace to make space for the new item, this function return a solution for that
      * reorder.
      *
-     * @param pixelX   X coordinate in the screen of the dragView in pixels
-     * @param pixelY   Y coordinate in the screen of the dragView in pixels
-     * @param minSpanX minimum horizontal span the item can be shrunk to
-     * @param minSpanY minimum vertical span the item can be shrunk to
-     * @param spanX    occupied horizontal span
-     * @param spanY    occupied vertical span
-     * @param dragView the view of the item being draged
      * @return returns a solution for the given parameters, the solution contains all the icons and
      * the locations they should be in the given solution.
      */
-    public CellLayout.ItemConfiguration calculateReorder(int pixelX, int pixelY, int minSpanX,
-            int minSpanY, int spanX, int spanY, View dragView) {
-        mCellLayout.getDirectionVectorForDrop(pixelX, pixelY, spanX, spanY, dragView,
-                mCellLayout.mDirectionVector);
+    public ItemConfiguration calculateReorder(ReorderParameters reorderParameters) {
+        getDirectionVectorForDrop(reorderParameters, mCellLayout.mDirectionVector);
 
-        CellLayout.ItemConfiguration dropInPlaceSolution = dropInPlaceSolution(pixelX, pixelY,
-                spanX, spanY,
-                dragView);
+        ItemConfiguration dropInPlaceSolution = dropInPlaceSolution(reorderParameters);
 
         // Find a solution involving pushing / displacing any items in the way
-        CellLayout.ItemConfiguration swapSolution = findReorderSolution(pixelX, pixelY, minSpanX,
-                minSpanY, spanX, spanY, mCellLayout.mDirectionVector, dragView, true,
-                new CellLayout.ItemConfiguration());
+        ItemConfiguration swapSolution = findReorderSolution(reorderParameters, true);
 
         // We attempt the approach which doesn't shuffle views at all
-        CellLayout.ItemConfiguration closestSpaceSolution = closestEmptySpaceReorder(
-                pixelX, pixelY, minSpanX, minSpanY, spanX, spanY);
+        ItemConfiguration closestSpaceSolution = closestEmptySpaceReorder(reorderParameters);
 
         // If the reorder solution requires resizing (shrinking) the item being dropped, we instead
         // favor a solution in which the item is not resized, but
@@ -201,4 +483,150 @@
         }
         return null;
     }
+
+    /*
+     * Returns a pair (x, y), where x,y are in {-1, 0, 1} corresponding to vector between
+     * the provided point and the provided cell
+     */
+    private void computeDirectionVector(float deltaX, float deltaY, int[] result) {
+        double angle = Math.atan(deltaY / deltaX);
+
+        result[0] = 0;
+        result[1] = 0;
+        if (Math.abs(Math.cos(angle)) > 0.5f) {
+            result[0] = (int) Math.signum(deltaX);
+        }
+        if (Math.abs(Math.sin(angle)) > 0.5f) {
+            result[1] = (int) Math.signum(deltaY);
+        }
+    }
+
+    /**
+     * This seems like it should be obvious and straight-forward, but when the direction vector
+     * needs to match with the notion of the dragView pushing other views, we have to employ
+     * a slightly more subtle notion of the direction vector. The question is what two points is
+     * the vector between? The center of the dragView and its desired destination? Not quite, as
+     * this doesn't necessarily coincide with the interaction of the dragView and items occupying
+     * those cells. Instead we use some heuristics to often lock the vector to up, down, left
+     * or right, which helps make pushing feel right.
+     */
+    public void getDirectionVectorForDrop(ReorderParameters reorderParameters,
+            int[] resultDirection) {
+
+        //TODO(adamcohen) b/151776141 use the items visual center for the direction vector
+        int[] targetDestination = new int[2];
+
+        mCellLayout.findNearestAreaIgnoreOccupied(reorderParameters.getPixelX(),
+                reorderParameters.getPixelY(), reorderParameters.getSpanX(),
+                reorderParameters.getSpanY(), targetDestination);
+        Rect dragRect = new Rect();
+        mCellLayout.cellToRect(targetDestination[0], targetDestination[1],
+                reorderParameters.getSpanX(), reorderParameters.getSpanY(), dragRect);
+        dragRect.offset(reorderParameters.getPixelX() - dragRect.centerX(),
+                reorderParameters.getPixelY() - dragRect.centerY());
+
+        Rect region = new Rect(targetDestination[0], targetDestination[1],
+                targetDestination[0] + reorderParameters.getSpanX(),
+                targetDestination[1] + reorderParameters.getSpanY());
+        Rect dropRegionRect = mCellLayout.getIntersectingRectanglesInRegion(region,
+                reorderParameters.getDragView());
+        if (dropRegionRect == null) dropRegionRect = new Rect(region);
+
+        int dropRegionSpanX = dropRegionRect.width();
+        int dropRegionSpanY = dropRegionRect.height();
+
+        mCellLayout.cellToRect(dropRegionRect.left, dropRegionRect.top, dropRegionRect.width(),
+                dropRegionRect.height(), dropRegionRect);
+
+        int deltaX = (dropRegionRect.centerX() - reorderParameters.getPixelX())
+                / reorderParameters.getSpanX();
+        int deltaY = (dropRegionRect.centerY() - reorderParameters.getPixelY())
+                / reorderParameters.getSpanY();
+
+        if (dropRegionSpanX == mCellLayout.getCountX()
+                || reorderParameters.getSpanX() == mCellLayout.getCountX()) {
+            deltaX = 0;
+        }
+        if (dropRegionSpanY == mCellLayout.getCountY()
+                || reorderParameters.getSpanY() == mCellLayout.getCountY()) {
+            deltaY = 0;
+        }
+
+        if (deltaX == 0 && deltaY == 0) {
+            // No idea what to do, give a random direction.
+            resultDirection[0] = 1;
+            resultDirection[1] = 0;
+        } else {
+            computeDirectionVector(deltaX, deltaY, resultDirection);
+        }
+    }
+
+    /**
+     * Find a vacant area that will fit the given bounds nearest the requested
+     * cell location, and will also weigh in a suggested direction vector of the
+     * desired location. This method computers distance based on unit grid distances,
+     * not pixel distances.
+     *
+     * @param cellX         The X cell nearest to which you want to search for a vacant area.
+     * @param cellY         The Y cell nearest which you want to search for a vacant area.
+     * @param spanX         Horizontal span of the object.
+     * @param spanY         Vertical span of the object.
+     * @param direction     The favored direction in which the views should move from x, y
+     * @param occupied      The array which represents which cells in the CellLayout are occupied
+     * @param blockOccupied The array which represents which cells in the specified block (cellX,
+     *                      cellY, spanX, spanY) are occupied. This is used when try to move a group
+     *                      of views.
+     * @param result        Array in which to place the result, or null (in which case a new array
+     *                      will
+     *                      be allocated)
+     * @return The X, Y cell of a vacant area that can contain this object,
+     * nearest the requested location.
+     */
+    public int[] findNearestArea(int cellX, int cellY, int spanX, int spanY, int[] direction,
+            boolean[][] occupied, boolean[][] blockOccupied, int[] result) {
+        // Keep track of best-scoring drop area
+        final int[] bestXY = result != null ? result : new int[2];
+        float bestDistance = Float.MAX_VALUE;
+        int bestDirectionScore = Integer.MIN_VALUE;
+
+        final int countX = mCellLayout.getCountX();
+        final int countY = mCellLayout.getCountY();
+
+        for (int y = 0; y < countY - (spanY - 1); y++) {
+            inner:
+            for (int x = 0; x < countX - (spanX - 1); x++) {
+                // First, let's see if this thing fits anywhere
+                for (int i = 0; i < spanX; i++) {
+                    for (int j = 0; j < spanY; j++) {
+                        if (occupied[x + i][y + j] && (blockOccupied == null
+                                || blockOccupied[i][j])) {
+                            continue inner;
+                        }
+                    }
+                }
+
+                float distance = (float) Math.hypot(x - cellX, y - cellY);
+                int[] curDirection = new int[2];
+                computeDirectionVector(x - cellX, y - cellY, curDirection);
+                // The direction score is just the dot product of the two candidate direction
+                // and that passed in.
+                int curDirectionScore =
+                        direction[0] * curDirection[0] + direction[1] * curDirection[1];
+                if (Float.compare(distance, bestDistance) < 0 || (Float.compare(distance,
+                        bestDistance) == 0 && curDirectionScore > bestDirectionScore)) {
+                    bestDistance = distance;
+                    bestDirectionScore = curDirectionScore;
+                    bestXY[0] = x;
+                    bestXY[1] = y;
+                }
+            }
+        }
+
+        // Return -1, -1 if no suitable location found
+        if (bestDistance == Float.MAX_VALUE) {
+            bestXY[0] = -1;
+            bestXY[1] = -1;
+        }
+        return bestXY;
+    }
 }
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java b/src/com/android/launcher3/celllayout/ReorderParameters.kt
similarity index 67%
copy from src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
copy to src/com/android/launcher3/celllayout/ReorderParameters.kt
index 68843f2..3fdf35c 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
+++ b/src/com/android/launcher3/celllayout/ReorderParameters.kt
@@ -13,10 +13,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.uioverrides.flags;
 
-/**
- * Place holder class for developer options.
- */
-public class DeveloperOptionsFragment {
-}
+package com.android.launcher3.celllayout
+
+import android.view.View
+
+class ReorderParameters(
+    val pixelX: Int,
+    val pixelY: Int,
+    val spanX: Int,
+    val spanY: Int,
+    val minSpanX: Int,
+    val minSpanY: Int,
+    val dragView: View?,
+    val solution: ItemConfiguration
+) {}
diff --git a/src/com/android/launcher3/celllayout/ViewCluster.kt b/src/com/android/launcher3/celllayout/ViewCluster.kt
new file mode 100644
index 0000000..49693e3
--- /dev/null
+++ b/src/com/android/launcher3/celllayout/ViewCluster.kt
@@ -0,0 +1,185 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.celllayout
+
+import android.graphics.Rect
+import android.view.View
+import com.android.launcher3.CellLayout
+import java.util.Collections
+
+/**
+ * This helper class defines a cluster of views. It helps with defining complex edges of the cluster
+ * and determining how those edges interact with other views. The edges essentially define a
+ * fine-grained boundary around the cluster of views -- like a more precise version of a bounding
+ * box.
+ */
+class ViewCluster(
+    private val mCellLayout: CellLayout,
+    views: ArrayList<View>,
+    val config: ItemConfiguration
+) {
+
+    @JvmField val views = ArrayList<View>(views)
+    private val boundingRect = Rect()
+
+    private val leftEdge = IntArray(mCellLayout.countY)
+    private val rightEdge = IntArray(mCellLayout.countY)
+    private val topEdge = IntArray(mCellLayout.countX)
+    private val bottomEdge = IntArray(mCellLayout.countX)
+
+    private var dirtyEdges = 0
+    private var boundingRectDirty = false
+
+    val comparator: PositionComparator = PositionComparator()
+
+    init {
+        resetEdges()
+    }
+    private fun resetEdges() {
+        for (i in 0 until mCellLayout.countX) {
+            topEdge[i] = -1
+            bottomEdge[i] = -1
+        }
+        for (i in 0 until mCellLayout.countY) {
+            leftEdge[i] = -1
+            rightEdge[i] = -1
+        }
+        dirtyEdges = LEFT or TOP or RIGHT or BOTTOM
+        boundingRectDirty = true
+    }
+
+    private fun computeEdge(which: Int) =
+        views
+            .mapNotNull { v -> config.map[v] }
+            .forEach { cs ->
+                val left = cs.cellX
+                val right = cs.cellX + cs.spanX
+                val top = cs.cellY
+                val bottom = cs.cellY + cs.spanY
+                when (which) {
+                    LEFT ->
+                        for (j in top until bottom) {
+                            if (left < leftEdge[j] || leftEdge[j] < 0) {
+                                leftEdge[j] = left
+                            }
+                        }
+                    RIGHT ->
+                        for (j in top until bottom) {
+                            if (right > rightEdge[j]) {
+                                rightEdge[j] = right
+                            }
+                        }
+                    TOP ->
+                        for (j in left until right) {
+                            if (top < topEdge[j] || topEdge[j] < 0) {
+                                topEdge[j] = top
+                            }
+                        }
+                    BOTTOM ->
+                        for (j in left until right) {
+                            if (bottom > bottomEdge[j]) {
+                                bottomEdge[j] = bottom
+                            }
+                        }
+                }
+            }
+
+    fun isViewTouchingEdge(v: View?, whichEdge: Int): Boolean {
+        val cs = config.map[v] ?: return false
+        val left = cs.cellX
+        val right = cs.cellX + cs.spanX
+        val top = cs.cellY
+        val bottom = cs.cellY + cs.spanY
+        if ((dirtyEdges and whichEdge) == whichEdge) {
+            computeEdge(whichEdge)
+            dirtyEdges = dirtyEdges and whichEdge.inv()
+        }
+        return when (whichEdge) {
+            // In this case if any of the values of leftEdge is equal to right, which is the
+            // rightmost x value of the view, it means that the cluster is touching the view from
+            // the left the same logic applies for the other sides.
+            LEFT -> edgeContainsValue(top, bottom, leftEdge, right)
+            RIGHT -> edgeContainsValue(top, bottom, rightEdge, left)
+            TOP -> edgeContainsValue(left, right, topEdge, bottom)
+            BOTTOM -> edgeContainsValue(left, right, bottomEdge, top)
+            else -> false
+        }
+    }
+
+    private fun edgeContainsValue(start: Int, end: Int, edge: IntArray, value: Int): Boolean {
+        for (i in start until end) {
+            if (edge[i] == value) {
+                return true
+            }
+        }
+        return false
+    }
+
+    fun shift(whichEdge: Int, delta: Int) {
+        views
+            .mapNotNull { v -> config.map[v] }
+            .forEach { c ->
+                when (whichEdge) {
+                    LEFT -> c.cellX -= delta
+                    RIGHT -> c.cellX += delta
+                    TOP -> c.cellY -= delta
+                    BOTTOM -> c.cellY += delta
+                    else -> c.cellY += delta
+                }
+            }
+        resetEdges()
+    }
+
+    fun addView(v: View) {
+        views.add(v)
+        resetEdges()
+    }
+
+    fun getBoundingRect(): Rect {
+        if (boundingRectDirty) {
+            config.getBoundingRectForViews(views, boundingRect)
+        }
+        return boundingRect
+    }
+
+    inner class PositionComparator : Comparator<View?> {
+        var whichEdge = 0
+        override fun compare(left: View?, right: View?): Int {
+            val l = config.map[left]
+            val r = config.map[right]
+            if (l == null || r == null) throw NullPointerException()
+            return when (whichEdge) {
+                LEFT -> r.cellX + r.spanX - (l.cellX + l.spanX)
+                RIGHT -> l.cellX - r.cellX
+                TOP -> r.cellY + r.spanY - (l.cellY + l.spanY)
+                BOTTOM -> l.cellY - r.cellY
+                else -> l.cellY - r.cellY
+            }
+        }
+    }
+
+    fun sortConfigurationForEdgePush(edge: Int) {
+        comparator.whichEdge = edge
+        Collections.sort(config.sortedViews, comparator)
+    }
+
+    companion object {
+        const val LEFT = 1 shl 0
+        const val TOP = 1 shl 1
+        const val RIGHT = 1 shl 2
+        const val BOTTOM = 1 shl 3
+    }
+}
diff --git a/src/com/android/launcher3/compat/AccessibilityManagerCompat.java b/src/com/android/launcher3/compat/AccessibilityManagerCompat.java
index 24cc0ac..d37b1f0 100644
--- a/src/com/android/launcher3/compat/AccessibilityManagerCompat.java
+++ b/src/com/android/launcher3/compat/AccessibilityManagerCompat.java
@@ -74,38 +74,12 @@
         Log.d(TestProtocol.PERMANENT_DIAG_TAG, "sendStateEventToTest: " + stateOrdinal);
     }
 
-    public static void sendScrollFinishedEventToTest(Context context) {
+    public static void sendTestProtocolEventToTest(Context context, String testProtocolEvent) {
         final AccessibilityManager accessibilityManager = getAccessibilityManagerForTest(context);
         if (accessibilityManager == null) return;
 
-        sendEventToTest(accessibilityManager, context, TestProtocol.SCROLL_FINISHED_MESSAGE, null);
+        sendEventToTest(accessibilityManager, context, testProtocolEvent, null);
     }
-
-    public static void sendPauseDetectedEventToTest(Context context) {
-        final AccessibilityManager accessibilityManager = getAccessibilityManagerForTest(context);
-        if (accessibilityManager == null) return;
-
-        sendEventToTest(accessibilityManager, context, TestProtocol.PAUSE_DETECTED_MESSAGE, null);
-    }
-
-    public static void sendDismissAnimationEndsEventToTest(Context context) {
-        final AccessibilityManager accessibilityManager = getAccessibilityManagerForTest(context);
-        if (accessibilityManager == null) return;
-
-        sendEventToTest(accessibilityManager, context, TestProtocol.DISMISS_ANIMATION_ENDS_MESSAGE,
-                null);
-    }
-
-    /**
-     * Notify running tests of a folder opened.
-     */
-    public static void sendFolderOpenedEventToTest(Context context) {
-        final AccessibilityManager accessibilityManager = getAccessibilityManagerForTest(context);
-        if (accessibilityManager == null) return;
-
-        sendEventToTest(accessibilityManager, context, TestProtocol.FOLDER_OPENED_MESSAGE, null);
-    }
-
     private static void sendEventToTest(
             AccessibilityManager accessibilityManager,
             Context context, String eventTag, Bundle data) {
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
index 5155d52..1994bd1 100644
--- a/src/com/android/launcher3/config/FeatureFlags.java
+++ b/src/com/android/launcher3/config/FeatureFlags.java
@@ -16,31 +16,28 @@
 
 package com.android.launcher3.config;
 
+import static com.android.launcher3.BuildConfig.WIDGET_ON_FIRST_SCREEN;
 import static com.android.launcher3.config.FeatureFlags.FlagState.DISABLED;
 import static com.android.launcher3.config.FeatureFlags.FlagState.ENABLED;
 import static com.android.launcher3.config.FeatureFlags.FlagState.TEAMFOOD;
 import static com.android.launcher3.uioverrides.flags.FlagsFactory.getDebugFlag;
+import static com.android.launcher3.uioverrides.flags.FlagsFactory.getIntFlag;
 import static com.android.launcher3.uioverrides.flags.FlagsFactory.getReleaseFlag;
+import static com.android.wm.shell.Flags.enableTaskbarNavbarUnification;
 
-import android.content.Context;
+import android.view.ViewConfiguration;
 
 import androidx.annotation.VisibleForTesting;
 
 import com.android.launcher3.BuildConfig;
-import com.android.launcher3.Utilities;
+import com.android.launcher3.Flags;
 
 import java.util.function.Predicate;
 import java.util.function.ToIntFunction;
 
 /**
  * Defines a set of flags used to control various launcher behaviors.
- *
- * Please only add flags to your assigned block to prevent merge conflicts. If you do not have
- * a block, please update the current empty block and add a new empty block below to prevent
- * merge conflicts with the previous block.
- * List of blocks can be found:
- * <a href="http://go/gnl-flags-block-directory">here</a>
- *
+ * <p>
  * <p>All the flags should be defined here with appropriate default values.
  */
 public final class FeatureFlags {
@@ -52,10 +49,6 @@
 
     private FeatureFlags() { }
 
-    public static boolean showFlagTogglerUi(Context context) {
-        return BuildConfig.IS_DEBUG_DEVICE && Utilities.isDevelopersOptionsEnabled(context);
-    }
-
     /**
      * True when the build has come from Android Studio and is being used for local debugging.
      * @deprecated Use {@link BuildConfig#IS_STUDIO_BUILD} directly
@@ -123,6 +116,26 @@
             getDebugFlag(275132633, "ENABLE_ALL_APPS_FROM_OVERVIEW", DISABLED,
                     "Allow entering All Apps from Overview (e.g. long swipe up from app)");
 
+    public static final BooleanFlag CUSTOM_LPNH_THRESHOLDS =
+            getReleaseFlag(301680992, "CUSTOM_LPNH_THRESHOLDS", DISABLED,
+                    "Add dev options to customize the LPNH trigger slop and milliseconds");
+
+    public static final BooleanFlag ANIMATE_LPNH =
+            getReleaseFlag(308693847, "ANIMATE_LPNH", TEAMFOOD,
+                    "Animates navbar when long pressing");
+
+    public static final BooleanFlag SHRINK_NAV_HANDLE_ON_PRESS =
+            getReleaseFlag(314158312, "SHRINK_NAV_HANDLE_ON_PRESS", DISABLED,
+                    "Shrinks navbar when long pressing if ANIMATE_LPNH is enabled");
+
+    public static final IntFlag LPNH_SLOP_PERCENTAGE =
+            getIntFlag(301680992, "LPNH_SLOP_PERCENTAGE", 100,
+                    "Controls touch slop percentage for lpnh");
+
+    public static final IntFlag LPNH_TIMEOUT_MS =
+            getIntFlag(301680992, "LPNH_TIMEOUT_MS", ViewConfiguration.getLongPressTimeout(),
+                    "Controls lpnh timeout in milliseconds");
+
     public static final BooleanFlag ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS = getReleaseFlag(
             270394468, "ENABLE_SHOW_KEYBOARD_OPTION_IN_ALL_APPS", ENABLED,
             "Enable option to show keyboard when going to all-apps");
@@ -141,7 +154,7 @@
 
     // TODO(Block 6): Clean up flags
     public static final BooleanFlag ENABLE_ALL_APPS_SEARCH_IN_TASKBAR = getDebugFlag(270393900,
-            "ENABLE_ALL_APPS_SEARCH_IN_TASKBAR", DISABLED,
+            "ENABLE_ALL_APPS_SEARCH_IN_TASKBAR", ENABLED,
             "Enables Search box in Taskbar All Apps.");
 
     public static final BooleanFlag SECONDARY_DRAG_N_DROP_TO_PIN = getDebugFlag(270395140,
@@ -154,29 +167,23 @@
             "Enable the ability to generate monochromatic icons, if it is not provided by the app");
 
     // TODO(Block 8): Clean up flags
-    public static final BooleanFlag ENABLE_MATERIAL_U_POPUP = getDebugFlag(270395516,
-            "ENABLE_MATERIAL_U_POPUP", ENABLED, "Switch popup UX to use material U");
 
     // TODO(Block 9): Clean up flags
-    public static final BooleanFlag ENABLE_DOWNLOAD_APP_UX_V2 = getReleaseFlag(270395134,
-            "ENABLE_DOWNLOAD_APP_UX_V2", ENABLED, "Updates the download app UX"
-                    + " to have better visuals");
-
-    public static final BooleanFlag ENABLE_DOWNLOAD_APP_UX_V3 = getDebugFlag(270395186,
-            "ENABLE_DOWNLOAD_APP_UX_V3", ENABLED, "Updates the download app UX"
-                    + " to have better visuals, improve contrast, and color");
-
-    public static final BooleanFlag SHOW_DOT_PAGINATION = getDebugFlag(270395278,
-            "SHOW_DOT_PAGINATION", ENABLED, "Enable showing dot pagination in workspace");
-
-    public static final BooleanFlag LARGE_SCREEN_WIDGET_PICKER = getDebugFlag(270395809,
-            "LARGE_SCREEN_WIDGET_PICKER", ENABLED, "Enable new widget picker that takes "
-                    + "advantage of large screen format");
-
     public static final BooleanFlag MULTI_SELECT_EDIT_MODE = getDebugFlag(270709220,
             "MULTI_SELECT_EDIT_MODE", DISABLED, "Enable new multi-select edit mode "
                     + "for home screen");
 
+    public static final BooleanFlag SMARTSPACE_AS_A_WIDGET = getDebugFlag(299181941,
+            "SMARTSPACE_AS_A_WIDGET", DISABLED, "Enable SmartSpace as a widget");
+
+    public static boolean shouldShowFirstPageWidget() {
+        return SMARTSPACE_AS_A_WIDGET.get() && WIDGET_ON_FIRST_SCREEN;
+    }
+
+    public static final BooleanFlag ENABLE_SMARTSPACE_REMOVAL = getDebugFlag(290799975,
+            "ENABLE_SMARTSPACE_REMOVAL", DISABLED, "Enable SmartSpace removal for "
+            + "home screen");
+
     // TODO(Block 10): Clean up flags
     public static final BooleanFlag ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION = getDebugFlag(270614790,
             "ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION", DISABLED,
@@ -204,8 +211,20 @@
     public static final BooleanFlag NOTIFY_CRASHES = getDebugFlag(270393108, "NOTIFY_CRASHES",
             TEAMFOOD, "Sends a notification whenever launcher encounters an uncaught exception.");
 
-    public static final BooleanFlag ENABLE_TRANSIENT_TASKBAR = getDebugFlag(270395798,
-            "ENABLE_TRANSIENT_TASKBAR", ENABLED, "Enables transient taskbar.");
+    public static final boolean ENABLE_TASKBAR_NAVBAR_UNIFICATION =
+            enableTaskbarNavbarUnification();
+
+    // Aconfig migration complete for ENABLE_TASKBAR_NO_RECREATION.
+    public static final BooleanFlag ENABLE_TASKBAR_NO_RECREATION = getDebugFlag(299193589,
+            "ENABLE_TASKBAR_NO_RECREATION", DISABLED,
+            "Enables taskbar with no recreation from lifecycle changes of TaskbarActivityContext.");
+    public static boolean enableTaskbarNoRecreate() {
+        return ENABLE_TASKBAR_NO_RECREATION.get() || Flags.enableTaskbarNoRecreate()
+                // Task bar pinning and task bar nav bar unification are both dependent on
+                // ENABLE_TASKBAR_NO_RECREATION. We want to turn ENABLE_TASKBAR_NO_RECREATION on
+                // when either of the dependent features is turned on.
+                || enableTaskbarPinning() || ENABLE_TASKBAR_NAVBAR_UNIFICATION;
+    }
 
     // TODO(Block 16): Clean up flags
     // When enabled the promise icon is visible in all apps while installation an app.
@@ -222,6 +241,7 @@
     public static final BooleanFlag ENABLE_HIDE_HEADER = getReleaseFlag(270390930,
             "ENABLE_HIDE_HEADER", ENABLED, "Hide header on keyboard before typing in all apps");
 
+    // Aconfig migration complete for ENABLE_EXPANDING_PAUSE_WORK_BUTTON.
     public static final BooleanFlag ENABLE_EXPANDING_PAUSE_WORK_BUTTON = getDebugFlag(270390779,
             "ENABLE_EXPANDING_PAUSE_WORK_BUTTON", DISABLED,
             "Expand and collapse pause work button while scrolling");
@@ -229,16 +249,16 @@
     public static final BooleanFlag COLLECT_SEARCH_HISTORY = getReleaseFlag(270391455,
             "COLLECT_SEARCH_HISTORY", DISABLED, "Allow launcher to collect search history for log");
 
+    // Aconfig migration complete for ENABLE_TWOLINE_ALLAPPS.
     public static final BooleanFlag ENABLE_TWOLINE_ALLAPPS = getDebugFlag(270390937,
-            "ENABLE_TWOLINE_ALLAPPS", DISABLED, "Enables two line label inside all apps.");
+            "ENABLE_TWOLINE_ALLAPPS", ENABLED, "Enables two line label inside all apps.");
+    public static boolean enableTwolineAllapps() {
+        return ENABLE_TWOLINE_ALLAPPS.get() || Flags.enableTwolineAllapps();
+    }
 
     public static final BooleanFlag IME_STICKY_SNACKBAR_EDU = getDebugFlag(270391693,
             "IME_STICKY_SNACKBAR_EDU", ENABLED, "Show sticky IME edu in AllApps");
 
-    public static final BooleanFlag ENABLE_PEOPLE_TILE_PREVIEW = getDebugFlag(270391653,
-            "ENABLE_PEOPLE_TILE_PREVIEW", DISABLED,
-            "Experimental: Shows conversation shortcuts on home screen as search results");
-
     public static final BooleanFlag FOLDER_NAME_MAJORITY_RANKING = getDebugFlag(270391638,
             "FOLDER_NAME_MAJORITY_RANKING", ENABLED,
             "Suggests folder names based on majority based ranking.");
@@ -248,20 +268,66 @@
             "Inject fallback app corpus result when AiAi fails to return it.");
 
     public static final BooleanFlag ENABLE_LONG_PRESS_NAV_HANDLE =
-            getReleaseFlag(282993230, "ENABLE_LONG_PRESS_NAV_HANDLE_MPR", TEAMFOOD,
+            getReleaseFlag(299682306, "ENABLE_LONG_PRESS_NAV_HANDLE", TEAMFOOD,
                     "Enables long pressing on the bottom bar nav handle to trigger events.");
 
+    public static final BooleanFlag ENABLE_SEARCH_HAPTIC_HINT =
+            getReleaseFlag(314005131, "ENABLE_SEARCH_HAPTIC_HINT", ENABLED,
+                    "Enables haptic hint while long pressing on the bottom bar nav handle.");
+
+    public static final BooleanFlag ENABLE_SEARCH_HAPTIC_COMMIT =
+            getReleaseFlag(314005577, "ENABLE_SEARCH_HAPTIC_COMMIT", ENABLED,
+                    "Enables haptic hint at end of long pressing on the bottom bar nav handle.");
+
+    public static final IntFlag LPNH_HAPTIC_HINT_START_SCALE_PERCENT =
+            getIntFlag(309972570, "LPNH_HAPTIC_HINT_START_SCALE_PERCENT", 0,
+            "Haptic hint start scale.");
+
+    public static final IntFlag LPNH_HAPTIC_HINT_END_SCALE_PERCENT =
+            getIntFlag(309972570, "LPNH_HAPTIC_HINT_END_SCALE_PERCENT", 100,
+            "Haptic hint end scale.");
+
+    public static final IntFlag LPNH_HAPTIC_HINT_SCALE_EXPONENT =
+            getIntFlag(309972570, "LPNH_HAPTIC_HINT_SCALE_EXPONENT", 1,
+            "Haptic hint scale exponent.");
+
+    public static final IntFlag LPNH_HAPTIC_HINT_ITERATIONS =
+            getIntFlag(309972570, "LPNH_HAPTIC_HINT_ITERATIONS", 50,
+            "Haptic hint number of iterations.");
+
+    public static final BooleanFlag ENABLE_LPNH_DEEP_PRESS =
+            getReleaseFlag(310952290, "ENABLE_LPNH_DEEP_PRESS", ENABLED,
+                    "Long press of nav handle is instantly triggered if deep press is detected.");
+
+    public static final IntFlag LPNH_HAPTIC_HINT_DELAY =
+            getIntFlag(309972570, "LPNH_HAPTIC_HINT_DELAY", 0,
+                    "Delay before haptic hint starts.");
+
     // TODO(Block 17): Clean up flags
-    public static final BooleanFlag ENABLE_TASKBAR_PINNING = getDebugFlag(270396583,
-            "ENABLE_TASKBAR_PINNING", DISABLED,
+    // Aconfig migration complete for ENABLE_TASKBAR_PINNING.
+    private static final BooleanFlag ENABLE_TASKBAR_PINNING = getDebugFlag(296231746,
+            "ENABLE_TASKBAR_PINNING", TEAMFOOD,
             "Enables taskbar pinning to allow user to switch between transient and persistent "
                     + "taskbar flavors");
 
-    // TODO(Block 18): Clean up flags
+    public static boolean enableTaskbarPinning() {
+        return ENABLE_TASKBAR_PINNING.get() || Flags.enableTaskbarPinning();
+    }
+
+    public static final BooleanFlag MOVE_STARTUP_DATA_TO_DEVICE_PROTECTED_STORAGE = getDebugFlag(
+            251502424, "ENABLE_BOOT_AWARE_STARTUP_DATA", DISABLED,
+            "Marks LauncherPref data as (and allows it to) available while the device is"
+                    + " locked. Enabling this causes a 1-time movement of certain SharedPreferences"
+                    + " data. Improves startup latency.");
+
+    // Aconfig migration complete for ENABLE_APP_PAIRS.
     public static final BooleanFlag ENABLE_APP_PAIRS = getDebugFlag(274189428,
             "ENABLE_APP_PAIRS", DISABLED,
             "Enables the ability to create and save app pairs on the Home screen for easy"
                     + " split screen launching.");
+    public static boolean enableAppPairs() {
+        return ENABLE_APP_PAIRS.get() || com.android.wm.shell.Flags.enableAppPairs();
+    }
 
     // TODO(Block 19): Clean up flags
     public static final BooleanFlag SCROLL_TOP_TO_RESET = getReleaseFlag(270395177,
@@ -284,6 +350,15 @@
             "ENABLE_DYNAMIC_TASKBAR_THRESHOLDS", ENABLED,
             "Enables taskbar thresholds that scale based on screen size.");
 
+    // Aconfig migration complete for ENABLE_HOME_TRANSITION_LISTENER.
+    public static final BooleanFlag ENABLE_HOME_TRANSITION_LISTENER = getDebugFlag(306053414,
+            "ENABLE_HOME_TRANSITION_LISTENER", TEAMFOOD,
+            "Enables launcher to listen to all transitions that include home activity.");
+
+    public static boolean enableHomeTransitionListener() {
+        return ENABLE_HOME_TRANSITION_LISTENER.get() || Flags.enableHomeTransitionListener();
+    }
+
     // TODO(Block 21): Clean up flags
     public static final BooleanFlag ENABLE_APP_ICON_FOR_INLINE_SHORTCUTS = getDebugFlag(270395087,
             "ENABLE_APP_ICON_IN_INLINE_SHORTCUTS", DISABLED, "Show app icon for inline shortcut");
@@ -299,24 +374,11 @@
                     + "waiting for SystemUI and then merging the SystemUI progress whenever we "
                     + "start receiving the events");
 
-    // TODO(Block 23): Clean up flags
-    public static final BooleanFlag ENABLE_GRID_ONLY_OVERVIEW = getDebugFlag(270397206,
-            "ENABLE_GRID_ONLY_OVERVIEW", TEAMFOOD,
-            "Enable a grid-only overview without a focused task.");
-
-    public static final BooleanFlag ENABLE_CURSOR_HOVER_STATES = getDebugFlag(243191650,
-            "ENABLE_CURSOR_HOVER_STATES", TEAMFOOD,
-            "Enables cursor hover states for certain elements.");
-
     // TODO(Block 24): Clean up flags
     public static final BooleanFlag ENABLE_NEW_MIGRATION_LOGIC = getDebugFlag(270393455,
             "ENABLE_NEW_MIGRATION_LOGIC", ENABLED,
             "Enable the new grid migration logic, keeping pages when src < dest");
 
-    public static final BooleanFlag ENABLE_CACHED_WIDGET = getDebugFlag(270395008,
-            "ENABLE_CACHED_WIDGET", ENABLED,
-            "Show previously cached widgets as opposed to deferred widget where available");
-
     // TODO(Block 25): Clean up flags
     public static final BooleanFlag ENABLE_NEW_GESTURE_NAV_TUTORIAL = getDebugFlag(270396257,
             "ENABLE_NEW_GESTURE_NAV_TUTORIAL", ENABLED,
@@ -359,18 +421,14 @@
             "USE_LOCAL_ICON_OVERRIDES", ENABLED,
             "Use inbuilt monochrome icons if app doesn't provide one");
 
-    // TODO(Block 28): Clean up flags
-    public static final BooleanFlag ENABLE_SPLIT_FROM_FULLSCREEN_WITH_KEYBOARD_SHORTCUTS =
-            getDebugFlag(270394122, "ENABLE_SPLIT_FROM_FULLSCREEN_SHORTCUT", DISABLED,
-                    "Enable splitting from fullscreen app with keyboard shortcuts");
-
+    // Aconfig migration complete for ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.
     public static final BooleanFlag ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE = getDebugFlag(
             270393453, "ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE", DISABLED,
             "Enable initiating split screen from workspace to workspace.");
-
-    public static final BooleanFlag ENABLE_SPLIT_FROM_DESKTOP_TO_WORKSPACE = getDebugFlag(
-            279586624, "ENABLE_SPLIT_FROM_DESKTOP_TO_WORKSPACE", DISABLED,
-            "Enable initiating split screen from desktop mode to workspace.");
+    public static boolean enableSplitContextually() {
+        return ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE.get() ||
+                com.android.wm.shell.Flags.enableSplitContextual();
+    }
 
     public static final BooleanFlag ENABLE_TRACKPAD_GESTURE = getDebugFlag(271010401,
             "ENABLE_TRACKPAD_GESTURE", ENABLED, "Enables trackpad gesture.");
@@ -395,21 +453,32 @@
     // TODO(Block 31): Clean up flags
 
     // TODO(Block 32): Clean up flags
+    // Aconfig migration complete for ENABLE_RESPONSIVE_WORKSPACE.
+    @VisibleForTesting
     public static final BooleanFlag ENABLE_RESPONSIVE_WORKSPACE = getDebugFlag(241386436,
-            "ENABLE_RESPONSIVE_WORKSPACE", DISABLED,
+            "ENABLE_RESPONSIVE_WORKSPACE", TEAMFOOD,
             "Enables new workspace grid calculations method.");
+    public static boolean enableResponsiveWorkspace() {
+        return ENABLE_RESPONSIVE_WORKSPACE.get() || Flags.enableResponsiveWorkspace();
+    }
 
     // TODO(Block 33): Clean up flags
     public static final BooleanFlag ENABLE_ALL_APPS_RV_PREINFLATION = getDebugFlag(288161355,
             "ENABLE_ALL_APPS_RV_PREINFLATION", ENABLED,
             "Enables preinflating all apps icons to avoid scrolling jank.");
-
-    // TODO(Block 34): Clean up flags
     public static final BooleanFlag ALL_APPS_GONE_VISIBILITY = getDebugFlag(291651514,
             "ALL_APPS_GONE_VISIBILITY", ENABLED,
             "Set all apps container view's hidden visibility to GONE instead of INVISIBLE.");
 
-    // TODO(Block 35): Empty block
+    // TODO(Block 34): Empty block
+    // Please only add flags to your assigned block. If you do not have a block:
+    // 1. Assign yourself this block
+    // 2. Add your flag to this block
+    // 3. Add a new empty block below this one
+    // 4. Move this comment to that new empty block
+    // This is all to prevent merge conflicts in the future and help keep track of who owns which
+    // flags.
+    // List of assigned blocks can be found: http://go/gnl-flags-block-directory
 
     public static class BooleanFlag {
 
diff --git a/src/com/android/launcher3/dot/DotInfo.java b/src/com/android/launcher3/dot/DotInfo.java
index fc180d1..64864b0 100644
--- a/src/com/android/launcher3/dot/DotInfo.java
+++ b/src/com/android/launcher3/dot/DotInfo.java
@@ -18,7 +18,6 @@
 
 import androidx.annotation.NonNull;
 
-import com.android.launcher3.notification.NotificationInfo;
 import com.android.launcher3.notification.NotificationKeyData;
 
 import java.util.ArrayList;
@@ -32,8 +31,7 @@
     public static final int MAX_COUNT = 999;
 
     /**
-     * The keys of the notifications that this dot represents. These keys can later be
-     * used to retrieve {@link NotificationInfo}'s.
+     * The keys of the notifications that this dot represents.
      */
     private final List<NotificationKeyData> mNotificationKeys = new ArrayList<>();
 
diff --git a/src/com/android/launcher3/dragndrop/DragController.java b/src/com/android/launcher3/dragndrop/DragController.java
index 0d51d48..aa5329b 100644
--- a/src/com/android/launcher3/dragndrop/DragController.java
+++ b/src/com/android/launcher3/dragndrop/DragController.java
@@ -87,6 +87,10 @@
     private int mLastTouchClassification;
     protected int mDistanceSinceScroll = 0;
 
+    /**
+     * This variable is to differentiate between a long press and a drag, if it's true that means
+     * it's a long press and when it's false means that we are no longer in a long press.
+     */
     protected boolean mIsInPreDrag;
 
     private final int DRAG_VIEW_SCALE_DURATION_MS = 500;
@@ -370,7 +374,7 @@
     @Override
     public void onDriverDragEnd(float x, float y) {
         if (!endWithFlingAnimation()) {
-            drop(findDropTarget((int) x, (int) y, mCoordinatesTemp), null);
+            drop(findDropTarget((int) x, (int) y), null);
         }
         endDrag();
     }
@@ -432,13 +436,6 @@
     protected void handleMoveEvent(int x, int y) {
         mDragObject.dragView.move(x, y);
 
-        // Drop on someone?
-        final int[] coordinates = mCoordinatesTemp;
-        DropTarget dropTarget = findDropTarget(x, y, coordinates);
-        mDragObject.x = coordinates[0];
-        mDragObject.y = coordinates[1];
-        checkTouchMove(dropTarget);
-
         // Check if we are hovering over the scroll areas
         mDistanceSinceScroll += Math.hypot(mLastTouch.x - x, mLastTouch.y - y);
         mLastTouch.set(x, y);
@@ -451,6 +448,9 @@
                 && mOptions.preDragCondition.shouldStartDrag(distanceDragged)) {
             callOnDragStart();
         }
+
+        // Drop on someone?
+        checkTouchMove(x, y);
     }
 
     public float getDistanceDragged() {
@@ -458,14 +458,15 @@
     }
 
     public void forceTouchMove() {
-        int[] placeholderCoordinates = mCoordinatesTemp;
-        DropTarget dropTarget = findDropTarget(mLastTouch.x, mLastTouch.y, placeholderCoordinates);
-        mDragObject.x = placeholderCoordinates[0];
-        mDragObject.y = placeholderCoordinates[1];
-        checkTouchMove(dropTarget);
+        checkTouchMove(mLastTouch.x, mLastTouch.y);
     }
 
-    private void checkTouchMove(DropTarget dropTarget) {
+    private DropTarget checkTouchMove(final int x, final int y) {
+        // If we are in predrag, don't trigger any other event until we get out of it
+        if (mIsInPreDrag) {
+            return mLastDropTarget;
+        }
+        DropTarget dropTarget = findDropTarget(x, y);
         if (dropTarget != null) {
             if (mLastDropTarget != dropTarget) {
                 if (mLastDropTarget != null) {
@@ -474,12 +475,11 @@
                 dropTarget.onDragEnter(mDragObject);
             }
             dropTarget.onDragOver(mDragObject);
-        } else {
-            if (mLastDropTarget != null) {
-                mLastDropTarget.onDragExit(mDragObject);
-            }
+        } else if (mLastDropTarget != null) {
+            mLastDropTarget.onDragExit(mDragObject);
         }
         mLastDropTarget = dropTarget;
+        return mLastDropTarget;
     }
 
     /**
@@ -487,13 +487,8 @@
      * we manually ensure appropriate drag and drop events get emulated for accessible drag.
      */
     public void completeAccessibleDrag(int[] location) {
-        final int[] coordinates = mCoordinatesTemp;
-
         // We make sure that we prime the target for drop.
-        DropTarget dropTarget = findDropTarget(location[0], location[1], coordinates);
-        mDragObject.x = coordinates[0];
-        mDragObject.y = coordinates[1];
-        checkTouchMove(dropTarget);
+        DropTarget dropTarget = checkTouchMove(location[0], location[1]);
 
         dropTarget.prepareAccessibilityDrop();
         // Perform the drop
@@ -502,10 +497,6 @@
     }
 
     protected void drop(DropTarget dropTarget, Runnable flingAnimation) {
-        final int[] coordinates = mCoordinatesTemp;
-        mDragObject.x = coordinates[0];
-        mDragObject.y = coordinates[1];
-
         // Move dragging to the final target.
         if (dropTarget != mLastDropTarget) {
             if (mLastDropTarget != null) {
@@ -542,9 +533,9 @@
         dispatchDropComplete(dropTargetAsView, accepted);
     }
 
-    private DropTarget findDropTarget(int x, int y, int[] dropCoordinates) {
-        mDragObject.x = x;
-        mDragObject.y = y;
+    private DropTarget findDropTarget(final int x, final int y) {
+        mCoordinatesTemp[0] = x;
+        mCoordinatesTemp[1] = y;
 
         final Rect r = mRectTemp;
         final ArrayList<DropTarget> dropTargets = mDropTargets;
@@ -556,17 +547,17 @@
 
             target.getHitRectRelativeToDragLayer(r);
             if (r.contains(x, y)) {
-                dropCoordinates[0] = x;
-                dropCoordinates[1] = y;
-                mActivity.getDragLayer().mapCoordInSelfToDescendant((View) target, dropCoordinates);
+                mActivity.getDragLayer().mapCoordInSelfToDescendant((View) target,
+                        mCoordinatesTemp);
+                mDragObject.x = mCoordinatesTemp[0];
+                mDragObject.y = mCoordinatesTemp[1];
                 return target;
             }
         }
-        // Pass all unhandled drag to workspace. Workspace finds the correct
-        // cell layout to drop to in the existing drag/drop logic.
-        dropCoordinates[0] = x;
-        dropCoordinates[1] = y;
-        return getDefaultDropTarget(dropCoordinates);
+        DropTarget dropTarget = getDefaultDropTarget(mCoordinatesTemp);
+        mDragObject.x = mCoordinatesTemp[0];
+        mDragObject.y = mCoordinatesTemp[1];
+        return dropTarget;
     }
 
     protected abstract DropTarget getDefaultDropTarget(int[] dropCoordinates);
diff --git a/src/com/android/launcher3/dragndrop/DragView.java b/src/com/android/launcher3/dragndrop/DragView.java
index adfdc89..1f07352 100644
--- a/src/com/android/launcher3/dragndrop/DragView.java
+++ b/src/com/android/launcher3/dragndrop/DragView.java
@@ -20,7 +20,6 @@
 import static android.view.View.MeasureSpec.makeMeasureSpec;
 
 import static com.android.launcher3.LauncherAnimUtils.VIEW_ALPHA;
-import static com.android.launcher3.Utilities.getBadge;
 import static com.android.launcher3.icons.FastBitmapDrawable.getDisabledColorFilter;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
 
@@ -45,11 +44,13 @@
 import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
+import android.util.Pair;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.dynamicanimation.animation.FloatPropertyCompat;
 import androidx.dynamicanimation.animation.SpringAnimation;
@@ -244,13 +245,12 @@
     public void setItemInfo(final ItemInfo info) {
         // Load the adaptive icon on a background thread and add the view in ui thread.
         MODEL_EXECUTOR.getHandler().postAtFrontOfQueue(() -> {
-            Object[] outObj = new Object[1];
-            boolean[] outIsIconThemed = new boolean[1];
             int w = mWidth;
             int h = mHeight;
-            Drawable dr = Utilities.getFullDrawable(mActivity, info, w, h,
-                    true /* shouldThemeIcon */, outObj, outIsIconThemed);
-            if (dr instanceof AdaptiveIconDrawable) {
+            Pair<AdaptiveIconDrawable, Drawable> fullDrawable = Utilities.getFullDrawable(
+                    mActivity, info, w, h, true /* shouldThemeIcon */);
+            if (fullDrawable != null) {
+                AdaptiveIconDrawable adaptiveIcon = fullDrawable.first;
                 int blurMargin = (int) mActivity.getResources()
                         .getDimension(R.dimen.blur_size_medium_outline) / 2;
 
@@ -258,24 +258,15 @@
                 bounds.inset(blurMargin, blurMargin);
                 // Badge is applied after icon normalization so the bounds for badge should not
                 // be scaled down due to icon normalization.
-                mBadge = getBadge(mActivity, info, outObj[0], outIsIconThemed[0]);
+                mBadge = fullDrawable.second;
                 FastBitmapDrawable.setBadgeBounds(mBadge, bounds);
 
-                // Do not draw the background in case of folder as its translucent
-                final boolean shouldDrawBackground = !(dr instanceof FolderAdaptiveIcon);
-
                 try (LauncherIcons li = LauncherIcons.obtain(mActivity)) {
-                    Drawable nDr; // drawable to be normalized
-                    if (shouldDrawBackground) {
-                        nDr = dr;
-                    } else {
-                        // Since we just want the scale, avoid heavy drawing operations
-                        nDr = new AdaptiveIconDrawable(new ColorDrawable(Color.BLACK), null);
-                    }
-                    Utilities.scaleRectAboutCenter(bounds,
-                            li.getNormalizer().getScale(nDr, null, null, null));
+                    // Since we just want the scale, avoid heavy drawing operations
+                    Utilities.scaleRectAboutCenter(bounds, li.getNormalizer().getScale(
+                            new AdaptiveIconDrawable(new ColorDrawable(Color.BLACK), null),
+                            null, null, null));
                 }
-                AdaptiveIconDrawable adaptiveIcon = (AdaptiveIconDrawable) dr;
 
                 // Shrink very tiny bit so that the clip path is smaller than the original bitmap
                 // that has anti aliased edges and shadows.
@@ -624,7 +615,7 @@
     /**
      * Removes any stray DragView from the DragLayer.
      */
-    public static void removeAllViews(ActivityContext activity) {
+    public static void removeAllViews(@NonNull ActivityContext activity) {
         BaseDragLayer dragLayer = activity.getDragLayer();
         // Iterate in reverse order. DragView is added later to the dragLayer,
         // and will be one of the last views.
diff --git a/src/com/android/launcher3/dragndrop/AddItemDragLayer.java b/src/com/android/launcher3/dragndrop/SimpleDragLayer.java
similarity index 70%
rename from src/com/android/launcher3/dragndrop/AddItemDragLayer.java
rename to src/com/android/launcher3/dragndrop/SimpleDragLayer.java
index 5b52c3d..e42ba72 100644
--- a/src/com/android/launcher3/dragndrop/AddItemDragLayer.java
+++ b/src/com/android/launcher3/dragndrop/SimpleDragLayer.java
@@ -20,18 +20,20 @@
 import android.util.AttributeSet;
 
 import com.android.launcher3.util.TouchController;
+import com.android.launcher3.views.ActivityContext;
 import com.android.launcher3.views.BaseDragLayer;
 
 /**
- * Drag layer for {@link AddItemActivity}.
+ * A concrete {@link BaseDragLayer} that creates an empty list of {@link TouchController}s.
+ * @param <T> The {@link ActivityContext} hosting the drag layer.
  */
-public class AddItemDragLayer extends BaseDragLayer<AddItemActivity> {
+public class SimpleDragLayer<T extends Context & ActivityContext> extends BaseDragLayer<T> {
 
-    public AddItemDragLayer(Context context, AttributeSet attrs) {
+    public SimpleDragLayer(Context context, AttributeSet attrs) {
         this(context, attrs, /*alphaChannelCount= */ 1);
     }
 
-    public AddItemDragLayer(Context context, AttributeSet attrs, int alphaChannelCount) {
+    public SimpleDragLayer(Context context, AttributeSet attrs, int alphaChannelCount) {
         super(context, attrs, alphaChannelCount);
     }
 
diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java
index 55a539a..084f829 100644
--- a/src/com/android/launcher3/folder/Folder.java
+++ b/src/com/android/launcher3/folder/Folder.java
@@ -25,6 +25,7 @@
 import static com.android.launcher3.config.FeatureFlags.ALWAYS_USE_HARDWARE_OPTIMIZATION_FOR_FOLDER_ANIMATIONS;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_LABEL_UPDATED;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ITEM_DROP_COMPLETED;
+import static com.android.launcher3.testing.shared.TestProtocol.FOLDER_OPENED_MESSAGE;
 import static com.android.launcher3.util.window.RefreshRateTracker.getSingleFrameMs;
 
 import android.animation.Animator;
@@ -209,7 +210,9 @@
                     @ViewDebug.IntToString(from = STATE_OPEN, to = "STATE_OPEN"),
             })
     private int mState = STATE_CLOSED;
-    private OnFolderStateChangedListener mOnFolderStateChangedListener;
+    private final List<OnFolderStateChangedListener> mOnFolderStateChangedListeners =
+            new ArrayList<>();
+    private OnFolderStateChangedListener mPriorityOnFolderStateChangedListener;
     @ViewDebug.ExportedProperty(category = "launcher")
     private boolean mRearrangeOnClose = false;
     boolean mItemsInvalidated = false;
@@ -535,7 +538,7 @@
                     mFolderName.selectAll();
                 }
             }
-            mFolderName.showKeyboard(true /* shouldFocus */);
+            mFolderName.showKeyboard();
             mFolderName.displayCompletions(
                     Stream.of(mInfo.suggestedFolderNames.getLabels())
                             .filter(Objects::nonNull)
@@ -644,6 +647,11 @@
      * is played.
      */
     private void animateOpen(List<WorkspaceItemInfo> items, int pageNo) {
+        if (items == null || items.size() <= 1) {
+            Log.d(TAG, "Couldn't animate folder open because items is: " + items);
+            return;
+        }
+
         Folder openFolder = getOpen(mActivityContext);
         if (openFolder != null && openFolder != this) {
             // Close any open folder before opening a folder.
@@ -692,7 +700,8 @@
             public void onAnimationEnd(Animator animation) {
                 setState(STATE_OPEN);
                 announceAccessibilityChanges();
-                AccessibilityManagerCompat.sendFolderOpenedEventToTest(getContext());
+                AccessibilityManagerCompat.sendTestProtocolEventToTest(getContext(),
+                        FOLDER_OPENED_MESSAGE);
 
                 mContent.setFocusOnFirstChild();
             }
@@ -1075,7 +1084,7 @@
 
     private void updateItemLocationsInDatabaseBatch(boolean isBind) {
         FolderGridOrganizer verifier = new FolderGridOrganizer(
-                mActivityContext.getDeviceProfile().inv).setFolderInfo(mInfo);
+                mActivityContext.getDeviceProfile()).setFolderInfo(mInfo);
 
         ArrayList<ItemInfo> items = new ArrayList<>();
         int total = mInfo.contents.size();
@@ -1374,7 +1383,7 @@
     @Override
     public void onAdd(WorkspaceItemInfo item, int rank) {
         FolderGridOrganizer verifier = new FolderGridOrganizer(
-                mActivityContext.getDeviceProfile().inv).setFolderInfo(mInfo);
+                mActivityContext.getDeviceProfile()).setFolderInfo(mInfo);
         verifier.updateRankAndPos(item, rank);
         mLauncherDelegate.getModelWriter().addOrMoveItemInDatabase(item, mInfo.id, 0, item.cellX,
                 item.cellY);
@@ -1658,18 +1667,43 @@
         return windowBottomPx - folderBottomPx;
     }
 
+    /**
+     * Save this listener for the special case of when we update the state and concurrently
+     * add another listener to {@link #mOnFolderStateChangedListeners} to avoid a
+     * ConcurrentModificationException
+     */
+    public void setPriorityOnFolderStateChangedListener(OnFolderStateChangedListener listener) {
+        mPriorityOnFolderStateChangedListener = listener;
+    }
+
     private void setState(@FolderState int newState) {
         mState = newState;
-        if (mOnFolderStateChangedListener != null) {
-            mOnFolderStateChangedListener.onFolderStateChanged(mState);
+        if (mPriorityOnFolderStateChangedListener != null) {
+            mPriorityOnFolderStateChangedListener.onFolderStateChanged(mState);
+        }
+        for (OnFolderStateChangedListener listener : mOnFolderStateChangedListeners) {
+            if (listener != null) {
+                listener.onFolderStateChanged(mState);
+            }
         }
     }
 
-    public void setOnFolderStateChangedListener(@Nullable OnFolderStateChangedListener listener) {
-        mOnFolderStateChangedListener = listener;
+    /**
+     * Adds the provided listener to the running list of Folder listeners
+     * {@link #mOnFolderStateChangedListeners}
+     */
+    public void addOnFolderStateChangedListener(@Nullable OnFolderStateChangedListener listener) {
+        if (listener != null) {
+            mOnFolderStateChangedListeners.add(listener);
+        }
     }
 
-    /** Listener that can be registered via {@link Folder#setOnFolderStateChangedListener} */
+    /** Removes the provided listener from the running list of Folder listeners */
+    public void removeOnFolderStateChangedListener(OnFolderStateChangedListener listener) {
+        mOnFolderStateChangedListeners.remove(listener);
+    }
+
+    /** Listener that can be registered via {@link #addOnFolderStateChangedListener} */
     public interface OnFolderStateChangedListener {
         /** See {@link Folder.FolderState} */
         void onFolderStateChanged(@FolderState int newState);
diff --git a/src/com/android/launcher3/folder/FolderAnimationManager.java b/src/com/android/launcher3/folder/FolderAnimationManager.java
index 9e2e2bf..a91373b 100644
--- a/src/com/android/launcher3/folder/FolderAnimationManager.java
+++ b/src/com/android/launcher3/folder/FolderAnimationManager.java
@@ -96,7 +96,7 @@
 
         mContext = folder.getContext();
         mDeviceProfile = folder.mActivityContext.getDeviceProfile();
-        mPreviewVerifier = new FolderGridOrganizer(mDeviceProfile.inv);
+        mPreviewVerifier = new FolderGridOrganizer(mDeviceProfile);
 
         mIsOpening = isOpening;
 
diff --git a/src/com/android/launcher3/folder/FolderGridOrganizer.java b/src/com/android/launcher3/folder/FolderGridOrganizer.java
index 4be82ed..cc24761 100644
--- a/src/com/android/launcher3/folder/FolderGridOrganizer.java
+++ b/src/com/android/launcher3/folder/FolderGridOrganizer.java
@@ -20,7 +20,7 @@
 
 import android.graphics.Point;
 
-import com.android.launcher3.InvariantDeviceProfile;
+import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.model.data.FolderInfo;
 import com.android.launcher3.model.data.ItemInfo;
 
@@ -41,11 +41,13 @@
     private int mCountX;
     private int mCountY;
     private boolean mDisplayingUpperLeftQuadrant = false;
+    private static final int PREVIEW_MAX_ROWS = 2;
+    private static final int PREVIEW_MAX_COLUMNS = 2;
 
     /**
      * Note: must call {@link #setFolderInfo(FolderInfo)} manually for verifier to work.
      */
-    public FolderGridOrganizer(InvariantDeviceProfile profile) {
+    public FolderGridOrganizer(DeviceProfile profile) {
         mMaxCountX = profile.numFolderColumns;
         mMaxCountY = profile.numFolderRows;
         mMaxItemsPerPage = mMaxCountX * mMaxCountY;
@@ -127,6 +129,7 @@
 
     /**
      * Updates the item's cellX, cellY and rank corresponding to the provided rank.
+     *
      * @return true if there was any change
      */
     public boolean updateRankAndPos(ItemInfo item, int rank) {
@@ -189,7 +192,7 @@
         if (page > 0 || mDisplayingUpperLeftQuadrant) {
             int col = rank % mCountX;
             int row = rank / mCountX;
-            return col < 2 && row < 2;
+            return col < PREVIEW_MAX_COLUMNS && row < PREVIEW_MAX_ROWS;
         }
         return rank < MAX_NUM_ITEMS_IN_PREVIEW;
     }
diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java
index 53d0efb..f058ae4 100644
--- a/src/com/android/launcher3/folder/FolderIcon.java
+++ b/src/com/android/launcher3/folder/FolderIcon.java
@@ -16,7 +16,7 @@
 
 package com.android.launcher3.folder;
 
-import static com.android.launcher3.config.FeatureFlags.ENABLE_CURSOR_HOVER_STATES;
+import static com.android.launcher3.Flags.enableCursorHoverStates;
 import static com.android.launcher3.folder.ClippedFolderIconLayoutRule.ICON_OVERLAP_FACTOR;
 import static com.android.launcher3.folder.ClippedFolderIconLayoutRule.MAX_NUM_ITEMS_IN_PREVIEW;
 import static com.android.launcher3.folder.PreviewItemManager.INITIAL_ITEM_ANIMATION_DURATION;
@@ -86,7 +86,6 @@
 import java.util.List;
 import java.util.function.Predicate;
 
-
 /**
  * An icon that can appear on in the workspace representing an {@link Folder}.
  */
@@ -221,7 +220,7 @@
 
         icon.setAccessibilityDelegate(activity.getAccessibilityDelegate());
 
-        icon.mPreviewVerifier = new FolderGridOrganizer(activity.getDeviceProfile().inv);
+        icon.mPreviewVerifier = new FolderGridOrganizer(activity.getDeviceProfile());
         icon.mPreviewVerifier.setFolderInfo(folderInfo);
         icon.updatePreviewItems(false);
 
@@ -634,6 +633,7 @@
         }
     }
 
+    /** Sets the visibility of the icon's title text */
     public void setTextVisible(boolean visible) {
         if (visible) {
             mFolderName.setVisibility(VISIBLE);
@@ -805,7 +805,7 @@
     @Override
     public void onHoverChanged(boolean hovered) {
         super.onHoverChanged(hovered);
-        if (ENABLE_CURSOR_HOVER_STATES.get()) {
+        if (enableCursorHoverStates()) {
             mBackground.setHovered(hovered);
         }
     }
diff --git a/src/com/android/launcher3/folder/FolderPagedView.java b/src/com/android/launcher3/folder/FolderPagedView.java
index 36e5e1b..f2bed92 100644
--- a/src/com/android/launcher3/folder/FolderPagedView.java
+++ b/src/com/android/launcher3/folder/FolderPagedView.java
@@ -37,8 +37,6 @@
 import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.CellLayout;
 import com.android.launcher3.DeviceProfile;
-import com.android.launcher3.InvariantDeviceProfile;
-import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.PagedView;
 import com.android.launcher3.R;
 import com.android.launcher3.ShortcutAndWidgetContainer;
@@ -101,14 +99,15 @@
 
     public FolderPagedView(Context context, AttributeSet attrs) {
         super(context, attrs);
-        InvariantDeviceProfile profile = LauncherAppState.getIDP(context);
+        ActivityContext activityContext = ActivityContext.lookupContext(context);
+        DeviceProfile profile = activityContext.getDeviceProfile();
         mOrganizer = new FolderGridOrganizer(profile);
 
         mIsRtl = Utilities.isRtl(getResources());
         setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
 
         mFocusIndicatorHelper = new ViewGroupFocusHelper(this);
-        mViewCache = ActivityContext.lookupContext(context).getViewCache();
+        mViewCache = activityContext.getViewCache();
     }
 
     public void setFolder(Folder folder) {
diff --git a/src/com/android/launcher3/folder/LauncherDelegate.java b/src/com/android/launcher3/folder/LauncherDelegate.java
index c06a0f3..66c9109 100644
--- a/src/com/android/launcher3/folder/LauncherDelegate.java
+++ b/src/com/android/launcher3/folder/LauncherDelegate.java
@@ -28,7 +28,6 @@
 import com.android.launcher3.DropTarget;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherAppState;
-import com.android.launcher3.celllayout.CellPosMapper;
 import com.android.launcher3.dragndrop.DragOptions;
 import com.android.launcher3.logging.InstanceId;
 import com.android.launcher3.logging.StatsLogManager.StatsLogger;
@@ -177,8 +176,8 @@
         @Override
         ModelWriter getModelWriter() {
             if (mWriter == null) {
-                mWriter = LauncherAppState.getInstance((Context) mContext).getModel()
-                        .getWriter(false, false, CellPosMapper.DEFAULT, null);
+                mWriter = LauncherAppState.getInstance((Context) mContext).getModel().getWriter(
+                        false, mContext.getCellPosMapper(), null);
             }
             return mWriter;
         }
diff --git a/src/com/android/launcher3/folder/PreviewBackground.java b/src/com/android/launcher3/folder/PreviewBackground.java
index b320ceb..ec03803 100644
--- a/src/com/android/launcher3/folder/PreviewBackground.java
+++ b/src/com/android/launcher3/folder/PreviewBackground.java
@@ -48,6 +48,7 @@
 import com.android.launcher3.CellLayout;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.R;
+import com.android.launcher3.celllayout.DelegatedCellDrawing;
 import com.android.launcher3.util.Themes;
 import com.android.launcher3.views.ActivityContext;
 
@@ -55,7 +56,7 @@
  * This object represents a FolderIcon preview background. It stores drawing / measurement
  * information, handles drawing, and animation (accept state <--> rest state).
  */
-public class PreviewBackground extends CellLayout.DelegatedCellDrawing {
+public class PreviewBackground extends DelegatedCellDrawing {
 
     private static final boolean DRAW_SHADOW = false;
     private static final boolean DRAW_STROKE = false;
diff --git a/src/com/android/launcher3/folder/PreviewItemManager.java b/src/com/android/launcher3/folder/PreviewItemManager.java
index 2e5f2e5..871643e 100644
--- a/src/com/android/launcher3/folder/PreviewItemManager.java
+++ b/src/com/android/launcher3/folder/PreviewItemManager.java
@@ -37,12 +37,14 @@
 import android.view.View;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
 
 import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.graphics.PreloadIconDrawable;
 import com.android.launcher3.model.data.ItemInfoWithIcon;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
+import com.android.launcher3.util.Themes;
 import com.android.launcher3.views.ActivityContext;
 
 import java.util.ArrayList;
@@ -70,7 +72,8 @@
 
     private final Context mContext;
     private final FolderIcon mIcon;
-    private final int mIconSize;
+    @VisibleForTesting
+    public final int mIconSize;
 
     // These variables are all associated with the drawing of the preview; they are stored
     // as member variables for shared usage and to avoid computation on each frame
@@ -427,14 +430,16 @@
         p.anim = anim;
     }
 
-    private void setDrawable(PreviewItemDrawingParams p, WorkspaceItemInfo item) {
+    @VisibleForTesting
+    public void setDrawable(PreviewItemDrawingParams p, WorkspaceItemInfo item) {
         if (item.hasPromiseIconUi() || (item.runtimeStatusFlags
                     & ItemInfoWithIcon.FLAG_SHOW_DOWNLOAD_PROGRESS_MASK) != 0) {
             PreloadIconDrawable drawable = newPendingIcon(mContext, item);
             drawable.setLevel(item.getProgressLevel());
             p.drawable = drawable;
         } else {
-            p.drawable = item.newIcon(mContext, FLAG_THEMED);
+            p.drawable = item.newIcon(mContext,
+                    Themes.isThemedIconEnabled(mContext) ? FLAG_THEMED : 0);
         }
         p.drawable.setBounds(0, 0, mIconSize, mIconSize);
         p.item = item;
diff --git a/src/com/android/launcher3/graphics/GridCustomizationsProvider.java b/src/com/android/launcher3/graphics/GridCustomizationsProvider.java
index ae5d8d4..18200f6 100644
--- a/src/com/android/launcher3/graphics/GridCustomizationsProvider.java
+++ b/src/com/android/launcher3/graphics/GridCustomizationsProvider.java
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.android.launcher3.graphics;
 
 import static com.android.launcher3.LauncherPrefs.THEMED_ICONS;
@@ -21,6 +36,7 @@
 import android.os.Messenger;
 import android.util.ArrayMap;
 import android.util.Log;
+import android.util.Pair;
 
 import com.android.launcher3.InvariantDeviceProfile;
 import com.android.launcher3.InvariantDeviceProfile.GridOption;
@@ -70,7 +86,11 @@
 
     private static final int MESSAGE_ID_UPDATE_PREVIEW = 1337;
 
-    private final ArrayMap<IBinder, PreviewLifecycleObserver> mActivePreviews = new ArrayMap<>();
+    /**
+     * Here we use the IBinder and the screen ID as the key of the active previews.
+     */
+    private final ArrayMap<Pair<IBinder, Integer>, PreviewLifecycleObserver> mActivePreviews =
+            new ArrayMap<>();
 
     @Override
     public boolean onCreate() {
@@ -176,11 +196,10 @@
         try {
             PreviewSurfaceRenderer renderer = new PreviewSurfaceRenderer(getContext(), request);
 
-            // Destroy previous
-            destroyObserver(mActivePreviews.get(renderer.getHostToken()));
-
             observer = new PreviewLifecycleObserver(renderer);
-            mActivePreviews.put(renderer.getHostToken(), observer);
+            // Destroy previous
+            destroyObserver(mActivePreviews.get(observer.getIdentifier()));
+            mActivePreviews.put(observer.getIdentifier(), observer);
 
             renderer.loadAsync();
             renderer.getHostToken().linkToDeath(observer, 0);
@@ -210,9 +229,9 @@
         observer.destroyed = true;
         observer.renderer.getHostToken().unlinkToDeath(observer, 0);
         Executors.MAIN_EXECUTOR.execute(observer.renderer::destroy);
-        PreviewLifecycleObserver cached = mActivePreviews.get(observer.renderer.getHostToken());
+        PreviewLifecycleObserver cached = mActivePreviews.get(observer.getIdentifier());
         if (cached == observer) {
-            mActivePreviews.remove(observer.renderer.getHostToken());
+            mActivePreviews.remove(observer.getIdentifier());
         }
     }
 
@@ -242,5 +261,14 @@
         public void binderDied() {
             destroyObserver(this);
         }
+
+        /**
+         * Returns a key that should make the PreviewSurfaceRenderer unique and if two of them have
+         * the same key they will be treated as the same PreviewSurfaceRenderer. Primary this is
+         * used to prevent memory leaks by removing the old PreviewSurfaceRenderer.
+         */
+        public Pair<IBinder, Integer> getIdentifier() {
+            return new Pair<>(renderer.getHostToken(), renderer.getDisplayId());
+        }
     }
 }
diff --git a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java
index ae44f0a..7dcc8a8 100644
--- a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java
+++ b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java
@@ -22,6 +22,7 @@
 
 import static com.android.launcher3.DeviceProfile.DEFAULT_SCALE;
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_HOTSEAT_PREDICTION;
+import static com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget;
 import static com.android.launcher3.model.ModelUtils.filterCurrentWorkspaceItems;
 import static com.android.launcher3.model.ModelUtils.getMissingHotseatRanks;
 
@@ -34,6 +35,7 @@
 import android.appwidget.AppWidgetProviderInfo;
 import android.content.Context;
 import android.content.ContextWrapper;
+import android.content.res.Configuration;
 import android.content.res.TypedArray;
 import android.graphics.PointF;
 import android.graphics.Rect;
@@ -196,7 +198,7 @@
         mUiHandler = new Handler(Looper.getMainLooper());
         mContext = context;
         mIdp = idp;
-        mDp = idp.getDeviceProfile(context).toBuilder(context).setViewScaleProvider(
+        mDp = getDeviceProfileForPreview(context).toBuilder(context).setViewScaleProvider(
                 this::getAppWidgetScale).build();
         if (context instanceof PreviewContext) {
             Context tempContext = ((PreviewContext) context).getBaseContext();
@@ -259,6 +261,21 @@
     }
 
     /**
+     * Returns the device profile based on resource configuration for previewing various display
+     * sizes
+     */
+    private DeviceProfile getDeviceProfileForPreview(Context context) {
+        float density = context.getResources().getDisplayMetrics().density;
+        Configuration config = context.getResources().getConfiguration();
+
+        return mIdp.getBestMatch(
+                config.screenWidthDp * density,
+                config.screenHeightDp * density,
+                WindowManagerProxy.INSTANCE.get(context).getRotation(context)
+        );
+    }
+
+    /**
      * Returns the insets of the screen closest to the display given by the context
      */
     private Rect getInsets(Context context) {
@@ -526,7 +543,8 @@
         }
 
         // Add first page QSB
-        if (FeatureFlags.QSB_ON_FIRST_SCREEN) {
+        if (FeatureFlags.QSB_ON_FIRST_SCREEN && dataModel.isFirstPagePinnedItemEnabled
+                && !shouldShowFirstPageWidget()) {
             CellLayout firstScreen = mWorkspaceScreens.get(FIRST_SCREEN_ID);
             View qsb = mHomeElementInflater.inflate(R.layout.qsb_preview, firstScreen, false);
             CellLayoutLayoutParams lp = new CellLayoutLayoutParams(
diff --git a/src/com/android/launcher3/graphics/PreloadIconDrawable.java b/src/com/android/launcher3/graphics/PreloadIconDrawable.java
index 307052a..3e77c78 100644
--- a/src/com/android/launcher3/graphics/PreloadIconDrawable.java
+++ b/src/com/android/launcher3/graphics/PreloadIconDrawable.java
@@ -19,8 +19,6 @@
 
 import static com.android.app.animation.Interpolators.EMPHASIZED;
 import static com.android.app.animation.Interpolators.LINEAR;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_DOWNLOAD_APP_UX_V2;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_DOWNLOAD_APP_UX_V3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -76,10 +74,8 @@
     // Duration = COMPLETE_ANIM_FRACTION * DURATION_SCALE
     private static final float COMPLETE_ANIM_FRACTION = 1f;
 
-    private static final float SMALL_SCALE = ENABLE_DOWNLOAD_APP_UX_V3.get() ? 0.8f : 0.7f;
-    private static final float PROGRESS_STROKE_SCALE = ENABLE_DOWNLOAD_APP_UX_V2.get()
-            ? 0.055f
-            : 0.075f;
+    private static final float SMALL_SCALE = 0.8f;
+    private static final float PROGRESS_STROKE_SCALE = 0.055f;
     private static final float PROGRESS_BOUNDS_SCALE = 0.075f;
     private static final int PRELOAD_ACCENT_COLOR_INDEX = 0;
     private static final int PRELOAD_BACKGROUND_COLOR_INDEX = 1;
@@ -119,8 +115,6 @@
 
     private ObjectAnimator mCurrentAnim;
 
-    private boolean mIsStartable;
-
     public PreloadIconDrawable(ItemInfoWithIcon info, Context context) {
         this(
                 info,
@@ -144,9 +138,7 @@
 
         mProgressPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
         mProgressPaint.setStrokeCap(Paint.Cap.ROUND);
-        if (ENABLE_DOWNLOAD_APP_UX_V3.get()) {
-            mProgressPaint.setAlpha(MAX_PAINT_ALPHA);
-        }
+        mProgressPaint.setAlpha(MAX_PAINT_ALPHA);
         mIndicatorColor = indicatorColor;
 
         // This is the color
@@ -181,9 +173,6 @@
         mIconScaleMultiplier.updateValue(info.getProgressLevel() == 0 ? 0 : 1);
 
         setLevel(info.getProgressLevel());
-        if (!ENABLE_DOWNLOAD_APP_UX_V2.get()) {
-            setIsStartable(info.isAppStartable());
-        }
     }
 
     @Override
@@ -212,54 +201,31 @@
             return;
         }
 
-        if (mInternalStateProgress > 0
-                && (ENABLE_DOWNLOAD_APP_UX_V3.get() || !ENABLE_DOWNLOAD_APP_UX_V2.get())) {
+        if (mInternalStateProgress > 0) {
             // Draw background.
-            mProgressPaint.setStyle(ENABLE_DOWNLOAD_APP_UX_V3.get()
-                    ? Paint.Style.FILL
-                    : Paint.Style.FILL_AND_STROKE);
-            mProgressPaint.setColor(ENABLE_DOWNLOAD_APP_UX_V3.get()
-                    ? mPlateColor
-                    : mSystemBackgroundColor);
+            mProgressPaint.setStyle(Paint.Style.FILL);
+            mProgressPaint.setColor(mPlateColor);
             canvas.drawPath(mScaledTrackPath, mProgressPaint);
         }
 
-        if (!ENABLE_DOWNLOAD_APP_UX_V2.get() || mInternalStateProgress > 0) {
+        if (mInternalStateProgress > 0) {
             // Draw track and progress.
             mProgressPaint.setStyle(Paint.Style.STROKE);
-            mProgressPaint.setColor(ENABLE_DOWNLOAD_APP_UX_V3.get()
-                    ? mTrackColor
-                    : mSystemAccentColor);
-            if (!ENABLE_DOWNLOAD_APP_UX_V3.get()) {
-                mProgressPaint.setAlpha(TRACK_ALPHA);
-            }
+            mProgressPaint.setColor(mTrackColor);
             canvas.drawPath(mScaledTrackPath, mProgressPaint);
             mProgressPaint.setAlpha(MAX_PAINT_ALPHA);
-            if (ENABLE_DOWNLOAD_APP_UX_V3.get()) {
-                mProgressPaint.setColor(mProgressColor);
-            }
+            mProgressPaint.setColor(mProgressColor);
             canvas.drawPath(mScaledProgressPath, mProgressPaint);
         }
 
         int saveCount = canvas.save();
-        float scale = ENABLE_DOWNLOAD_APP_UX_V2.get()
-                ? 1 - mIconScaleMultiplier.value * (1 - SMALL_SCALE)
-                : SMALL_SCALE;
+        float scale = 1 - mIconScaleMultiplier.value * (1 - SMALL_SCALE);
         canvas.scale(scale, scale, bounds.exactCenterX(), bounds.exactCenterY());
 
         super.drawInternal(canvas, bounds);
         canvas.restoreToCount(saveCount);
     }
 
-    @Override
-    protected void updateFilter() {
-        if (!ENABLE_DOWNLOAD_APP_UX_V2.get()) {
-            setAlpha(mIsDisabled ? DISABLED_ICON_ALPHA : MAX_PAINT_ALPHA);
-        } else {
-            super.updateFilter();
-        }
-    }
-
     /**
      * Updates the install progress based on the level
      */
@@ -296,14 +262,6 @@
         return !mRanFinishAnimation;
     }
 
-    /** Sets whether this icon should display the startable app UI. */
-    public void setIsStartable(boolean isStartable) {
-        if (mIsStartable != isStartable) {
-            mIsStartable = isStartable;
-            setIsDisabled(!isStartable);
-        }
-    }
-
     private void updateInternalState(
             float finalProgress, boolean isFinish, Runnable onFinishCallback) {
         if (mCurrentAnim != null) {
@@ -355,7 +313,7 @@
      */
     private void setInternalProgress(float progress) {
         // Animate scale and alpha from pending to downloading state.
-        if (ENABLE_DOWNLOAD_APP_UX_V2.get() && progress > 0 && mInternalStateProgress == 0) {
+        if (progress > 0 && mInternalStateProgress == 0) {
             // Progress is changing for the first time, animate the icon scale
             Animator iconScaleAnimator = mIconScaleMultiplier.animateToValue(1);
             iconScaleAnimator.setDuration(SCALE_AND_ALPHA_ANIM_DURATION);
@@ -365,14 +323,11 @@
 
         mInternalStateProgress = progress;
         if (progress <= 0) {
-            if (!ENABLE_DOWNLOAD_APP_UX_V2.get()) {
-                mScaledTrackPath.reset();
-            }
             mIconScaleMultiplier.updateValue(0);
         } else {
             mPathMeasure.getSegment(
                     0, Math.min(progress, 1) * mTrackLength, mScaledProgressPath, true);
-            if (progress > 1 && ENABLE_DOWNLOAD_APP_UX_V2.get()) {
+            if (progress > 1) {
                 // map the scale back to original value
                 mIconScaleMultiplier.updateValue(Utilities.mapBoundToRange(
                         progress - 1, 0, COMPLETE_ANIM_FRACTION, 1, 0, EMPHASIZED));
diff --git a/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java b/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java
index aebcdd4..ec6b94d 100644
--- a/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java
+++ b/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java
@@ -114,12 +114,17 @@
         mDisplay = context.getSystemService(DisplayManager.class)
                 .getDisplay(bundle.getInt(KEY_DISPLAY_ID));
 
-        mSurfaceControlViewHost = MAIN_EXECUTOR.submit(() -> new SurfaceControlViewHost(mContext,
-                context.getSystemService(DisplayManager.class).getDisplay(DEFAULT_DISPLAY),
-                mHostToken)).get(5, TimeUnit.SECONDS);
+        mSurfaceControlViewHost = MAIN_EXECUTOR.submit(() ->
+                new SurfaceControlViewHost(mContext, context.getSystemService(DisplayManager.class)
+                        .getDisplay(DEFAULT_DISPLAY), mHostToken)
+        ).get(5, TimeUnit.SECONDS);
         mOnDestroyCallbacks.add(mSurfaceControlViewHost::release);
     }
 
+    public int getDisplayId() {
+        return mDisplay.getDisplayId();
+    }
+
     public IBinder getHostToken() {
         return mHostToken;
     }
@@ -225,7 +230,7 @@
             PreviewContext previewContext = new PreviewContext(inflationContext, idp);
             // Copy existing data to preview DB
             LauncherDbUtils.copyTable(LauncherAppState.getInstance(mContext)
-                    .getModel().getModelDbController().getDb(),
+                            .getModel().getModelDbController().getDb(),
                     TABLE_NAME,
                     LauncherAppState.getInstance(previewContext)
                             .getModel().getModelDbController().getDb(),
@@ -254,7 +259,7 @@
                         query += " or " + LauncherSettings.Favorites.SCREEN + " = "
                                 + Workspace.SECOND_SCREEN_ID;
                     }
-                    loadWorkspace(new ArrayList<>(), query, null);
+                    loadWorkspace(new ArrayList<>(), query, null, null);
 
                     final SparseArray<Size> spanInfo =
                             getLoadedLauncherWidgetInfo(previewContext.getBaseContext());
diff --git a/src/com/android/launcher3/graphics/SysUiScrim.java b/src/com/android/launcher3/graphics/SysUiScrim.java
index 66001d8..260d490 100644
--- a/src/com/android/launcher3/graphics/SysUiScrim.java
+++ b/src/com/android/launcher3/graphics/SysUiScrim.java
@@ -71,7 +71,7 @@
     private static final int ALPHA_MASK_BITMAP_WIDTH_DP = 2;
 
     private static final int BOTTOM_MASK_HEIGHT_DP = 200;
-    private static final int TOP_MASK_HEIGHT_DP = 100;
+    private static final int TOP_MASK_HEIGHT_DP = 70;
 
     private boolean mDrawTopScrim, mDrawBottomScrim;
 
@@ -104,7 +104,7 @@
         mHideSysUiScrim = Themes.getAttrBoolean(view.getContext(), R.attr.isWorkspaceDarkText);
 
         mTopMaskBitmap = mHideSysUiScrim ? null : createDitheredAlphaMask(mTopMaskHeight,
-                new int[]{0x50FFFFFF, 0x0AFFFFFF, 0x00FFFFFF},
+                new int[]{0x3DFFFFFF, 0x0AFFFFFF, 0x00FFFFFF},
                 new float[]{0f, 0.7f, 1f});
         mTopMaskPaint.setColor(0xFF222222);
         mBottomMaskBitmap = mHideSysUiScrim ? null : createDitheredAlphaMask(mBottomMaskHeight,
diff --git a/src/com/android/launcher3/icons/LauncherIcons.java b/src/com/android/launcher3/icons/LauncherIcons.java
index 57fa8a2..a15348b 100644
--- a/src/com/android/launcher3/icons/LauncherIcons.java
+++ b/src/com/android/launcher3/icons/LauncherIcons.java
@@ -20,11 +20,16 @@
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
+import android.os.UserHandle;
+
+import androidx.annotation.NonNull;
 
 import com.android.launcher3.InvariantDeviceProfile;
 import com.android.launcher3.graphics.IconShape;
 import com.android.launcher3.graphics.LauncherPreviewRenderer;
+import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.util.Themes;
+import com.android.launcher3.util.UserIconInfo;
 
 /**
  * Wrapper class to provide access to {@link BaseIconFactory} and also to provide pool of this class
@@ -107,6 +112,12 @@
         return mMonochromeIconFactory.wrap(base);
     }
 
+    @NonNull
+    @Override
+    protected UserIconInfo getUserInfo(@NonNull UserHandle user) {
+        return UserCache.INSTANCE.get(mContext).getUserInfo(user);
+    }
+
     @Override
     public void close() {
         recycle();
diff --git a/src/com/android/launcher3/keyboard/FocusIndicatorHelper.java b/src/com/android/launcher3/keyboard/FocusIndicatorHelper.java
index 83003ff..c36f455 100644
--- a/src/com/android/launcher3/keyboard/FocusIndicatorHelper.java
+++ b/src/com/android/launcher3/keyboard/FocusIndicatorHelper.java
@@ -20,7 +20,9 @@
 import android.view.View;
 import android.view.View.OnFocusChangeListener;
 
+import com.android.launcher3.Flags;
 import com.android.launcher3.R;
+import com.android.launcher3.util.Themes;
 
 /**
  * A helper class to draw background of a focused view.
@@ -29,7 +31,9 @@
         implements OnFocusChangeListener {
 
     public FocusIndicatorHelper(View container) {
-        super(container, container.getResources().getColor(R.color.focused_background));
+        super(container, Flags.enableFocusOutline() ? Themes.getAttrColor(container.getContext(),
+                R.attr.focusOutlineColor)
+                : container.getResources().getColor(R.color.focused_background));
     }
 
     @Override
@@ -53,7 +57,18 @@
 
         @Override
         public void viewToRect(View v, Rect outRect) {
-            outRect.set(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
+            if (Flags.enableFocusOutline()) {
+                // Ensure the left and top would not be negative and drawn outside of canvas
+                outRect.set(Math.max(0, v.getLeft()), Math.max(0, v.getTop()), v.getRight(),
+                        v.getBottom());
+                // Stroke is drawn with half outside and half inside the view. Inset by half
+                // stroke width to move the whole stroke inside the view and avoid other views
+                // occluding it
+                int halfStrokeWidth = (int) mPaint.getStrokeWidth() / 2;
+                outRect.inset(halfStrokeWidth, halfStrokeWidth);
+            } else {
+                outRect.set(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
+            }
         }
     }
 }
diff --git a/src/com/android/launcher3/keyboard/ItemFocusIndicatorHelper.java b/src/com/android/launcher3/keyboard/ItemFocusIndicatorHelper.java
index 57fab2d..8eb5c7d 100644
--- a/src/com/android/launcher3/keyboard/ItemFocusIndicatorHelper.java
+++ b/src/com/android/launcher3/keyboard/ItemFocusIndicatorHelper.java
@@ -29,8 +29,8 @@
 import android.util.FloatProperty;
 import android.view.View;
 
-import com.android.launcher3.config.FeatureFlags;
-import com.android.launcher3.util.Themes;
+import com.android.launcher3.Flags;
+import com.android.launcher3.R;
 
 /**
  * A helper class to draw background of a focused item.
@@ -98,14 +98,22 @@
         mContainer = container;
 
         mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
-        mMaxAlpha = Color.alpha(color);
         mPaint.setColor(0xFF000000 | color);
+        if (Flags.enableFocusOutline()) {
+            mPaint.setStyle(Paint.Style.STROKE);
+            mPaint.setStrokeWidth(container.getResources().getDimensionPixelSize(
+                    R.dimen.focus_outline_stroke_width));
+            mRadius = container.getResources().getDimensionPixelSize(
+                    R.dimen.focus_outline_radius);
+        } else {
+            mPaint.setStyle(Paint.Style.FILL);
+            mRadius = container.getResources().getDimensionPixelSize(
+                    R.dimen.grid_visualization_rounding_radius);
+        }
+        mMaxAlpha = Color.alpha(color);
 
         setAlpha(0);
         mShift = 0;
-        if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) {
-            mRadius = Themes.getDialogCornerRadius(container.getContext());
-        }
     }
 
     protected void setAlpha(float alpha) {
diff --git a/src/com/android/launcher3/logging/ColdRebootStartupLatencyLogger.kt b/src/com/android/launcher3/logging/ColdRebootStartupLatencyLogger.kt
new file mode 100644
index 0000000..bfc1d3a
--- /dev/null
+++ b/src/com/android/launcher3/logging/ColdRebootStartupLatencyLogger.kt
@@ -0,0 +1,192 @@
+package com.android.launcher3.logging
+
+import android.os.SystemClock
+import android.util.Log
+import android.util.SparseLongArray
+import androidx.annotation.MainThread
+import androidx.annotation.VisibleForTesting
+import androidx.core.util.contains
+import androidx.core.util.isEmpty
+import com.android.launcher3.BuildConfig
+import com.android.launcher3.logging.StatsLogManager.LauncherLatencyEvent
+import com.android.launcher3.util.Preconditions
+
+/** Logger for logging Launcher activity's startup latency. */
+open class ColdRebootStartupLatencyLogger : StartupLatencyLogger {
+
+    companion object {
+        const val TAG = "ColdRebootStartupLatencyLogger"
+        const val UNSET_INT = -1
+        const val UNSET_LONG = -1L
+    }
+
+    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
+    val startTimeByEvent = SparseLongArray()
+    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
+    val endTimeByEvent = SparseLongArray()
+
+    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED) var cardinality: Int = UNSET_INT
+    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
+    var workspaceLoadStartTime: Long = UNSET_LONG
+
+    // ColdRebootStartupLatencyLogger should only send launcher startup logs once in each launcher
+    // activity lifecycle. After launcher activity startup is completed, the logger should be torn
+    // down and reject all logging calls. This flag should be checked at all APIs to prevent logging
+    // invalid startup metrics (such as loading workspace in screen rotation).
+    var isTornDown = false
+    private var isInTest = false
+
+    /** Subclass can override this method to handle collected latency metrics. */
+    @MainThread
+    override fun log(): ColdRebootStartupLatencyLogger {
+        return this
+    }
+
+    @MainThread
+    override fun logWorkspaceLoadStartTime() =
+        logWorkspaceLoadStartTime(SystemClock.elapsedRealtime())
+
+    @VisibleForTesting
+    @MainThread
+    fun logWorkspaceLoadStartTime(startTimeMs: Long): ColdRebootStartupLatencyLogger {
+        Preconditions.assertUIThread()
+        if (isTornDown) {
+            return this
+        }
+        workspaceLoadStartTime = startTimeMs
+        return this
+    }
+
+    /**
+     * Log size of workspace. Larger number of workspace items (icons, folders, widgets) means
+     * longer latency to initialize workspace.
+     */
+    @MainThread
+    override fun logCardinality(cardinality: Int): ColdRebootStartupLatencyLogger {
+        Preconditions.assertUIThread()
+        if (isTornDown) {
+            return this
+        }
+        this.cardinality = cardinality
+        return this
+    }
+
+    @MainThread
+    override fun logStart(event: LauncherLatencyEvent) =
+        logStart(event, SystemClock.elapsedRealtime())
+
+    @MainThread
+    override fun logStart(
+        event: LauncherLatencyEvent,
+        startTimeMs: Long
+    ): ColdRebootStartupLatencyLogger {
+        // In unit test no looper is attached to current thread
+        Preconditions.assertUIThread()
+        if (isTornDown) {
+            return this
+        }
+        if (validateLoggingEventAtStart(event)) {
+            startTimeByEvent.put(event.id, startTimeMs)
+        }
+        return this
+    }
+
+    @MainThread
+    override fun logEnd(event: LauncherLatencyEvent) = logEnd(event, SystemClock.elapsedRealtime())
+
+    @MainThread
+    override fun logEnd(
+        event: LauncherLatencyEvent,
+        endTimeMs: Long
+    ): ColdRebootStartupLatencyLogger {
+        // In unit test no looper is attached to current thread
+        Preconditions.assertUIThread()
+        if (isTornDown) {
+            return this
+        }
+        maybeLogStartOfWorkspaceLoadTime(event)
+        if (validateLoggingEventAtEnd(event)) {
+            endTimeByEvent.put(event.id, endTimeMs)
+        }
+
+        return this
+    }
+
+    @MainThread
+    override fun reset() {
+        // In unit test no looper is attached to current thread
+        Preconditions.assertUIThread()
+        startTimeByEvent.clear()
+        endTimeByEvent.clear()
+        cardinality = UNSET_INT
+        workspaceLoadStartTime = UNSET_LONG
+        isTornDown = true
+    }
+
+    @MainThread
+    private fun maybeLogStartOfWorkspaceLoadTime(event: LauncherLatencyEvent) {
+        if (workspaceLoadStartTime == UNSET_LONG) {
+            return
+        }
+        if (event == LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC) {
+            logStart(event, workspaceLoadStartTime)
+            workspaceLoadStartTime = UNSET_LONG
+        }
+    }
+
+    /** @return true if we can log start of [LauncherLatencyEvent] and vice versa. */
+    @MainThread
+    private fun validateLoggingEventAtStart(event: LauncherLatencyEvent): Boolean {
+        if (!BuildConfig.IS_STUDIO_BUILD && !isInTest) {
+            return true
+        }
+        if (startTimeByEvent.contains(event.id)) {
+            Log.e(TAG, "Cannot restart same ${event.name} event")
+            return false
+        } else if (
+            startTimeByEvent.isEmpty() &&
+                event != LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION
+        ) {
+            Log.e(
+                TAG,
+                "The first log start event must be " +
+                    "${LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION.name}.",
+            )
+            return false
+        }
+
+        return true
+    }
+
+    /** @return true if we can log end of [LauncherLatencyEvent] and vice versa. */
+    @MainThread
+    private fun validateLoggingEventAtEnd(event: LauncherLatencyEvent): Boolean {
+        if (!BuildConfig.IS_STUDIO_BUILD && !isInTest) {
+            return true
+        }
+        if (!startTimeByEvent.contains(event.id)) {
+            Log.e(TAG, "Cannot end ${event.name} event before starting it")
+            return false
+        } else if (endTimeByEvent.contains(event.id)) {
+            Log.e(TAG, "Cannot end same ${event.name} event again")
+            return false
+        } else if (
+            event != LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION &&
+                endTimeByEvent.contains(
+                    LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION.id
+                )
+        ) {
+            Log.e(
+                TAG,
+                "Cannot end ${event.name} event after ${LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION.name}",
+            )
+            return false
+        }
+        return true
+    }
+
+    @VisibleForTesting
+    fun setIsInTest() {
+        isInTest = true
+    }
+}
diff --git a/src/com/android/launcher3/logging/KeyboardStateManager.java b/src/com/android/launcher3/logging/KeyboardStateManager.java
index d0f9c74..cd80608 100644
--- a/src/com/android/launcher3/logging/KeyboardStateManager.java
+++ b/src/com/android/launcher3/logging/KeyboardStateManager.java
@@ -28,6 +28,9 @@
     // Height of the keyboard when it's shown.
     // mImeShownHeightPx>=mImeHeightPx always.
     private int mImeShownHeightPx;
+    // Indicate if the latest All Apps session was started from a11y action (rather than a direct
+    // user interaction).
+    private boolean mLaunchedFromA11y;
 
     public enum KeyboardState {
         NO_IME_ACTION,
@@ -89,4 +92,14 @@
             mImeShownHeightPx = mImeHeightPx;
         }
     }
+
+    /** Getter for {@code mLaunchedFromA11y} */
+    public boolean getLaunchedFromA11y() {
+        return mLaunchedFromA11y;
+    }
+
+    /** Setter for {@code mLaunchedFromA11y} */
+    public void setLaunchedFromA11y(boolean fromA11y) {
+        mLaunchedFromA11y = fromA11y;
+    }
 }
diff --git a/src/com/android/launcher3/logging/StartupLatencyLogger.kt b/src/com/android/launcher3/logging/StartupLatencyLogger.kt
index 93e9de5..493cd29 100644
--- a/src/com/android/launcher3/logging/StartupLatencyLogger.kt
+++ b/src/com/android/launcher3/logging/StartupLatencyLogger.kt
@@ -1,192 +1,57 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package com.android.launcher3.logging
 
-import android.os.SystemClock
-import android.util.Log
-import android.util.SparseLongArray
 import androidx.annotation.MainThread
-import androidx.annotation.VisibleForTesting
-import androidx.core.util.contains
-import androidx.core.util.isEmpty
-import com.android.launcher3.BuildConfig
-import com.android.launcher3.logging.StatsLogManager.LauncherLatencyEvent
-import com.android.launcher3.logging.StatsLogManager.StatsLatencyLogger.LatencyType
-import com.android.launcher3.util.Preconditions
 
-/** Logger for logging Launcher activity's startup latency. */
-open class StartupLatencyLogger(val latencyType: LatencyType) {
+/** Interface to log launcher startup latency metrics. */
+interface StartupLatencyLogger {
 
-    companion object {
-        const val TAG = "LauncherStartupLatencyLogger"
-        const val UNSET_INT = -1
-        const val UNSET_LONG = -1L
-    }
+    @MainThread fun log(): StartupLatencyLogger = this
 
-    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
-    val startTimeByEvent = SparseLongArray()
-    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
-    val endTimeByEvent = SparseLongArray()
-
-    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED) var cardinality: Int = UNSET_INT
-    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
-    var workspaceLoadStartTime: Long = UNSET_LONG
-
-    private var isInTest = false
-
-    /** Subclass can override this method to handle collected latency metrics. */
-    @MainThread
-    open fun log(): StartupLatencyLogger {
-        return this
-    }
-
-    @MainThread
-    fun logWorkspaceLoadStartTime() = logWorkspaceLoadStartTime(SystemClock.elapsedRealtime())
-
-    @VisibleForTesting
-    @MainThread
-    fun logWorkspaceLoadStartTime(startTimeMs: Long): StartupLatencyLogger {
-        Preconditions.assertUIThread()
-        workspaceLoadStartTime = startTimeMs
-        return this
-    }
+    @MainThread fun logWorkspaceLoadStartTime(): StartupLatencyLogger = this
 
     /**
      * Log size of workspace. Larger number of workspace items (icons, folders, widgets) means
      * longer latency to initialize workspace.
      */
-    @MainThread
-    fun logCardinality(cardinality: Int): StartupLatencyLogger {
-        Preconditions.assertUIThread()
-        this.cardinality = cardinality
-        return this
-    }
+    @MainThread fun logCardinality(cardinality: Int): StartupLatencyLogger = this
 
     @MainThread
-    fun logStart(event: LauncherLatencyEvent) = logStart(event, SystemClock.elapsedRealtime())
+    fun logStart(event: StatsLogManager.LauncherLatencyEvent): StartupLatencyLogger = this
 
     @MainThread
-    fun logStart(event: LauncherLatencyEvent, startTimeMs: Long): StartupLatencyLogger {
-        // In unit test no looper is attached to current thread
-        Preconditions.assertUIThread()
-        if (validateLoggingEventAtStart(event)) {
-            startTimeByEvent.put(event.id, startTimeMs)
-        }
-        return this
-    }
+    fun logStart(
+        event: StatsLogManager.LauncherLatencyEvent,
+        startTimeMs: Long
+    ): StartupLatencyLogger = this
+
+    @MainThread fun logEnd(event: StatsLogManager.LauncherLatencyEvent): StartupLatencyLogger = this
 
     @MainThread
-    fun logEnd(event: LauncherLatencyEvent) = logEnd(event, SystemClock.elapsedRealtime())
+    fun logEnd(event: StatsLogManager.LauncherLatencyEvent, endTimeMs: Long): StartupLatencyLogger =
+        this
 
-    @MainThread
-    fun logEnd(event: LauncherLatencyEvent, endTimeMs: Long): StartupLatencyLogger {
-        // In unit test no looper is attached to current thread
-        Preconditions.assertUIThread()
-        maybeLogStartOfWorkspaceLoadTime(event)
-        if (validateLoggingEventAtEnd(event)) {
-            endTimeByEvent.put(event.id, endTimeMs)
-        }
+    @MainThread fun reset()
 
-        return this
-    }
-
-    @MainThread
-    fun reset() {
-        // In unit test no looper is attached to current thread
-        Preconditions.assertUIThread()
-        startTimeByEvent.clear()
-        endTimeByEvent.clear()
-        cardinality = UNSET_INT
-        workspaceLoadStartTime = UNSET_LONG
-    }
-
-    @MainThread
-    private fun maybeLogStartOfWorkspaceLoadTime(event: LauncherLatencyEvent) {
-        if (workspaceLoadStartTime == UNSET_LONG) {
-            return
-        }
-        if (
-            event == LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC ||
-                event == LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC
-        ) {
-            logStart(event, workspaceLoadStartTime)
-            workspaceLoadStartTime = UNSET_LONG
-        }
-    }
-
-    /** @return true if we can log start of [LauncherLatencyEvent] and vice versa. */
-    @MainThread
-    private fun validateLoggingEventAtStart(event: LauncherLatencyEvent): Boolean {
-        if (!BuildConfig.IS_STUDIO_BUILD && !isInTest) {
-            return true
-        }
-        if (startTimeByEvent.contains(event.id)) {
-            Log.e(TAG, "Cannot restart same ${event.name} event")
-            return false
-        } else if (
-            startTimeByEvent.isEmpty() &&
-                event != LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION
-        ) {
-            Log.e(
-                TAG,
-                "The first log start event must be " +
-                    "${LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION.name}.",
-            )
-            return false
-        } else if (
-            event == LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC &&
-                startTimeByEvent.get(
-                    LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC.id
-                ) != 0L
-        ) {
-            Log.e(
-                TAG,
-                "Cannot start ${LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC.name} event after ${LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC.name} starts",
-            )
-            return false
-        } else if (
-            event == LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC &&
-                startTimeByEvent.get(
-                    LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC.id
-                ) != 0L
-        ) {
-            Log.e(
-                TAG,
-                "Cannot start ${LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC.name} event after ${LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC.name} starts",
-            )
-            return false
-        }
-
-        return true
-    }
-
-    /** @return true if we can log end of [LauncherLatencyEvent] and vice versa. */
-    @MainThread
-    private fun validateLoggingEventAtEnd(event: LauncherLatencyEvent): Boolean {
-        if (!BuildConfig.IS_STUDIO_BUILD && !isInTest) {
-            return true
-        }
-        if (!startTimeByEvent.contains(event.id)) {
-            Log.e(TAG, "Cannot end ${event.name} event before starting it")
-            return false
-        } else if (endTimeByEvent.contains(event.id)) {
-            Log.e(TAG, "Cannot end same ${event.name} event again")
-            return false
-        } else if (
-            event != LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION &&
-                endTimeByEvent.contains(
-                    LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION.id
-                )
-        ) {
-            Log.e(
-                TAG,
-                "Cannot end ${event.name} event after ${LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION.name}",
-            )
-            return false
-        }
-        return true
-    }
-
-    @VisibleForTesting
-    fun setIsInTest() {
-        isInTest = true
+    companion object {
+        val NO_OP: StartupLatencyLogger =
+            object : StartupLatencyLogger {
+                override fun reset() {}
+            }
     }
 }
diff --git a/src/com/android/launcher3/logging/StatsLogManager.java b/src/com/android/launcher3/logging/StatsLogManager.java
index 265378c..45ff33b 100644
--- a/src/com/android/launcher3/logging/StatsLogManager.java
+++ b/src/com/android/launcher3/logging/StatsLogManager.java
@@ -117,6 +117,9 @@
         @UiEvent(doc = "Task launched from overview using SWIPE DOWN")
         LAUNCHER_TASK_LAUNCH_SWIPE_DOWN(340),
 
+        @UiEvent(doc = "App launched by dragging and dropping, probably from taskbar")
+        LAUNCHER_APP_LAUNCH_DRAGDROP(1552),
+
         @UiEvent(doc = "TASK dismissed from overview using SWIPE UP")
         LAUNCHER_TASK_DISMISS_SWIPE_UP(341),
 
@@ -208,6 +211,9 @@
         @UiEvent(doc = "User tapped on pin system shortcut.")
         LAUNCHER_SYSTEM_SHORTCUT_PIN_TAP(522),
 
+        @UiEvent(doc = "User tapped on don't suggest app system shortcut.")
+        LAUNCHER_SYSTEM_SHORTCUT_DONT_SUGGEST_APP_TAP(1603),
+
         @UiEvent(doc = "User is shown All Apps education view.")
         LAUNCHER_ALL_APPS_EDU_SHOWN(523),
 
@@ -275,6 +281,18 @@
         @UiEvent(doc = "User swipes or fling in DOWN direction on the bottom bazel area.")
         LAUNCHER_SWIPEDOWN_NAVBAR(573),
 
+        @UiEvent(doc = "User deep presses on the bottom bezel area.")
+        LAUNCHER_DEEP_PRESS_NAVBAR(1543),
+
+        @UiEvent(doc = "User long presses on the bottom bezel area.")
+        LAUNCHER_LONG_PRESS_NAVBAR(1544),
+
+        @UiEvent(doc = "User deep presses on the stashed taskbar")
+        LAUNCHER_DEEP_PRESS_STASHED_TASKBAR(1602),
+
+        @UiEvent(doc = "User long presses on the stashed taskbar")
+        LAUNCHER_LONG_PRESS_STASHED_TASKBAR(1592),
+
         @UiEvent(doc = "User swipes or fling in UP direction from bottom bazel area.")
         LAUNCHER_HOME_GESTURE(574),
 
@@ -341,6 +359,12 @@
         @UiEvent(doc = "User tapped on image content in Overview Select mode.")
         LAUNCHER_SELECT_MODE_IMAGE(627),
 
+        @UiEvent(doc = "User tapped on barcode content in Overview Select mode.")
+        LAUNCHER_SELECT_MODE_BARCODE(1531),
+
+        @UiEvent(doc = "Highlight gleams for barcode content in Overview Select mode.")
+        LAUNCHER_SELECT_MODE_SHOW_BARCODE_REGIONS(1532),
+
         @UiEvent(doc = "Activity to add external item was started")
         LAUNCHER_ADD_EXTERNAL_ITEM_START(641),
 
@@ -498,6 +522,21 @@
         @UiEvent(doc = "User taps the More button to share an image")
         LAUNCHER_OVERVIEW_SHARING_TAP_MORE_TO_SHARE_IMAGE(778),
 
+        @UiEvent(doc = "Show Barode indicator for overview sharing")
+        LAUNCHER_OVERVIEW_SHARING_SHOW_BARCODE_INDICATOR(1533),
+
+        @UiEvent(doc = "User taps barcode indicator in overview")
+        LAUNCHER_OVERVIEW_SHARING_BARCODE_INDICATOR_TAP(1534),
+
+        @UiEvent(doc = "Configure barcode region for long_press action for overview sharing")
+        LAUNCHER_OVERVIEW_SHARING_CONFIGURE_BARCODE_REGION_LONG_PRESS(1535),
+
+        @UiEvent(doc = "User long presses a barcode region in overview")
+        LAUNCHER_OVERVIEW_SHARING_BARCODE_REGION_LONG_PRESS(1536),
+
+        @UiEvent(doc = "User drags a barcode region in overview")
+        LAUNCHER_OVERVIEW_SHARING_BARCODE_REGION_DRAG(1537),
+
         @UiEvent(doc = "User started resizing a widget on their home screen.")
         LAUNCHER_WIDGET_RESIZE_STARTED(820),
 
@@ -522,12 +561,6 @@
         @UiEvent(doc = "Launcher item drop failed since there was not enough room on the screen.")
         LAUNCHER_ITEM_DROP_FAILED_INSUFFICIENT_SPACE(872),
 
-        @UiEvent(doc = "User long pressed on the taskbar background to hide the taskbar")
-        LAUNCHER_TASKBAR_LONGPRESS_HIDE(896),
-
-        @UiEvent(doc = "User long pressed on the taskbar gesture handle to show the taskbar")
-        LAUNCHER_TASKBAR_LONGPRESS_SHOW(897),
-
         @UiEvent(doc = "User clicks on the search icon on header to launch search in app.")
         LAUNCHER_ALLAPPS_SEARCHINAPP_LAUNCH(913),
 
@@ -654,7 +687,34 @@
         LAUNCHER_APP_PAIR_SAVE(1456),
 
         @UiEvent(doc = "App launched through pending intent")
-        LAUNCHER_APP_LAUNCH_PENDING_INTENT(1394)
+        LAUNCHER_APP_LAUNCH_PENDING_INTENT(1394),
+
+        @UiEvent(doc = "User long pressed on taskbar divider icon to open popup menu")
+        LAUNCHER_TASKBAR_DIVIDER_MENU_OPEN(1488),
+
+        @UiEvent(doc = "User long pressed on taskbar divider icon to close popup menu")
+        LAUNCHER_TASKBAR_DIVIDER_MENU_CLOSE(1489),
+
+        @UiEvent(doc = "User has pinned taskbar using taskbar divider menu")
+        LAUNCHER_TASKBAR_PINNED(1490),
+
+        @UiEvent(doc = "User has unpinned taskbar using taskbar divider menu")
+        LAUNCHER_TASKBAR_UNPINNED(1491),
+
+        @UiEvent(doc = "User tapped private space lock button")
+        LAUNCHER_PRIVATE_SPACE_LOCK_TAP(1548),
+
+        @UiEvent(doc = "User tapped private space unlock button")
+        LAUNCHER_PRIVATE_SPACE_UNLOCK_TAP(1549),
+
+        @UiEvent(doc = "User tapped private space settings button")
+        LAUNCHER_PRIVATE_SPACE_SETTINGS_TAP(1550),
+
+        @UiEvent(doc = "User tapped on install to private space system shortcut.")
+        LAUNCHER_PRIVATE_SPACE_INSTALL_SYSTEM_SHORTCUT_TAP(1565),
+
+        @UiEvent(doc = "User attempted to create split screen with a widget")
+        LAUNCHER_SPLIT_WIDGET_ATTEMPT(1604)
 
         // ADD MORE
         ;
@@ -684,9 +744,6 @@
                 "The duration to inflate launcher root view in launcher activity's onCreate().")
         LAUNCHER_LATENCY_STARTUP_VIEW_INFLATION(1364),
 
-        @UiEvent(doc = "The duration of synchronous loading workspace")
-        LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC(1366),
-
         @UiEvent(doc = "The duration of asynchronous loading workspace")
         LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC(1367),
         ;
@@ -823,6 +880,20 @@
         }
 
         /**
+         * Set the features of the log message.
+         */
+        default StatsLogger withFeatures(int feature) {
+            return this;
+        }
+
+        /**
+         * Set the package name of the log message.
+         */
+        default StatsLogger withPackageName(@Nullable String packageName) {
+            return this;
+        }
+
+        /**
          * Builds the final message and logs it as {@link EventEnum}.
          */
         default void log(EventEnum event) {
diff --git a/src/com/android/launcher3/model/AllAppsList.java b/src/com/android/launcher3/model/AllAppsList.java
index 8f85bfb..ccb8900 100644
--- a/src/com/android/launcher3/model/AllAppsList.java
+++ b/src/com/android/launcher3/model/AllAppsList.java
@@ -16,8 +16,10 @@
 
 package com.android.launcher3.model;
 
+import static com.android.launcher3.Flags.enableSupportForArchiving;
 import static com.android.launcher3.model.data.AppInfo.COMPONENT_KEY_COMPARATOR;
 import static com.android.launcher3.model.data.AppInfo.EMPTY_ARRAY;
+import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_ARCHIVED;
 
 import android.content.ComponentName;
 import android.content.Context;
@@ -53,6 +55,7 @@
 /**
  * Stores the list of all applications for the all apps view.
  */
+@SuppressWarnings("NewApi")
 public class AllAppsList {
 
     private static final String TAG = "AllAppsList";
@@ -79,6 +82,8 @@
      * @see Callbacks#FLAG_HAS_SHORTCUT_PERMISSION
      * @see Callbacks#FLAG_QUIET_MODE_ENABLED
      * @see Callbacks#FLAG_QUIET_MODE_CHANGE_PERMISSION
+     * @see Callbacks#FLAG_WORK_PROFILE_QUIET_MODE_ENABLED
+     * @see Callbacks#FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED
      */
     private int mFlags;
 
@@ -198,9 +203,16 @@
             if (tgtComp != null && tgtComp.getPackageName().equals(installInfo.packageName)
                     && appInfo.user.equals(user)) {
                 if (installInfo.state == PackageInstallInfo.STATUS_INSTALLED_DOWNLOADING
-                        || installInfo.state == PackageInstallInfo.STATUS_INSTALLING) {
+                        || installInfo.state == PackageInstallInfo.STATUS_INSTALLING
+                        // In case unarchival fails, we would want to keep the icon and update
+                        // back the progress to 0 for the all apps view without removing the
+                        // icon, which is contrary to what happens during normal app installation
+                        // flow.
+                        || (installInfo.state == PackageInstallInfo.STATUS_FAILED
+                                && appInfo.isArchived())) {
                     if (appInfo.isAppStartable()
-                            && installInfo.state == PackageInstallInfo.STATUS_INSTALLING) {
+                            && installInfo.state == PackageInstallInfo.STATUS_INSTALLING
+                            && !appInfo.isArchived()) {
                         continue;
                     }
                     appInfo.setProgressLevel(installInfo);
@@ -318,6 +330,11 @@
                             PackageManagerHelper.getLoadingProgress(info),
                             PackageInstallInfo.STATUS_INSTALLED_DOWNLOADING);
                     applicationInfo.intent = launchIntent;
+                    if (enableSupportForArchiving() && info.getActivityInfo().isArchived) {
+                        // In case an app is archived, the respective item flag corresponding to
+                        // archiving should also be applied during package updates
+                        applicationInfo.runtimeStatusFlags |= FLAG_ARCHIVED;
+                    }
 
                     mDataChanged = true;
                 }
diff --git a/src/com/android/launcher3/model/BaseLauncherBinder.java b/src/com/android/launcher3/model/BaseLauncherBinder.java
index dbb29b8..9b2344d 100644
--- a/src/com/android/launcher3/model/BaseLauncherBinder.java
+++ b/src/com/android/launcher3/model/BaseLauncherBinder.java
@@ -16,6 +16,7 @@
 
 package com.android.launcher3.model;
 
+import static com.android.launcher3.config.FeatureFlags.ENABLE_SMARTSPACE_REMOVAL;
 import static com.android.launcher3.model.ItemInstallQueue.FLAG_LOADER_RUNNING;
 import static com.android.launcher3.model.ModelUtils.filterCurrentWorkspaceItems;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
@@ -172,6 +173,11 @@
     public abstract void bindWidgets();
 
     /**
+     * bindWidgets is abstract because it is a no-op for the go launcher.
+     */
+    public abstract void bindSmartspaceWidget();
+
+    /**
      * Sorts the set of items by hotseat, workspace (spatially from top to bottom, left to right)
      */
     protected void sortWorkspaceItemsSpatially(InvariantDeviceProfile profile,
@@ -288,6 +294,10 @@
             executeCallbacksTask(c -> {
                 c.clearPendingBinds();
                 c.startBinding();
+                if (ENABLE_SMARTSPACE_REMOVAL.get()) {
+                    c.setIsFirstPagePinnedItemEnabled(
+                            mBgDataModel.isFirstPagePinnedItemEnabled);
+                }
             }, mUiExecutor);
 
             // Bind workspace screens
@@ -305,6 +315,10 @@
             Executor pendingExecutor = pendingTasks::add;
             bindWorkspaceItems(otherWorkspaceItems, pendingExecutor);
             bindAppWidgets(otherAppWidgets, pendingExecutor);
+
+            StringCache cacheClone = mBgDataModel.stringCache.clone();
+            executeCallbacksTask(c -> c.bindStringCache(cacheClone), pendingExecutor);
+
             executeCallbacksTask(c -> c.finishBindingItems(currentScreenIds), pendingExecutor);
             pendingExecutor.execute(
                     () -> {
@@ -319,9 +333,6 @@
                         c.onInitialBindComplete(
                                 currentScreenIds, pendingTasks, workspaceItemCount, isBindSync);
                     }, mUiExecutor);
-
-            StringCache cacheClone = mBgDataModel.stringCache.clone();
-            executeCallbacksTask(c -> c.bindStringCache(cacheClone), pendingExecutor);
         }
 
         private void bindWorkspaceItems(
diff --git a/src/com/android/launcher3/model/BaseModelUpdateTask.java b/src/com/android/launcher3/model/BaseModelUpdateTask.java
index 97f540e..529c30a 100644
--- a/src/com/android/launcher3/model/BaseModelUpdateTask.java
+++ b/src/com/android/launcher3/model/BaseModelUpdateTask.java
@@ -101,8 +101,7 @@
     public ModelWriter getModelWriter() {
         // Updates from model task, do not deal with icon position in hotseat. Also no need to
         // verify changes as the ModelTasks always push the changes to callbacks
-        return mModel.getWriter(false /* hasVerticalHotseat */, false /* verifyChanges */,
-                CellPosMapper.DEFAULT, null);
+        return mModel.getWriter(false /* verifyChanges */, CellPosMapper.DEFAULT, null);
     }
 
     public void bindUpdatedWorkspaceItems(@NonNull final List<WorkspaceItemInfo> allUpdates) {
diff --git a/src/com/android/launcher3/model/BgDataModel.java b/src/com/android/launcher3/model/BgDataModel.java
index 7bcd038..7f0f683 100644
--- a/src/com/android/launcher3/model/BgDataModel.java
+++ b/src/com/android/launcher3/model/BgDataModel.java
@@ -17,6 +17,9 @@
 
 import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_GET_KEY_FIELDS_ONLY;
 
+import static com.android.launcher3.BuildConfig.QSB_ON_FIRST_SCREEN;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_SMARTSPACE_REMOVAL;
+import static com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget;
 import static com.android.launcher3.model.WidgetsModel.GO_DISABLE_WIDGETS;
 import static com.android.launcher3.shortcuts.ShortcutRequest.PINNED;
 
@@ -129,6 +132,8 @@
      * Load id for which the callbacks were successfully bound
      */
     public int lastLoadId = -1;
+    public boolean isFirstPagePinnedItemEnabled = QSB_ON_FIRST_SCREEN
+            && !ENABLE_SMARTSPACE_REMOVAL.get();
 
     /**
      * Clears all the data
@@ -152,7 +157,9 @@
                 screenSet.add(item.screenId);
             }
         }
-        if (FeatureFlags.QSB_ON_FIRST_SCREEN || screenSet.isEmpty()) {
+        if ((FeatureFlags.QSB_ON_FIRST_SCREEN
+                && !shouldShowFirstPageWidget())
+                || screenSet.isEmpty()) {
             screenSet.add(Workspace.FIRST_SCREEN_ID);
         }
         return screenSet.getArray();
@@ -170,11 +177,15 @@
             writer.println(prefix + '\t' + appWidgets.get(i).toString());
         }
         writer.println(prefix + " ---- folder items ");
-        for (int i = 0; i< folders.size(); i++) {
+        for (int i = 0; i < folders.size(); i++) {
             writer.println(prefix + '\t' + folders.valueAt(i).toString());
         }
+        writer.println(prefix + " ---- extra items ");
+        for (int i = 0; i < extraItems.size(); i++) {
+            writer.println(prefix + '\t' + extraItems.valueAt(i).toString());
+        }
         writer.println(prefix + " ---- items id map ");
-        for (int i = 0; i< itemsIdMap.size(); i++) {
+        for (int i = 0; i < itemsIdMap.size(); i++) {
             writer.println(prefix + '\t' + itemsIdMap.valueAt(i).toString());
         }
 
@@ -442,6 +453,20 @@
             this.containerId = containerId;
             this.items = Collections.unmodifiableList(items);
         }
+
+        @Override
+        @NonNull
+        public final String toString() {
+            StringBuilder s = new StringBuilder();
+            s.append("FixedContainerItems:");
+            s.append(" id=").append(containerId);
+            s.append(" itemCount=").append(items.size());
+            for (int i = 0; i < items.size(); i++) {
+                s.append(" item #").append(i).append(": ").append(items.get(i).toString());
+            }
+            return s.toString();
+        }
+
     }
 
 
@@ -452,6 +477,10 @@
         int FLAG_QUIET_MODE_ENABLED = 1 << 1;
         // If launcher can change quiet mode
         int FLAG_QUIET_MODE_CHANGE_PERMISSION = 1 << 2;
+        // If quiet mode is enabled for work profile user
+        int FLAG_WORK_PROFILE_QUIET_MODE_ENABLED = 1 << 3;
+        // If quiet mode is enabled for private profile user
+        int FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED = 1 << 4;
 
         /**
          * Returns an IntSet of page ids to bind first, synchronously if possible
@@ -468,6 +497,7 @@
 
         default void bindItems(List<ItemInfo> shortcuts, boolean forceAnimateIcons) { }
         default void bindScreens(IntArray orderedScreenIds) { }
+        default void setIsFirstPagePinnedItemEnabled(boolean isFirstPagePinnedItemEnabled) { }
         default void finishBindingItems(IntSet pagesBoundFirst) { }
         default void preAddApps() { }
         default void bindAppsAdded(IntArray newScreens,
@@ -487,6 +517,7 @@
         default void bindRestoreItemsChange(HashSet<ItemInfo> updates) { }
         default void bindWorkspaceComponentsRemoved(Predicate<ItemInfo> matcher) { }
         default void bindAllWidgets(List<WidgetsListBaseEntry> widgets) { }
+        default void bindSmartspaceWidget() { }
 
         /** Called when workspace has been bound. */
         default void onInitialBindComplete(IntSet boundPages, RunnableList pendingTasks,
diff --git a/src/com/android/launcher3/model/DatabaseHelper.java b/src/com/android/launcher3/model/DatabaseHelper.java
index ecf5f67..1360510 100644
--- a/src/com/android/launcher3/model/DatabaseHelper.java
+++ b/src/com/android/launcher3/model/DatabaseHelper.java
@@ -16,6 +16,7 @@
 package com.android.launcher3.model;
 
 import static com.android.launcher3.LauncherSettings.Favorites.addTableToDb;
+import static com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget;
 import static com.android.launcher3.provider.LauncherDbUtils.dropTable;
 
 import android.content.ContentValues;
@@ -257,7 +258,8 @@
                         Favorites.SCREEN, IntArray.wrap(-777, -778)), null);
             }
             case 30: {
-                if (FeatureFlags.QSB_ON_FIRST_SCREEN) {
+                if (FeatureFlags.QSB_ON_FIRST_SCREEN
+                        && !shouldShowFirstPageWidget()) {
                     // Clean up first row in screen 0 as it might contain junk data.
                     Log.d(TAG, "Cleaning up first row");
                     db.delete(Favorites.TABLE_NAME,
@@ -267,7 +269,6 @@
                                     Favorites.CONTAINER, Favorites.CONTAINER_DESKTOP,
                                     Favorites.CELLY, 0), null);
                 }
-                return;
             }
             case 31: {
                 LauncherDbUtils.migrateLegacyShortcuts(mContext, db);
diff --git a/src/com/android/launcher3/model/GridSizeMigrationUtil.java b/src/com/android/launcher3/model/GridSizeMigrationUtil.java
index c233872..af66431 100644
--- a/src/com/android/launcher3/model/GridSizeMigrationUtil.java
+++ b/src/com/android/launcher3/model/GridSizeMigrationUtil.java
@@ -18,6 +18,9 @@
 
 import static com.android.launcher3.LauncherSettings.Favorites.TABLE_NAME;
 import static com.android.launcher3.LauncherSettings.Favorites.TMP_TABLE;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_SMARTSPACE_REMOVAL;
+import static com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget;
+import static com.android.launcher3.model.LoaderTask.SMARTSPACE_ON_HOME_SCREEN;
 import static com.android.launcher3.provider.LauncherDbUtils.copyTable;
 import static com.android.launcher3.provider.LauncherDbUtils.dropTable;
 
@@ -37,6 +40,7 @@
 import androidx.annotation.NonNull;
 
 import com.android.launcher3.InvariantDeviceProfile;
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.config.FeatureFlags;
@@ -258,7 +262,8 @@
             String srcTableName, String destTableName) {
         int id = copyEntryAndUpdate(helper, entry, srcTableName, destTableName);
 
-        if (entry.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER) {
+        if (entry.itemType == LauncherSettings.Favorites.ITEM_TYPE_FOLDER
+                || entry.itemType == LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR) {
             for (Set<Integer> itemIds : entry.mFolderItems.values()) {
                 for (int itemId : itemIds) {
                     copyEntryAndUpdate(helper, itemId, id, srcTableName, destTableName);
@@ -327,7 +332,11 @@
             @NonNull final List<DbEntry> sortedItemsToPlace, final boolean matchingScreenIdOnly) {
         final GridOccupancy occupied = new GridOccupancy(trgX, trgY);
         final Point trg = new Point(trgX, trgY);
-        final Point next = new Point(0, screenId == 0 && FeatureFlags.QSB_ON_FIRST_SCREEN
+        final Point next = new Point(0, screenId == 0
+                && (FeatureFlags.QSB_ON_FIRST_SCREEN
+                && (!ENABLE_SMARTSPACE_REMOVAL.get() || LauncherPrefs.getPrefs(destReader.mContext)
+                .getBoolean(SMARTSPACE_ON_HOME_SCREEN, true))
+                && !shouldShowFirstPageWidget())
                 ? 1 /* smartspace */ : 0);
         List<DbEntry> existedEntries = destReader.mWorkspaceEntriesByScreenId.get(screenId);
         if (existedEntries != null) {
@@ -465,6 +474,13 @@
                             }
                             break;
                         }
+                        case LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR: {
+                            int total = getFolderItemsCount(entry);
+                            if (total != 2) {
+                                throw new Exception("App pair contains fewer or more than 2 items");
+                            }
+                            break;
+                        }
                         default:
                             throw new Exception("Invalid item type");
                     }
@@ -539,8 +555,8 @@
                             verifyPackage(cn.getPackageName());
 
                             int widgetId = c.getInt(indexAppWidgetId);
-                            LauncherAppWidgetProviderInfo pInfo =
-                                    widgetManagerHelper.getLauncherAppWidgetInfo(widgetId);
+                            LauncherAppWidgetProviderInfo pInfo = widgetManagerHelper
+                                    .getLauncherAppWidgetInfo(widgetId, cn);
                             Point spans = null;
                             if (pInfo != null) {
                                 spans = pInfo.getMinSpans();
@@ -562,6 +578,13 @@
                             }
                             break;
                         }
+                        case LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR: {
+                            int total = getFolderItemsCount(entry);
+                            if (total != 2) {
+                                throw new Exception("App pair contains fewer or more than 2 items");
+                            }
+                            break;
+                        }
                         default:
                             throw new Exception("Invalid item type");
                     }
@@ -679,6 +702,7 @@
         public String getEntryMigrationId() {
             switch (itemType) {
                 case LauncherSettings.Favorites.ITEM_TYPE_FOLDER:
+                case LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR:
                     return getFolderMigrationId();
                 case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET:
                     return mProvider;
diff --git a/src/com/android/launcher3/model/LoaderCursor.java b/src/com/android/launcher3/model/LoaderCursor.java
index 33332f0..1044dfb 100644
--- a/src/com/android/launcher3/model/LoaderCursor.java
+++ b/src/com/android/launcher3/model/LoaderCursor.java
@@ -17,6 +17,7 @@
 package com.android.launcher3.model;
 
 import static com.android.launcher3.LauncherSettings.Favorites.TABLE_NAME;
+import static com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget;
 
 import android.content.ComponentName;
 import android.content.ContentValues;
@@ -40,6 +41,8 @@
 import com.android.launcher3.LauncherSettings.Favorites;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.Workspace;
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger;
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger.RestoreError;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.icons.IconCache;
 import com.android.launcher3.logging.FileLog;
@@ -69,6 +72,7 @@
     private final Context mContext;
     private final IconCache mIconCache;
     private final InvariantDeviceProfile mIDP;
+    private final @Nullable LauncherRestoreEventLogger mRestoreEventLogger;
 
     private final IntArray mItemsToRemove = new IntArray();
     private final IntArray mRestoredRows = new IntArray();
@@ -106,7 +110,8 @@
     public int itemType;
     public int restoreFlag;
 
-    public LoaderCursor(Cursor cursor, LauncherAppState app, UserManagerState userManagerState) {
+    public LoaderCursor(Cursor cursor, LauncherAppState app, UserManagerState userManagerState,
+            @Nullable LauncherRestoreEventLogger restoreEventLogger) {
         super(cursor);
 
         mApp = app;
@@ -114,6 +119,7 @@
         mContext = app.getContext();
         mIconCache = app.getIconCache();
         mIDP = app.getInvariantDeviceProfile();
+        mRestoreEventLogger = restoreEventLogger;
 
         // Init column indices
         mIconIndex = getColumnIndexOrThrow(Favorites.ICON);
@@ -389,9 +395,12 @@
     /**
      * Marks the current item for removal
      */
-    public void markDeleted(String reason) {
+    public void markDeleted(String reason, @RestoreError String errorType) {
         FileLog.e(TAG, reason);
         mItemsToRemove.add(id);
+        if (mRestoreEventLogger != null) {
+            mRestoreEventLogger.logSingleFavoritesItemRestoreFailed(itemType, errorType);
+        }
     }
 
     /**
@@ -430,6 +439,9 @@
             mApp.getModel().getModelDbController().update(TABLE_NAME, values,
                     Utilities.createDbSelectionQuery(Favorites._ID, mRestoredRows), null);
         }
+        if (mRestoreEventLogger != null) {
+            mRestoreEventLogger.reportLauncherRestoreResults();
+        }
     }
 
     /**
@@ -470,17 +482,20 @@
             // cause the item loading to get skipped
             ShortcutKey.fromItemInfo(info);
         }
-        if (checkItemPlacement(info)) {
+        if (checkItemPlacement(info, dataModel.isFirstPagePinnedItemEnabled)) {
             dataModel.addItem(mContext, info, false, logger);
+            if (mRestoreEventLogger != null) {
+                mRestoreEventLogger.logSingleFavoritesItemRestored(itemType);
+            }
         } else {
-            markDeleted("Item position overlap");
+            markDeleted("Item position overlap", RestoreError.INVALID_LOCATION);
         }
     }
 
     /**
      * check & update map of what's occupied; used to discard overlapping/invalid items
      */
-    protected boolean checkItemPlacement(ItemInfo item) {
+    protected boolean checkItemPlacement(ItemInfo item, boolean isFirstPagePinnedItemEnabled) {
         int containerIndex = item.screenId;
         if (item.container == Favorites.CONTAINER_HOTSEAT) {
             final GridOccupancy hotseatOccupancy =
@@ -528,7 +543,8 @@
 
         if (!mOccupied.containsKey(item.screenId)) {
             GridOccupancy screen = new GridOccupancy(countX + 1, countY + 1);
-            if (item.screenId == Workspace.FIRST_SCREEN_ID && FeatureFlags.QSB_ON_FIRST_SCREEN) {
+            if (item.screenId == Workspace.FIRST_SCREEN_ID && (FeatureFlags.QSB_ON_FIRST_SCREEN
+                    && !shouldShowFirstPageWidget() && isFirstPagePinnedItemEnabled)) {
                 // Mark the first X columns (X is width of the search container) in the first row as
                 // occupied (if the feature is enabled) in order to account for the search
                 // container.
diff --git a/src/com/android/launcher3/model/LoaderTask.java b/src/com/android/launcher3/model/LoaderTask.java
index 0e68db2..d0a1f10 100644
--- a/src/com/android/launcher3/model/LoaderTask.java
+++ b/src/com/android/launcher3/model/LoaderTask.java
@@ -16,21 +16,26 @@
 
 package com.android.launcher3.model;
 
+import static com.android.launcher3.BuildConfig.WIDGET_ON_FIRST_SCREEN;
+import static com.android.launcher3.Flags.enableLauncherBrMetricsFixed;
+import static com.android.launcher3.Flags.enableSupportForArchiving;
+import static com.android.launcher3.LauncherPrefs.IS_FIRST_LOAD_AFTER_RESTORE;
+import static com.android.launcher3.LauncherPrefs.SHOULD_SHOW_SMARTSPACE;
+import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APP_PAIR;
 import static com.android.launcher3.LauncherSettings.Favorites.TABLE_NAME;
+import static com.android.launcher3.config.FeatureFlags.ENABLE_SMARTSPACE_REMOVAL;
+import static com.android.launcher3.config.FeatureFlags.SMARTSPACE_AS_A_WIDGET;
 import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_HAS_SHORTCUT_PERMISSION;
+import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED;
 import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_QUIET_MODE_CHANGE_PERMISSION;
 import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_QUIET_MODE_ENABLED;
+import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_WORK_PROFILE_QUIET_MODE_ENABLED;
 import static com.android.launcher3.model.ModelUtils.filterCurrentWorkspaceItems;
-import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_LOCKED_USER;
-import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_SAFEMODE;
-import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_SUSPENDED;
+import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_INSTALL_SESSION_ACTIVE;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
 import static com.android.launcher3.util.PackageManagerHelper.hasShortcutsPermission;
-import static com.android.launcher3.util.PackageManagerHelper.isSystemApp;
 
-import android.annotation.SuppressLint;
 import android.appwidget.AppWidgetProviderInfo;
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
@@ -40,25 +45,26 @@
 import android.content.pm.PackageInstaller.SessionInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ShortcutInfo;
-import android.graphics.Point;
 import android.os.Bundle;
 import android.os.Trace;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.Log;
 import android.util.LongSparseArray;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.annotation.WorkerThread;
 
-import com.android.launcher3.DeviceProfile;
-import com.android.launcher3.InvariantDeviceProfile;
+import com.android.launcher3.Flags;
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.LauncherModel;
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.LauncherSettings.Favorites;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger;
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.folder.Folder;
 import com.android.launcher3.folder.FolderGridOrganizer;
@@ -75,13 +81,11 @@
 import com.android.launcher3.model.data.FolderInfo;
 import com.android.launcher3.model.data.IconRequestInfo;
 import com.android.launcher3.model.data.ItemInfo;
-import com.android.launcher3.model.data.ItemInfoWithIcon;
 import com.android.launcher3.model.data.LauncherAppWidgetInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
 import com.android.launcher3.pm.InstallSessionHelper;
 import com.android.launcher3.pm.PackageInstallInfo;
 import com.android.launcher3.pm.UserCache;
-import com.android.launcher3.qsb.QsbContainerView;
 import com.android.launcher3.shortcuts.ShortcutKey;
 import com.android.launcher3.shortcuts.ShortcutRequest;
 import com.android.launcher3.shortcuts.ShortcutRequest.QueryResult;
@@ -93,8 +97,7 @@
 import com.android.launcher3.util.PackageManagerHelper;
 import com.android.launcher3.util.PackageUserKey;
 import com.android.launcher3.util.TraceHelper;
-import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
-import com.android.launcher3.widget.WidgetManagerHelper;
+import com.android.launcher3.widget.WidgetInflater;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -102,6 +105,7 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.CancellationException;
 
@@ -112,8 +116,10 @@
  *   - all apps icons
  *   - deep shortcuts within apps
  */
+@SuppressWarnings("NewApi")
 public class LoaderTask implements Runnable {
     private static final String TAG = "LoaderTask";
+    public static final String SMARTSPACE_ON_HOME_SCREEN = "pref_smartspace_home_screen";
 
     private static final boolean DEBUG = true;
 
@@ -122,6 +128,7 @@
     private final AllAppsList mBgAllAppsList;
     protected final BgDataModel mBgDataModel;
     private final ModelDelegate mModelDelegate;
+    private boolean mIsRestoreFromBackup;
 
     private FirstScreenBroadcast mFirstScreenBroadcast;
 
@@ -135,10 +142,10 @@
     private final InstallSessionHelper mSessionHelper;
     private final IconCache mIconCache;
 
-    private final UserManagerState mUserManagerState = new UserManagerState();
-
+    private final UserManagerState mUserManagerState;
     protected final Map<ComponentKey, AppWidgetProviderInfo> mWidgetProvidersMap = new ArrayMap<>();
     private Map<ShortcutKey, ShortcutInfo> mShortcutKeyToPinnedShortcuts;
+    private HashMap<PackageUserKey, SessionInfo> mInstallingPkgsCached;
 
     private boolean mStopped;
 
@@ -148,17 +155,25 @@
 
     public LoaderTask(@NonNull LauncherAppState app, AllAppsList bgAllAppsList, BgDataModel bgModel,
             ModelDelegate modelDelegate, @NonNull LauncherBinder launcherBinder) {
+        this(app, bgAllAppsList, bgModel, modelDelegate, launcherBinder, new UserManagerState());
+    }
+
+    @VisibleForTesting
+    LoaderTask(@NonNull LauncherAppState app, AllAppsList bgAllAppsList, BgDataModel bgModel,
+            ModelDelegate modelDelegate, @NonNull LauncherBinder launcherBinder,
+            UserManagerState userManagerState) {
         mApp = app;
         mBgAllAppsList = bgAllAppsList;
         mBgDataModel = bgModel;
         mModelDelegate = modelDelegate;
         mLauncherBinder = launcherBinder;
-
         mLauncherApps = mApp.getContext().getSystemService(LauncherApps.class);
         mUserManager = mApp.getContext().getSystemService(UserManager.class);
         mUserCache = UserCache.INSTANCE.get(mApp.getContext());
         mSessionHelper = InstallSessionHelper.INSTANCE.get(mApp.getContext());
         mIconCache = mApp.getIconCache();
+        mUserManagerState = userManagerState;
+        mInstallingPkgsCached = null;
     }
 
     protected synchronized void waitForIdle() {
@@ -201,15 +216,23 @@
 
         TraceHelper.INSTANCE.beginSection(TAG);
         LoaderMemoryLogger memoryLogger = new LoaderMemoryLogger();
+        mIsRestoreFromBackup =
+                (Boolean) LauncherPrefs.get(mApp.getContext()).get(IS_FIRST_LOAD_AFTER_RESTORE);
+        LauncherRestoreEventLogger restoreEventLogger = null;
+        if (enableLauncherBrMetricsFixed()) {
+            restoreEventLogger = LauncherRestoreEventLogger.Companion
+                    .newInstance(mApp.getContext());
+        }
         try (LauncherModel.LoaderTransaction transaction = mApp.getModel().beginLoader(this)) {
+
             List<ShortcutInfo> allShortcuts = new ArrayList<>();
-            loadWorkspace(allShortcuts, "", memoryLogger);
+            loadWorkspace(allShortcuts, "", memoryLogger, restoreEventLogger);
 
             // Sanitize data re-syncs widgets/shortcuts based on the workspace loaded from db.
             // sanitizeData should not be invoked if the workspace is loaded from a db different
             // from the main db as defined in the invariant device profile.
             // (e.g. both grid preview and minimal device mode uses a different db)
-            if (mApp.getInvariantDeviceProfile().dbFile.equals(mDbName)) {
+            if (Objects.equals(mApp.getInvariantDeviceProfile().dbFile, mDbName)) {
                 verifyNotStopped();
                 sanitizeFolders(mItemsDeleted);
                 sanitizeWidgetsShortcutsAndPackages();
@@ -234,7 +257,7 @@
             Trace.beginSection("LoadAllApps");
             List<LauncherActivityInfo> allActivityList;
             try {
-               allActivityList = loadAllApps();
+                allActivityList = loadAllApps();
             } finally {
                 Trace.endSection();
             }
@@ -294,6 +317,19 @@
             mLauncherBinder.bindWidgets();
             logASplit("bindWidgets");
             verifyNotStopped();
+            LauncherPrefs prefs = LauncherPrefs.get(mApp.getContext());
+
+            if (SMARTSPACE_AS_A_WIDGET.get() && prefs.get(SHOULD_SHOW_SMARTSPACE)) {
+                mLauncherBinder.bindSmartspaceWidget();
+                // Turn off pref.
+                prefs.putSync(SHOULD_SHOW_SMARTSPACE.to(false));
+                logASplit("bindSmartspaceWidget");
+                verifyNotStopped();
+            } else if (!SMARTSPACE_AS_A_WIDGET.get() && WIDGET_ON_FIRST_SCREEN
+                    && !prefs.get(LauncherPrefs.SHOULD_SHOW_SMARTSPACE)) {
+                // Turn on pref.
+                prefs.putSync(SHOULD_SHOW_SMARTSPACE.to(true));
+            }
 
             if (FeatureFlags.CHANGE_MODEL_DELEGATE_LOADING_ORDER.get()) {
                 mModelDelegate.loadAndBindOtherItems(mLauncherBinder.mCallbacksList);
@@ -316,6 +352,13 @@
             mModelDelegate.modelLoadComplete();
             transaction.commit();
             memoryLogger.clearLogs();
+            if (mIsRestoreFromBackup) {
+                mIsRestoreFromBackup = false;
+                LauncherPrefs.get(mApp.getContext()).putSync(IS_FIRST_LOAD_AFTER_RESTORE.to(false));
+                if (restoreEventLogger != null) {
+                    restoreEventLogger.reportLauncherRestoreResults();
+                }
+            }
         } catch (CancellationException e) {
             // Loader stopped, ignore
             logASplit("Cancelled");
@@ -334,10 +377,12 @@
     protected void loadWorkspace(
             List<ShortcutInfo> allDeepShortcuts,
             String selection,
-            LoaderMemoryLogger memoryLogger) {
+            LoaderMemoryLogger memoryLogger,
+            @Nullable LauncherRestoreEventLogger restoreEventLogger
+    ) {
         Trace.beginSection("LoadWorkspace");
         try {
-            loadWorkspaceImpl(allDeepShortcuts, selection, memoryLogger);
+            loadWorkspaceImpl(allDeepShortcuts, selection, memoryLogger, restoreEventLogger);
         } finally {
             Trace.endSection();
         }
@@ -350,20 +395,23 @@
             mModelDelegate.markActive();
             logASplit("workspaceDelegateItems");
         }
+        mBgDataModel.isFirstPagePinnedItemEnabled = FeatureFlags.QSB_ON_FIRST_SCREEN
+                && (!ENABLE_SMARTSPACE_REMOVAL.get() || LauncherPrefs.getPrefs(
+                mApp.getContext()).getBoolean(SMARTSPACE_ON_HOME_SCREEN, true));
     }
 
     private void loadWorkspaceImpl(
             List<ShortcutInfo> allDeepShortcuts,
             String selection,
-            @Nullable LoaderMemoryLogger memoryLogger) {
+            @Nullable LoaderMemoryLogger memoryLogger,
+            @Nullable LauncherRestoreEventLogger restoreEventLogger) {
         final Context context = mApp.getContext();
         final PackageManagerHelper pmHelper = new PackageManagerHelper(context);
-        final boolean isSafeMode = pmHelper.isSafeMode();
         final boolean isSdCardReady = Utilities.isBootCompleted();
-        final WidgetManagerHelper widgetHelper = new WidgetManagerHelper(context);
+        final WidgetInflater widgetInflater = new WidgetInflater(context);
 
         ModelDbController dbController = mApp.getModel().getModelDbController();
-        dbController.tryMigrateDB();
+        dbController.tryMigrateDB(restoreEventLogger);
         Log.d(TAG, "loadWorkspace: loading default favorites");
         dbController.loadDefaultFavoritesIfNecessary();
 
@@ -373,53 +421,36 @@
 
             final HashMap<PackageUserKey, SessionInfo> installingPkgs =
                     mSessionHelper.getActiveSessions();
+            if (enableSupportForArchiving()) {
+                mInstallingPkgsCached = installingPkgs;
+            }
             installingPkgs.forEach(mApp.getIconCache()::updateSessionCache);
             FileLog.d(TAG, "loadWorkspace: Packages with active install sessions: "
-                    + installingPkgs.values());
+                    + installingPkgs.keySet().stream().map(info -> info.mPackageName).toList());
 
-            final PackageUserKey tempPackageKey = new PackageUserKey(null, null);
             mFirstScreenBroadcast = new FirstScreenBroadcast(installingPkgs);
 
             mShortcutKeyToPinnedShortcuts = new HashMap<>();
             final LoaderCursor c = new LoaderCursor(
                     dbController.query(TABLE_NAME, null, selection, null, null),
-                    mApp, mUserManagerState);
+                    mApp, mUserManagerState, mIsRestoreFromBackup ? restoreEventLogger : null);
             final Bundle extras = c.getExtras();
             mDbName = extras == null ? null : extras.getString(ModelDbController.EXTRA_DB_NAME);
             try {
                 final LongSparseArray<Boolean> unlockedUsers = new LongSparseArray<>();
-
-                mUserManagerState.init(mUserCache, mUserManager);
-
-                for (UserHandle user : mUserCache.getUserProfiles()) {
-                    long serialNo = mUserCache.getSerialNumberForUser(user);
-                    boolean userUnlocked = mUserManager.isUserUnlocked(user);
-
-                    // We can only query for shortcuts when the user is unlocked.
-                    if (userUnlocked) {
-                        QueryResult pinnedShortcuts = new ShortcutRequest(context, user)
-                                .query(ShortcutRequest.PINNED);
-                        if (pinnedShortcuts.wasSuccess()) {
-                            for (ShortcutInfo shortcut : pinnedShortcuts) {
-                                mShortcutKeyToPinnedShortcuts.put(ShortcutKey.fromInfo(shortcut),
-                                        shortcut);
-                            }
-                        } else {
-                            // Shortcut manager can fail due to some race condition when the
-                            // lock state changes too frequently. For the purpose of the loading
-                            // shortcuts, consider the user is still locked.
-                            userUnlocked = false;
-                        }
-                    }
-                    unlockedUsers.put(serialNo, userUnlocked);
-                }
+                queryPinnedShortcutsForUnlockedUsers(context, unlockedUsers);
 
                 List<IconRequestInfo<WorkspaceItemInfo>> iconRequestInfos = new ArrayList<>();
 
+                WorkspaceItemProcessor itemProcessor = new WorkspaceItemProcessor(c, memoryLogger,
+                        mUserManagerState, mLauncherApps, mPendingPackages,
+                        mShortcutKeyToPinnedShortcuts, mApp, mBgDataModel,
+                        mWidgetProvidersMap, installingPkgs, isSdCardReady,
+                        widgetInflater, pmHelper, iconRequestInfos, unlockedUsers,
+                        allDeepShortcuts);
+
                 while (!mStopped && c.moveToNext()) {
-                    processWorkspaceItem(c, memoryLogger, installingPkgs, isSdCardReady,
-                            tempPackageKey, widgetHelper, pmHelper,
-                            iconRequestInfos, unlockedUsers, isSafeMode, allDeepShortcuts);
+                    itemProcessor.processItem();
                 }
                 tryLoadWorkspaceIconsInBulk(iconRequestInfos);
             } finally {
@@ -444,423 +475,85 @@
             // Remove dead items
             mItemsDeleted = c.commitDeleted();
 
-            // Sort the folder items, update ranks, and make sure all preview items are high res.
-            FolderGridOrganizer verifier =
-                    new FolderGridOrganizer(mApp.getInvariantDeviceProfile());
-            for (FolderInfo folder : mBgDataModel.folders) {
-                Collections.sort(folder.contents, Folder.ITEM_POS_COMPARATOR);
-                verifier.setFolderInfo(folder);
-                int size = folder.contents.size();
-
-                // Update ranks here to ensure there are no gaps caused by removed folder items.
-                // Ranks are the source of truth for folder items, so cellX and cellY can be ignored
-                // for now. Database will be updated once user manually modifies folder.
-                for (int rank = 0; rank < size; ++rank) {
-                    WorkspaceItemInfo info = folder.contents.get(rank);
-                    info.rank = rank;
-
-                    if (info.usingLowResIcon()
-                            && info.itemType == Favorites.ITEM_TYPE_APPLICATION
-                            && verifier.isItemInPreview(info.rank)) {
-                        mIconCache.getTitleAndIcon(info, false);
-                    }
-                }
-            }
+            processFolderItems();
 
             c.commitRestoredItems();
         }
     }
 
-    private void processWorkspaceItem(LoaderCursor c,
-            LoaderMemoryLogger memoryLogger,
-            HashMap<PackageUserKey, SessionInfo> installingPkgs,
-            boolean isSdCardReady,
-            PackageUserKey tempPackageKey,
-            WidgetManagerHelper widgetHelper,
-            PackageManagerHelper pmHelper,
-            List<IconRequestInfo<WorkspaceItemInfo>> iconRequestInfos,
-            LongSparseArray<Boolean> unlockedUsers,
-            boolean isSafeMode,
-            List<ShortcutInfo> allDeepShortcuts) {
+    /**
+     * Initialized the UserManagerState, and determines which users are unlocked. Additionally, if
+     * the user is unlocked, it queries LauncherAppsService for pinned shortcuts and stores the
+     * result in a class variable to be used in other methods while processing workspace items.
+     *
+     * @param context used to query LauncherAppsService
+     * @param unlockedUsers this param is changed, and the updated value is used outside this method
+     */
+    @WorkerThread
+    private void queryPinnedShortcutsForUnlockedUsers(Context context,
+            LongSparseArray<Boolean> unlockedUsers) {
+        mUserManagerState.init(mUserCache, mUserManager);
 
-        try {
-            if (c.user == null) {
-                // User has been deleted, remove the item.
-                c.markDeleted("User has been deleted");
-                return;
+        for (UserHandle user : mUserCache.getUserProfiles()) {
+            long serialNo = mUserCache.getSerialNumberForUser(user);
+            boolean userUnlocked = mUserManager.isUserUnlocked(user);
+
+            // We can only query for shortcuts when the user is unlocked.
+            if (userUnlocked) {
+                QueryResult pinnedShortcuts = new ShortcutRequest(context, user)
+                        .query(ShortcutRequest.PINNED);
+                if (pinnedShortcuts.wasSuccess()) {
+                    for (ShortcutInfo shortcut : pinnedShortcuts) {
+                        mShortcutKeyToPinnedShortcuts.put(ShortcutKey.fromInfo(shortcut),
+                                shortcut);
+                    }
+                    if (pinnedShortcuts.isEmpty()) {
+                        FileLog.d(TAG, "No pinned shortcuts found for user " + user);
+                    }
+                } else {
+                    // Shortcut manager can fail due to some race condition when the
+                    // lock state changes too frequently. For the purpose of the loading
+                    // shortcuts, consider the user is still locked.
+                    FileLog.d(TAG, "Shortcut request failed for user "
+                            + user + ", user may still be locked.");
+                    userUnlocked = false;
+                }
             }
+            unlockedUsers.put(serialNo, userUnlocked);
+        }
 
-            boolean allowMissingTarget = false;
-            switch (c.itemType) {
-                case Favorites.ITEM_TYPE_APPLICATION:
-                case Favorites.ITEM_TYPE_DEEP_SHORTCUT:
-                    Intent intent = c.parseIntent();
-                    if (intent == null) {
-                        c.markDeleted("Invalid or null intent");
-                        return;
-                    }
+    }
 
-                    int disabledState = mUserManagerState.isUserQuiet(c.serialNumber)
-                            ? WorkspaceItemInfo.FLAG_DISABLED_QUIET_USER : 0;
-                    ComponentName cn = intent.getComponent();
-                    String targetPkg = cn == null ? intent.getPackage() : cn.getPackageName();
+    /**
+     * After all items have been processed and added to the BgDataModel, this method can correctly
+     * rank items inside folders and load the correct miniature preview icons to be shown when the
+     * folder is collapsed.
+     */
+    @WorkerThread
+    private void processFolderItems() {
+        // Sort the folder items, update ranks, and make sure all preview items are high res.
+        List<FolderGridOrganizer> verifiers = mApp.getInvariantDeviceProfile().supportedProfiles
+                .stream().map(FolderGridOrganizer::new).toList();
+        for (FolderInfo folder : mBgDataModel.folders) {
+            Collections.sort(folder.contents, Folder.ITEM_POS_COMPARATOR);
+            verifiers.forEach(verifier -> verifier.setFolderInfo(folder));
+            int size = folder.contents.size();
 
-                    if (TextUtils.isEmpty(targetPkg)) {
-                        c.markDeleted("Shortcuts can't have null package");
-                        return;
-                    }
+            // Update ranks here to ensure there are no gaps caused by removed folder items.
+            // Ranks are the source of truth for folder items, so cellX and cellY can be
+            // ignored for now. Database will be updated once user manually modifies folder.
+            for (int rank = 0; rank < size; ++rank) {
+                WorkspaceItemInfo info = folder.contents.get(rank);
+                // rank is used differently in app pairs, so don't reset
+                if (folder.itemType != ITEM_TYPE_APP_PAIR) {
+                    info.rank = rank;
+                }
 
-                    // If there is no target package, it's an implicit intent
-                    // (legacy shortcut) which is always valid
-                    boolean validTarget = TextUtils.isEmpty(targetPkg)
-                            || mLauncherApps.isPackageEnabled(targetPkg, c.user);
-
-                    // If it's a deep shortcut, we'll use pinned shortcuts to restore it
-                    if (cn != null && validTarget && c.itemType
-                            != Favorites.ITEM_TYPE_DEEP_SHORTCUT) {
-                        // If the apk is present and the shortcut points to a specific component.
-
-                        // If the component is already present
-                        if (mLauncherApps.isActivityEnabled(cn, c.user)) {
-                            // no special handling necessary for this item
-                            c.markRestored();
-                        } else {
-                            // Gracefully try to find a fallback activity.
-                            intent = pmHelper.getAppLaunchIntent(targetPkg, c.user);
-                            if (intent != null) {
-                                c.restoreFlag = 0;
-                                c.updater().put(
-                                        Favorites.INTENT,
-                                        intent.toUri(0)).commit();
-                                cn = intent.getComponent();
-                            } else {
-                                c.markDeleted("Unable to find a launch target");
-                                return;
-                            }
-                        }
-                    }
-                    // else if cn == null => can't infer much, leave it
-                    // else if !validPkg => could be restored icon or missing sd-card
-
-                    if (!TextUtils.isEmpty(targetPkg) && !validTarget) {
-                        // Points to a valid app (superset of cn != null) but the apk
-                        // is not available.
-
-                        if (c.restoreFlag != 0) {
-                            // Package is not yet available but might be
-                            // installed later.
-                            FileLog.d(TAG, "package not yet restored: " + targetPkg);
-
-                            tempPackageKey.update(targetPkg, c.user);
-                            if (c.hasRestoreFlag(WorkspaceItemInfo.FLAG_RESTORE_STARTED)) {
-                                // Restore has started once.
-                            } else if (installingPkgs.containsKey(tempPackageKey)) {
-                                // App restore has started. Update the flag
-                                c.restoreFlag |= WorkspaceItemInfo.FLAG_RESTORE_STARTED;
-                                c.updater().put(Favorites.RESTORED,
-                                        c.restoreFlag).commit();
-                            } else {
-                                c.markDeleted("Unrestored app removed: " + targetPkg);
-                                return;
-                            }
-                        } else if (pmHelper.isAppOnSdcard(targetPkg, c.user)) {
-                            // Package is present but not available.
-                            disabledState |= WorkspaceItemInfo.FLAG_DISABLED_NOT_AVAILABLE;
-                            // Add the icon on the workspace anyway.
-                            allowMissingTarget = true;
-                        } else if (!isSdCardReady) {
-                            // SdCard is not ready yet. Package might get available,
-                            // once it is ready.
-                            Log.d(TAG, "Missing pkg, will check later: " + targetPkg);
-                            mPendingPackages.add(new PackageUserKey(targetPkg, c.user));
-                            // Add the icon on the workspace anyway.
-                            allowMissingTarget = true;
-                        } else {
-                            // Do not wait for external media load anymore.
-                            c.markDeleted("Invalid package removed: " + targetPkg);
-                            return;
-                        }
-                    }
-
-                    if ((c.restoreFlag & WorkspaceItemInfo.FLAG_SUPPORTS_WEB_UI) != 0) {
-                        validTarget = false;
-                    }
-
-                    if (validTarget) {
-                        // The shortcut points to a valid target (either no target
-                        // or something which is ready to be used)
-                        c.markRestored();
-                    }
-
-                    boolean useLowResIcon = !c.isOnWorkspaceOrHotseat();
-
-                    WorkspaceItemInfo info;
-                    if (c.restoreFlag != 0) {
-                        // Already verified above that user is same as default user
-                        info = c.getRestoredItemInfo(intent);
-                    } else if (c.itemType == Favorites.ITEM_TYPE_APPLICATION) {
-                        info = c.getAppShortcutInfo(
-                                intent, allowMissingTarget, useLowResIcon, false);
-                    } else if (c.itemType == Favorites.ITEM_TYPE_DEEP_SHORTCUT) {
-                        ShortcutKey key = ShortcutKey.fromIntent(intent, c.user);
-                        if (unlockedUsers.get(c.serialNumber)) {
-                            ShortcutInfo pinnedShortcut = mShortcutKeyToPinnedShortcuts.get(key);
-                            if (pinnedShortcut == null) {
-                                // The shortcut is no longer valid.
-                                c.markDeleted("Pinned shortcut not found");
-                                return;
-                            }
-                            info = new WorkspaceItemInfo(pinnedShortcut, mApp.getContext());
-                            // If the pinned deep shortcut is no longer published,
-                            // use the last saved icon instead of the default.
-                            mIconCache.getShortcutIcon(info, pinnedShortcut, c::loadIcon);
-
-                            if (pmHelper.isAppSuspended(
-                                    pinnedShortcut.getPackage(), info.user)) {
-                                info.runtimeStatusFlags |= FLAG_DISABLED_SUSPENDED;
-                            }
-                            intent = info.getIntent();
-                            allDeepShortcuts.add(pinnedShortcut);
-                        } else {
-                            // Create a shortcut info in disabled mode for now.
-                            info = c.loadSimpleWorkspaceItem();
-                            info.runtimeStatusFlags |= FLAG_DISABLED_LOCKED_USER;
-                        }
-                    } else { // item type == ITEM_TYPE_SHORTCUT
-                        info = c.loadSimpleWorkspaceItem();
-
-                        // Shortcuts are only available on the primary profile
-                        if (!TextUtils.isEmpty(targetPkg)
-                                && pmHelper.isAppSuspended(targetPkg, c.user)) {
-                            disabledState |= FLAG_DISABLED_SUSPENDED;
-                        }
-                        info.options = c.getOptions();
-
-                        // App shortcuts that used to be automatically added to Launcher
-                        // didn't always have the correct intent flags set, so do that here
-                        if (intent.getAction() != null
-                                && intent.getCategories() != null
-                                && intent.getAction().equals(Intent.ACTION_MAIN)
-                                && intent.getCategories().contains(Intent.CATEGORY_LAUNCHER)) {
-                            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
-                                    | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
-                        }
-                    }
-
-                    if (info != null) {
-                        if (info.itemType != Favorites.ITEM_TYPE_DEEP_SHORTCUT) {
-                            // Skip deep shortcuts; their title and icons have already been
-                            // loaded above.
-                            iconRequestInfos.add(c.createIconRequestInfo(info, useLowResIcon));
-                        }
-
-                        c.applyCommonProperties(info);
-
-                        info.intent = intent;
-                        info.rank = c.getRank();
-                        info.spanX = 1;
-                        info.spanY = 1;
-                        info.runtimeStatusFlags |= disabledState;
-                        if (isSafeMode && !isSystemApp(mApp.getContext(), intent)) {
-                            info.runtimeStatusFlags |= FLAG_DISABLED_SAFEMODE;
-                        }
-                        LauncherActivityInfo activityInfo = c.getLauncherActivityInfo();
-                        if (activityInfo != null) {
-                            info.setProgressLevel(
-                                    PackageManagerHelper.getLoadingProgress(activityInfo),
-                                    PackageInstallInfo.STATUS_INSTALLED_DOWNLOADING);
-                        }
-
-                        if (c.restoreFlag != 0 && !TextUtils.isEmpty(targetPkg)) {
-                            tempPackageKey.update(targetPkg, c.user);
-                            SessionInfo si = installingPkgs.get(tempPackageKey);
-                            if (si == null) {
-                                info.runtimeStatusFlags
-                                        &= ~ItemInfoWithIcon.FLAG_INSTALL_SESSION_ACTIVE;
-                            } else if (activityInfo == null) {
-                                int installProgress = (int) (si.getProgress() * 100);
-
-                                info.setProgressLevel(installProgress,
-                                        PackageInstallInfo.STATUS_INSTALLING);
-                            }
-                        }
-
-                        c.checkAndAddItem(info, mBgDataModel, memoryLogger);
-                    } else {
-                        throw new RuntimeException("Unexpected null WorkspaceItemInfo");
-                    }
-                    break;
-
-                case Favorites.ITEM_TYPE_FOLDER:
-                case Favorites.ITEM_TYPE_APP_PAIR:
-                    FolderInfo folderInfo = mBgDataModel.findOrMakeFolder(c.id);
-                    c.applyCommonProperties(folderInfo);
-
-                    folderInfo.itemType = c.itemType;
-                    // Do not trim the folder label, as is was set by the user.
-                    folderInfo.title = c.getString(c.mTitleIndex);
-                    folderInfo.spanX = 1;
-                    folderInfo.spanY = 1;
-                    folderInfo.options = c.getOptions();
-
-                    // no special handling required for restored folders
-                    c.markRestored();
-
-                    c.checkAndAddItem(folderInfo, mBgDataModel, memoryLogger);
-                    break;
-
-                case Favorites.ITEM_TYPE_APPWIDGET:
-                    if (WidgetsModel.GO_DISABLE_WIDGETS) {
-                        c.markDeleted("Only legacy shortcuts can have null package");
-                        return;
-                    }
-                    // Follow through
-                case Favorites.ITEM_TYPE_CUSTOM_APPWIDGET:
-                    // Read all Launcher-specific widget details
-                    boolean customWidget = c.itemType
-                            == Favorites.ITEM_TYPE_CUSTOM_APPWIDGET;
-
-                    int appWidgetId = c.getAppWidgetId();
-                    String savedProvider = c.getAppWidgetProvider();
-                    final ComponentName component;
-
-                    if ((c.getOptions() & LauncherAppWidgetInfo.OPTION_SEARCH_WIDGET) != 0) {
-                        component  = QsbContainerView.getSearchComponentName(mApp.getContext());
-                        if (component == null) {
-                            c.markDeleted("Discarding SearchWidget without packagename ");
-                            return;
-                        }
-                    } else {
-                        component = ComponentName.unflattenFromString(savedProvider);
-                    }
-                    final boolean isIdValid =
-                            !c.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_NOT_VALID);
-                    final boolean wasProviderReady =
-                            !c.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY);
-
-                    ComponentKey providerKey = new ComponentKey(component, c.user);
-                    if (!mWidgetProvidersMap.containsKey(providerKey)) {
-                        mWidgetProvidersMap.put(providerKey,
-                                widgetHelper.findProvider(component, c.user));
-                    }
-                    final AppWidgetProviderInfo provider = mWidgetProvidersMap.get(providerKey);
-
-                    final boolean isProviderReady = isValidProvider(provider);
-                    if (!isSafeMode && !customWidget && wasProviderReady && !isProviderReady) {
-                        c.markDeleted("Deleting widget that isn't installed anymore: " + provider);
-                    } else {
-                        LauncherAppWidgetInfo appWidgetInfo;
-                        if (isProviderReady) {
-                            appWidgetInfo =
-                                    new LauncherAppWidgetInfo(appWidgetId, provider.provider);
-
-                            // The provider is available. So the widget is either
-                            // available or not available. We do not need to track
-                            // any future restore updates.
-                            int status = c.restoreFlag
-                                    & ~LauncherAppWidgetInfo.FLAG_RESTORE_STARTED
-                                    & ~LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY;
-                            if (!wasProviderReady) {
-                                // If provider was not previously ready, update status and UI flag.
-
-                                // Id would be valid only if the widget restore broadcast received.
-                                if (isIdValid) {
-                                    status |= LauncherAppWidgetInfo.FLAG_UI_NOT_READY;
-                                }
-                            }
-                            appWidgetInfo.restoreStatus = status;
-                        } else {
-                            Log.v(TAG, "Widget restore pending id=" + c.id
-                                    + " appWidgetId=" + appWidgetId
-                                    + " status =" + c.restoreFlag);
-                            appWidgetInfo = new LauncherAppWidgetInfo(appWidgetId, component);
-                            appWidgetInfo.restoreStatus = c.restoreFlag;
-
-                            tempPackageKey.update(component.getPackageName(), c.user);
-                            SessionInfo si = installingPkgs.get(tempPackageKey);
-                            Integer installProgress = si == null
-                                    ? null
-                                    : (int) (si.getProgress() * 100);
-
-                            if (c.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_RESTORE_STARTED)) {
-                                // Restore has started once.
-                            } else if (installProgress != null) {
-                                // App restore has started. Update the flag
-                                appWidgetInfo.restoreStatus
-                                        |= LauncherAppWidgetInfo.FLAG_RESTORE_STARTED;
-                            } else if (!isSafeMode) {
-                                c.markDeleted("Unrestored widget removed: " + component);
-                                return;
-                            }
-
-                            appWidgetInfo.installProgress =
-                                    installProgress == null ? 0 : installProgress;
-                        }
-                        if (appWidgetInfo.hasRestoreFlag(
-                                LauncherAppWidgetInfo.FLAG_DIRECT_CONFIG)) {
-                            appWidgetInfo.bindOptions = c.parseIntent();
-                        }
-
-                        c.applyCommonProperties(appWidgetInfo);
-                        appWidgetInfo.spanX = c.getSpanX();
-                        appWidgetInfo.spanY = c.getSpanY();
-                        appWidgetInfo.options = c.getOptions();
-                        appWidgetInfo.user = c.user;
-                        appWidgetInfo.sourceContainer = c.getAppWidgetSource();
-
-                        if (appWidgetInfo.spanX <= 0 || appWidgetInfo.spanY <= 0) {
-                            c.markDeleted("Widget has invalid size: "
-                                    + appWidgetInfo.spanX + "x" + appWidgetInfo.spanY);
-                            return;
-                        }
-                        LauncherAppWidgetProviderInfo widgetProviderInfo =
-                                widgetHelper.getLauncherAppWidgetInfo(appWidgetId);
-                        if (widgetProviderInfo != null
-                                && (appWidgetInfo.spanX < widgetProviderInfo.minSpanX
-                                || appWidgetInfo.spanY < widgetProviderInfo.minSpanY)) {
-                            FileLog.d(TAG, "Widget " + widgetProviderInfo.getComponent()
-                                    + " minSizes not meet: span=" + appWidgetInfo.spanX
-                                    + "x" + appWidgetInfo.spanY + " minSpan="
-                                    + widgetProviderInfo.minSpanX + "x"
-                                    + widgetProviderInfo.minSpanY);
-                            logWidgetInfo(mApp.getInvariantDeviceProfile(),
-                                    widgetProviderInfo);
-                        }
-                        if (!c.isOnWorkspaceOrHotseat()) {
-                            c.markDeleted("Widget found where container != CONTAINER_DESKTOP"
-                                    + "nor CONTAINER_HOTSEAT - ignoring!");
-                            return;
-                        }
-
-                        if (!customWidget) {
-                            String providerName = appWidgetInfo.providerName.flattenToString();
-                            if (!providerName.equals(savedProvider)
-                                    || (appWidgetInfo.restoreStatus != c.restoreFlag)) {
-                                c.updater()
-                                        .put(Favorites.APPWIDGET_PROVIDER,
-                                                providerName)
-                                        .put(Favorites.RESTORED,
-                                                appWidgetInfo.restoreStatus)
-                                        .commit();
-                            }
-                        }
-
-                        if (appWidgetInfo.restoreStatus
-                                != LauncherAppWidgetInfo.RESTORE_COMPLETED) {
-                            appWidgetInfo.pendingItemInfo = WidgetsModel.newPendingItemInfo(
-                                    mApp.getContext(),
-                                    appWidgetInfo.providerName,
-                                    appWidgetInfo.user);
-                            mIconCache.getTitleAndIconForApp(
-                                    appWidgetInfo.pendingItemInfo, false);
-                        }
-
-                        c.checkAndAddItem(appWidgetInfo, mBgDataModel);
-                    }
-                    break;
+                if (info.usingLowResIcon() && info.itemType == Favorites.ITEM_TYPE_APPLICATION
+                        && verifiers.stream().anyMatch(it -> it.isItemInPreview(info.rank))) {
+                    mIconCache.getTitleAndIcon(info, false);
+                }
             }
-        } catch (Exception e) {
-            Log.e(TAG, "Desktop items loading interrupted", e);
         }
     }
 
@@ -940,6 +633,8 @@
         mBgAllAppsList.clear();
 
         List<IconRequestInfo<AppInfo>> iconRequestInfos = new ArrayList<>();
+        boolean isWorkProfileQuiet = false;
+        boolean isPrivateProfileQuiet = false;
         for (UserHandle user : profiles) {
             // Query for the set of apps
             final List<LauncherActivityInfo> apps = mLauncherApps.getActivityList(null, user);
@@ -949,10 +644,32 @@
                 return allActivityList;
             }
             boolean quietMode = mUserManagerState.isUserQuiet(user);
+
+            if (Flags.enablePrivateSpace()) {
+                if (mUserCache.getUserInfo(user).isWork()) {
+                    isWorkProfileQuiet = quietMode;
+                } else if (mUserCache.getUserInfo(user).isPrivate()) {
+                    isPrivateProfileQuiet = quietMode;
+                }
+            }
             // Create the ApplicationInfos
             for (int i = 0; i < apps.size(); i++) {
                 LauncherActivityInfo app = apps.get(i);
                 AppInfo appInfo = new AppInfo(app, user, quietMode);
+                if (enableSupportForArchiving() && app.getApplicationInfo().isArchived) {
+                    // For archived apps, include progress info in case there is a pending
+                    // install session post restart of device.
+                    String appPackageName = app.getApplicationInfo().packageName;
+                    SessionInfo si = mInstallingPkgsCached != null ? mInstallingPkgsCached.get(
+                            new PackageUserKey(appPackageName, user))
+                            : mSessionHelper.getActiveSessionInfo(user,
+                                    appPackageName);
+                    if (si != null) {
+                        appInfo.runtimeStatusFlags |= FLAG_INSTALL_SESSION_ACTIVE;
+                        appInfo.setProgressLevel((int) (si.getProgress() * 100),
+                                PackageInstallInfo.STATUS_INSTALLING);
+                    }
+                }
 
                 iconRequestInfos.add(new IconRequestInfo<>(
                         appInfo, app, /* useLowResIcon= */ false));
@@ -990,8 +707,13 @@
             Trace.endSection();
         }
 
-        mBgAllAppsList.setFlags(FLAG_QUIET_MODE_ENABLED,
-                mUserManagerState.isAnyProfileQuietModeEnabled());
+        if (Flags.enablePrivateSpace()) {
+            mBgAllAppsList.setFlags(FLAG_WORK_PROFILE_QUIET_MODE_ENABLED, isWorkProfileQuiet);
+            mBgAllAppsList.setFlags(FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED, isPrivateProfileQuiet);
+        } else {
+            mBgAllAppsList.setFlags(FLAG_QUIET_MODE_ENABLED,
+                    mUserManagerState.isAnyProfileQuietModeEnabled());
+        }
         mBgAllAppsList.setFlags(FLAG_HAS_SHORTCUT_PERMISSION,
                 hasShortcutsPermission(mApp.getContext()));
         mBgAllAppsList.setFlags(FLAG_QUIET_MODE_CHANGE_PERMISSION,
@@ -1041,52 +763,6 @@
                 && (provider.provider.getPackageName() != null);
     }
 
-    @SuppressLint("NewApi") // Already added API check.
-    private static void logWidgetInfo(InvariantDeviceProfile idp,
-            LauncherAppWidgetProviderInfo widgetProviderInfo) {
-        Point cellSize = new Point();
-        for (DeviceProfile deviceProfile : idp.supportedProfiles) {
-            deviceProfile.getCellSize(cellSize);
-            FileLog.d(TAG, "DeviceProfile available width: " + deviceProfile.availableWidthPx
-                    + ", available height: " + deviceProfile.availableHeightPx
-                    + ", cellLayoutBorderSpacePx Horizontal: "
-                    + deviceProfile.cellLayoutBorderSpacePx.x
-                    + ", cellLayoutBorderSpacePx Vertical: "
-                    + deviceProfile.cellLayoutBorderSpacePx.y
-                    + ", cellSize: " + cellSize);
-        }
-
-        StringBuilder widgetDimension = new StringBuilder();
-        widgetDimension.append("Widget dimensions:\n")
-                .append("minResizeWidth: ")
-                .append(widgetProviderInfo.minResizeWidth)
-                .append("\n")
-                .append("minResizeHeight: ")
-                .append(widgetProviderInfo.minResizeHeight)
-                .append("\n")
-                .append("defaultWidth: ")
-                .append(widgetProviderInfo.minWidth)
-                .append("\n")
-                .append("defaultHeight: ")
-                .append(widgetProviderInfo.minHeight)
-                .append("\n");
-        if (Utilities.ATLEAST_S) {
-            widgetDimension.append("targetCellWidth: ")
-                    .append(widgetProviderInfo.targetCellWidth)
-                    .append("\n")
-                    .append("targetCellHeight: ")
-                    .append(widgetProviderInfo.targetCellHeight)
-                    .append("\n")
-                    .append("maxResizeWidth: ")
-                    .append(widgetProviderInfo.maxResizeWidth)
-                    .append("\n")
-                    .append("maxResizeHeight: ")
-                    .append(widgetProviderInfo.maxResizeHeight)
-                    .append("\n");
-        }
-        FileLog.d(TAG, widgetDimension.toString());
-    }
-
     private static void logASplit(String label) {
         if (DEBUG) {
             Log.d(TAG, label);
diff --git a/src/com/android/launcher3/model/ModelDbController.java b/src/com/android/launcher3/model/ModelDbController.java
index e10e72d..6c64713 100644
--- a/src/com/android/launcher3/model/ModelDbController.java
+++ b/src/com/android/launcher3/model/ModelDbController.java
@@ -19,6 +19,7 @@
 import static android.util.Base64.NO_WRAP;
 
 import static com.android.launcher3.DefaultLayoutParser.RES_PARTNER_DEFAULT_LAYOUT;
+import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE;
 import static com.android.launcher3.LauncherSettings.Favorites.addTableToDb;
 import static com.android.launcher3.LauncherSettings.Settings.LAYOUT_DIGEST_KEY;
 import static com.android.launcher3.LauncherSettings.Settings.LAYOUT_DIGEST_LABEL;
@@ -48,12 +49,14 @@
 import android.util.Log;
 import android.util.Xml;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.WorkerThread;
 
 import com.android.launcher3.AutoInstallsLayout;
 import com.android.launcher3.AutoInstallsLayout.SourceResources;
 import com.android.launcher3.ConstantItem;
 import com.android.launcher3.DefaultLayoutParser;
+import com.android.launcher3.EncryptionType;
 import com.android.launcher3.InvariantDeviceProfile;
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.LauncherFiles;
@@ -61,6 +64,9 @@
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.LauncherSettings.Favorites;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger;
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger.RestoreError;
+import com.android.launcher3.logging.FileLog;
 import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.provider.LauncherDbUtils;
 import com.android.launcher3.provider.LauncherDbUtils.SQLiteTransaction;
@@ -259,9 +265,13 @@
     /**
      * Migrates the DB if needed. If the migration failed, it clears the DB.
      */
-    public void tryMigrateDB() {
+    public void tryMigrateDB(@Nullable LauncherRestoreEventLogger restoreEventLogger) {
+
         if (!migrateGridIfNeeded()) {
-            Log.d(TAG, "Migration failed: resetting launcher database");
+            if (restoreEventLogger != null) {
+                sendMetricsForFailedMigration(restoreEventLogger, getDb());
+            }
+            FileLog.d(TAG, "Migration failed: resetting launcher database");
             createEmptyDB();
             LauncherPrefs.get(mContext).putSync(
                     getEmptyDbCreatedKey(mOpenHelper.getDatabaseName()).to(true));
@@ -281,15 +291,17 @@
         createDbIfNotExists();
         if (LauncherPrefs.get(mContext).get(getEmptyDbCreatedKey())) {
             // If we have already create a new DB, ignore migration
+            Log.d(TAG, "migrateGridIfNeeded: new DB already created, skipping migration");
             return false;
         }
         InvariantDeviceProfile idp = LauncherAppState.getIDP(mContext);
         if (!GridSizeMigrationUtil.needsToMigrate(mContext, idp)) {
+            Log.d(TAG, "migrateGridIfNeeded: no grid migration needed");
             return true;
         }
         String targetDbName = new DeviceGridState(idp).getDbFile();
         if (TextUtils.equals(targetDbName, mOpenHelper.getDatabaseName())) {
-            Log.e(TAG, "migrateGridIfNeeded - target db is same as current: " + targetDbName);
+            Log.e(TAG, "migrateGridIfNeeded: target db is same as current: " + targetDbName);
             return false;
         }
         DatabaseHelper oldHelper = mOpenHelper;
@@ -298,6 +310,9 @@
         try {
             return GridSizeMigrationUtil.migrateGridIfNeeded(mContext, idp, mOpenHelper,
                    oldHelper.getWritableDatabase());
+        } catch (Exception e) {
+            FileLog.e(TAG, "Failed to migrate grid", e);
+            return false;
         } finally {
             if (mOpenHelper != oldHelper) {
                 oldHelper.close();
@@ -306,6 +321,30 @@
     }
 
     /**
+     * In case of migration failure, report metrics for the count of each itemType in the DB.
+     * @param restoreEventLogger logger used to report Launcher restore metrics
+     */
+    private void sendMetricsForFailedMigration(LauncherRestoreEventLogger restoreEventLogger,
+            SQLiteDatabase db) {
+        try (Cursor cursor = db.rawQuery(
+                "SELECT itemType, COUNT(*) AS count FROM favorites GROUP BY itemType",
+                null
+        )) {
+            if (cursor.moveToFirst()) {
+                do {
+                    restoreEventLogger.logFavoritesItemsRestoreFailed(
+                            cursor.getInt(cursor.getColumnIndexOrThrow(ITEM_TYPE)),
+                            cursor.getInt(cursor.getColumnIndexOrThrow("count")),
+                            RestoreError.GRID_MIGRATION_FAILURE
+                    );
+                } while (cursor.moveToNext());
+            }
+        } catch (Exception e) {
+            FileLog.e(TAG, "sendMetricsForFailedDb: Error reading from database", e);
+        }
+    }
+
+    /**
      * Returns the underlying model database
      */
     public SQLiteDatabase getDb() {
@@ -499,11 +538,11 @@
     private ConstantItem<Boolean> getEmptyDbCreatedKey(String dbName) {
         if (mContext instanceof SandboxContext) {
             return LauncherPrefs.nonRestorableItem(EMPTY_DATABASE_CREATED,
-                    false /* default value */, false /* boot aware */);
+                    false /* default value */, EncryptionType.ENCRYPTED);
         }
         String key = TextUtils.equals(dbName, LauncherFiles.LAUNCHER_DB)
                 ? EMPTY_DATABASE_CREATED : EMPTY_DATABASE_CREATED + "@" + dbName;
-        return LauncherPrefs.backedUpItem(key, false /* default value */, false /* boot aware */);
+        return LauncherPrefs.backedUpItem(key, false /* default value */, EncryptionType.ENCRYPTED);
     }
 
     /**
diff --git a/src/com/android/launcher3/model/ModelLauncherCallbacks.kt b/src/com/android/launcher3/model/ModelLauncherCallbacks.kt
new file mode 100644
index 0000000..b12b2bc
--- /dev/null
+++ b/src/com/android/launcher3/model/ModelLauncherCallbacks.kt
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.model
+
+import android.content.pm.LauncherApps
+import android.content.pm.ShortcutInfo
+import android.os.UserHandle
+import android.text.TextUtils
+import com.android.launcher3.LauncherModel.ModelUpdateTask
+import com.android.launcher3.logging.FileLog
+import com.android.launcher3.model.PackageUpdatedTask.OP_ADD
+import com.android.launcher3.model.PackageUpdatedTask.OP_REMOVE
+import com.android.launcher3.model.PackageUpdatedTask.OP_SUSPEND
+import com.android.launcher3.model.PackageUpdatedTask.OP_UNAVAILABLE
+import com.android.launcher3.model.PackageUpdatedTask.OP_UNSUSPEND
+import com.android.launcher3.model.PackageUpdatedTask.OP_UPDATE
+import java.util.function.Consumer
+
+/**
+ * Implementation of {@link LauncherApps#Callbacks} which converts various events to corresponding
+ * model tasks
+ */
+class ModelLauncherCallbacks(private var taskExecutor: Consumer<ModelUpdateTask>) :
+    LauncherApps.Callback() {
+
+    override fun onPackageAdded(packageName: String, user: UserHandle) {
+        taskExecutor.accept(PackageUpdatedTask(OP_ADD, user, packageName))
+    }
+
+    override fun onPackageChanged(packageName: String, user: UserHandle) {
+        taskExecutor.accept(PackageUpdatedTask(OP_UPDATE, user, packageName))
+    }
+
+    override fun onPackageLoadingProgressChanged(
+        packageName: String,
+        user: UserHandle,
+        progress: Float
+    ) {
+        taskExecutor.accept(PackageIncrementalDownloadUpdatedTask(packageName, user, progress))
+    }
+
+    override fun onPackageRemoved(packageName: String, user: UserHandle) {
+        FileLog.d(TAG, "package removed received $packageName")
+        taskExecutor.accept(PackageUpdatedTask(OP_REMOVE, user, packageName))
+    }
+
+    override fun onPackagesAvailable(
+        vararg packageNames: String,
+        user: UserHandle,
+        replacing: Boolean
+    ) {
+        taskExecutor.accept(PackageUpdatedTask(OP_UPDATE, user, *packageNames))
+    }
+
+    override fun onPackagesSuspended(vararg packageNames: String, user: UserHandle) {
+        taskExecutor.accept(PackageUpdatedTask(OP_SUSPEND, user, *packageNames))
+    }
+
+    override fun onPackagesUnavailable(
+        packageNames: Array<String>,
+        user: UserHandle,
+        replacing: Boolean
+    ) {
+        if (!replacing) {
+            taskExecutor.accept(PackageUpdatedTask(OP_UNAVAILABLE, user, *packageNames))
+        }
+    }
+
+    override fun onPackagesUnsuspended(vararg packageNames: String, user: UserHandle) {
+        taskExecutor.accept(PackageUpdatedTask(OP_UNSUSPEND, user, *packageNames))
+    }
+
+    override fun onShortcutsChanged(
+        packageName: String,
+        shortcuts: MutableList<ShortcutInfo>,
+        user: UserHandle
+    ) {
+        taskExecutor.accept(ShortcutsChangedTask(packageName, shortcuts, user, true))
+    }
+
+    fun onPackagesRemoved(user: UserHandle, packages: List<String>) {
+        FileLog.d(TAG, "package removed received " + TextUtils.join(",", packages))
+        taskExecutor.accept(PackageUpdatedTask(OP_REMOVE, user, *packages.toTypedArray()))
+    }
+
+    companion object {
+        private const val TAG = "LauncherAppsCallbackImpl"
+    }
+}
diff --git a/src/com/android/launcher3/model/ModelWriter.java b/src/com/android/launcher3/model/ModelWriter.java
index 2358a9f..55093a3 100644
--- a/src/com/android/launcher3/model/ModelWriter.java
+++ b/src/com/android/launcher3/model/ModelWriter.java
@@ -28,7 +28,6 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.LauncherModel;
 import com.android.launcher3.LauncherModel.CallbackTask;
 import com.android.launcher3.LauncherSettings.Favorites;
@@ -74,7 +73,6 @@
     @Nullable
     private final Callbacks mOwner;
 
-    private final boolean mHasVerticalHotseat;
     private final boolean mVerifyChanges;
 
     // Keep track of delete operations that occur when an Undo option is present; we may not commit.
@@ -83,12 +81,10 @@
     private final CellPosMapper mCellPosMapper;
 
     public ModelWriter(Context context, LauncherModel model, BgDataModel dataModel,
-            boolean hasVerticalHotseat, boolean verifyChanges, CellPosMapper cellPosMapper,
-            @Nullable Callbacks owner) {
+            boolean verifyChanges, CellPosMapper cellPosMapper, @Nullable Callbacks owner) {
         mContext = context;
         mModel = model;
         mBgDataModel = dataModel;
-        mHasVerticalHotseat = hasVerticalHotseat;
         mVerifyChanges = verifyChanges;
         mOwner = owner;
         mCellPosMapper = cellPosMapper;
@@ -102,14 +98,8 @@
         item.container = container;
         item.cellX = modelPos.cellX;
         item.cellY = modelPos.cellY;
-        // We store hotseat items in canonical form which is this orientation invariant position
-        // in the hotseat
-        if (container == Favorites.CONTAINER_HOTSEAT) {
-            item.screenId = mHasVerticalHotseat
-                    ? LauncherAppState.getIDP(mContext).numDatabaseHotseatIcons - cellY - 1 : cellX;
-        } else {
-            item.screenId = modelPos.screenId;
-        }
+        item.screenId = modelPos.screenId;
+
     }
 
     /**
diff --git a/src/com/android/launcher3/model/PackageInstallStateChangedTask.java b/src/com/android/launcher3/model/PackageInstallStateChangedTask.java
index 76a87ed..2457a42 100644
--- a/src/com/android/launcher3/model/PackageInstallStateChangedTask.java
+++ b/src/com/android/launcher3/model/PackageInstallStateChangedTask.java
@@ -52,7 +52,8 @@
                 ApplicationInfo ai = app.getContext()
                         .getPackageManager().getApplicationInfo(mInstallInfo.packageName, 0);
                 if (InstantAppResolver.newInstance(app.getContext()).isInstantApp(ai)) {
-                    app.getModel().onPackageAdded(ai.packageName, mInstallInfo.user);
+                    app.getModel().newModelCallbacks()
+                            .onPackageAdded(ai.packageName, mInstallInfo.user);
                 }
             } catch (PackageManager.NameNotFoundException e) {
                 // Ignore
diff --git a/src/com/android/launcher3/model/PackageUpdatedTask.java b/src/com/android/launcher3/model/PackageUpdatedTask.java
index 2591550..069e96b 100644
--- a/src/com/android/launcher3/model/PackageUpdatedTask.java
+++ b/src/com/android/launcher3/model/PackageUpdatedTask.java
@@ -15,7 +15,11 @@
  */
 package com.android.launcher3.model;
 
+import static com.android.launcher3.Flags.enableSupportForArchiving;
+import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED;
 import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_QUIET_MODE_ENABLED;
+import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_WORK_PROFILE_QUIET_MODE_ENABLED;
+import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_ARCHIVED;
 import static com.android.launcher3.model.data.WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON;
 import static com.android.launcher3.model.data.WorkspaceItemInfo.FLAG_RESTORED_ICON;
 
@@ -31,7 +35,7 @@
 
 import androidx.annotation.NonNull;
 
-import com.android.launcher3.Launcher;
+import com.android.launcher3.Flags;
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.LauncherSettings.Favorites;
@@ -44,7 +48,6 @@
 import com.android.launcher3.pm.PackageInstallInfo;
 import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.shortcuts.ShortcutRequest;
-import com.android.launcher3.testing.shared.TestProtocol;
 import com.android.launcher3.util.FlagOp;
 import com.android.launcher3.util.IntSet;
 import com.android.launcher3.util.ItemInfoMatcher;
@@ -66,9 +69,11 @@
  * Handles updates due to changes in package manager (app installed/updated/removed)
  * or when a user availability changes.
  */
+@SuppressWarnings("NewApi")
 public class PackageUpdatedTask extends BaseModelUpdateTask {
 
-    private static boolean DEBUG = false;
+    // TODO(b/290090023): Set to false after root causing is done.
+    private static final boolean DEBUG = true;
     private static final String TAG = "PackageUpdatedTask";
 
     public static final int OP_NONE = 0;
@@ -133,14 +138,6 @@
                         iconCache.updateIconsForPkg(packages[i], mUser);
                         activitiesLists.put(
                                 packages[i], appsList.updatePackage(context, packages[i], mUser));
-
-                        // The update may have changed which shortcuts/widgets are available.
-                        // Refresh the widgets for the package if we have an activity running.
-                        Launcher launcher = Launcher.ACTIVITY_TRACKER.getCreatedActivity();
-                        if (launcher != null) {
-                            launcher.refreshAndBindWidgetsForPackageUser(
-                                    new PackageUserKey(packages[i], mUser));
-                        }
                     }
                 }
                 // Since package was just updated, the target must be available now.
@@ -148,7 +145,7 @@
                 break;
             case OP_REMOVE: {
                 for (int i = 0; i < N; i++) {
-                    FileLog.d(TAG, "Removing app icon" + packages[i]);
+                    FileLog.d(TAG, "Removing app icon: " + packages[i]);
                     iconCache.removeIconsForPkg(packages[i], mUser);
                 }
                 // Fall through
@@ -169,14 +166,24 @@
                 break;
             case OP_USER_AVAILABILITY_CHANGE: {
                 UserManagerState ums = new UserManagerState();
-                ums.init(UserCache.INSTANCE.get(context),
-                        context.getSystemService(UserManager.class));
+                UserManager userManager = context.getSystemService(UserManager.class);
+                ums.init(UserCache.INSTANCE.get(context), userManager);
+                boolean isUserQuiet =  ums.isUserQuiet(mUser);
                 flagOp = FlagOp.NO_OP.setFlag(
-                        WorkspaceItemInfo.FLAG_DISABLED_QUIET_USER, ums.isUserQuiet(mUser));
+                        WorkspaceItemInfo.FLAG_DISABLED_QUIET_USER, isUserQuiet);
                 appsList.updateDisabledFlags(matcher, flagOp);
 
-                // We are not synchronizing here, as int operations are atomic
-                appsList.setFlags(FLAG_QUIET_MODE_ENABLED, ums.isAnyProfileQuietModeEnabled());
+                if (Flags.enablePrivateSpace()) {
+                    UserCache userCache = UserCache.INSTANCE.get(context);
+                    if (userCache.getUserInfo(mUser).isWork()) {
+                        appsList.setFlags(FLAG_WORK_PROFILE_QUIET_MODE_ENABLED, isUserQuiet);
+                    } else if (userCache.getUserInfo(mUser).isPrivate()) {
+                        appsList.setFlags(FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED, isUserQuiet);
+                    }
+                } else {
+                    // We are not synchronizing here, as int operations are atomic
+                    appsList.setFlags(FLAG_QUIET_MODE_ENABLED, ums.isAnyProfileQuietModeEnabled());
+                }
                 break;
             }
             default:
@@ -265,6 +272,16 @@
                                             : PackageManagerHelper.getLoadingProgress(
                                                     activities.get(0)),
                                     PackageInstallInfo.STATUS_INSTALLED_DOWNLOADING);
+                            // In case an app is archived, we need to make sure that archived state
+                            // in WorkspaceItemInfo is refreshed.
+                            if (enableSupportForArchiving() && !activities.isEmpty()) {
+                                boolean newArchivalState = activities.get(
+                                        0).getActivityInfo().isArchived;
+                                if (newArchivalState != si.isArchived()) {
+                                    si.runtimeStatusFlags ^= FLAG_ARCHIVED;
+                                    infoUpdated = true;
+                                }
+                            }
                             if (si.itemType == Favorites.ITEM_TYPE_APPLICATION) {
                                 iconCache.getTitleAndIcon(si, si.usingLowResIcon());
                                 infoUpdated = true;
diff --git a/src/com/android/launcher3/model/SdCardAvailableReceiver.java b/src/com/android/launcher3/model/SdCardAvailableReceiver.java
index 3798575..8cfa3aa 100644
--- a/src/com/android/launcher3/model/SdCardAvailableReceiver.java
+++ b/src/com/android/launcher3/model/SdCardAvailableReceiver.java
@@ -67,11 +67,10 @@
                 }
             }
             if (!packagesRemoved.isEmpty()) {
-                mModel.onPackagesRemoved(user,
-                        packagesRemoved.toArray(new String[packagesRemoved.size()]));
+                mModel.newModelCallbacks().onPackagesRemoved(user, packagesRemoved);
             }
             if (!packagesUnavailable.isEmpty()) {
-                mModel.onPackagesUnavailable(
+                mModel.newModelCallbacks().onPackagesUnavailable(
                         packagesUnavailable.toArray(new String[packagesUnavailable.size()]),
                         user, false);
             }
diff --git a/src/com/android/launcher3/model/UserManagerState.java b/src/com/android/launcher3/model/UserManagerState.java
index 97a5905..720f08e 100644
--- a/src/com/android/launcher3/model/UserManagerState.java
+++ b/src/com/android/launcher3/model/UserManagerState.java
@@ -61,6 +61,9 @@
 
     /**
      * Returns true if any user profile has quiet mode enabled.
+     * <p>
+     * Do not use this for determining if a specific profile has quiet mode enabled, as their can
+     * be more than one profile in quiet mode.
      */
     public boolean isAnyProfileQuietModeEnabled() {
         for (int i = mQuietUsersHashCodeMap.size() - 1; i >= 0; i--) {
diff --git a/src/com/android/launcher3/model/WorkspaceItemProcessor.kt b/src/com/android/launcher3/model/WorkspaceItemProcessor.kt
new file mode 100644
index 0000000..f98cab6
--- /dev/null
+++ b/src/com/android/launcher3/model/WorkspaceItemProcessor.kt
@@ -0,0 +1,548 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.model
+
+import android.annotation.SuppressLint
+import android.appwidget.AppWidgetProviderInfo
+import android.content.ComponentName
+import android.content.Intent
+import android.content.pm.LauncherApps
+import android.content.pm.PackageInstaller
+import android.content.pm.ShortcutInfo
+import android.graphics.Point
+import android.text.TextUtils
+import android.util.Log
+import android.util.LongSparseArray
+import androidx.annotation.VisibleForTesting
+import com.android.launcher3.Flags
+import com.android.launcher3.InvariantDeviceProfile
+import com.android.launcher3.LauncherAppState
+import com.android.launcher3.LauncherSettings.Favorites
+import com.android.launcher3.Utilities
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger.RestoreError
+import com.android.launcher3.logging.FileLog
+import com.android.launcher3.model.data.IconRequestInfo
+import com.android.launcher3.model.data.ItemInfoWithIcon
+import com.android.launcher3.model.data.LauncherAppWidgetInfo
+import com.android.launcher3.model.data.WorkspaceItemInfo
+import com.android.launcher3.pm.PackageInstallInfo
+import com.android.launcher3.shortcuts.ShortcutKey
+import com.android.launcher3.util.ComponentKey
+import com.android.launcher3.util.PackageManagerHelper
+import com.android.launcher3.util.PackageUserKey
+import com.android.launcher3.widget.LauncherAppWidgetProviderInfo
+import com.android.launcher3.widget.WidgetInflater
+import com.android.launcher3.widget.util.WidgetSizes
+
+/**
+ * This items is used by LoaderTask to process items that have been loaded from the Launcher's DB.
+ * This data, stored in the Favorites table, needs to be processed in order to be shown on the Home
+ * Page.
+ *
+ * This class processes each of those items: App Shortcuts, Widgets, Folders, etc., one at a time.
+ */
+class WorkspaceItemProcessor(
+    private val c: LoaderCursor,
+    private val memoryLogger: LoaderMemoryLogger?,
+    private val userManagerState: UserManagerState,
+    private val launcherApps: LauncherApps,
+    private val pendingPackages: MutableSet<PackageUserKey>,
+    private val shortcutKeyToPinnedShortcuts: Map<ShortcutKey, ShortcutInfo>,
+    private val app: LauncherAppState,
+    private val bgDataModel: BgDataModel,
+    private val widgetProvidersMap: MutableMap<ComponentKey, AppWidgetProviderInfo?>,
+    private val installingPkgs: HashMap<PackageUserKey, PackageInstaller.SessionInfo>,
+    private val isSdCardReady: Boolean,
+    private val widgetInflater: WidgetInflater,
+    private val pmHelper: PackageManagerHelper,
+    private val iconRequestInfos: MutableList<IconRequestInfo<WorkspaceItemInfo>>,
+    private val unlockedUsers: LongSparseArray<Boolean>,
+    private val allDeepShortcuts: MutableList<ShortcutInfo>
+) {
+
+    private val isSafeMode = app.isSafeModeEnabled
+    private val tempPackageKey = PackageUserKey(null, null)
+    private val iconCache = app.iconCache
+
+    /**
+     * This is the entry point for processing 1 workspace item. This method is like the midfielder
+     * that delegates the actual processing to either processAppShortcut, processFolder, or
+     * processWidget depending on what type of item is being processed.
+     *
+     * All the parameters are expected to be shared between many repeated calls of this method, one
+     * for each workspace item.
+     */
+    fun processItem() {
+        try {
+            if (c.user == null) {
+                // User has been deleted, remove the item.
+                c.markDeleted("User has been deleted", RestoreError.PROFILE_DELETED)
+                return
+            }
+            when (c.itemType) {
+                Favorites.ITEM_TYPE_APPLICATION,
+                Favorites.ITEM_TYPE_DEEP_SHORTCUT -> processAppOrDeepShortcut()
+                Favorites.ITEM_TYPE_FOLDER,
+                Favorites.ITEM_TYPE_APP_PAIR -> processFolderOrAppPair()
+                Favorites.ITEM_TYPE_APPWIDGET,
+                Favorites.ITEM_TYPE_CUSTOM_APPWIDGET -> processWidget()
+            }
+        } catch (e: Exception) {
+            Log.e(TAG, "Desktop items loading interrupted", e)
+        }
+    }
+
+    /**
+     * This method verifies that an app shortcut should be shown on the home screen, updates the
+     * database accordingly, formats the data in such a way that it is ready to be added to the data
+     * model, and then adds it to the launcher’s data model.
+     *
+     * In this method, verification means that an an app shortcut database entry is required to:
+     * Have a Launch Intent. This is how the app component symbolized by the shortcut is launched.
+     * Have a Package Name. Not be in a funky “Restoring, but never actually restored” state. Not
+     * have null or missing ShortcutInfos or ItemInfos in other data models.
+     *
+     * If any of the above are found to be true, the database entry is deleted, and not shown on the
+     * user’s home screen. When an app is verified, it is marked as restored, meaning that the app
+     * is viable to show on the home screen.
+     *
+     * In order to accommodate different types and versions of App Shortcuts, different properties
+     * and flags are set on the ItemInfo objects that are added to the data model. For example,
+     * icons that are not a part of the workspace or hotseat are marked as using low resolution icon
+     * bitmaps. Currently suspended app icons are marked as such. Installing packages are also
+     * marked as such. Lastly, after applying common properties to the ItemInfo, it is added to the
+     * data model to be bound to the launcher’s data model.
+     */
+    @SuppressLint("NewApi")
+    @VisibleForTesting
+    fun processAppOrDeepShortcut() {
+        var allowMissingTarget = false
+        var intent = c.parseIntent()
+        if (intent == null) {
+            c.markDeleted("Invalid or null intent", RestoreError.MISSING_INFO)
+            return
+        }
+        var disabledState =
+            if (userManagerState.isUserQuiet(c.serialNumber))
+                WorkspaceItemInfo.FLAG_DISABLED_QUIET_USER
+            else 0
+        var cn = intent.component
+        val targetPkg = if (cn == null) intent.getPackage() else cn.packageName
+        if (TextUtils.isEmpty(targetPkg)) {
+            c.markDeleted("Shortcuts can't have null package", RestoreError.MISSING_INFO)
+            return
+        }
+
+        // If there is no target package, it's an implicit intent
+        // (legacy shortcut) which is always valid
+        var validTarget =
+            (TextUtils.isEmpty(targetPkg) || launcherApps.isPackageEnabled(targetPkg, c.user))
+
+        // If it's a deep shortcut, we'll use pinned shortcuts to restore it
+        if (cn != null && validTarget && (c.itemType != Favorites.ITEM_TYPE_DEEP_SHORTCUT)) {
+            // If the apk is present and the shortcut points to a specific component.
+
+            // If the component is already present
+            if (launcherApps.isActivityEnabled(cn, c.user)) {
+                // no special handling necessary for this item
+                c.markRestored()
+            } else {
+                // Gracefully try to find a fallback activity.
+                intent = pmHelper.getAppLaunchIntent(targetPkg, c.user)
+                if (intent != null) {
+                    c.restoreFlag = 0
+                    c.updater().put(Favorites.INTENT, intent.toUri(0)).commit()
+                } else {
+                    c.markDeleted(
+                        "Intent null, unable to find a launch target",
+                        RestoreError.MISSING_INFO
+                    )
+                    return
+                }
+            }
+        }
+        // else if cn == null => can't infer much, leave it
+        // else if !validPkg => could be restored icon or missing sd-card
+        when {
+            !TextUtils.isEmpty(targetPkg) && !validTarget -> {
+                // Points to a valid app (superset of cn != null) but the apk
+                // is not available.
+                when {
+                    c.restoreFlag != 0 -> {
+                        // Package is not yet available but might be
+                        // installed later.
+                        FileLog.d(TAG, "package not yet restored: $targetPkg")
+                        tempPackageKey.update(targetPkg, c.user)
+                        when {
+                            c.hasRestoreFlag(WorkspaceItemInfo.FLAG_RESTORE_STARTED) -> {
+                                // Restore has started once.
+                            }
+                            installingPkgs.containsKey(tempPackageKey) -> {
+                                // App restore has started. Update the flag
+                                c.restoreFlag =
+                                    c.restoreFlag or WorkspaceItemInfo.FLAG_RESTORE_STARTED
+                                FileLog.d(TAG, "restore started for installing app: $targetPkg")
+                                c.updater().put(Favorites.RESTORED, c.restoreFlag).commit()
+                            }
+                            else -> {
+                                c.markDeleted(
+                                    "removing app that is not restored and not installing. package: $targetPkg",
+                                    RestoreError.APP_NOT_INSTALLED
+                                )
+                                return
+                            }
+                        }
+                    }
+                    pmHelper.isAppOnSdcard(targetPkg!!, c.user) -> {
+                        // Package is present but not available.
+                        disabledState =
+                            disabledState or WorkspaceItemInfo.FLAG_DISABLED_NOT_AVAILABLE
+                        // Add the icon on the workspace anyway.
+                        allowMissingTarget = true
+                    }
+                    !isSdCardReady -> {
+                        // SdCard is not ready yet. Package might get available,
+                        // once it is ready.
+                        Log.d(TAG, "Missing package, will check later: $targetPkg")
+                        pendingPackages.add(PackageUserKey(targetPkg, c.user))
+                        // Add the icon on the workspace anyway.
+                        allowMissingTarget = true
+                    }
+                    else -> {
+                        // Do not wait for external media load anymore.
+                        c.markDeleted(
+                            "Invalid package removed: $targetPkg",
+                            RestoreError.APP_NOT_INSTALLED
+                        )
+                        return
+                    }
+                }
+            }
+        }
+        if (c.restoreFlag and WorkspaceItemInfo.FLAG_SUPPORTS_WEB_UI != 0) {
+            validTarget = false
+        }
+        if (validTarget) {
+            // The shortcut points to a valid target (either no target
+            // or something which is ready to be used)
+            c.markRestored()
+        }
+        val useLowResIcon = !c.isOnWorkspaceOrHotseat
+        val info: WorkspaceItemInfo?
+        when {
+            c.restoreFlag != 0 -> {
+                // Already verified above that user is same as default user
+                info = c.getRestoredItemInfo(intent)
+            }
+            c.itemType == Favorites.ITEM_TYPE_APPLICATION ->
+                info = c.getAppShortcutInfo(intent, allowMissingTarget, useLowResIcon, false)
+            c.itemType == Favorites.ITEM_TYPE_DEEP_SHORTCUT -> {
+                val key = ShortcutKey.fromIntent(intent, c.user)
+                if (unlockedUsers[c.serialNumber]) {
+                    val pinnedShortcut = shortcutKeyToPinnedShortcuts[key]
+                    if (pinnedShortcut == null) {
+                        // The shortcut is no longer valid.
+                        c.markDeleted(
+                            "Pinned shortcut not found from request. package=${key.packageName}, user=${c.user}",
+                            RestoreError.SHORTCUT_NOT_FOUND
+                        )
+                        return
+                    }
+                    info = WorkspaceItemInfo(pinnedShortcut, app.context)
+                    // If the pinned deep shortcut is no longer published,
+                    // use the last saved icon instead of the default.
+                    iconCache.getShortcutIcon(info, pinnedShortcut, c::loadIcon)
+                    if (pmHelper.isAppSuspended(pinnedShortcut.getPackage(), info.user)) {
+                        info.runtimeStatusFlags =
+                            info.runtimeStatusFlags or ItemInfoWithIcon.FLAG_DISABLED_SUSPENDED
+                    }
+                    intent = info.getIntent()
+                    allDeepShortcuts.add(pinnedShortcut)
+                } else {
+                    // Create a shortcut info in disabled mode for now.
+                    info = c.loadSimpleWorkspaceItem()
+                    info.runtimeStatusFlags =
+                        info.runtimeStatusFlags or ItemInfoWithIcon.FLAG_DISABLED_LOCKED_USER
+                }
+            }
+            else -> { // item type == ITEM_TYPE_SHORTCUT
+                info = c.loadSimpleWorkspaceItem()
+
+                // Shortcuts are only available on the primary profile
+                if (!TextUtils.isEmpty(targetPkg) && pmHelper.isAppSuspended(targetPkg!!, c.user)) {
+                    disabledState = disabledState or ItemInfoWithIcon.FLAG_DISABLED_SUSPENDED
+                }
+                info.options = c.options
+
+                // App shortcuts that used to be automatically added to Launcher
+                // didn't always have the correct intent flags set, so do that here
+                if (
+                    intent.action != null &&
+                        intent.categories != null &&
+                        intent.action == Intent.ACTION_MAIN &&
+                        intent.categories.contains(Intent.CATEGORY_LAUNCHER)
+                ) {
+                    intent.addFlags(
+                        Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
+                    )
+                }
+            }
+        }
+        if (info != null) {
+            if (info.itemType != Favorites.ITEM_TYPE_DEEP_SHORTCUT) {
+                // Skip deep shortcuts; their title and icons have already been
+                // loaded above.
+                iconRequestInfos.add(c.createIconRequestInfo(info, useLowResIcon))
+            }
+            c.applyCommonProperties(info)
+            info.intent = intent
+            info.rank = c.rank
+            info.spanX = 1
+            info.spanY = 1
+            info.runtimeStatusFlags = info.runtimeStatusFlags or disabledState
+            if (isSafeMode && !PackageManagerHelper.isSystemApp(app.context, intent)) {
+                info.runtimeStatusFlags =
+                    info.runtimeStatusFlags or ItemInfoWithIcon.FLAG_DISABLED_SAFEMODE
+            }
+            val activityInfo = c.launcherActivityInfo
+            if (activityInfo != null) {
+                info.setProgressLevel(
+                    PackageManagerHelper.getLoadingProgress(activityInfo),
+                    PackageInstallInfo.STATUS_INSTALLED_DOWNLOADING
+                )
+            }
+            if (
+                (c.restoreFlag != 0 ||
+                    Flags.enableSupportForArchiving() &&
+                        activityInfo != null &&
+                        activityInfo.applicationInfo.isArchived) && !TextUtils.isEmpty(targetPkg)
+            ) {
+                tempPackageKey.update(targetPkg, c.user)
+                val si = installingPkgs[tempPackageKey]
+                if (si == null) {
+                    info.runtimeStatusFlags =
+                        info.runtimeStatusFlags and
+                            ItemInfoWithIcon.FLAG_INSTALL_SESSION_ACTIVE.inv()
+                } else if (
+                    activityInfo ==
+                        null // For archived apps, include progress info in case there is
+                    // a pending install session post restart of device.
+                    ||
+                        (Flags.enableSupportForArchiving() &&
+                            activityInfo.applicationInfo.isArchived)
+                ) {
+                    val installProgress = (si.getProgress() * 100).toInt()
+                    info.setProgressLevel(installProgress, PackageInstallInfo.STATUS_INSTALLING)
+                }
+            }
+            c.checkAndAddItem(info, bgDataModel, memoryLogger)
+        } else {
+            throw RuntimeException("Unexpected null WorkspaceItemInfo")
+        }
+    }
+
+    /**
+     * Loads the folder information from the database and formats it into a FolderInfo. Some of the
+     * processing for folder content items is done in LoaderTask after all the items in the
+     * workspace have been loaded. The loaded FolderInfos are stored in the BgDataModel.
+     */
+    @VisibleForTesting
+    fun processFolderOrAppPair() {
+        val folderInfo =
+            bgDataModel.findOrMakeFolder(c.id).apply {
+                c.applyCommonProperties(this)
+                itemType = c.itemType
+                // Do not trim the folder label, as is was set by the user.
+                title = c.getString(c.mTitleIndex)
+                spanX = 1
+                spanY = 1
+                options = c.options
+            }
+
+        // no special handling required for restored folders
+        c.markRestored()
+        c.checkAndAddItem(folderInfo, bgDataModel, memoryLogger)
+    }
+
+    /**
+     * This method, similar to processAppShortcut above, verifies that a widget should be shown on
+     * the home screen, updates the database accordingly, formats the data in such a way that it is
+     * ready to be added to the data model, and then adds it to the launcher’s data model.
+     *
+     * It verifies that: Widgets are not disabled due to the Launcher variety being of the `Go`
+     * type. Search Widgets have a package name. The app behind the widget is still installed on the
+     * device. The app behind the widget is not in a funky “Restoring, but never actually restored”
+     * state. The widget has a valid size. The widget is in the workspace or the hotseat. If any of
+     * the above are found to be true, the database entry is deleted, and the widget is not shown on
+     * the user’s home screen. When a widget is verified, it is marked as restored, meaning that the
+     * widget is viable to show on the home screen.
+     *
+     * Common properties are applied to the Widget’s Info object, and other information as well
+     * depending on the type of widget. Custom widgets are treated differently than non-custom
+     * widgets, installing / restoring widgets are treated differently, etc.
+     */
+    @VisibleForTesting
+    fun processWidget() {
+        val component = ComponentName.unflattenFromString(c.appWidgetProvider)!!
+        val appWidgetInfo = LauncherAppWidgetInfo(c.appWidgetId, component)
+        c.applyCommonProperties(appWidgetInfo)
+        appWidgetInfo.spanX = c.spanX
+        appWidgetInfo.spanY = c.spanY
+        appWidgetInfo.options = c.options
+        appWidgetInfo.user = c.user
+        appWidgetInfo.sourceContainer = c.appWidgetSource
+        appWidgetInfo.restoreStatus = c.restoreFlag
+        if (appWidgetInfo.spanX <= 0 || appWidgetInfo.spanY <= 0) {
+            c.markDeleted(
+                "Widget has invalid size: ${appWidgetInfo.spanX}x${appWidgetInfo.spanY}",
+                RestoreError.INVALID_LOCATION
+            )
+            return
+        }
+        if (!c.isOnWorkspaceOrHotseat) {
+            c.markDeleted(
+                "Widget found where container != CONTAINER_DESKTOP nor CONTAINER_HOTSEAT - ignoring!",
+                RestoreError.INVALID_LOCATION
+            )
+            return
+        }
+        if (appWidgetInfo.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_DIRECT_CONFIG)) {
+            appWidgetInfo.bindOptions = c.parseIntent()
+        }
+        val inflationResult = widgetInflater.inflateAppWidget(appWidgetInfo)
+        var shouldUpdate = inflationResult.isUpdate
+        val lapi = inflationResult.widgetInfo
+
+        when (inflationResult.type) {
+            WidgetInflater.TYPE_DELETE -> {
+                c.markDeleted(inflationResult.reason, inflationResult.restoreErrorType)
+                return
+            }
+            WidgetInflater.TYPE_PENDING -> {
+                tempPackageKey.update(component.packageName, c.user)
+                val si = installingPkgs[tempPackageKey]
+
+                if (
+                    !c.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_RESTORE_STARTED) &&
+                        !isSafeMode &&
+                        (si == null) &&
+                        (lapi == null)
+                ) {
+                    // Restore never started
+                    c.markDeleted(
+                        "Unrestored widget removed: $component",
+                        RestoreError.APP_NOT_INSTALLED
+                    )
+                    return
+                } else if (
+                    !c.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_RESTORE_STARTED) && si != null
+                ) {
+                    shouldUpdate = true
+                    appWidgetInfo.restoreStatus =
+                        appWidgetInfo.restoreStatus or LauncherAppWidgetInfo.FLAG_RESTORE_STARTED
+                }
+                appWidgetInfo.installProgress =
+                    if (si == null) 0 else (si.getProgress() * 100).toInt()
+                appWidgetInfo.pendingItemInfo =
+                    WidgetsModel.newPendingItemInfo(
+                        app.context,
+                        appWidgetInfo.providerName,
+                        appWidgetInfo.user
+                    )
+                iconCache.getTitleAndIconForApp(appWidgetInfo.pendingItemInfo, false)
+            }
+            WidgetInflater.TYPE_REAL ->
+                WidgetSizes.updateWidgetSizeRangesAsync(
+                    appWidgetInfo.appWidgetId,
+                    lapi,
+                    app.context,
+                    appWidgetInfo.spanX,
+                    appWidgetInfo.spanY
+                )
+        }
+
+        if (shouldUpdate) {
+            c.updater()
+                .put(Favorites.APPWIDGET_PROVIDER, component.flattenToString())
+                .put(Favorites.APPWIDGET_ID, appWidgetInfo.appWidgetId)
+                .put(Favorites.RESTORED, appWidgetInfo.restoreStatus)
+                .commit()
+        }
+        if (lapi != null) {
+            widgetProvidersMap[ComponentKey(lapi.provider, lapi.user)] = inflationResult.widgetInfo
+            if (appWidgetInfo.spanX < lapi.minSpanX || appWidgetInfo.spanY < lapi.minSpanY) {
+                FileLog.d(
+                    TAG,
+                    "Widget ${lapi.component} minSizes not meet: span=${appWidgetInfo.spanX}x${appWidgetInfo.spanY} minSpan=${lapi.minSpanX}x${lapi.minSpanY}"
+                )
+                logWidgetInfo(app.invariantDeviceProfile, lapi)
+            }
+        }
+        c.checkAndAddItem(appWidgetInfo, bgDataModel)
+    }
+
+    companion object {
+        private const val TAG = "WorkspaceItemProcessor"
+        private fun logWidgetInfo(
+            idp: InvariantDeviceProfile,
+            widgetProviderInfo: LauncherAppWidgetProviderInfo
+        ) {
+            val cellSize = Point()
+            for (deviceProfile in idp.supportedProfiles) {
+                deviceProfile.getCellSize(cellSize)
+                FileLog.d(
+                    TAG,
+                    "DeviceProfile available width: ${deviceProfile.availableWidthPx}," +
+                        " available height: ${deviceProfile.availableHeightPx}," +
+                        " cellLayoutBorderSpacePx Horizontal: ${deviceProfile.cellLayoutBorderSpacePx.x}," +
+                        " cellLayoutBorderSpacePx Vertical: ${deviceProfile.cellLayoutBorderSpacePx.y}," +
+                        " cellSize: $cellSize"
+                )
+            }
+            val widgetDimension = StringBuilder()
+            widgetDimension
+                .append("Widget dimensions:\n")
+                .append("minResizeWidth: ")
+                .append(widgetProviderInfo.minResizeWidth)
+                .append("\n")
+                .append("minResizeHeight: ")
+                .append(widgetProviderInfo.minResizeHeight)
+                .append("\n")
+                .append("defaultWidth: ")
+                .append(widgetProviderInfo.minWidth)
+                .append("\n")
+                .append("defaultHeight: ")
+                .append(widgetProviderInfo.minHeight)
+                .append("\n")
+            if (Utilities.ATLEAST_S) {
+                widgetDimension
+                    .append("targetCellWidth: ")
+                    .append(widgetProviderInfo.targetCellWidth)
+                    .append("\n")
+                    .append("targetCellHeight: ")
+                    .append(widgetProviderInfo.targetCellHeight)
+                    .append("\n")
+                    .append("maxResizeWidth: ")
+                    .append(widgetProviderInfo.maxResizeWidth)
+                    .append("\n")
+                    .append("maxResizeHeight: ")
+                    .append(widgetProviderInfo.maxResizeHeight)
+                    .append("\n")
+            }
+            FileLog.d(TAG, widgetDimension.toString())
+        }
+    }
+}
diff --git a/src/com/android/launcher3/model/WorkspaceItemSpaceFinder.java b/src/com/android/launcher3/model/WorkspaceItemSpaceFinder.java
index 1fc8a03..929f698 100644
--- a/src/com/android/launcher3/model/WorkspaceItemSpaceFinder.java
+++ b/src/com/android/launcher3/model/WorkspaceItemSpaceFinder.java
@@ -16,6 +16,7 @@
 package com.android.launcher3.model;
 
 import static com.android.launcher3.WorkspaceLayoutManager.FIRST_SCREEN_ID;
+import static com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget;
 
 import android.util.LongSparseArray;
 
@@ -66,7 +67,8 @@
         int screenCount = workspaceScreens.size();
         // First check the preferred screen.
         IntSet screensToExclude = new IntSet();
-        if (FeatureFlags.QSB_ON_FIRST_SCREEN) {
+        if (FeatureFlags.QSB_ON_FIRST_SCREEN
+                && !shouldShowFirstPageWidget()) {
             screensToExclude.add(FIRST_SCREEN_ID);
         }
 
diff --git a/src/com/android/launcher3/model/data/AppInfo.java b/src/com/android/launcher3/model/data/AppInfo.java
index 7e6cbef..ea8a7a1 100644
--- a/src/com/android/launcher3/model/data/AppInfo.java
+++ b/src/com/android/launcher3/model/data/AppInfo.java
@@ -16,6 +16,7 @@
 
 package com.android.launcher3.model.data;
 
+import static com.android.launcher3.Flags.enableSupportForArchiving;
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_ALL_APPS;
 
 import android.content.ComponentName;
@@ -23,8 +24,6 @@
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.LauncherActivityInfo;
-import android.os.Build;
-import android.os.Process;
 import android.os.UserHandle;
 import android.os.UserManager;
 
@@ -42,6 +41,7 @@
 /**
  * Represents an app in AllAppsView.
  */
+@SuppressWarnings("NewApi")
 public class AppInfo extends ItemInfoWithIcon implements WorkspaceItemFactory {
 
     public static final AppInfo[] EMPTY_ARRAY = new AppInfo[0];
@@ -55,7 +55,8 @@
      */
     public Intent intent;
 
-    @NonNull
+    // componentName for the Private Space Install App button can be null
+    @Nullable
     public ComponentName componentName;
 
     // Section name used for indexing.
@@ -174,15 +175,12 @@
         if (PackageManagerHelper.isAppSuspended(appInfo)) {
             info.runtimeStatusFlags |= FLAG_DISABLED_SUSPENDED;
         }
+        if (enableSupportForArchiving() && lai.getActivityInfo().isArchived) {
+            info.runtimeStatusFlags |= FLAG_ARCHIVED;
+        }
         info.runtimeStatusFlags |= (appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0
                 ? FLAG_SYSTEM_NO : FLAG_SYSTEM_YES;
 
-        if (appInfo.targetSdkVersion >= Build.VERSION_CODES.O
-                && Process.myUserHandle().equals(lai.getUser())) {
-            // The icon for a non-primary user is badged, hence it's not exactly an adaptive icon.
-            info.runtimeStatusFlags |= FLAG_ADAPTIVE_ICON;
-        }
-
         // Sets the progress level, installation and incremental download flags.
         info.setProgressLevel(
                 PackageManagerHelper.getLoadingProgress(lai),
diff --git a/src/com/android/launcher3/model/data/FolderInfo.java b/src/com/android/launcher3/model/data/FolderInfo.java
index 9bf6d43..5b541d0 100644
--- a/src/com/android/launcher3/model/data/FolderInfo.java
+++ b/src/com/android/launcher3/model/data/FolderInfo.java
@@ -46,7 +46,6 @@
 import java.util.OptionalInt;
 import java.util.stream.IntStream;
 
-
 /**
  * Represents a folder containing shortcuts or apps.
  */
diff --git a/src/com/android/launcher3/model/data/ItemInfo.java b/src/com/android/launcher3/model/data/ItemInfo.java
index 9afa459..86393a0 100644
--- a/src/com/android/launcher3/model/data/ItemInfo.java
+++ b/src/com/android/launcher3/model/data/ItemInfo.java
@@ -60,9 +60,12 @@
 import com.android.launcher3.logger.LauncherAtom.WallpapersContainer;
 import com.android.launcher3.logger.LauncherAtomExtensions.ExtendedContainers;
 import com.android.launcher3.model.ModelWriter;
+import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.util.ComponentKey;
 import com.android.launcher3.util.ContentWriter;
 import com.android.launcher3.util.SettingsCache;
+import com.android.launcher3.util.UserIconInfo;
+import com.android.systemui.shared.system.SysUiStatsLog;
 
 import java.util.Optional;
 
@@ -414,7 +417,9 @@
     @NonNull
     protected LauncherAtom.ItemInfo.Builder getDefaultItemInfoBuilder() {
         LauncherAtom.ItemInfo.Builder itemBuilder = LauncherAtom.ItemInfo.newBuilder();
-        itemBuilder.setIsWork(!Process.myUserHandle().equals(user));
+        UserIconInfo info = getUserInfo();
+        itemBuilder.setIsWork(info != null && info.isWork());
+        itemBuilder.setUserType(getUserType(info));
         SettingsCache settingsCache = SettingsCache.INSTANCE.getNoCreate();
         boolean isKidsMode = settingsCache != null && settingsCache.getValue(NAV_BAR_KIDS_MODE, 0);
         itemBuilder.setIsKidsMode(isKidsMode);
@@ -510,4 +515,29 @@
             @Nullable final ModelWriter modelWriter) {
         this.title = title;
     }
+
+    private UserIconInfo getUserInfo() {
+        UserCache userCache = UserCache.INSTANCE.getNoCreate();
+        if (userCache == null) {
+            return null;
+        }
+
+        return userCache.getUserInfo(user);
+    }
+
+    private int getUserType(UserIconInfo info) {
+        if (info == null) {
+            return SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_UNKNOWN;
+        } else if (info.isMain()) {
+            return SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_MAIN;
+        } else if (info.isPrivate()) {
+            return SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_PRIVATE;
+        } else if (info.isWork()) {
+            return SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_WORK;
+        } else if (info.isCloned()) {
+            return SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_CLONED;
+        } else {
+            return SysUiStatsLog.LAUNCHER_UICHANGED__USER_TYPE__TYPE_UNKNOWN;
+        }
+    }
 }
diff --git a/src/com/android/launcher3/model/data/ItemInfoWithIcon.java b/src/com/android/launcher3/model/data/ItemInfoWithIcon.java
index b4a935a..58b12b1 100644
--- a/src/com/android/launcher3/model/data/ItemInfoWithIcon.java
+++ b/src/com/android/launcher3/model/data/ItemInfoWithIcon.java
@@ -16,8 +16,11 @@
 
 package com.android.launcher3.model.data;
 
+import static com.android.launcher3.Flags.enableSupportForArchiving;
+
 import android.content.Context;
 import android.content.Intent;
+import android.os.Process;
 
 import androidx.annotation.Nullable;
 
@@ -26,7 +29,7 @@
 import com.android.launcher3.icons.FastBitmapDrawable;
 import com.android.launcher3.logging.FileLog;
 import com.android.launcher3.pm.PackageInstallInfo;
-import com.android.launcher3.util.PackageManagerHelper;
+import com.android.launcher3.uioverrides.ApiWrapper;
 
 /**
  * Represents an ItemInfo which also holds an icon.
@@ -83,17 +86,6 @@
     public static final int FLAG_SYSTEM_MASK = FLAG_SYSTEM_YES | FLAG_SYSTEM_NO;
 
     /**
-     * Flag indicating that the icon is an {@link android.graphics.drawable.AdaptiveIconDrawable}
-     * that can be optimized in various way.
-     */
-    public static final int FLAG_ADAPTIVE_ICON = 1 << 8;
-
-    /**
-     * Flag indicating that the icon is badged.
-     */
-    public static final int FLAG_ICON_BADGED = 1 << 9;
-
-    /**
      * The icon is being installed. If {@link WorkspaceItemInfo#FLAG_RESTORED_ICON} or
      * {@link WorkspaceItemInfo#FLAG_AUTOINSTALL_ICON} is set, then the icon is either being
      * installed or is in a broken state.
@@ -124,6 +116,12 @@
     public static final int FLAG_NOT_PINNABLE = 1 << 13;
 
     /**
+     * Flag indicating whether the package related to the item & user corresponds to that of
+     * archived app.
+     */
+    public static final int FLAG_ARCHIVED = 1 << 14;
+
+    /**
      * Status associated with the system state of the underlying item. This is calculated every
      * time a new info is created and not persisted on the disk.
      */
@@ -153,6 +151,15 @@
     }
 
     /**
+     * Returns true if the app corresponding to the item is archived. */
+    public boolean isArchived() {
+        if (!enableSupportForArchiving()) {
+            return false;
+        }
+        return (runtimeStatusFlags & FLAG_ARCHIVED) != 0;
+    }
+
+    /**
      * Indicates whether we're using a low res icon
      */
     public boolean usingLowResIcon() {
@@ -168,7 +175,7 @@
     public boolean isAppStartable() {
         return ((runtimeStatusFlags & FLAG_INSTALL_SESSION_ACTIVE) == 0)
                 && (((runtimeStatusFlags & FLAG_INCREMENTAL_DOWNLOAD_ACTIVE) != 0)
-                    || mProgressLevel == 100);
+                    || mProgressLevel == 100 || isArchived());
     }
 
     /**
@@ -177,7 +184,10 @@
      * progress.
      */
     public int getProgressLevel() {
-        if ((runtimeStatusFlags & FLAG_SHOW_DOWNLOAD_PROGRESS_MASK) != 0) {
+        if (((runtimeStatusFlags & FLAG_SHOW_DOWNLOAD_PROGRESS_MASK) != 0)
+                // This condition for archived apps is so that in case unarchival/update of
+                // archived app is cancelled, the state transitions back to 0% installed state.
+                || isArchived()) {
             return mProgressLevel;
         }
         return 100;
@@ -227,7 +237,8 @@
         String targetPackage = getTargetPackage();
 
         return targetPackage != null
-                ? new PackageManagerHelper(context).getMarketIntent(targetPackage)
+                ? ApiWrapper.getAppMarketActivityIntent(
+                        context, targetPackage, Process.myUserHandle())
                 : null;
     }
 
diff --git a/src/com/android/launcher3/model/data/LauncherAppWidgetInfo.java b/src/com/android/launcher3/model/data/LauncherAppWidgetInfo.java
index 1fbe04f..6fa8c54 100644
--- a/src/com/android/launcher3/model/data/LauncherAppWidgetInfo.java
+++ b/src/com/android/launcher3/model/data/LauncherAppWidgetInfo.java
@@ -32,13 +32,11 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.logger.LauncherAtom;
 import com.android.launcher3.util.ContentWriter;
 import com.android.launcher3.widget.LauncherAppWidgetHostView;
 import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
-import com.android.launcher3.widget.util.WidgetSizes;
 
 /**
  * Represents a widget (either instantiated or about to be) in the Launcher.
@@ -143,8 +141,6 @@
      */
     private int widgetFeatures;
 
-    private boolean mHasNotifiedInitialWidgetSizeChanged;
-
     /**
      * The container from which this widget was added (e.g. widgets tray, pin widget, search)
      */
@@ -202,17 +198,6 @@
                 .put(LauncherSettings.Favorites.APPWIDGET_SOURCE, sourceContainer);
     }
 
-    /**
-     * When we bind the widget, we should notify the widget that the size has changed if we have not
-     * done so already (only really for default workspace widgets).
-     */
-    public void onBindAppWidget(Launcher launcher, AppWidgetHostView hostView) {
-        if (!mHasNotifiedInitialWidgetSizeChanged) {
-            WidgetSizes.updateWidgetSizeRanges(hostView, launcher, spanX, spanY);
-            mHasNotifiedInitialWidgetSizeChanged = true;
-        }
-    }
-
     @Override
     protected String dumpProperties() {
         return super.dumpProperties()
diff --git a/src/com/android/launcher3/model/data/WorkspaceItemInfo.java b/src/com/android/launcher3/model/data/WorkspaceItemInfo.java
index 3ce194d..c67ec5a 100644
--- a/src/com/android/launcher3/model/data/WorkspaceItemInfo.java
+++ b/src/com/android/launcher3/model/data/WorkspaceItemInfo.java
@@ -148,9 +148,19 @@
 
 
     public final boolean isPromise() {
-        return hasStatusFlag(FLAG_RESTORED_ICON | FLAG_AUTOINSTALL_ICON);
+        return hasStatusFlag(FLAG_RESTORED_ICON | FLAG_AUTOINSTALL_ICON)
+                // For archived apps, promise icons are always ready to be displayed.
+                || isArchived();
     }
 
+    /**
+     * Returns true if the workspace item supports promise icon UI. There are a few cases where they
+     * are supported:
+     * 1. Icons to be restored via backup/restore.
+     * 2. Icons added as an auto-install app.
+     * 3. Icons added due to it being an active install session created by the user.
+     * 4. Icons for archived apps.
+     */
     public boolean hasPromiseIconUi() {
         return isPromise() && !hasStatusFlag(FLAG_SUPPORTS_WEB_UI);
     }
diff --git a/src/com/android/launcher3/notification/NotificationContainer.java b/src/com/android/launcher3/notification/NotificationContainer.java
deleted file mode 100644
index 7cc9ad3..0000000
--- a/src/com/android/launcher3/notification/NotificationContainer.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.launcher3.notification;
-
-import static com.android.app.animation.Interpolators.scrollInterpolatorForVelocity;
-import static com.android.launcher3.touch.SingleAxisSwipeDetector.HORIZONTAL;
-
-import android.animation.Animator;
-import android.animation.AnimatorSet;
-import android.animation.ObjectAnimator;
-import android.content.Context;
-import android.graphics.Rect;
-import android.util.AttributeSet;
-import android.util.FloatProperty;
-import android.view.MotionEvent;
-import android.view.View;
-import android.widget.FrameLayout;
-
-import com.android.launcher3.R;
-import com.android.launcher3.anim.AnimationSuccessListener;
-import com.android.launcher3.popup.PopupContainerWithArrow;
-import com.android.launcher3.touch.BaseSwipeDetector;
-import com.android.launcher3.touch.OverScroll;
-import com.android.launcher3.touch.SingleAxisSwipeDetector;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Class to manage the notification UI in a {@link PopupContainerWithArrow}.
- *
- * - Has two {@link NotificationMainView} that represent the top two notifications
- * - Handles dismissing a notification
- */
-public class NotificationContainer extends FrameLayout implements SingleAxisSwipeDetector.Listener {
-
-    private static final FloatProperty<NotificationContainer> DRAG_TRANSLATION_X =
-            new FloatProperty<NotificationContainer>("notificationProgress") {
-                @Override
-                public void setValue(NotificationContainer view, float transX) {
-                    view.setDragTranslationX(transX);
-                }
-
-                @Override
-                public Float get(NotificationContainer view) {
-                    return view.mDragTranslationX;
-                }
-            };
-
-    private static final Rect sTempRect = new Rect();
-
-    private final SingleAxisSwipeDetector mSwipeDetector;
-    private final List<NotificationInfo> mNotificationInfos = new ArrayList<>();
-    private boolean mIgnoreTouch = false;
-
-    private final ObjectAnimator mContentTranslateAnimator;
-    private float mDragTranslationX = 0;
-
-    private final NotificationMainView mPrimaryView;
-    private final NotificationMainView mSecondaryView;
-    private PopupContainerWithArrow mPopupContainer;
-
-    public NotificationContainer(Context context) {
-        this(context, null, 0);
-    }
-
-    public NotificationContainer(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public NotificationContainer(Context context, AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        mSwipeDetector = new SingleAxisSwipeDetector(getContext(), this, HORIZONTAL);
-        mSwipeDetector.setDetectableScrollConditions(SingleAxisSwipeDetector.DIRECTION_BOTH, false);
-        mContentTranslateAnimator = ObjectAnimator.ofFloat(this, DRAG_TRANSLATION_X, 0);
-
-        mPrimaryView = (NotificationMainView) View.inflate(getContext(),
-                R.layout.notification_content, null);
-        mSecondaryView = (NotificationMainView) View.inflate(getContext(),
-                R.layout.notification_content, null);
-        mSecondaryView.setAlpha(0);
-
-        addView(mSecondaryView);
-        addView(mPrimaryView);
-
-    }
-
-    public void setPopupView(PopupContainerWithArrow popupView) {
-        mPopupContainer = popupView;
-    }
-
-    /**
-     * Returns true if we should intercept the swipe.
-     */
-    public boolean onInterceptSwipeEvent(MotionEvent ev) {
-        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
-            sTempRect.set(getLeft(), getTop(), getRight(), getBottom());
-            mIgnoreTouch = !sTempRect.contains((int) ev.getX(), (int) ev.getY());
-            if (!mIgnoreTouch) {
-                mPopupContainer.getParent().requestDisallowInterceptTouchEvent(true);
-            }
-        }
-        if (mIgnoreTouch) {
-            return false;
-        }
-        if (mPrimaryView.getNotificationInfo() == null) {
-            // The notification hasn't been populated yet.
-            return false;
-        }
-
-        mSwipeDetector.onTouchEvent(ev);
-        return mSwipeDetector.isDraggingOrSettling();
-    }
-
-    /**
-     * Returns true when we should handle the swipe.
-     */
-    public boolean onSwipeEvent(MotionEvent ev) {
-        if (mIgnoreTouch) {
-            return false;
-        }
-        if (mPrimaryView.getNotificationInfo() == null) {
-            // The notification hasn't been populated yet.
-            return false;
-        }
-        return mSwipeDetector.onTouchEvent(ev);
-    }
-
-    /**
-     * Applies the list of @param notificationInfos to this container.
-     */
-    public void applyNotificationInfos(final List<NotificationInfo> notificationInfos) {
-        mNotificationInfos.clear();
-        if (notificationInfos.isEmpty()) {
-            mPrimaryView.applyNotificationInfo(null);
-            mSecondaryView.applyNotificationInfo(null);
-            return;
-        }
-        mNotificationInfos.addAll(notificationInfos);
-
-        NotificationInfo mainNotification = notificationInfos.get(0);
-        mPrimaryView.applyNotificationInfo(mainNotification);
-        mSecondaryView.applyNotificationInfo(notificationInfos.size() > 1
-                ? notificationInfos.get(1)
-                : null);
-    }
-
-    /**
-     * Trims the notifications.
-     * @param notificationKeys List of all valid notification keys.
-     */
-    public void trimNotifications(final List<String> notificationKeys) {
-        Iterator<NotificationInfo> iterator = mNotificationInfos.iterator();
-        while (iterator.hasNext()) {
-            if (!notificationKeys.contains(iterator.next().notificationKey)) {
-                iterator.remove();
-            }
-        }
-
-        NotificationInfo primaryInfo = mNotificationInfos.size() > 0
-                ? mNotificationInfos.get(0)
-                : null;
-        NotificationInfo secondaryInfo = mNotificationInfos.size() > 1
-                ? mNotificationInfos.get(1)
-                : null;
-
-        mPrimaryView.applyNotificationInfo(primaryInfo);
-        mSecondaryView.applyNotificationInfo(secondaryInfo);
-
-        mPrimaryView.onPrimaryDrag(0);
-        mSecondaryView.onSecondaryDrag(0);
-    }
-
-    private void setDragTranslationX(float translationX) {
-        mDragTranslationX = translationX;
-
-        float progress = translationX / getWidth();
-        mPrimaryView.onPrimaryDrag(progress);
-        if (mSecondaryView.getNotificationInfo() == null) {
-            mSecondaryView.setAlpha(0f);
-        } else {
-            mSecondaryView.onSecondaryDrag(progress);
-        }
-    }
-
-    // SingleAxisSwipeDetector.Listener's
-    @Override
-    public void onDragStart(boolean start, float startDisplacement) {
-        mPopupContainer.showArrow(false);
-    }
-
-    @Override
-    public boolean onDrag(float displacement) {
-        if (!mPrimaryView.canChildBeDismissed()) {
-            displacement = OverScroll.dampedScroll(displacement, getWidth());
-        }
-
-        float progress = displacement / getWidth();
-        mPrimaryView.onPrimaryDrag(progress);
-        if (mSecondaryView.getNotificationInfo() == null) {
-            mSecondaryView.setAlpha(0f);
-        } else {
-            mSecondaryView.onSecondaryDrag(progress);
-        }
-        mContentTranslateAnimator.cancel();
-        return true;
-    }
-
-    @Override
-    public void onDragEnd(float velocity) {
-        final boolean willExit;
-        final float endTranslation;
-        final float startTranslation = mPrimaryView.getTranslationX();
-        final float width = getWidth();
-
-        if (!mPrimaryView.canChildBeDismissed()) {
-            willExit = false;
-            endTranslation = 0;
-        } else if (mSwipeDetector.isFling(velocity)) {
-            willExit = true;
-            endTranslation = velocity < 0 ? -width : width;
-        } else if (Math.abs(startTranslation) > width / 2f) {
-            willExit = true;
-            endTranslation = (startTranslation < 0 ? -width : width);
-        } else {
-            willExit = false;
-            endTranslation = 0;
-        }
-
-        long duration = BaseSwipeDetector.calculateDuration(velocity,
-                (endTranslation - startTranslation) / width);
-
-        mContentTranslateAnimator.removeAllListeners();
-        mContentTranslateAnimator.setDuration(duration)
-                .setInterpolator(scrollInterpolatorForVelocity(velocity));
-        mContentTranslateAnimator.setFloatValues(startTranslation, endTranslation);
-
-        NotificationMainView current = mPrimaryView;
-        mContentTranslateAnimator.addListener(new AnimationSuccessListener() {
-            @Override
-            public void onAnimationSuccess(Animator animator) {
-                mSwipeDetector.finishedScrolling();
-                if (willExit) {
-                    current.onChildDismissed();
-                }
-                mPopupContainer.showArrow(true);
-            }
-        });
-        mContentTranslateAnimator.start();
-    }
-
-    /**
-     * Animates the background color to a new color.
-     * @param color The color to change to.
-     * @param animatorSetOut The AnimatorSet where we add the color animator to.
-     */
-    public void updateBackgroundColor(int color, AnimatorSet animatorSetOut) {
-        mPrimaryView.updateBackgroundColor(color, animatorSetOut);
-        mSecondaryView.updateBackgroundColor(color, animatorSetOut);
-    }
-
-    /**
-     * Updates the header with a new @param notificationCount.
-     */
-    public void updateHeader(int notificationCount) {
-        mPrimaryView.updateHeader(notificationCount);
-        mSecondaryView.updateHeader(notificationCount - 1);
-    }
-}
diff --git a/src/com/android/launcher3/notification/NotificationInfo.java b/src/com/android/launcher3/notification/NotificationInfo.java
deleted file mode 100644
index f4468fd..0000000
--- a/src/com/android/launcher3/notification/NotificationInfo.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.notification;
-
-import static com.android.launcher3.AbstractFloatingView.TYPE_ACTION_POPUP;
-import static com.android.launcher3.AbstractFloatingView.TYPE_TASKBAR_ALL_APPS;
-import static com.android.launcher3.Utilities.allowBGLaunch;
-import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_NOTIFICATION_LAUNCH_TAP;
-
-import android.app.ActivityOptions;
-import android.app.Notification;
-import android.app.PendingIntent;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.Icon;
-import android.service.notification.StatusBarNotification;
-import android.view.View;
-
-import com.android.launcher3.AbstractFloatingView;
-import com.android.launcher3.LauncherAppState;
-import com.android.launcher3.dot.DotInfo;
-import com.android.launcher3.graphics.IconPalette;
-import com.android.launcher3.model.data.ItemInfo;
-import com.android.launcher3.popup.PopupDataProvider;
-import com.android.launcher3.util.PackageUserKey;
-import com.android.launcher3.views.ActivityContext;
-
-/**
- * An object that contains relevant information from a {@link StatusBarNotification}. This should
- * only be created when we need to show the notification contents on the UI; until then, a
- * {@link DotInfo} with only the notification key should
- * be passed around, and then this can be constructed using the StatusBarNotification from
- * {@link NotificationListener#getNotificationsForKeys(java.util.List)}.
- */
-public class NotificationInfo implements View.OnClickListener {
-
-    public final PackageUserKey packageUserKey;
-    public final String notificationKey;
-    public final CharSequence title;
-    public final CharSequence text;
-    public final PendingIntent intent;
-    public final boolean autoCancel;
-    public final boolean dismissable;
-
-    private final ItemInfo mItemInfo;
-    private Drawable mIconDrawable;
-    private int mIconColor;
-    private boolean mIsIconLarge;
-
-    /**
-     * Extracts the data that we need from the StatusBarNotification.
-     */
-    public NotificationInfo(Context context, StatusBarNotification statusBarNotification,
-            ItemInfo itemInfo) {
-        packageUserKey = PackageUserKey.fromNotification(statusBarNotification);
-        notificationKey = statusBarNotification.getKey();
-        Notification notification = statusBarNotification.getNotification();
-        title = notification.extras.getCharSequence(Notification.EXTRA_TITLE);
-        text = notification.extras.getCharSequence(Notification.EXTRA_TEXT);
-
-        int iconType = notification.getBadgeIconType();
-        // Load the icon. Since it is backed by ashmem, we won't copy the entire bitmap
-        // into our process as long as we don't touch it and it exists in systemui.
-        Icon icon = iconType == Notification.BADGE_ICON_SMALL ? null : notification.getLargeIcon();
-        if (icon == null) {
-            // Use the small icon.
-            icon = notification.getSmallIcon();
-            mIconDrawable = icon == null ? null : icon.loadDrawable(context);
-            mIconColor = statusBarNotification.getNotification().color;
-            mIsIconLarge = false;
-        } else {
-            // Use the large icon.
-            mIconDrawable = icon.loadDrawable(context);
-            mIsIconLarge = true;
-        }
-        if (mIconDrawable == null) {
-            mIconDrawable = LauncherAppState.getInstance(context).getIconCache()
-                    .getDefaultIcon(statusBarNotification.getUser()).newIcon(context);
-        }
-        intent = notification.contentIntent;
-        autoCancel = (notification.flags & Notification.FLAG_AUTO_CANCEL) != 0;
-        dismissable = (notification.flags & Notification.FLAG_ONGOING_EVENT) == 0;
-        this.mItemInfo = itemInfo;
-    }
-
-    @Override
-    public void onClick(View view) {
-        if (intent == null) {
-            return;
-        }
-        final ActivityContext context = ActivityContext.lookupContext(view.getContext());
-        ActivityOptions options = allowBGLaunch(ActivityOptions.makeClipRevealAnimation(
-                view, 0, 0, view.getWidth(), view.getHeight()));
-        try {
-            intent.send(null, 0, null, null, null, null, options.toBundle());
-            context.getStatsLogManager().logger().withItemInfo(mItemInfo)
-                    .log(LAUNCHER_NOTIFICATION_LAUNCH_TAP);
-        } catch (PendingIntent.CanceledException e) {
-            e.printStackTrace();
-        }
-        if (autoCancel) {
-            PopupDataProvider popupDataProvider = context.getPopupDataProvider();
-            if (popupDataProvider != null) {
-                popupDataProvider.cancelNotification(notificationKey);
-            }
-        }
-        AbstractFloatingView.closeOpenViews(
-                context, true, TYPE_ACTION_POPUP | TYPE_TASKBAR_ALL_APPS);
-    }
-
-    public Drawable getIconForBackground(Context context, int background) {
-        if (mIsIconLarge) {
-            // Only small icons should be tinted.
-            return mIconDrawable;
-        }
-        mIconColor = IconPalette.resolveContrastColor(context, mIconColor, background);
-        Drawable icon = mIconDrawable.mutate();
-        // DrawableContainer ignores the color filter if it's already set, so clear it first to
-        // get it set and invalidated properly.
-        icon.setTintList(null);
-        icon.setTint(mIconColor);
-        return icon;
-    }
-}
diff --git a/src/com/android/launcher3/notification/NotificationKeyData.java b/src/com/android/launcher3/notification/NotificationKeyData.java
index 1dda3df..4115b3d 100644
--- a/src/com/android/launcher3/notification/NotificationKeyData.java
+++ b/src/com/android/launcher3/notification/NotificationKeyData.java
@@ -26,13 +26,10 @@
 import com.android.launcher3.Utilities;
 
 import java.util.ArrayList;
-import java.util.List;
 
 /**
  * The key data associated with the notification, used to determine what to include
  * in dots and stub popup views before they are populated.
- *
- * @see NotificationInfo for the full data used when populating the stub views.
  */
 public class NotificationKeyData {
     public final String notificationKey;
@@ -56,15 +53,6 @@
                         Notification.EXTRA_PEOPLE_LIST)));
     }
 
-    public static List<String> extractKeysOnly(
-            @NonNull List<NotificationKeyData> notificationKeys) {
-        List<String> keysOnly = new ArrayList<>(notificationKeys.size());
-        for (NotificationKeyData notificationKeyData : notificationKeys) {
-            keysOnly.add(notificationKeyData.notificationKey);
-        }
-        return keysOnly;
-    }
-
     private static String[] extractPersonKeyOnly(@Nullable ArrayList<Person> people) {
         if (people == null || people.isEmpty()) {
             return Utilities.EMPTY_STRING_ARRAY;
diff --git a/src/com/android/launcher3/notification/NotificationListener.java b/src/com/android/launcher3/notification/NotificationListener.java
index 04eb38a..836ea4a 100644
--- a/src/com/android/launcher3/notification/NotificationListener.java
+++ b/src/com/android/launcher3/notification/NotificationListener.java
@@ -34,7 +34,6 @@
 import android.util.Log;
 import android.util.Pair;
 
-import androidx.annotation.AnyThread;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.WorkerThread;
@@ -64,8 +63,7 @@
     private static final int MSG_NOTIFICATION_POSTED = 1;
     private static final int MSG_NOTIFICATION_REMOVED = 2;
     private static final int MSG_NOTIFICATION_FULL_REFRESH = 3;
-    private static final int MSG_CANCEL_NOTIFICATION = 4;
-    private static final int MSG_RANKING_UPDATE = 5;
+    private static final int MSG_RANKING_UPDATE = 4;
 
     private static NotificationListener sNotificationListenerInstance = null;
     private static final ArraySet<NotificationsChangedListener> sNotificationsChangedListeners =
@@ -81,9 +79,6 @@
     /** Maps keys to their corresponding current group key */
     private final Map<String, String> mNotificationGroupKeyMap = new HashMap<>();
 
-    /** The last notification key that was dismissed from launcher UI */
-    private String mLastKeyDismissedByLauncher;
-
     private SettingsCache mSettingsCache;
     private SettingsCache.OnChangeListener mNotificationSettingsChangedListener;
 
@@ -93,7 +88,7 @@
         sNotificationListenerInstance = this;
     }
 
-    public static @Nullable NotificationListener getInstanceIfConnected() {
+    private static @Nullable NotificationListener getInstanceIfConnected() {
         return sIsConnected ? sNotificationListenerInstance : null;
     }
 
@@ -139,17 +134,9 @@
                 if (notificationGroup != null) {
                     notificationGroup.removeChildKey(key);
                     if (notificationGroup.isEmpty()) {
-                        if (key.equals(mLastKeyDismissedByLauncher)) {
-                            // Only cancel the group notification if launcher dismissed the
-                            // last child.
-                            cancelNotification(notificationGroup.getGroupSummaryKey());
-                        }
                         mNotificationGroupMap.remove(sbn.getGroupKey());
                     }
                 }
-                if (key.equals(mLastKeyDismissedByLauncher)) {
-                    mLastKeyDismissedByLauncher = null;
-                }
                 return true;
             }
             case MSG_NOTIFICATION_FULL_REFRESH:
@@ -164,11 +151,6 @@
 
                 mUiHandler.obtainMessage(message.what, activeNotifications).sendToTarget();
                 return true;
-            case MSG_CANCEL_NOTIFICATION: {
-                mLastKeyDismissedByLauncher = (String) message.obj;
-                cancelNotification(mLastKeyDismissedByLauncher);
-                return true;
-            }
             case MSG_RANKING_UPDATE: {
                 String[] keys = ((RankingMap) message.obj).getOrderedKeys();
                 for (StatusBarNotification sbn : getActiveNotificationsSafely(keys)) {
@@ -272,14 +254,6 @@
         mWorkerHandler.obtainMessage(MSG_RANKING_UPDATE, rankingMap).sendToTarget();
     }
 
-    /**
-     * Cancels a notification
-     */
-    @AnyThread
-    public void cancelNotificationFromLauncher(String key) {
-        mWorkerHandler.obtainMessage(MSG_CANCEL_NOTIFICATION, key).sendToTarget();
-    }
-
     @WorkerThread
     private void updateGroupKeyIfNecessary(StatusBarNotification sbn) {
         String childKey = sbn.getKey();
@@ -315,15 +289,6 @@
     }
 
     /**
-     * This makes a potentially expensive binder call and should be run on a background thread.
-     */
-    @WorkerThread
-    public List<StatusBarNotification> getNotificationsForKeys(List<NotificationKeyData> keys) {
-        return Arrays.asList(getActiveNotificationsSafely(
-                keys.stream().map(n -> n.notificationKey).toArray(String[]::new)));
-    }
-
-    /**
      * Returns true for notifications that have an intent and are not headers for grouped
      * notifications and should be shown in the notification popup.
      */
diff --git a/src/com/android/launcher3/notification/NotificationMainView.java b/src/com/android/launcher3/notification/NotificationMainView.java
deleted file mode 100644
index ecd018b..0000000
--- a/src/com/android/launcher3/notification/NotificationMainView.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.notification;
-
-import static com.android.app.animation.Interpolators.LINEAR;
-import static com.android.launcher3.Utilities.mapToRange;
-import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_NOTIFICATION_DISMISSED;
-
-import android.animation.AnimatorSet;
-import android.animation.ValueAnimator;
-import android.annotation.TargetApi;
-import android.content.Context;
-import android.graphics.Outline;
-import android.graphics.Rect;
-import android.graphics.drawable.GradientDrawable;
-import android.os.Build;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.ViewOutlineProvider;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import androidx.annotation.Nullable;
-
-import com.android.launcher3.R;
-import com.android.launcher3.Utilities;
-import com.android.launcher3.model.data.ItemInfo;
-import com.android.launcher3.popup.PopupDataProvider;
-import com.android.launcher3.util.Themes;
-import com.android.launcher3.views.ActivityContext;
-
-/**
- * A {@link android.widget.FrameLayout} that contains a single notification,
- * e.g. icon + title + text.
- */
-@TargetApi(Build.VERSION_CODES.N)
-public class NotificationMainView extends LinearLayout {
-
-    // This is used only to track the notification view, so that it can be properly logged.
-    public static final ItemInfo NOTIFICATION_ITEM_INFO = new ItemInfo();
-
-    // Value when the primary notification main view will be gone (zero alpha).
-    private static final float PRIMARY_GONE_PROGRESS = 0.7f;
-    private static final float PRIMARY_MIN_PROGRESS = 0.40f;
-    private static final float PRIMARY_MAX_PROGRESS = 0.60f;
-    private static final float SECONDARY_MIN_PROGRESS = 0.30f;
-    private static final float SECONDARY_MAX_PROGRESS = 0.50f;
-    private static final float SECONDARY_CONTENT_MAX_PROGRESS = 0.6f;
-
-    private NotificationInfo mNotificationInfo;
-    private int mBackgroundColor;
-    private TextView mTitleView;
-    private TextView mTextView;
-    private View mIconView;
-
-    private View mHeader;
-    private View mMainView;
-
-    private TextView mHeaderCount;
-    private final Rect mOutline = new Rect();
-
-    // Space between notifications during swipe
-    private final int mNotificationSpace;
-    private final int mMaxTransX;
-    private final int mMaxElevation;
-
-    private final GradientDrawable mBackground;
-
-    public NotificationMainView(Context context) {
-        this(context, null, 0);
-    }
-
-    public NotificationMainView(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public NotificationMainView(Context context, AttributeSet attrs, int defStyle) {
-        this(context, attrs, defStyle, 0);
-    }
-
-    public NotificationMainView(Context context, AttributeSet attrs, int defStyle, int defStylRes) {
-        super(context, attrs, defStyle, defStylRes);
-
-        float outlineRadius = Themes.getDialogCornerRadius(context);
-
-        mBackground = new GradientDrawable();
-        mBackground.setColor(Themes.getAttrColor(context, R.attr.popupColorPrimary));
-        mBackground.setCornerRadius(outlineRadius);
-        setBackground(mBackground);
-
-        mMaxElevation = getResources().getDimensionPixelSize(R.dimen.deep_shortcuts_elevation);
-        setElevation(mMaxElevation);
-
-        mMaxTransX = getResources().getDimensionPixelSize(R.dimen.notification_max_trans);
-        mNotificationSpace = getResources().getDimensionPixelSize(R.dimen.notification_space);
-
-        setClipToOutline(true);
-        setOutlineProvider(new ViewOutlineProvider() {
-            @Override
-            public void getOutline(View view, Outline outline) {
-                outline.setRoundRect(mOutline, outlineRadius);
-            }
-        });
-    }
-
-    /**
-     * Updates the header text.
-     * @param notificationCount The number of notifications.
-     */
-    public void updateHeader(int notificationCount) {
-        final String text;
-        final int visibility;
-        if (notificationCount <= 1) {
-            text = "";
-            visibility = View.INVISIBLE;
-        } else {
-            text = String.valueOf(notificationCount);
-            visibility = View.VISIBLE;
-
-        }
-        mHeaderCount.setText(text);
-        mHeaderCount.setVisibility(visibility);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-
-        ViewGroup textAndBackground = findViewById(R.id.text_and_background);
-        mTitleView = textAndBackground.findViewById(R.id.title);
-        mTextView = textAndBackground.findViewById(R.id.text);
-        mIconView = findViewById(R.id.popup_item_icon);
-        mHeaderCount = findViewById(R.id.notification_count);
-
-        mHeader = findViewById(R.id.header);
-        mMainView = findViewById(R.id.main_view);
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-        mOutline.set(0, 0, getWidth(), getHeight());
-        invalidateOutline();
-    }
-
-    private void updateBackgroundColor(int color) {
-        mBackgroundColor = color;
-        mBackground.setColor(color);
-        if (mNotificationInfo != null) {
-            mIconView.setBackground(mNotificationInfo.getIconForBackground(getContext(),
-                    mBackgroundColor));
-        }
-    }
-
-    /**
-     * Animates the background color to a new color.
-     * @param color The color to change to.
-     * @param animatorSetOut The AnimatorSet where we add the color animator to.
-     */
-    public void updateBackgroundColor(int color, AnimatorSet animatorSetOut) {
-        int oldColor = mBackgroundColor;
-        ValueAnimator colors = ValueAnimator.ofArgb(oldColor, color);
-        colors.addUpdateListener(valueAnimator -> {
-            int newColor = (int) valueAnimator.getAnimatedValue();
-            updateBackgroundColor(newColor);
-        });
-        animatorSetOut.play(colors);
-    }
-
-    /**
-     * Sets the content of this view, animating it after a new icon shifts up if necessary.
-     */
-    public void applyNotificationInfo(NotificationInfo notificationInfo) {
-        mNotificationInfo = notificationInfo;
-        if (notificationInfo == null) {
-            return;
-        }
-        NotificationListener listener = NotificationListener.getInstanceIfConnected();
-        if (listener != null) {
-            listener.setNotificationsShown(new String[] {mNotificationInfo.notificationKey});
-        }
-        CharSequence title = mNotificationInfo.title;
-        CharSequence text = mNotificationInfo.text;
-        if (!TextUtils.isEmpty(title) && !TextUtils.isEmpty(text)) {
-            mTitleView.setText(title.toString());
-            mTextView.setText(text.toString());
-        } else {
-            mTitleView.setMaxLines(2);
-            mTitleView.setText(TextUtils.isEmpty(title) ? text.toString() : title.toString());
-            mTextView.setVisibility(GONE);
-        }
-        mIconView.setBackground(mNotificationInfo.getIconForBackground(getContext(),
-                mBackgroundColor));
-        if (mNotificationInfo.intent != null) {
-            setOnClickListener(mNotificationInfo);
-        }
-
-        // Add a stub ItemInfo so that logging populates the correct container and item types
-        // instead of DEFAULT_CONTAINERTYPE and DEFAULT_ITEMTYPE, respectively.
-        setTag(NOTIFICATION_ITEM_INFO);
-    }
-
-    /**
-     * Sets the alpha of only the child views.
-     */
-    public void setContentAlpha(float alpha) {
-        mHeader.setAlpha(alpha);
-        mMainView.setAlpha(alpha);
-    }
-
-    /**
-     * Sets the translation of only the child views.
-     */
-    public void setContentTranslationX(float transX) {
-        mHeader.setTranslationX(transX);
-        mMainView.setTranslationX(transX);
-    }
-
-    /**
-     * Updates the alpha, content alpha, and elevation of this view.
-     *
-     * @param progress Range from [0, 1] or [-1, 0]
-     *                 When 0: Full alpha
-     *                 When 1/-1: zero alpha
-     */
-    public void onPrimaryDrag(float progress) {
-        float absProgress = Math.abs(progress);
-        final int width = getWidth();
-
-        float min = PRIMARY_MIN_PROGRESS;
-        float max = PRIMARY_MAX_PROGRESS;
-
-        if (absProgress < min) {
-            setAlpha(1f);
-            setContentAlpha(1);
-            setElevation(mMaxElevation);
-        } else if (absProgress < max) {
-            setAlpha(1f);
-            setContentAlpha(mapToRange(absProgress, min, max, 1f, 0f, LINEAR));
-            setElevation(Utilities.mapToRange(absProgress, min, max, mMaxElevation, 0, LINEAR));
-        } else {
-            setAlpha(mapToRange(absProgress, max, PRIMARY_GONE_PROGRESS, 1f, 0f, LINEAR));
-            setContentAlpha(0f);
-            setElevation(0f);
-        }
-
-        setTranslationX(width * progress);
-    }
-
-    /**
-     * Updates the alpha, content alpha, elevation, and clipping of this view.
-     * @param progress Range from [0, 1] or [-1, 0]
-      *                 When 0: Smallest clipping, zero alpha
-      *                 When 1/-1: Full clip, full alpha
-     */
-    public void onSecondaryDrag(float progress) {
-        final float absProgress = Math.abs(progress);
-
-        float min = SECONDARY_MIN_PROGRESS;
-        float max = SECONDARY_MAX_PROGRESS;
-        float contentMax = SECONDARY_CONTENT_MAX_PROGRESS;
-
-        if (absProgress < min) {
-            setAlpha(0f);
-            setContentAlpha(0);
-            setElevation(0f);
-        } else if (absProgress < max) {
-            setAlpha(mapToRange(absProgress, min, max, 0, 1f, LINEAR));
-            setContentAlpha(0f);
-            setElevation(0f);
-        } else {
-            setAlpha(1f);
-            setContentAlpha(absProgress > contentMax
-                    ? 1f
-                    : mapToRange(absProgress, max, contentMax, 0, 1f, LINEAR));
-            setElevation(Utilities.mapToRange(absProgress, max, 1, 0, mMaxElevation, LINEAR));
-        }
-
-        final int width = getWidth();
-        int crop = (int) (width * absProgress);
-        int space = (int) (absProgress > PRIMARY_GONE_PROGRESS
-                ? mapToRange(absProgress, PRIMARY_GONE_PROGRESS, 1f, mNotificationSpace, 0, LINEAR)
-                : mNotificationSpace);
-        if (progress < 0) {
-            mOutline.left = Math.max(0, getWidth() - crop + space);
-            mOutline.right = getWidth();
-        } else {
-            mOutline.right = Math.min(getWidth(), crop - space);
-            mOutline.left = 0;
-        }
-
-        float contentTransX = mMaxTransX * (1f - absProgress);
-        setContentTranslationX(progress < 0
-                ? contentTransX
-                : -contentTransX);
-        invalidateOutline();
-    }
-
-    public @Nullable NotificationInfo getNotificationInfo() {
-        return mNotificationInfo;
-    }
-
-    public boolean canChildBeDismissed() {
-        return mNotificationInfo != null && mNotificationInfo.dismissable;
-    }
-
-    public void onChildDismissed() {
-        ActivityContext activityContext = ActivityContext.lookupContext(getContext());
-        PopupDataProvider popupDataProvider = activityContext.getPopupDataProvider();
-        if (popupDataProvider == null) {
-            return;
-        }
-        popupDataProvider.cancelNotification(mNotificationInfo.notificationKey);
-        activityContext.getStatsLogManager().logger().log(LAUNCHER_NOTIFICATION_DISMISSED);
-    }
-}
diff --git a/src/com/android/launcher3/pageindicators/PageIndicator.java b/src/com/android/launcher3/pageindicators/PageIndicator.java
index 4ab2037..30156c8 100644
--- a/src/com/android/launcher3/pageindicators/PageIndicator.java
+++ b/src/com/android/launcher3/pageindicators/PageIndicator.java
@@ -30,7 +30,7 @@
      * Sets flag to indicate when the screens are in the process of binding so that we don't animate
      * during that period.
      */
-    default void setAreScreensBinding(boolean areScreensBinding) {
+    default void setAreScreensBinding(boolean areScreensBinding, boolean isTwoPanels) {
         // No-op by default
     }
 
diff --git a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java
index ce71275..fd1b64f 100644
--- a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java
+++ b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java
@@ -16,7 +16,7 @@
 
 package com.android.launcher3.pageindicators;
 
-import static com.android.launcher3.config.FeatureFlags.SHOW_DOT_PAGINATION;
+import static com.android.launcher3.config.FeatureFlags.FOLDABLE_SINGLE_PAGE;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -69,7 +69,7 @@
     private static final int PAGE_INDICATOR_ALPHA = 255;
     private static final int DOT_ALPHA = 128;
     private static final float DOT_ALPHA_FRACTION = 0.5f;
-    private static final int DOT_GAP_FACTOR = SHOW_DOT_PAGINATION.get() ? 4 : 3;
+    private static final int DOT_GAP_FACTOR = 4;
     private static final int VISIBLE_ALPHA = 255;
     private static final int INVISIBLE_ALPHA = 0;
     private Paint mPaginationPaint;
@@ -131,6 +131,7 @@
     private float mCurrentPosition;
     private float mFinalPosition;
     private boolean mAreScreensBinding;
+    private boolean mIsTwoPanels;
     private ObjectAnimator mAnimator;
     private @Nullable ObjectAnimator mAlphaAnimator;
 
@@ -153,10 +154,7 @@
         mPaginationPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
         mPaginationPaint.setStyle(Style.FILL);
         mPaginationPaint.setColor(Themes.getAttrColor(context, R.attr.folderPaginationColor));
-        mDotRadius = (SHOW_DOT_PAGINATION.get()
-                ? getResources().getDimension(R.dimen.page_indicator_dot_size_v2)
-                : getResources().getDimension(R.dimen.page_indicator_dot_size))
-                / 2;
+        mDotRadius = getResources().getDimension(R.dimen.page_indicator_dot_size) / 2;
         mCircleGap = DOT_GAP_FACTOR * mDotRadius;
         setOutlineProvider(new MyOutlineProver());
         mIsRtl = Utilities.isRtl(getResources());
@@ -164,7 +162,7 @@
 
     @Override
     public void setScroll(int currentScroll, int totalScroll) {
-        if (SHOW_DOT_PAGINATION.get() && currentScroll == 0 && totalScroll == 0) {
+        if (currentScroll == 0 && totalScroll == 0) {
             CURRENT_POSITION.set(this, (float) mActivePage);
             return;
         }
@@ -217,7 +215,7 @@
 
     @Override
     public void setShouldAutoHide(boolean shouldAutoHide) {
-        mShouldAutoHide = shouldAutoHide && SHOW_DOT_PAGINATION.get();
+        mShouldAutoHide = shouldAutoHide;
         if (shouldAutoHide && mPaginationPaint.getAlpha() > INVISIBLE_ALPHA) {
             hideAfterDelay();
         } else if (!shouldAutoHide) {
@@ -353,6 +351,12 @@
 
     @Override
     public void setActiveMarker(int activePage) {
+        // In unfolded foldables, every page has two CellLayouts, so we need to halve the active
+        // page for it to be accurate.
+        if (mIsTwoPanels && !FOLDABLE_SINGLE_PAGE.get()) {
+            activePage = activePage / 2;
+        }
+
         if (mActivePage != activePage) {
             mActivePage = activePage;
         }
@@ -365,7 +369,9 @@
     }
 
     @Override
-    public void setAreScreensBinding(boolean areScreensBinding) {
+    public void setAreScreensBinding(boolean areScreensBinding, boolean isTwoPanels) {
+        mIsTwoPanels = isTwoPanels;
+
         // Reapply correct current position which was skipped during setScroll.
         if (mAreScreensBinding && !areScreensBinding) {
             CURRENT_POSITION.set(this, (float) mActivePage);
@@ -420,16 +426,14 @@
             int alpha = mPaginationPaint.getAlpha();
 
             // Here we draw the dots
-            mPaginationPaint.setAlpha(SHOW_DOT_PAGINATION.get()
-                    ? ((int) (alpha * DOT_ALPHA_FRACTION))
-                    : DOT_ALPHA);
+            mPaginationPaint.setAlpha((int) (alpha * DOT_ALPHA_FRACTION));
             for (int i = 0; i < mNumPages; i++) {
                 canvas.drawCircle(x, y, mDotRadius, mPaginationPaint);
                 x += circleGap;
             }
 
             // Here we draw the current page indicator
-            mPaginationPaint.setAlpha(SHOW_DOT_PAGINATION.get() ? alpha : PAGE_INDICATOR_ALPHA);
+            mPaginationPaint.setAlpha(alpha);
             canvas.drawRoundRect(getActiveRect(), mDotRadius, mDotRadius, mPaginationPaint);
         }
     }
@@ -498,7 +502,7 @@
         @Override
         public void onAnimationEnd(Animator animation) {
             if (!mCancelled) {
-                if (mShouldAutoHide && SHOW_DOT_PAGINATION.get()) {
+                if (mShouldAutoHide) {
                     hideAfterDelay();
                 }
                 mAnimator = null;
diff --git a/src/com/android/launcher3/pm/InstallSessionHelper.java b/src/com/android/launcher3/pm/InstallSessionHelper.java
index cb3c16c..ca27eb2 100644
--- a/src/com/android/launcher3/pm/InstallSessionHelper.java
+++ b/src/com/android/launcher3/pm/InstallSessionHelper.java
@@ -16,6 +16,8 @@
 
 package com.android.launcher3.pm;
 
+import static com.android.launcher3.Flags.enableSupportForArchiving;
+
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.LauncherApps;
@@ -51,6 +53,7 @@
 /**
  * Utility class to tracking install sessions
  */
+@SuppressWarnings("NewApi")
 public class InstallSessionHelper {
 
     @NonNull
@@ -227,6 +230,11 @@
     }
 
     public boolean verifySessionInfo(@Nullable final PackageInstaller.SessionInfo sessionInfo) {
+        // For archived apps we always want to show promise icons and the checks below don't apply.
+        if (enableSupportForArchiving() && sessionInfo != null && sessionInfo.isUnarchival()) {
+            return true;
+        }
+
         return verify(sessionInfo) != null
                 && sessionInfo.getInstallReason() == PackageManager.INSTALL_REASON_USER
                 && sessionInfo.getAppIcon() != null
diff --git a/src/com/android/launcher3/pm/InstallSessionTracker.java b/src/com/android/launcher3/pm/InstallSessionTracker.java
index 41908d3..e4a2045 100644
--- a/src/com/android/launcher3/pm/InstallSessionTracker.java
+++ b/src/com/android/launcher3/pm/InstallSessionTracker.java
@@ -15,6 +15,7 @@
  */
 package com.android.launcher3.pm;
 
+import static com.android.launcher3.Flags.enableSupportForArchiving;
 import static com.android.launcher3.pm.InstallSessionHelper.getUserHandle;
 import static com.android.launcher3.pm.PackageInstallInfo.STATUS_FAILED;
 import static com.android.launcher3.pm.PackageInstallInfo.STATUS_INSTALLED;
@@ -36,6 +37,7 @@
 import java.lang.ref.WeakReference;
 import java.util.Objects;
 
+@SuppressWarnings("NewApi")
 @WorkerThread
 public class InstallSessionTracker extends PackageInstaller.SessionCallback {
 
@@ -77,6 +79,12 @@
         }
 
         helper.tryQueuePromiseAppIcon(sessionInfo);
+
+        if (enableSupportForArchiving() && sessionInfo != null && sessionInfo.isUnarchival()) {
+            // For archived apps, icon could already be present on the workspace. To make sure
+            // the icon state is updated, we send a change event.
+            callback.onPackageStateChanged(PackageInstallInfo.fromInstallingState(sessionInfo));
+        }
     }
 
     @Override
diff --git a/src/com/android/launcher3/pm/UserCache.java b/src/com/android/launcher3/pm/UserCache.java
index 92822ab..8708d5a 100644
--- a/src/com/android/launcher3/pm/UserCache.java
+++ b/src/com/android/launcher3/pm/UserCache.java
@@ -17,6 +17,7 @@
 package com.android.launcher3.pm;
 
 import static com.android.launcher3.Utilities.ATLEAST_U;
+import static com.android.launcher3.uioverrides.ApiWrapper.queryAllUsers;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
 
 import android.content.Context;
@@ -24,15 +25,16 @@
 import android.os.Process;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.util.ArrayMap;
 
 import androidx.annotation.AnyThread;
 import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
 import androidx.annotation.WorkerThread;
 
 import com.android.launcher3.util.MainThreadInitializedObject;
 import com.android.launcher3.util.SafeCloseable;
 import com.android.launcher3.util.SimpleBroadcastReceiver;
+import com.android.launcher3.util.UserIconInfo;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -54,10 +56,18 @@
             ? Intent.ACTION_PROFILE_ACCESSIBLE : Intent.ACTION_MANAGED_PROFILE_UNLOCKED;
     public static final String ACTION_PROFILE_LOCKED = ATLEAST_U
             ? Intent.ACTION_PROFILE_INACCESSIBLE : Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE;
+    public static final String ACTION_PROFILE_AVAILABLE = "android.intent.action.PROFILE_AVAILABLE";
+    public static final String ACTION_PROFILE_UNAVAILABLE =
+            "android.intent.action.PROFILE_UNAVAILABLE";
 
     public static final MainThreadInitializedObject<UserCache> INSTANCE =
             new MainThreadInitializedObject<>(UserCache::new);
 
+    /** Returns an instance of UserCache bound to the context provided. */
+    public static UserCache getInstance(Context context) {
+        return INSTANCE.get(context);
+    }
+
     private final List<BiConsumer<UserHandle, String>> mUserEventListeners = new ArrayList<>();
     private final SimpleBroadcastReceiver mUserChangeReceiver =
             new SimpleBroadcastReceiver(this::onUsersChanged);
@@ -65,7 +75,7 @@
     private final Context mContext;
 
     @NonNull
-    private Map<UserHandle, Long> mUserToSerialMap;
+    private Map<UserHandle, UserIconInfo> mUserToSerialMap;
 
     private UserCache(Context context) {
         mContext = context;
@@ -86,7 +96,9 @@
                 ACTION_PROFILE_ADDED,
                 ACTION_PROFILE_REMOVED,
                 ACTION_PROFILE_UNLOCKED,
-                ACTION_PROFILE_LOCKED);
+                ACTION_PROFILE_LOCKED,
+                ACTION_PROFILE_AVAILABLE,
+                ACTION_PROFILE_UNAVAILABLE);
         updateCache();
     }
 
@@ -103,7 +115,7 @@
 
     @WorkerThread
     private void updateCache() {
-        mUserToSerialMap = queryAllUsers(mContext.getSystemService(UserManager.class));
+        mUserToSerialMap = queryAllUsers(mContext);
     }
 
     /**
@@ -118,40 +130,40 @@
      * @see UserManager#getSerialNumberForUser(UserHandle)
      */
     public long getSerialNumberForUser(UserHandle user) {
-        Long serial = mUserToSerialMap.get(user);
-        return serial == null ? 0 : serial;
+        return getUserInfo(user).userSerial;
+    }
+
+    /**
+     * Returns the user properties for the provided user or default values
+     */
+    @NonNull
+    public UserIconInfo getUserInfo(UserHandle user) {
+        UserIconInfo info = mUserToSerialMap.get(user);
+        return info == null ? new UserIconInfo(user, UserIconInfo.TYPE_MAIN) : info;
     }
 
     /**
      * @see UserManager#getUserForSerialNumber(long)
      */
     public UserHandle getUserForSerialNumber(long serialNumber) {
-        Long value = serialNumber;
         return mUserToSerialMap
                 .entrySet()
                 .stream()
-                .filter(entry -> value.equals(entry.getValue()))
+                .filter(entry -> serialNumber == entry.getValue().userSerial)
                 .findFirst()
                 .map(Map.Entry::getKey)
                 .orElse(Process.myUserHandle());
     }
 
+    @VisibleForTesting
+    public void putToCache(UserHandle userHandle, UserIconInfo info) {
+        mUserToSerialMap.put(userHandle, info);
+    }
+
     /**
      * @see UserManager#getUserProfiles()
      */
     public List<UserHandle> getUserProfiles() {
         return List.copyOf(mUserToSerialMap.keySet());
     }
-
-    private static Map<UserHandle, Long> queryAllUsers(UserManager userManager) {
-        Map<UserHandle, Long> users = new ArrayMap<>();
-        List<UserHandle> usersActual = userManager.getUserProfiles();
-        if (usersActual != null) {
-            for (UserHandle user : usersActual) {
-                long serial = userManager.getSerialNumberForUser(user);
-                users.put(user, serial);
-            }
-        }
-        return users;
-    }
 }
diff --git a/src/com/android/launcher3/popup/ArrowPopup.java b/src/com/android/launcher3/popup/ArrowPopup.java
index e0f245f..4d4a8f7 100644
--- a/src/com/android/launcher3/popup/ArrowPopup.java
+++ b/src/com/android/launcher3/popup/ArrowPopup.java
@@ -18,12 +18,9 @@
 
 import static androidx.core.content.ContextCompat.getColorStateList;
 
-import static com.android.app.animation.Interpolators.ACCELERATED_EASE;
-import static com.android.app.animation.Interpolators.DECELERATED_EASE;
 import static com.android.app.animation.Interpolators.EMPHASIZED_ACCELERATE;
 import static com.android.app.animation.Interpolators.EMPHASIZED_DECELERATE;
 import static com.android.app.animation.Interpolators.LINEAR;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_MATERIAL_U_POPUP;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -130,6 +127,7 @@
 
     protected final float mElevation;
 
+    // Tag for Views that have children that will need to be iterated to add styling.
     private final String mIterateChildrenTag;
 
     protected final int[] mColorIds;
@@ -170,7 +168,7 @@
 
         mIterateChildrenTag = getContext().getString(R.string.popup_container_iterate_children);
 
-        if (!ENABLE_MATERIAL_U_POPUP.get() && mActivityContext.canUseMultipleShadesForPopup()) {
+        if (mActivityContext.canUseMultipleShadesForPopup()) {
             mColorIds = new int[]{R.color.popup_shade_first, R.color.popup_shade_second,
                     R.color.popup_shade_third};
         } else {
@@ -241,14 +239,13 @@
             }
         }
 
-        int numVisibleChild = 0;
         int numVisibleShortcut = 0;
         View lastView = null;
         AnimatorSet colorAnimator = new AnimatorSet();
         for (int i = 0; i < count; i++) {
             View view = viewGroup.getChildAt(i);
             if (view.getVisibility() == VISIBLE) {
-                if (lastView != null) {
+                if (lastView != null && (isShortcutContainer(lastView))) {
                     MarginLayoutParams mlp = (MarginLayoutParams) lastView.getLayoutParams();
                     mlp.bottomMargin = mChildContainerMargin;
                 }
@@ -256,26 +253,13 @@
                 MarginLayoutParams mlp = (MarginLayoutParams) lastView.getLayoutParams();
                 mlp.bottomMargin = 0;
 
-                if (colors != null) {
-                    if (!ENABLE_MATERIAL_U_POPUP.get()) {
-                        backgroundColor = colors[numVisibleChild % colors.length];
-                    }
-
-                    if (ENABLE_MATERIAL_U_POPUP.get() && isShortcutContainer(view)) {
-                        setChildColor(view, colors[0], colorAnimator);
-                        mArrowColor = colors[0];
-                    }
-                }
-
-                // Arrow color matches the first child or the last child.
-                if (!ENABLE_MATERIAL_U_POPUP.get()
-                        && (mIsAboveIcon || (numVisibleChild == 0 && viewGroup == this))) {
-                    mArrowColor = backgroundColor;
+                if (colors != null && isShortcutContainer(view)) {
+                    setChildColor(view, colors[0], colorAnimator);
+                    mArrowColor = colors[0];
                 }
 
                 if (view instanceof ViewGroup && isShortcutContainer(view)) {
                     assignMarginsAndBackgrounds((ViewGroup) view, backgroundColor);
-                    numVisibleChild++;
                     continue;
                 }
 
@@ -295,7 +279,6 @@
                 }
 
                 setChildColor(view, backgroundColor, colorAnimator);
-                numVisibleChild++;
             }
         }
 
@@ -433,8 +416,7 @@
     private void orientAboutObject(boolean allowAlignLeft, boolean allowAlignRight) {
         measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
 
-        int extraVerticalSpace = mArrowHeight + mArrowOffsetVertical
-                + getResources().getDimensionPixelSize(R.dimen.popup_vertical_padding);
+        int extraVerticalSpace = mArrowHeight + mArrowOffsetVertical + getExtraVerticalOffset();
         // The margins are added after we call this method, so we need to account for them here.
         int numVisibleChildren = 0;
         for (int i = getChildCount() - 1; i >= 0; --i) {
@@ -573,23 +555,14 @@
 
     protected void animateOpen() {
         setVisibility(View.VISIBLE);
-        mOpenCloseAnimator = ENABLE_MATERIAL_U_POPUP.get()
-                ? getMaterialUOpenCloseAnimator(
+        mOpenCloseAnimator = getOpenCloseAnimator(
                         true,
                         OPEN_DURATION_U,
                         OPEN_FADE_START_DELAY_U,
                         OPEN_FADE_DURATION_U,
                         OPEN_CHILD_FADE_START_DELAY_U,
                         OPEN_CHILD_FADE_DURATION_U,
-                        EMPHASIZED_DECELERATE)
-                : getOpenCloseAnimator(
-                        true,
-                        mOpenDuration,
-                        mOpenFadeStartDelay,
-                        mOpenFadeDuration,
-                        mOpenChildFadeStartDelay,
-                        mOpenChildFadeDuration,
-                        DECELERATED_EASE);
+                        EMPHASIZED_DECELERATE);
 
         onCreateOpenAnimation(mOpenCloseAnimator);
         mOpenCloseAnimator.addListener(new AnimatorListenerAdapter() {
@@ -603,44 +576,6 @@
         mOpenCloseAnimator.start();
     }
 
-    private AnimatorSet getOpenCloseAnimator(boolean isOpening, int totalDuration,
-            int fadeStartDelay, int fadeDuration, int childFadeStartDelay,
-            int childFadeDuration, Interpolator interpolator) {
-        final AnimatorSet animatorSet = new AnimatorSet();
-        float[] alphaValues = isOpening ? new float[] {0, 1} : new float[] {1, 0};
-        float[] scaleValues = isOpening ? new float[] {0.5f, 1} : new float[] {1, 0.5f};
-
-        ValueAnimator fade = ValueAnimator.ofFloat(alphaValues);
-        fade.setStartDelay(fadeStartDelay);
-        fade.setDuration(fadeDuration);
-        fade.setInterpolator(LINEAR);
-        fade.addUpdateListener(anim -> {
-            float alpha = (float) anim.getAnimatedValue();
-            mArrow.setAlpha(alpha);
-            setAlpha(alpha);
-        });
-        animatorSet.play(fade);
-
-        setPivotX(mIsLeftAligned ? 0 : getMeasuredWidth());
-        setPivotY(mIsAboveIcon ? getMeasuredHeight() : 0);
-        Animator scale = ObjectAnimator.ofFloat(this, View.SCALE_Y, scaleValues);
-        scale.setDuration(totalDuration);
-        scale.setInterpolator(interpolator);
-        animatorSet.play(scale);
-
-        if (shouldScaleArrow) {
-            Animator arrowScaleAnimator = ObjectAnimator.ofFloat(mArrow, View.SCALE_Y,
-                    scaleValues);
-            arrowScaleAnimator.setDuration(totalDuration);
-            arrowScaleAnimator.setInterpolator(interpolator);
-            animatorSet.play(arrowScaleAnimator);
-        }
-
-        fadeInChildViews(this, alphaValues, childFadeStartDelay, childFadeDuration, animatorSet);
-
-        return animatorSet;
-    }
-
     private void fadeInChildViews(ViewGroup group, float[] alphaValues, long startDelay,
             long duration, AnimatorSet out) {
         for (int i = group.getChildCount() - 1; i >= 0; --i) {
@@ -673,22 +608,14 @@
         }
         mIsOpen = false;
 
-        mOpenCloseAnimator = ENABLE_MATERIAL_U_POPUP.get()
-                ? getMaterialUOpenCloseAnimator(
+        mOpenCloseAnimator = getOpenCloseAnimator(
                         false,
                         CLOSE_DURATION_U,
                         CLOSE_FADE_START_DELAY_U,
                         CLOSE_FADE_DURATION_U,
                         CLOSE_CHILD_FADE_START_DELAY_U,
                         CLOSE_CHILD_FADE_DURATION_U,
-                        EMPHASIZED_ACCELERATE)
-                : getOpenCloseAnimator(false,
-                        mCloseDuration,
-                        mCloseFadeStartDelay,
-                        mCloseFadeDuration,
-                        mCloseChildFadeStartDelay,
-                        mCloseChildFadeDuration,
-                        ACCELERATED_EASE);
+                        EMPHASIZED_ACCELERATE);
 
         onCreateCloseAnimation(mOpenCloseAnimator);
         mOpenCloseAnimator.addListener(new AnimatorListenerAdapter() {
@@ -705,10 +632,14 @@
         mOpenCloseAnimator.start();
     }
 
-    protected AnimatorSet getMaterialUOpenCloseAnimator(boolean isOpening, int scaleDuration,
-            int fadeStartDelay, int fadeDuration, int childFadeStartDelay, int childFadeDuration,
-            Interpolator interpolator) {
+    public int getExtraVerticalOffset() {
+        return getResources().getDimensionPixelSize(R.dimen.popup_vertical_padding);
+    }
 
+    /**
+     * Sets X and Y pivots for the view animation considering arrow position.
+     */
+    protected void setPivotForOpenCloseAnimation() {
         int arrowCenter = mArrowOffsetHorizontal + mArrowWidth / 2;
         if (mIsArrowRotated) {
             setPivotX(mIsLeftAligned ? 0f : getMeasuredWidth());
@@ -717,6 +648,14 @@
             setPivotX(mIsLeftAligned ? arrowCenter : getMeasuredWidth() - arrowCenter);
             setPivotY(mIsAboveIcon ? getMeasuredHeight() : 0f);
         }
+    }
+
+
+    protected AnimatorSet getOpenCloseAnimator(boolean isOpening, int scaleDuration,
+            int fadeStartDelay, int fadeDuration, int childFadeStartDelay, int childFadeDuration,
+            Interpolator interpolator) {
+
+        setPivotForOpenCloseAnimation();
 
         float[] alphaValues = isOpening ? new float[] {0, 1} : new float[] {1, 0};
         float[] scaleValues = isOpening ? new float[] {0.5f, 1.02f} : new float[] {1f, 0.5f};
diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
index 1f26bab..934d43b 100644
--- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java
+++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
@@ -20,21 +20,15 @@
 import static com.android.launcher3.Utilities.ATLEAST_P;
 import static com.android.launcher3.Utilities.squaredHypot;
 import static com.android.launcher3.Utilities.squaredTouchSlop;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_MATERIAL_U_POPUP;
 import static com.android.launcher3.popup.PopupPopulator.MAX_SHORTCUTS;
-import static com.android.launcher3.popup.PopupPopulator.MAX_SHORTCUTS_IF_NOTIFICATIONS;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
 
-import static java.util.Collections.emptyList;
-
 import android.animation.AnimatorSet;
 import android.animation.LayoutTransition;
-import android.annotation.TargetApi;
 import android.content.Context;
 import android.graphics.Point;
 import android.graphics.PointF;
 import android.graphics.Rect;
-import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
 import android.util.AttributeSet;
@@ -55,17 +49,12 @@
 import com.android.launcher3.R;
 import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
 import com.android.launcher3.accessibility.ShortcutMenuAccessibilityDelegate;
-import com.android.launcher3.dot.DotInfo;
 import com.android.launcher3.dragndrop.DragController;
 import com.android.launcher3.dragndrop.DragOptions;
 import com.android.launcher3.dragndrop.DragView;
 import com.android.launcher3.dragndrop.DraggableView;
 import com.android.launcher3.model.data.ItemInfo;
-import com.android.launcher3.model.data.ItemInfoWithIcon;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
-import com.android.launcher3.notification.NotificationContainer;
-import com.android.launcher3.notification.NotificationInfo;
-import com.android.launcher3.notification.NotificationKeyData;
 import com.android.launcher3.shortcuts.DeepShortcutView;
 import com.android.launcher3.shortcuts.ShortcutDragPreviewProvider;
 import com.android.launcher3.touch.ItemLongClickListener;
@@ -81,7 +70,7 @@
 import java.util.stream.Collectors;
 
 /**
- * A container for shortcuts to deep links and notifications associated with an app.
+ * A container for shortcuts to deep links associated with an app.
  *
  * @param <T> The activity on with the popup shows
  */
@@ -98,8 +87,6 @@
     private final float mShortcutHeight;
 
     private BubbleTextView mOriginalIcon;
-    private int mNumNotifications;
-    private NotificationContainer mNotificationContainer;
     private int mContainerWidth;
 
     private ViewGroup mWidgetContainer;
@@ -142,24 +129,12 @@
         if (ev.getAction() == MotionEvent.ACTION_DOWN) {
             mInterceptTouchDown.set(ev.getX(), ev.getY());
         }
-        if (mNotificationContainer != null
-                && mNotificationContainer.onInterceptSwipeEvent(ev)) {
-            return true;
-        }
         // Stop sending touch events to deep shortcut views if user moved beyond touch slop.
         return squaredHypot(mInterceptTouchDown.x - ev.getX(), mInterceptTouchDown.y - ev.getY())
                 > squaredTouchSlop(getContext());
     }
 
     @Override
-    public boolean onTouchEvent(MotionEvent ev) {
-        if (mNotificationContainer != null) {
-            return mNotificationContainer.onSwipeEvent(ev) || super.onTouchEvent(ev);
-        }
-        return super.onTouchEvent(ev);
-    }
-
-    @Override
     protected boolean isOfType(int type) {
         return (type & TYPE_ACTION_POPUP) != 0;
     }
@@ -194,14 +169,6 @@
         return false;
     }
 
-    @Override
-    protected void setChildColor(View view, int color, AnimatorSet animatorSetOut) {
-        super.setChildColor(view, color, animatorSetOut);
-        if (view.getId() == R.id.notification_container && mNotificationContainer != null) {
-            mNotificationContainer.updateBackgroundColor(color, animatorSetOut);
-        }
-    }
-
     /**
      * Returns true if we can show the container.
      *
@@ -213,7 +180,8 @@
     }
 
     /**
-     * Shows the notifications and deep shortcuts associated with a Launcher {@param icon}.
+     * Shows a popup with shortcuts associated with a Launcher icon
+     * @param icon the app icon to show the popup for
      * @return the container if shown or null.
      */
     public static PopupContainerWithArrow<Launcher> showForIcon(BubbleTextView icon) {
@@ -235,21 +203,10 @@
                 .map(s -> s.getShortcut(launcher, item, icon))
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
-        if (ENABLE_MATERIAL_U_POPUP.get()) {
-            container = (PopupContainerWithArrow) launcher.getLayoutInflater().inflate(
-                    R.layout.popup_container_material_u, launcher.getDragLayer(), false);
-            container.configureForLauncher(launcher);
-            container.populateAndShowRowsMaterialU(icon, deepShortcutCount, systemShortcuts);
-        } else {
-            container = (PopupContainerWithArrow) launcher.getLayoutInflater().inflate(
-                    R.layout.popup_container, launcher.getDragLayer(), false);
-            container.configureForLauncher(launcher);
-            container.populateAndShow(
-                    icon,
-                    deepShortcutCount,
-                    popupDataProvider.getNotificationKeysForItem(item),
-                    systemShortcuts);
-        }
+        container = (PopupContainerWithArrow) launcher.getLayoutInflater().inflate(
+                R.layout.popup_container, launcher.getDragLayer(), false);
+        container.configureForLauncher(launcher);
+        container.populateAndShowRows(icon, deepShortcutCount, systemShortcuts);
         launcher.refreshAndBindWidgetsForPackageUser(PackageUserKey.fromItemInfo(item));
         container.requestFocus();
         return container;
@@ -263,91 +220,6 @@
         launcher.getDragController().addDragListener(this);
     }
 
-    private void initializeSystemShortcuts(List<SystemShortcut> shortcuts) {
-        if (shortcuts.isEmpty()) {
-            return;
-        }
-        // If there is only 1 shortcut, add it to its own container so it can show text and icon
-        if (shortcuts.size() == 1) {
-            mSystemShortcutContainer = inflateAndAdd(R.layout.system_shortcut_rows_container,
-                    this, 0);
-            initializeSystemShortcut(R.layout.system_shortcut, mSystemShortcutContainer,
-                    shortcuts.get(0), false);
-            return;
-        }
-        addSystemShortcutsIconsOnly(shortcuts);
-    }
-
-    @TargetApi(Build.VERSION_CODES.P)
-    public void populateAndShow(final BubbleTextView originalIcon, int shortcutCount,
-            final List<NotificationKeyData> notificationKeys, List<SystemShortcut> shortcuts) {
-        mNumNotifications = notificationKeys.size();
-        mOriginalIcon = originalIcon;
-
-        boolean hasDeepShortcuts = shortcutCount > 0;
-        mContainerWidth = getResources().getDimensionPixelSize(R.dimen.bg_popup_item_width);
-
-        // Add views
-        if (mNumNotifications > 0) {
-            // Add notification entries
-            if (mNotificationContainer == null) {
-                mNotificationContainer = findViewById(R.id.notification_container);
-                mNotificationContainer.setVisibility(VISIBLE);
-                mNotificationContainer.setPopupView(this);
-            } else {
-                mNotificationContainer.setVisibility(GONE);
-            }
-            updateNotificationHeader();
-        }
-        mSystemShortcutContainer = this;
-        if (mDeepShortcutContainer == null) {
-            mDeepShortcutContainer = findViewById(R.id.deep_shortcuts_container);
-        }
-        if (hasDeepShortcuts) {
-            List<SystemShortcut> systemShortcuts = getNonWidgetSystemShortcuts(shortcuts);
-            // if there are deep shortcuts, we might want to increase the width of shortcuts to fit
-            // horizontally laid out system shortcuts.
-            mContainerWidth = Math.max(mContainerWidth,
-                    systemShortcuts.size() * getResources()
-                            .getDimensionPixelSize(R.dimen.system_shortcut_header_icon_touch_size)
-            );
-
-            mDeepShortcutContainer.setVisibility(View.VISIBLE);
-
-            for (int i = shortcutCount; i > 0; i--) {
-                DeepShortcutView v = inflateAndAdd(R.layout.deep_shortcut, mDeepShortcutContainer);
-                v.getLayoutParams().width = mContainerWidth;
-                mDeepShortcuts.add(v);
-            }
-            updateHiddenShortcuts();
-            Optional<SystemShortcut.Widgets> widgetShortcutOpt = getWidgetShortcut(shortcuts);
-            if (widgetShortcutOpt.isPresent()) {
-                if (mWidgetContainer == null) {
-                    mWidgetContainer = inflateAndAdd(R.layout.widget_shortcut_container, this, 0);
-                }
-                initializeWidgetShortcut(mWidgetContainer, widgetShortcutOpt.get());
-            }
-
-            initializeSystemShortcuts(systemShortcuts);
-        } else {
-            mDeepShortcutContainer.setVisibility(View.GONE);
-            mSystemShortcutContainer = inflateAndAdd(R.layout.system_shortcut_rows_container,
-                    this, 0);
-            mWidgetContainer = mSystemShortcutContainer;
-            if (!shortcuts.isEmpty()) {
-                for (int i = 0; i < shortcuts.size(); i++) {
-                    initializeSystemShortcut(
-                            R.layout.system_shortcut,
-                            mSystemShortcutContainer,
-                            shortcuts.get(i),
-                            i < shortcuts.size() - 1);
-                }
-            }
-        }
-        show();
-        loadAppShortcuts((ItemInfo) originalIcon.getTag(), notificationKeys);
-    }
-
     /**
      * Populate and show shortcuts for the Launcher U app shortcut design.
      * Will inflate the container and shortcut View instances for the popup container.
@@ -355,28 +227,27 @@
      * @param deepShortcutCount Number of DeepShortcutView instances to add to container
      * @param systemShortcuts List of SystemShortcuts to add to container
      */
-    public void populateAndShowRowsMaterialU(final BubbleTextView originalIcon,
+    public void populateAndShowRows(final BubbleTextView originalIcon,
             int deepShortcutCount, List<SystemShortcut> systemShortcuts) {
 
         mOriginalIcon = originalIcon;
         mContainerWidth = getResources().getDimensionPixelSize(R.dimen.bg_popup_item_width);
 
         if (deepShortcutCount > 0) {
-            addAllShortcutsMaterialU(deepShortcutCount, systemShortcuts);
+            addAllShortcuts(deepShortcutCount, systemShortcuts);
         } else if (!systemShortcuts.isEmpty()) {
-            addSystemShortcutsMaterialU(systemShortcuts,
-                    R.layout.system_shortcut_rows_container_material_u,
+            addSystemShortcuts(systemShortcuts,
+                    R.layout.system_shortcut_rows_container,
                     R.layout.system_shortcut);
         }
         show();
-        loadAppShortcuts((ItemInfo) originalIcon.getTag(), /* notificationKeys= */ emptyList());
+        loadAppShortcuts((ItemInfo) originalIcon.getTag());
     }
 
     /**
      * Animates and loads shortcuts on background thread for this popup container
      */
-    private void loadAppShortcuts(ItemInfo originalItemInfo,
-            List<NotificationKeyData> notificationKeys) {
+    private void loadAppShortcuts(ItemInfo originalItemInfo) {
 
         if (ATLEAST_P) {
             setAccessibilityPaneTitle(getTitleForAccessibility());
@@ -387,7 +258,7 @@
         // Load the shortcuts on a background thread and update the container as it animates.
         MODEL_EXECUTOR.getHandler().postAtFrontOfQueue(PopupPopulator.createUpdateRunnable(
                 mActivityContext, originalItemInfo, new Handler(Looper.getMainLooper()),
-                this, mDeepShortcuts, notificationKeys));
+                this, mDeepShortcuts));
     }
 
     /**
@@ -396,16 +267,16 @@
      * @param deepShortcutCount number of DeepShortcutView instances
      * @param systemShortcuts List of SystemShortcuts
      */
-    private void addAllShortcutsMaterialU(int deepShortcutCount,
+    private void addAllShortcuts(int deepShortcutCount,
             List<SystemShortcut> systemShortcuts) {
         if (deepShortcutCount + systemShortcuts.size() <= SHORTCUT_COLLAPSE_THRESHOLD) {
             // add all system shortcuts including widgets shortcut to same container
-            addSystemShortcutsMaterialU(systemShortcuts,
-                    R.layout.system_shortcut_rows_container_material_u,
+            addSystemShortcuts(systemShortcuts,
+                    R.layout.system_shortcut_rows_container,
                     R.layout.system_shortcut);
             float currentHeight = (mShortcutHeight * systemShortcuts.size())
                     + mChildContainerMargin;
-            addDeepShortcutsMaterialU(deepShortcutCount, currentHeight);
+            addDeepShortcuts(deepShortcutCount, currentHeight);
             return;
         }
 
@@ -426,7 +297,7 @@
             initializeWidgetShortcut(mWidgetContainer, widgetShortcutOpt.get());
             currentHeight += mShortcutHeight + mChildContainerMargin;
         }
-        addDeepShortcutsMaterialU(deepShortcutCount, currentHeight);
+        addDeepShortcuts(deepShortcutCount, currentHeight);
     }
 
     /**
@@ -464,7 +335,7 @@
      * @param systemShortcutContainerLayout Layout Resource for the Container of shortcut Views
      * @param systemShortcutLayout Layout Resource for the individual shortcut Views
      */
-    private void addSystemShortcutsMaterialU(List<SystemShortcut> systemShortcuts,
+    private void addSystemShortcuts(List<SystemShortcut> systemShortcuts,
             @LayoutRes int systemShortcutContainerLayout, @LayoutRes int systemShortcutLayout) {
 
         if (systemShortcuts.size() == 0) {
@@ -486,9 +357,7 @@
             return;
         }
 
-        mSystemShortcutContainer = ENABLE_MATERIAL_U_POPUP.get()
-                ? inflateAndAdd(R.layout.system_shortcut_icons_container_material_u, this)
-                : inflateAndAdd(R.layout.system_shortcut_icons_container, this, 0);
+        mSystemShortcutContainer = inflateAndAdd(R.layout.system_shortcut_icons_container, this);
 
         for (int i = 0; i < systemShortcuts.size(); i++) {
             @LayoutRes int shortcutIconLayout = R.layout.system_shortcut_icon_only;
@@ -513,13 +382,13 @@
      * @param deepShortcutCount number of DeepShortcutView instances to add
      * @param currentHeight height of popup before adding deep shortcuts
      */
-    private void addDeepShortcutsMaterialU(int deepShortcutCount, float currentHeight) {
+    private void addDeepShortcuts(int deepShortcutCount, float currentHeight) {
         mDeepShortcutContainer = inflateAndAdd(R.layout.deep_shortcut_container, this);
         for (int i = deepShortcutCount; i > 0; i--) {
             currentHeight += mShortcutHeight;
             // when there is limited vertical screen space, limit total popup rows to fit
             if (currentHeight >= mActivityContext.getDeviceProfile().availableHeightPx) break;
-            DeepShortcutView v = inflateAndAdd(R.layout.deep_shortcut_material_u,
+            DeepShortcutView v = inflateAndAdd(R.layout.deep_shortcut,
                     mDeepShortcutContainer);
             v.getLayoutParams().width = mContainerWidth;
             mDeepShortcuts.add(v);
@@ -527,10 +396,6 @@
         updateHiddenShortcuts();
     }
 
-    protected NotificationContainer getNotificationContainer() {
-        return mNotificationContainer;
-    }
-
     protected BubbleTextView getOriginalIcon() {
         return mOriginalIcon;
     }
@@ -548,9 +413,7 @@
     }
 
     private String getTitleForAccessibility() {
-        return getContext().getString(mNumNotifications == 0 ?
-                R.string.action_deep_shortcut :
-                R.string.shortcuts_menu_with_notifications_description);
+        return getContext().getString(R.string.action_deep_shortcut);
     }
 
     @Override
@@ -564,20 +427,11 @@
                 : mOriginalIcon.getHeight());
     }
 
-    public void applyNotificationInfos(List<NotificationInfo> notificationInfos) {
-        if (mNotificationContainer != null) {
-            mNotificationContainer.applyNotificationInfos(notificationInfos);
-        }
-    }
-
     protected void updateHiddenShortcuts() {
-        int allowedCount = mNotificationContainer != null
-                ? MAX_SHORTCUTS_IF_NOTIFICATIONS : MAX_SHORTCUTS;
-
         int total = mDeepShortcuts.size();
         for (int i = 0; i < total; i++) {
             DeepShortcutView view = mDeepShortcuts.get(i);
-            view.setVisibility(i >= allowedCount ? GONE : VISIBLE);
+            view.setVisibility(i >= MAX_SHORTCUTS ? GONE : VISIBLE);
         }
     }
 
@@ -666,14 +520,6 @@
         };
     }
 
-    protected void updateNotificationHeader() {
-        ItemInfoWithIcon itemInfo = (ItemInfoWithIcon) mOriginalIcon.getTag();
-        DotInfo dotInfo = mActivityContext.getDotInfoForItem(itemInfo);
-        if (mNotificationContainer != null && dotInfo != null) {
-            mNotificationContainer.updateHeader(dotInfo.getNotificationCount());
-        }
-    }
-
     @Override
     public void onDropCompleted(View target, DragObject d, boolean success) {  }
 
diff --git a/src/com/android/launcher3/popup/PopupDataProvider.java b/src/com/android/launcher3/popup/PopupDataProvider.java
index 44e3dd6..962dffd 100644
--- a/src/com/android/launcher3/popup/PopupDataProvider.java
+++ b/src/com/android/launcher3/popup/PopupDataProvider.java
@@ -36,7 +36,6 @@
 
 import java.io.PrintWriter;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -73,7 +72,6 @@
 
     private void updateNotificationDots(Predicate<PackageUserKey> updatedDots) {
         mNotificationDotsChangeListener.accept(updatedDots);
-        mChangeListener.onNotificationDotsUpdated(updatedDots);
     }
 
     @Override
@@ -98,7 +96,6 @@
                 mPackageUserToDotInfos.remove(removedPackageUserKey);
             }
             updateNotificationDots(removedPackageUserKey::equals);
-            trimNotifications(mPackageUserToDotInfos);
         }
     }
 
@@ -136,11 +133,6 @@
         if (!updatedDots.isEmpty()) {
             updateNotificationDots(updatedDots::containsKey);
         }
-        trimNotifications(updatedDots);
-    }
-
-    private void trimNotifications(Map<PackageUserKey, DotInfo> updatedDots) {
-        mChangeListener.trimNotifications(updatedDots);
     }
 
     public void setDeepShortcutMap(HashMap<ComponentKey, Integer> deepShortcutMapCopy) {
@@ -169,26 +161,23 @@
         if (dotInfo == null) {
             return null;
         }
-        List<NotificationKeyData> notifications = getNotificationsForItem(
-                info, dotInfo.getNotificationKeys());
-        if (notifications.isEmpty()) {
-            return null;
-        }
-        return dotInfo;
-    }
 
-    public @NonNull List<NotificationKeyData> getNotificationKeysForItem(ItemInfo info) {
-        DotInfo dotInfo = getDotInfoForItem(info);
-        return dotInfo == null ? Collections.EMPTY_LIST
-                : getNotificationsForItem(info, dotInfo.getNotificationKeys());
-    }
-
-    public void cancelNotification(String notificationKey) {
-        NotificationListener notificationListener = NotificationListener.getInstanceIfConnected();
-        if (notificationListener == null) {
-            return;
+        // If the item represents a pinned shortcut, ensure that there is a notification
+        // for this shortcut
+        String shortcutId = ShortcutUtil.getShortcutIdIfPinnedShortcut(info);
+        if (shortcutId == null) {
+            return dotInfo;
         }
-        notificationListener.cancelNotificationFromLauncher(notificationKey);
+        String[] personKeys = ShortcutUtil.getPersonKeysIfPinnedShortcut(info);
+        return (dotInfo.getNotificationKeys().stream().anyMatch(notification -> {
+            if (notification.shortcutId != null) {
+                return notification.shortcutId.equals(shortcutId);
+            }
+            if (notification.personKeysFromNotification.length != 0) {
+                return Arrays.equals(notification.personKeysFromNotification, personKeys);
+            }
+            return false;
+        })) ? dotInfo : null;
     }
 
     /**
@@ -247,27 +236,6 @@
                 .orElse(null);
     }
 
-    /**
-     * Returns a list of notifications that are relevant to given ItemInfo.
-     */
-    public static @NonNull List<NotificationKeyData> getNotificationsForItem(
-            @NonNull ItemInfo info, @NonNull List<NotificationKeyData> notifications) {
-        String shortcutId = ShortcutUtil.getShortcutIdIfPinnedShortcut(info);
-        if (shortcutId == null) {
-            return notifications;
-        }
-        String[] personKeys = ShortcutUtil.getPersonKeysIfPinnedShortcut(info);
-        return notifications.stream().filter((NotificationKeyData notification) -> {
-                    if (notification.shortcutId != null) {
-                        return notification.shortcutId.equals(shortcutId);
-                    }
-                    if (notification.personKeysFromNotification.length != 0) {
-                        return Arrays.equals(notification.personKeysFromNotification, personKeys);
-                    }
-                    return false;
-                }).collect(Collectors.toList());
-    }
-
     public void dump(String prefix, PrintWriter writer) {
         writer.println(prefix + "PopupDataProvider:");
         writer.println(prefix + "\tmPackageUserToDotInfos:" + mPackageUserToDotInfos);
@@ -284,10 +252,6 @@
 
         PopupDataChangeListener INSTANCE = new PopupDataChangeListener() { };
 
-        default void onNotificationDotsUpdated(Predicate<PackageUserKey> updatedDots) { }
-
-        default void trimNotifications(Map<PackageUserKey, DotInfo> updatedDots) { }
-
         default void onWidgetsBound() { }
 
         /** A callback to get notified when recommended widgets are bound. */
diff --git a/src/com/android/launcher3/popup/PopupLiveUpdateHandler.java b/src/com/android/launcher3/popup/PopupLiveUpdateHandler.java
index c5d5452..9d6f2a5 100644
--- a/src/com/android/launcher3/popup/PopupLiveUpdateHandler.java
+++ b/src/com/android/launcher3/popup/PopupLiveUpdateHandler.java
@@ -15,22 +15,12 @@
  */
 package com.android.launcher3.popup;
 
-import static android.view.View.GONE;
-
 import android.content.Context;
 import android.view.View;
 
 import com.android.launcher3.BubbleTextView;
-import com.android.launcher3.dot.DotInfo;
-import com.android.launcher3.model.data.ItemInfo;
-import com.android.launcher3.notification.NotificationContainer;
-import com.android.launcher3.notification.NotificationKeyData;
-import com.android.launcher3.util.PackageUserKey;
 import com.android.launcher3.views.ActivityContext;
 
-import java.util.Map;
-import java.util.function.Predicate;
-
 /**
  * Utility class to handle updates while the popup is visible (like widgets and
  * notification changes)
@@ -67,40 +57,6 @@
         }
     }
 
-    /**
-     * Updates the notification header if the original icon's dot updated.
-     */
-    @Override
-    public void onNotificationDotsUpdated(Predicate<PackageUserKey> updatedDots) {
-        ItemInfo itemInfo = (ItemInfo) mPopupContainerWithArrow.getOriginalIcon().getTag();
-        PackageUserKey packageUser = PackageUserKey.fromItemInfo(itemInfo);
-        if (updatedDots.test(packageUser)) {
-            mPopupContainerWithArrow.updateNotificationHeader();
-        }
-    }
-
-
-    @Override
-    public void trimNotifications(Map<PackageUserKey, DotInfo> updatedDots) {
-        NotificationContainer notificationContainer =
-                mPopupContainerWithArrow.getNotificationContainer();
-        if (notificationContainer == null) {
-            return;
-        }
-        ItemInfo originalInfo = (ItemInfo) mPopupContainerWithArrow.getOriginalIcon().getTag();
-        DotInfo dotInfo = updatedDots.get(PackageUserKey.fromItemInfo(originalInfo));
-        if (dotInfo == null || dotInfo.getNotificationKeys().size() == 0) {
-            // No more notifications, remove the notification views and expand all shortcuts.
-            notificationContainer.setVisibility(GONE);
-            mPopupContainerWithArrow.updateHiddenShortcuts();
-            mPopupContainerWithArrow.assignMarginsAndBackgrounds(mPopupContainerWithArrow);
-            mPopupContainerWithArrow.updateArrowColor();
-        } else {
-            notificationContainer.trimNotifications(
-                    NotificationKeyData.extractKeysOnly(dotInfo.getNotificationKeys()));
-        }
-    }
-
     @Override
     public void onSystemShortcutsUpdated() {
         mPopupContainerWithArrow.close(true);
diff --git a/src/com/android/launcher3/popup/PopupPopulator.java b/src/com/android/launcher3/popup/PopupPopulator.java
index 8be4e6c..aa24f60 100644
--- a/src/com/android/launcher3/popup/PopupPopulator.java
+++ b/src/com/android/launcher3/popup/PopupPopulator.java
@@ -24,26 +24,19 @@
 import android.os.Handler;
 import android.os.UserHandle;
 
-import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.icons.IconCache;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
-import com.android.launcher3.notification.NotificationInfo;
-import com.android.launcher3.notification.NotificationKeyData;
-import com.android.launcher3.notification.NotificationListener;
 import com.android.launcher3.shortcuts.DeepShortcutView;
 import com.android.launcher3.shortcuts.ShortcutRequest;
 import com.android.launcher3.views.ActivityContext;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Comparator;
-import java.util.Iterator;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * Contains logic relevant to populating a {@link PopupContainerWithArrow}. In particular,
@@ -52,24 +45,20 @@
 public class PopupPopulator {
 
     public static final int MAX_SHORTCUTS = 4;
-    @VisibleForTesting static final int NUM_DYNAMIC = 2;
-    public static final int MAX_SHORTCUTS_IF_NOTIFICATIONS = 2;
+    @VisibleForTesting
+    static final int NUM_DYNAMIC = 2;
 
     /**
      * Sorts shortcuts in rank order, with manifest shortcuts coming before dynamic shortcuts.
      */
-    private static final Comparator<ShortcutInfo> SHORTCUT_RANK_COMPARATOR
-            = new Comparator<ShortcutInfo>() {
-        @Override
-        public int compare(ShortcutInfo a, ShortcutInfo b) {
-            if (a.isDeclaredInManifest() && !b.isDeclaredInManifest()) {
-                return -1;
-            }
-            if (!a.isDeclaredInManifest() && b.isDeclaredInManifest()) {
-                return 1;
-            }
-            return Integer.compare(a.getRank(), b.getRank());
+    private static final Comparator<ShortcutInfo> SHORTCUT_RANK_COMPARATOR = (a, b) -> {
+        if (a.isDeclaredInManifest() && !b.isDeclaredInManifest()) {
+            return -1;
         }
+        if (!a.isDeclaredInManifest() && b.isDeclaredInManifest()) {
+            return 1;
+        }
+        return Integer.compare(a.getRank(), b.getRank());
     };
 
     /**
@@ -77,23 +66,10 @@
      * We want the filter to include both static and dynamic shortcuts, so we always
      * include NUM_DYNAMIC dynamic shortcuts, if at least that many are present.
      *
-     * @param shortcutIdToRemoveFirst An id that should be filtered out first, if any.
      * @return a subset of shortcuts, in sorted order, with size <= MAX_SHORTCUTS.
      */
-    public static List<ShortcutInfo> sortAndFilterShortcuts(
-            List<ShortcutInfo> shortcuts, @Nullable String shortcutIdToRemoveFirst) {
-        // Remove up to one specific shortcut before sorting and doing somewhat fancy filtering.
-        if (shortcutIdToRemoveFirst != null) {
-            Iterator<ShortcutInfo> shortcutIterator = shortcuts.iterator();
-            while (shortcutIterator.hasNext()) {
-                if (shortcutIterator.next().getId().equals(shortcutIdToRemoveFirst)) {
-                    shortcutIterator.remove();
-                    break;
-                }
-            }
-        }
-
-        Collections.sort(shortcuts, SHORTCUT_RANK_COMPARATOR);
+    public static List<ShortcutInfo> sortAndFilterShortcuts(List<ShortcutInfo> shortcuts) {
+        shortcuts.sort(SHORTCUT_RANK_COMPARATOR);
         if (shortcuts.size() <= MAX_SHORTCUTS) {
             return shortcuts;
         }
@@ -127,37 +103,20 @@
     }
 
     /**
-     * Returns a runnable to update the provided shortcuts and notifications
+     * Returns a runnable to update the provided shortcuts
      */
     public static <T extends Context & ActivityContext> Runnable createUpdateRunnable(
             final T context,
             final ItemInfo originalInfo,
             final Handler uiHandler, final PopupContainerWithArrow container,
-            final List<DeepShortcutView> shortcutViews,
-            final List<NotificationKeyData> notificationKeys) {
+            final List<DeepShortcutView> shortcutViews) {
         final ComponentName activity = originalInfo.getTargetComponent();
         final UserHandle user = originalInfo.user;
         return () -> {
-            if (!notificationKeys.isEmpty()) {
-                NotificationListener notificationListener =
-                        NotificationListener.getInstanceIfConnected();
-                final List<NotificationInfo> infos;
-                if (notificationListener == null) {
-                    infos = Collections.emptyList();
-                } else {
-                    infos = notificationListener.getNotificationsForKeys(notificationKeys).stream()
-                            .map(sbn -> new NotificationInfo(context, sbn, originalInfo))
-                            .collect(Collectors.toList());
-                }
-                uiHandler.post(() -> container.applyNotificationInfos(infos));
-            }
-
             List<ShortcutInfo> shortcuts = new ShortcutRequest(context, user)
                     .withContainer(activity)
                     .query(ShortcutRequest.PUBLISHED);
-            String shortcutIdToDeDupe = notificationKeys.isEmpty() ? null
-                    : notificationKeys.get(0).shortcutId;
-            shortcuts = PopupPopulator.sortAndFilterShortcuts(shortcuts, shortcutIdToDeDupe);
+            shortcuts = PopupPopulator.sortAndFilterShortcuts(shortcuts);
             IconCache cache = LauncherAppState.getInstance(context).getIconCache();
             for (int i = 0; i < shortcuts.size() && i < shortcutViews.size(); i++) {
                 final ShortcutInfo shortcut = shortcuts.get(i);
diff --git a/src/com/android/launcher3/popup/SystemShortcut.java b/src/com/android/launcher3/popup/SystemShortcut.java
index 69bba69..fa7700b 100644
--- a/src/com/android/launcher3/popup/SystemShortcut.java
+++ b/src/com/android/launcher3/popup/SystemShortcut.java
@@ -1,12 +1,17 @@
 package com.android.launcher3.popup;
 
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_PRIVATE_SPACE_INSTALL_SYSTEM_SHORTCUT_TAP;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SYSTEM_SHORTCUT_APP_INFO_TAP;
+import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SYSTEM_SHORTCUT_DONT_SUGGEST_APP_TAP;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SYSTEM_SHORTCUT_WIDGETS_TAP;
 
 import android.app.ActivityOptions;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Rect;
+import android.os.Process;
+import android.os.UserHandle;
 import android.view.View;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.ImageView;
@@ -19,15 +24,19 @@
 import com.android.launcher3.Launcher;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.allapps.PrivateProfileManager;
 import com.android.launcher3.model.WidgetItem;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
+import com.android.launcher3.uioverrides.ApiWrapper;
+import com.android.launcher3.util.ComponentKey;
 import com.android.launcher3.util.InstantAppResolver;
 import com.android.launcher3.util.PackageManagerHelper;
 import com.android.launcher3.util.PackageUserKey;
 import com.android.launcher3.views.ActivityContext;
 import com.android.launcher3.widget.WidgetsBottomSheet;
 
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -210,6 +219,77 @@
         }
     }
 
+    public static final Factory<Launcher> PRIVATE_PROFILE_INSTALL =
+            (launcher, itemInfo, originalView) -> {
+                if (itemInfo.getTargetComponent() == null
+                        || !(itemInfo instanceof com.android.launcher3.model.data.AppInfo)
+                        || !itemInfo.getContainerInfo().hasAllAppsContainer()
+                        || !Process.myUserHandle().equals(itemInfo.user)) {
+                    return null;
+                }
+
+                PrivateProfileManager privateProfileManager =
+                        launcher.getAppsView().getPrivateProfileManager();
+                if (privateProfileManager == null || !privateProfileManager.isEnabled()) {
+                    return null;
+                }
+
+                UserHandle privateProfileUser = privateProfileManager.getProfileUser();
+                if (privateProfileUser == null) {
+                    return null;
+                }
+                // Do not show shortcut if an app is already installed to the space
+                ComponentName targetComponent = itemInfo.getTargetComponent();
+                if (launcher.getAppsView()
+                                .getAppsStore()
+                                .getApp(new ComponentKey(targetComponent, privateProfileUser))
+                        != null) {
+                    return null;
+                }
+
+                // Do not show shortcut for settings
+                String[] packagesToSkip =
+                        launcher.getResources()
+                                .getStringArray(R.array.skip_private_profile_shortcut_packages);
+                if (Arrays.asList(packagesToSkip).contains(targetComponent.getPackageName())) {
+                    return null;
+                }
+
+                return new InstallToPrivateProfile(
+                        launcher, itemInfo, originalView, privateProfileUser);
+            };
+
+    static class InstallToPrivateProfile extends SystemShortcut<Launcher> {
+        UserHandle mSpaceUser;
+
+        InstallToPrivateProfile(
+                Launcher target, ItemInfo itemInfo, View originalView, UserHandle spaceUser) {
+            // TODO(b/302666597): update icon once available
+            super(
+                    R.drawable.ic_install_to_private,
+                    R.string.install_private_system_shortcut_label,
+                    target,
+                    itemInfo,
+                    originalView);
+            mSpaceUser = spaceUser;
+        }
+
+        @Override
+        public void onClick(View view) {
+            Intent intent =
+                    ApiWrapper.getAppMarketActivityIntent(
+                            view.getContext(),
+                            mItemInfo.getTargetComponent().getPackageName(),
+                            mSpaceUser);
+            mTarget.startActivitySafely(view, intent, mItemInfo);
+            AbstractFloatingView.closeAllOpenViews(mTarget);
+            mTarget.getStatsLogManager()
+                    .logger()
+                    .withItemInfo(mItemInfo)
+                    .log(LAUNCHER_PRIVATE_SPACE_INSTALL_SYSTEM_SHORTCUT_TAP);
+        }
+    }
+
     public static final Factory<BaseDraggingActivity> INSTALL =
             (activity, itemInfo, originalView) -> {
                 boolean supportsWebUI = (itemInfo instanceof WorkspaceItemInfo)
@@ -237,13 +317,42 @@
 
         @Override
         public void onClick(View view) {
-            Intent intent = new PackageManagerHelper(view.getContext()).getMarketIntent(
-                    mItemInfo.getTargetComponent().getPackageName());
+            Intent intent = ApiWrapper.getAppMarketActivityIntent(view.getContext(),
+                    mItemInfo.getTargetComponent().getPackageName(),
+                    Process.myUserHandle());
             mTarget.startActivitySafely(view, intent, mItemInfo);
             AbstractFloatingView.closeAllOpenViews(mTarget);
         }
     }
 
+    public static final Factory<Launcher> DONT_SUGGEST_APP = new Factory<Launcher>() {
+        @Nullable
+        @Override
+        public SystemShortcut<Launcher> getShortcut(Launcher activity, ItemInfo itemInfo,
+                View originalView) {
+            if (!itemInfo.isPredictedItem()) {
+                return null;
+            }
+            return new DontSuggestApp(activity, itemInfo, originalView);
+        }
+    };
+
+    private static class DontSuggestApp extends SystemShortcut<Launcher> {
+        DontSuggestApp(Launcher target, ItemInfo itemInfo,
+                View originalView) {
+            super(R.drawable.ic_block_no_shadow, R.string.dismiss_prediction_label, target,
+                    itemInfo, originalView);
+        }
+
+        @Override
+        public void onClick(View view) {
+            dismissTaskMenuView(mTarget);
+            mTarget.getStatsLogManager().logger()
+                    .withItemInfo(mItemInfo)
+                    .log(LAUNCHER_SYSTEM_SHORTCUT_DONT_SUGGEST_APP_TAP);
+        }
+    }
+
     public static <T extends Context & ActivityContext> void dismissTaskMenuView(T activity) {
         AbstractFloatingView.closeOpenViews(activity, true,
             AbstractFloatingView.TYPE_ALL & ~AbstractFloatingView.TYPE_REBIND_SAFE);
diff --git a/src/com/android/launcher3/provider/LauncherDbUtils.java b/src/com/android/launcher3/provider/LauncherDbUtils.java
index 575551b..1f15947 100644
--- a/src/com/android/launcher3/provider/LauncherDbUtils.java
+++ b/src/com/android/launcher3/provider/LauncherDbUtils.java
@@ -16,6 +16,7 @@
 
 package com.android.launcher3.provider;
 
+import static com.android.launcher3.LauncherSettings.Favorites.getColumns;
 import static com.android.launcher3.icons.IconCache.EXTRA_SHORTCUT_BADGE_OVERRIDE_PACKAGE;
 
 import android.content.ContentValues;
@@ -48,7 +49,6 @@
  * A set of utility methods for Launcher DB used for DB updates and migration.
  */
 public class LauncherDbUtils {
-
     /**
      * Returns a string which can be used as a where clause for DB query to match the given itemId
      */
@@ -90,10 +90,12 @@
         if (fromDb != toDb) {
             toDb.execSQL("ATTACH DATABASE '" + fromDb.getPath() + "' AS from_db");
             toDb.execSQL(
-                    "INSERT INTO " + toTable + " SELECT * FROM from_db." + fromTable);
+                    "INSERT INTO " + toTable + " SELECT " + getColumns(userSerial)
+                        + " FROM from_db." + fromTable);
             toDb.execSQL("DETACH DATABASE 'from_db'");
         } else {
-            toDb.execSQL("INSERT INTO " + toTable + " SELECT * FROM " + fromTable);
+            toDb.execSQL("INSERT INTO " + toTable + " SELECT " + getColumns(userSerial) + " FROM "
+                    + fromTable);
         }
     }
 
@@ -107,7 +109,7 @@
         UserManagerState ums = new UserManagerState();
         ums.init(UserCache.INSTANCE.get(context),
                 context.getSystemService(UserManager.class));
-        LoaderCursor lc = new LoaderCursor(c, LauncherAppState.getInstance(context), ums);
+        LoaderCursor lc = new LoaderCursor(c, LauncherAppState.getInstance(context), ums, null);
         IntSet deletedShortcuts = new IntSet();
 
         while (lc.moveToNext()) {
diff --git a/src/com/android/launcher3/provider/RestoreDbTask.java b/src/com/android/launcher3/provider/RestoreDbTask.java
index 4725dd1..1c53855 100644
--- a/src/com/android/launcher3/provider/RestoreDbTask.java
+++ b/src/com/android/launcher3/provider/RestoreDbTask.java
@@ -18,16 +18,22 @@
 
 import static android.os.Process.myUserHandle;
 
+import static com.android.launcher3.Flags.enableLauncherBrMetricsFixed;
 import static com.android.launcher3.InvariantDeviceProfile.TYPE_MULTI_DISPLAY;
 import static com.android.launcher3.LauncherPrefs.APP_WIDGET_IDS;
+import static com.android.launcher3.LauncherPrefs.IS_FIRST_LOAD_AFTER_RESTORE;
 import static com.android.launcher3.LauncherPrefs.OLD_APP_WIDGET_IDS;
 import static com.android.launcher3.LauncherPrefs.RESTORE_DEVICE;
+import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE;
 import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
+import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET;
 import static com.android.launcher3.provider.LauncherDbUtils.dropTable;
 import static com.android.launcher3.widget.LauncherWidgetHolder.APPWIDGET_HOST_ID;
 
 import android.app.backup.BackupManager;
 import android.appwidget.AppWidgetHost;
+import android.appwidget.AppWidgetManager;
+import android.appwidget.AppWidgetProviderInfo;
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
@@ -42,20 +48,28 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
+import androidx.annotation.WorkerThread;
 
-import com.android.launcher3.AppWidgetsRestoredReceiver;
 import com.android.launcher3.InvariantDeviceProfile;
+import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.LauncherPrefs;
+import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.LauncherSettings.Favorites;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger;
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger.RestoreError;
 import com.android.launcher3.logging.FileLog;
 import com.android.launcher3.model.DeviceGridState;
+import com.android.launcher3.model.LoaderTask;
 import com.android.launcher3.model.ModelDbController;
+import com.android.launcher3.model.WidgetsModel;
 import com.android.launcher3.model.data.AppInfo;
 import com.android.launcher3.model.data.LauncherAppWidgetInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
+import com.android.launcher3.pm.UserCache;
 import com.android.launcher3.provider.LauncherDbUtils.SQLiteTransaction;
 import com.android.launcher3.uioverrides.ApiWrapper;
+import com.android.launcher3.util.ContentWriter;
 import com.android.launcher3.util.IntArray;
 import com.android.launcher3.util.LogConfig;
 
@@ -75,15 +89,17 @@
 
     private static final String TAG = "RestoreDbTask";
     public static final String RESTORED_DEVICE_TYPE = "restored_task_pending";
+    public static final String FIRST_LOAD_AFTER_RESTORE_KEY = "first_load_after_restore";
 
     private static final String INFO_COLUMN_NAME = "name";
     private static final String INFO_COLUMN_DEFAULT_VALUE = "dflt_value";
 
     public static final String APPWIDGET_OLD_IDS = "appwidget_old_ids";
     public static final String APPWIDGET_IDS = "appwidget_ids";
-
-    private static final String[] DB_COLUMNS_TO_LOG = {"profileId", "title", "itemType", "screen",
-            "container", "cellX", "cellY", "spanX", "spanY", "intent"};
+    @VisibleForTesting
+    public static final String[] DB_COLUMNS_TO_LOG = {"profileId", "title", "itemType", "screen",
+            "container", "cellX", "cellY", "spanX", "spanY", "intent", "appWidgetProvider",
+            "appWidgetId", "restored"};
 
     /**
      * Tries to restore the backup DB if needed
@@ -113,8 +129,11 @@
         FileLog.d(TAG, "performRestore: starting restore from db");
         try (SQLiteTransaction t = new SQLiteTransaction(db)) {
             RestoreDbTask task = new RestoreDbTask();
-            task.sanitizeDB(context, controller, db, new BackupManager(context));
-            task.restoreAppWidgetIdsIfExists(context, controller);
+            BackupManager backupManager = new BackupManager(context);
+            LauncherRestoreEventLogger restoreEventLogger =
+                    LauncherRestoreEventLogger.Companion.newInstance(context);
+            task.sanitizeDB(context, controller, db, backupManager, restoreEventLogger);
+            task.restoreAppWidgetIdsIfExists(context, controller, restoreEventLogger);
             t.commit();
             return true;
         } catch (Exception e) {
@@ -133,16 +152,18 @@
      *   4. If restored from a single display backup, remove gaps between screenIds
      *   5. Override shortcuts that need to be replaced.
      *
-     * @return number of items deleted.
+     * @return number of items deleted
      */
     @VisibleForTesting
     protected int sanitizeDB(Context context, ModelDbController controller, SQLiteDatabase db,
-            BackupManager backupManager) throws Exception {
-        FileLog.d(TAG, "Old Launcher Database before sanitizing:");
+            BackupManager backupManager, LauncherRestoreEventLogger restoreEventLogger)
+            throws Exception {
+        logFavoritesTable(db, "Old Launcher Database before sanitizing:", null, null);
         // Primary user ids
         long myProfileId = controller.getSerialNumberForUser(myUserHandle());
         long oldProfileId = getDefaultProfileId(db);
-        FileLog.d(TAG, "sanitizeDB: myProfileId=" + myProfileId + " oldProfileId=" + oldProfileId);
+        FileLog.d(TAG, "sanitizeDB: myProfileId= " + myProfileId
+                + ", oldProfileId= " + oldProfileId);
         LongSparseArray<Long> oldManagedProfileIds = getManagedProfileIds(db, oldProfileId);
         LongSparseArray<Long> profileMapping = new LongSparseArray<>(oldManagedProfileIds.size()
                 + 1);
@@ -174,7 +195,10 @@
         final String[] args = new String[profileIds.length];
         Arrays.fill(args, "?");
         final String where = "profileId NOT IN (" + TextUtils.join(", ", Arrays.asList(args)) + ")";
-        logUnrestoredItems(db, where, profileIds);
+        logFavoritesTable(db, "items to delete from unrestored profiles:", where, profileIds);
+        if (enableLauncherBrMetricsFixed()) {
+            reportUnrestoredProfiles(db, where, profileIds, restoreEventLogger);
+        }
         int itemsDeletedCount = db.delete(Favorites.TABLE_NAME, where, profileIds);
         FileLog.d(TAG, itemsDeletedCount + " total items from unrestored user(s) were deleted");
 
@@ -234,47 +258,6 @@
     }
 
     /**
-     * Queries and logs the items we will delete from unrestored profiles in the launcher db.
-     * This is to understand why items might be missing during the restore process for Launcher.
-     * @param database the Launcher db to query from.
-     * @param where the SELECT statement to query items that will be deleted.
-     * @param profileIds the profile ID's the user will be migrating to.
-     */
-    private void logUnrestoredItems(SQLiteDatabase database, String where, String[] profileIds) {
-        try (Cursor itemsToDelete = database.query(
-                /* table */ Favorites.TABLE_NAME,
-                /* columns */ DB_COLUMNS_TO_LOG,
-                /* selection */ where,
-                /* selection args */ profileIds,
-                /* groupBy */ null,
-                /* having */ null,
-                /* orderBy */ null
-        )) {
-            if (itemsToDelete.moveToFirst()) {
-                String[] columnNames = itemsToDelete.getColumnNames();
-                StringBuilder stringBuilder = new StringBuilder(
-                        "items to be deleted from the Favorites Table during restore:\n"
-                );
-                do {
-                    for (String columnName : columnNames) {
-                        stringBuilder.append(columnName)
-                            .append("=")
-                            .append(itemsToDelete.getString(
-                                        itemsToDelete.getColumnIndex(columnName)))
-                            .append(" ");
-                    }
-                    stringBuilder.append("\n");
-                } while (itemsToDelete.moveToNext());
-                FileLog.d(TAG, stringBuilder.toString());
-            } else {
-                FileLog.d(TAG, "logDeletedItems: No items found to delete");
-            }
-        } catch (Exception e) {
-            FileLog.e(TAG, "logDeletedItems: Error reading from database", e);
-        }
-    }
-
-    /**
      * Remove gaps between screenIds to make sure no empty pages are left in between.
      *
      * e.g. [0, 3, 4, 6, 7] -> [0, 1, 2, 3, 4]
@@ -372,31 +355,164 @@
      * Marks the DB state as pending restoration
      */
     public static void setPending(Context context) {
-        FileLog.d(TAG, "Restore data received through full backup");
-        LauncherPrefs.get(context)
-                .putSync(RESTORE_DEVICE.to(new DeviceGridState(context).getDeviceType()));
+        DeviceGridState deviceGridState = new DeviceGridState(context);
+        FileLog.d(TAG, "restore initiated from backup: DeviceGridState=" + deviceGridState);
+        LauncherPrefs.get(context).putSync(RESTORE_DEVICE.to(deviceGridState.getDeviceType()));
+        if (enableLauncherBrMetricsFixed()) {
+            LauncherPrefs.get(context).putSync(IS_FIRST_LOAD_AFTER_RESTORE.to(true));
+        }
     }
 
-    private void restoreAppWidgetIdsIfExists(Context context, ModelDbController controller) {
+    @WorkerThread
+    @VisibleForTesting
+    void restoreAppWidgetIdsIfExists(Context context, ModelDbController controller,
+            LauncherRestoreEventLogger restoreEventLogger) {
         LauncherPrefs lp = LauncherPrefs.get(context);
         if (lp.has(APP_WIDGET_IDS, OLD_APP_WIDGET_IDS)) {
             AppWidgetHost host = new AppWidgetHost(context, APPWIDGET_HOST_ID);
-            AppWidgetsRestoredReceiver.restoreAppWidgetIds(context, controller,
+            restoreAppWidgetIds(context, controller, restoreEventLogger,
                     IntArray.fromConcatString(lp.get(OLD_APP_WIDGET_IDS)).toArray(),
                     IntArray.fromConcatString(lp.get(APP_WIDGET_IDS)).toArray(),
                     host);
         } else {
-            FileLog.d(TAG, "No app widget ids to restore.");
+            FileLog.d(TAG, "Did not receive new app widget id map during Launcher restore");
         }
 
         lp.remove(APP_WIDGET_IDS, OLD_APP_WIDGET_IDS);
     }
 
-    public static void setRestoredAppWidgetIds(Context context, @NonNull int[] oldIds,
-            @NonNull int[] newIds) {
-        LauncherPrefs.get(context).putSync(
-                OLD_APP_WIDGET_IDS.to(IntArray.wrap(oldIds).toConcatString()),
-                APP_WIDGET_IDS.to(IntArray.wrap(newIds).toConcatString()));
+    /**
+     * Updates the app widgets whose id has changed during the restore process.
+     */
+    @WorkerThread
+    private void restoreAppWidgetIds(Context context, ModelDbController controller,
+            LauncherRestoreEventLogger launcherRestoreEventLogger, int[] oldWidgetIds,
+            int[] newWidgetIds, @NonNull AppWidgetHost host) {
+        if (WidgetsModel.GO_DISABLE_WIDGETS) {
+            FileLog.e(TAG, "Skipping widget ID remap as widgets not supported");
+            host.deleteHost();
+            launcherRestoreEventLogger.logFavoritesItemsRestoreFailed(Favorites.ITEM_TYPE_APPWIDGET,
+                    oldWidgetIds.length, RestoreError.WIDGETS_DISABLED);
+            return;
+        }
+        if (!RestoreDbTask.isPending(context)) {
+            // Someone has already gone through our DB once, probably LoaderTask. Skip any further
+            // modifications of the DB.
+            FileLog.e(TAG, "Skipping widget ID remap as DB already in use");
+            for (int widgetId : newWidgetIds) {
+                FileLog.d(TAG, "Deleting widgetId: " + widgetId);
+                host.deleteAppWidgetId(widgetId);
+            }
+            return;
+        }
+
+        final AppWidgetManager widgets = AppWidgetManager.getInstance(context);
+
+        FileLog.d(TAG, "restoreAppWidgetIds: "
+                + "oldWidgetIds=" + IntArray.wrap(oldWidgetIds).toConcatString()
+                + ", newWidgetIds=" + IntArray.wrap(newWidgetIds).toConcatString());
+
+        // TODO(b/234700507): Remove the logs after the bug is fixed
+        logDatabaseWidgetInfo(controller);
+
+        for (int i = 0; i < oldWidgetIds.length; i++) {
+            FileLog.i(TAG, "Widget state restore id " + oldWidgetIds[i] + " => " + newWidgetIds[i]);
+
+            final AppWidgetProviderInfo provider = widgets.getAppWidgetInfo(newWidgetIds[i]);
+            final int state;
+            if (LoaderTask.isValidProvider(provider)) {
+                // This will ensure that we show 'Click to setup' UI if required.
+                state = LauncherAppWidgetInfo.FLAG_UI_NOT_READY;
+            } else {
+                state = LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY;
+            }
+
+            // b/135926478: Work profile widget restore is broken in platform. This forces us to
+            // recreate the widget during loading with the correct host provider.
+            long mainProfileId = UserCache.INSTANCE.get(context)
+                    .getSerialNumberForUser(myUserHandle());
+            long controllerProfileId = controller.getSerialNumberForUser(myUserHandle());
+            String oldWidgetId = Integer.toString(oldWidgetIds[i]);
+            final String where = "appWidgetId=? and (restored & 1) = 1 and profileId=?";
+            String profileId = Long.toString(mainProfileId);
+            final String[] args = new String[] { oldWidgetId, profileId };
+            FileLog.d(TAG, "restoreAppWidgetIds: querying profile id=" + profileId
+                    + " with controller profile ID=" + controllerProfileId);
+            int result = new ContentWriter(context,
+                    new ContentWriter.CommitParams(controller, where, args))
+                    .put(LauncherSettings.Favorites.APPWIDGET_ID, newWidgetIds[i])
+                    .put(LauncherSettings.Favorites.RESTORED, state)
+                    .commit();
+            if (result == 0) {
+                // TODO(b/234700507): Remove the logs after the bug is fixed
+                FileLog.e(TAG, "restoreAppWidgetIds: remapping failed since the widget is not in"
+                        + " the database anymore");
+                try (Cursor cursor = controller.getDb().query(
+                        Favorites.TABLE_NAME,
+                        new String[]{Favorites.APPWIDGET_ID},
+                        "appWidgetId=?", new String[]{oldWidgetId}, null, null, null)) {
+                    if (!cursor.moveToFirst()) {
+                        // The widget no long exists.
+                        FileLog.d(TAG, "Deleting widgetId: " + newWidgetIds[i] + " with old id: "
+                                + oldWidgetId);
+                        host.deleteAppWidgetId(newWidgetIds[i]);
+                        launcherRestoreEventLogger.logSingleFavoritesItemRestoreFailed(
+                                ITEM_TYPE_APPWIDGET,
+                                RestoreError.WIDGET_REMOVED
+                        );
+                    }
+                }
+            }
+        }
+
+        logFavoritesTable(controller.getDb(), "launcher db after remap widget ids", null, null);
+        LauncherAppState app = LauncherAppState.getInstanceNoCreate();
+        if (app != null) {
+            app.getModel().forceReload();
+        }
+    }
+
+    private static void logDatabaseWidgetInfo(ModelDbController controller) {
+        try (Cursor cursor = controller.getDb().query(Favorites.TABLE_NAME,
+                new String[]{Favorites.APPWIDGET_ID, Favorites.RESTORED, Favorites.PROFILE_ID},
+                Favorites.APPWIDGET_ID + "!=" + LauncherAppWidgetInfo.NO_ID, null,
+                null, null, null)) {
+            IntArray widgetIdList = new IntArray();
+            IntArray widgetRestoreList = new IntArray();
+            IntArray widgetProfileIdList = new IntArray();
+
+            if (cursor.moveToFirst()) {
+                final int widgetIdColumnIndex = cursor.getColumnIndex(Favorites.APPWIDGET_ID);
+                final int widgetRestoredColumnIndex = cursor.getColumnIndex(Favorites.RESTORED);
+                final int widgetProfileIdIndex = cursor.getColumnIndex(Favorites.PROFILE_ID);
+                while (!cursor.isAfterLast()) {
+                    int widgetId = cursor.getInt(widgetIdColumnIndex);
+                    int widgetRestoredFlag = cursor.getInt(widgetRestoredColumnIndex);
+                    int widgetProfileId = cursor.getInt(widgetProfileIdIndex);
+
+                    widgetIdList.add(widgetId);
+                    widgetRestoreList.add(widgetRestoredFlag);
+                    widgetProfileIdList.add(widgetProfileId);
+                    cursor.moveToNext();
+                }
+            }
+
+            StringBuilder builder = new StringBuilder();
+            builder.append("[");
+            for (int i = 0; i < widgetIdList.size(); i++) {
+                builder.append("[appWidgetId=")
+                        .append(widgetIdList.get(i))
+                        .append(", restoreFlag=")
+                        .append(widgetRestoreList.get(i))
+                        .append(", profileId=")
+                        .append(widgetProfileIdList.get(i))
+                        .append("]");
+            }
+            builder.append("]");
+            Log.d(TAG, "restoreAppWidgetIds: all widget ids in database: " + builder);
+        } catch (Exception ex) {
+            Log.e(TAG, "Getting widget ids from the database failed", ex);
+        }
     }
 
     protected static void maybeOverrideShortcuts(Context context, ModelDbController controller,
@@ -442,4 +558,72 @@
                 Collectors.joining(" OR "));
     }
 
+    /**
+     * Queries and logs the items from the Favorites table in the launcher db.
+     * This is to understand why items might be missing during the restore process for Launcher.
+     * @param database The Launcher db to query from.
+     * @param logHeader First line in log statement, used to explain what is being logged.
+     * @param where The SELECT statement to query items.
+     * @param profileIds The profile ID's for each user profile.
+     */
+    public static void logFavoritesTable(SQLiteDatabase database, @NonNull String logHeader,
+            String where, String[] profileIds) {
+        try (Cursor cursor = database.query(
+                /* table */ Favorites.TABLE_NAME,
+                /* columns */ DB_COLUMNS_TO_LOG,
+                /* selection */ where,
+                /* selection args */ profileIds,
+                /* groupBy */ null,
+                /* having */ null,
+                /* orderBy */ null
+        )) {
+            if (cursor.moveToFirst()) {
+                String[] columnNames = cursor.getColumnNames();
+                StringBuilder stringBuilder = new StringBuilder(logHeader + "\n");
+                do {
+                    for (String columnName : columnNames) {
+                        stringBuilder.append(columnName)
+                                .append("=")
+                                .append(cursor.getString(
+                                        cursor.getColumnIndex(columnName)))
+                                .append(" ");
+                    }
+                    stringBuilder.append("\n");
+                } while (cursor.moveToNext());
+                FileLog.d(TAG, stringBuilder.toString());
+            } else {
+                FileLog.d(TAG, "logFavoritesTable: No items found from query for "
+                        + "\"" + logHeader + "\"");
+            }
+        } catch (Exception e) {
+            FileLog.e(TAG, "logFavoritesTable: Error reading from database", e);
+        }
+    }
+
+
+    /**
+     * Queries and reports the count of each itemType to be removed due to unrestored profiles.
+     * @param database The Launcher db to query from.
+     * @param where Query being used for to find unrestored profiles
+     * @param profileIds profile ids that were not restored
+     * @param restoreEventLogger Backup/Restore Logger to report metrics
+     */
+    private void reportUnrestoredProfiles(SQLiteDatabase database, String where,
+            String[] profileIds, LauncherRestoreEventLogger restoreEventLogger) {
+        final String query = "SELECT itemType, COUNT(*) AS count FROM favorites WHERE "
+                + where + " GROUP BY itemType";
+        try (Cursor cursor = database.rawQuery(query, profileIds)) {
+            if (cursor.moveToFirst()) {
+                do {
+                    restoreEventLogger.logFavoritesItemsRestoreFailed(
+                            cursor.getInt(cursor.getColumnIndexOrThrow(ITEM_TYPE)),
+                            cursor.getInt(cursor.getColumnIndexOrThrow("count")),
+                            RestoreError.PROFILE_NOT_RESTORED
+                    );
+                } while (cursor.moveToNext());
+            }
+        } catch (Exception e) {
+            FileLog.e(TAG, "reportUnrestoredProfiles: Error reading from database", e);
+        }
+    }
 }
diff --git a/src/com/android/launcher3/qsb/QsbContainerView.java b/src/com/android/launcher3/qsb/QsbContainerView.java
index 1e3be27..f0f376f 100644
--- a/src/com/android/launcher3/qsb/QsbContainerView.java
+++ b/src/com/android/launcher3/qsb/QsbContainerView.java
@@ -20,6 +20,8 @@
 import static android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_ID;
 import static android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_PROVIDER;
 
+import static com.android.launcher3.config.FeatureFlags.shouldShowFirstPageWidget;
+
 import android.app.Activity;
 import android.app.Fragment;
 import android.app.SearchManager;
@@ -290,7 +292,7 @@
         }
 
         public boolean isQsbEnabled() {
-            return FeatureFlags.QSB_ON_FIRST_SCREEN;
+            return FeatureFlags.QSB_ON_FIRST_SCREEN && !shouldShowFirstPageWidget();
         }
 
         protected Bundle createBindOptions() {
diff --git a/src/com/android/launcher3/recyclerview/AllAppsRecyclerViewPool.kt b/src/com/android/launcher3/recyclerview/AllAppsRecyclerViewPool.kt
index 3c59c1d..71957e1 100644
--- a/src/com/android/launcher3/recyclerview/AllAppsRecyclerViewPool.kt
+++ b/src/com/android/launcher3/recyclerview/AllAppsRecyclerViewPool.kt
@@ -23,10 +23,10 @@
 import com.android.launcher3.BubbleTextView
 import com.android.launcher3.allapps.BaseAllAppsAdapter
 import com.android.launcher3.config.FeatureFlags
+import com.android.launcher3.util.ExecutorRunnable
 import com.android.launcher3.util.Executors.MAIN_EXECUTOR
 import com.android.launcher3.util.Executors.VIEW_PREINFLATION_EXECUTOR
 import com.android.launcher3.views.ActivityContext
-import java.util.concurrent.Future
 
 const val PREINFLATE_ICONS_ROW_COUNT = 4
 const val EXTRA_ICONS_COUNT = 2
@@ -38,7 +38,8 @@
  */
 class AllAppsRecyclerViewPool<T> : RecycledViewPool() {
 
-    private var future: Future<Void>? = null
+    var hasWorkProfile = false
+    var executorRunnable: ExecutorRunnable<List<ViewHolder>>? = null
 
     /**
      * Preinflate app icons. If all apps RV cannot be scrolled down, we don't need to preinflate.
@@ -61,21 +62,38 @@
                 override fun getLayoutManager(): RecyclerView.LayoutManager? = null
             }
 
-        // Inflate view holders on background thread, and added to view pool on main thread.
-        future?.cancel(true)
-        future =
-            VIEW_PREINFLATION_EXECUTOR.submit<Void> {
-                val viewHolders =
-                    Array(preInflateCount) {
-                        adapter.createViewHolder(activeRv, BaseAllAppsAdapter.VIEW_TYPE_ICON)
+        executorRunnable?.cancel(/* interrupt= */ false)
+        executorRunnable =
+            ExecutorRunnable.createAndExecute(
+                VIEW_PREINFLATION_EXECUTOR,
+                {
+                    val list: ArrayList<ViewHolder> = ArrayList()
+                    for (i in 0 until preInflateCount) {
+                        if (Thread.interrupted()) {
+                            break
+                        }
+                        list.add(
+                            adapter.createViewHolder(activeRv, BaseAllAppsAdapter.VIEW_TYPE_ICON)
+                        )
                     }
-                MAIN_EXECUTOR.execute {
+                    list
+                },
+                MAIN_EXECUTOR,
+                { viewHolders ->
                     for (i in 0 until minOf(viewHolders.size, getPreinflateCount(context))) {
                         putRecycledView(viewHolders[i])
                     }
                 }
-                null
-            }
+            )
+    }
+
+    /**
+     * When clearing [RecycledViewPool], we should also abort pre-inflation tasks. This will make
+     * sure we don't inflate app icons after DeviceProfile has changed.
+     */
+    override fun clear() {
+        super.clear()
+        executorRunnable?.cancel(/* interrupt= */ true)
     }
 
     /**
@@ -93,9 +111,10 @@
                 EXTRA_ICONS_COUNT
         if (FeatureFlags.ALL_APPS_GONE_VISIBILITY.get()) {
             val grid = ActivityContext.lookupContext<T>(context).deviceProfile
-            val approxRows =
-                Math.ceil((grid.availableHeightPx / grid.allAppsIconSizePx).toDouble()).toInt()
-            targetPreinflateCount += (approxRows + 1) * grid.numShownAllAppsColumns
+            targetPreinflateCount += grid.maxAllAppsRowCount * grid.numShownAllAppsColumns
+        }
+        if (hasWorkProfile) {
+            targetPreinflateCount *= 2
         }
         val existingPreinflateCount = getRecycledViewCount(BaseAllAppsAdapter.VIEW_TYPE_ICON)
         return targetPreinflateCount - existingPreinflateCount
diff --git a/src/com/android/launcher3/responsive/AllAppsSpecs.kt b/src/com/android/launcher3/responsive/AllAppsSpecs.kt
deleted file mode 100644
index 8ed3ffc..0000000
--- a/src/com/android/launcher3/responsive/AllAppsSpecs.kt
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.responsive
-
-import android.content.res.TypedArray
-import com.android.launcher3.R
-import com.android.launcher3.responsive.ResponsiveSpec.SpecType
-import com.android.launcher3.util.ResourceHelper
-
-class AllAppsSpecs(widthSpecs: List<AllAppsSpec>, heightSpecs: List<AllAppsSpec>) :
-    ResponsiveSpecs<AllAppsSpec>(widthSpecs, heightSpecs) {
-
-    fun getCalculatedWidthSpec(
-        columns: Int,
-        availableWidth: Int,
-        calculatedWorkspaceSpec: CalculatedWorkspaceSpec
-    ): CalculatedAllAppsSpec {
-        check(calculatedWorkspaceSpec.spec.specType == SpecType.WIDTH) {
-            "Invalid specType for CalculatedWorkspaceSpec. " +
-                "Expected: ${SpecType.WIDTH} - " +
-                "Found: ${calculatedWorkspaceSpec.spec.specType}}"
-        }
-
-        val spec = getWidthSpec(availableWidth)
-        return CalculatedAllAppsSpec(availableWidth, columns, spec, calculatedWorkspaceSpec)
-    }
-
-    fun getCalculatedHeightSpec(
-        rows: Int,
-        availableHeight: Int,
-        calculatedWorkspaceSpec: CalculatedWorkspaceSpec
-    ): CalculatedAllAppsSpec {
-        check(calculatedWorkspaceSpec.spec.specType == SpecType.HEIGHT) {
-            "Invalid specType for CalculatedWorkspaceSpec. " +
-                "Expected: ${SpecType.HEIGHT} - " +
-                "Found: ${calculatedWorkspaceSpec.spec.specType}}"
-        }
-
-        val spec = getHeightSpec(availableHeight)
-        return CalculatedAllAppsSpec(availableHeight, rows, spec, calculatedWorkspaceSpec)
-    }
-
-    companion object {
-        private const val XML_ALL_APPS_SPEC = "allAppsSpec"
-
-        @JvmStatic
-        fun create(resourceHelper: ResourceHelper): AllAppsSpecs {
-            val parser = ResponsiveSpecsParser(resourceHelper)
-            val specs = parser.parseXML(XML_ALL_APPS_SPEC, ::AllAppsSpec)
-            val (widthSpecs, heightSpecs) = specs.partition { it.specType == SpecType.WIDTH }
-            return AllAppsSpecs(widthSpecs, heightSpecs)
-        }
-    }
-}
-
-data class AllAppsSpec(
-    override val maxAvailableSize: Int,
-    override val specType: SpecType,
-    override val startPadding: SizeSpec,
-    override val endPadding: SizeSpec,
-    override val gutter: SizeSpec,
-    override val cellSize: SizeSpec
-) : ResponsiveSpec(maxAvailableSize, specType, startPadding, endPadding, gutter, cellSize) {
-
-    init {
-        check(isValid()) { "Invalid AllAppsSpec found." }
-    }
-
-    constructor(
-        attrs: TypedArray,
-        specs: Map<String, SizeSpec>
-    ) : this(
-        maxAvailableSize =
-            attrs.getDimensionPixelSize(R.styleable.ResponsiveSpec_maxAvailableSize, 0),
-        specType =
-            SpecType.values()[
-                    attrs.getInt(R.styleable.ResponsiveSpec_specType, SpecType.HEIGHT.ordinal)],
-        startPadding = specs.getOrError(SizeSpec.XmlTags.START_PADDING),
-        endPadding = specs.getOrError(SizeSpec.XmlTags.END_PADDING),
-        gutter = specs.getOrError(SizeSpec.XmlTags.GUTTER),
-        cellSize = specs.getOrError(SizeSpec.XmlTags.CELL_SIZE)
-    )
-}
-
-class CalculatedAllAppsSpec(
-    availableSpace: Int,
-    cells: Int,
-    spec: AllAppsSpec,
-    calculatedWorkspaceSpec: CalculatedWorkspaceSpec
-) : CalculatedResponsiveSpec(availableSpace, cells, spec, calculatedWorkspaceSpec)
diff --git a/src/com/android/launcher3/responsive/FolderSpecs.kt b/src/com/android/launcher3/responsive/FolderSpecs.kt
deleted file mode 100644
index bc2db28..0000000
--- a/src/com/android/launcher3/responsive/FolderSpecs.kt
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.responsive
-
-import android.content.res.TypedArray
-import com.android.launcher3.R
-import com.android.launcher3.responsive.ResponsiveSpec.SpecType
-import com.android.launcher3.util.ResourceHelper
-
-class FolderSpecs(widthSpecs: List<FolderSpec>, heightSpecs: List<FolderSpec>) :
-    ResponsiveSpecs<FolderSpec>(widthSpecs, heightSpecs) {
-
-    fun getCalculatedWidthSpec(
-        columns: Int,
-        availableWidth: Int,
-        calculatedWorkspaceSpec: CalculatedWorkspaceSpec
-    ): CalculatedFolderSpec {
-        check(calculatedWorkspaceSpec.spec.specType == SpecType.WIDTH) {
-            "Invalid specType for CalculatedWorkspaceSpec. " +
-                "Expected: ${SpecType.WIDTH} - " +
-                "Found: ${calculatedWorkspaceSpec.spec.specType}}"
-        }
-
-        val spec = getWidthSpec(availableWidth)
-        return CalculatedFolderSpec(availableWidth, columns, spec, calculatedWorkspaceSpec)
-    }
-
-    fun getCalculatedHeightSpec(
-        rows: Int,
-        availableHeight: Int,
-        calculatedWorkspaceSpec: CalculatedWorkspaceSpec
-    ): CalculatedFolderSpec {
-        check(calculatedWorkspaceSpec.spec.specType == SpecType.HEIGHT) {
-            "Invalid specType for CalculatedWorkspaceSpec. " +
-                "Expected: ${SpecType.HEIGHT} - " +
-                "Found: ${calculatedWorkspaceSpec.spec.specType}}"
-        }
-
-        val spec = getHeightSpec(availableHeight)
-        return CalculatedFolderSpec(availableHeight, rows, spec, calculatedWorkspaceSpec)
-    }
-
-    companion object {
-
-        private const val XML_FOLDER_SPEC = "folderSpec"
-
-        @JvmStatic
-        fun create(resourceHelper: ResourceHelper): FolderSpecs {
-            val parser = ResponsiveSpecsParser(resourceHelper)
-            val specs = parser.parseXML(XML_FOLDER_SPEC, ::FolderSpec)
-            val (widthSpecs, heightSpecs) = specs.partition { it.specType == SpecType.WIDTH }
-            return FolderSpecs(widthSpecs, heightSpecs)
-        }
-    }
-}
-
-data class FolderSpec(
-    override val maxAvailableSize: Int,
-    override val specType: SpecType,
-    override val startPadding: SizeSpec,
-    override val endPadding: SizeSpec,
-    override val gutter: SizeSpec,
-    override val cellSize: SizeSpec
-) : ResponsiveSpec(maxAvailableSize, specType, startPadding, endPadding, gutter, cellSize) {
-
-    init {
-        check(isValid()) { "Invalid FolderSpec found." }
-    }
-
-    constructor(
-        attrs: TypedArray,
-        specs: Map<String, SizeSpec>
-    ) : this(
-        maxAvailableSize =
-            attrs.getDimensionPixelSize(R.styleable.ResponsiveSpec_maxAvailableSize, 0),
-        specType =
-            SpecType.values()[
-                    attrs.getInt(R.styleable.ResponsiveSpec_specType, SpecType.HEIGHT.ordinal)],
-        startPadding = specs.getOrError(SizeSpec.XmlTags.START_PADDING),
-        endPadding = specs.getOrError(SizeSpec.XmlTags.END_PADDING),
-        gutter = specs.getOrError(SizeSpec.XmlTags.GUTTER),
-        cellSize = specs.getOrError(SizeSpec.XmlTags.CELL_SIZE)
-    )
-}
-
-class CalculatedFolderSpec(
-    availableSpace: Int,
-    cells: Int,
-    spec: FolderSpec,
-    calculatedWorkspaceSpec: CalculatedWorkspaceSpec
-) : CalculatedResponsiveSpec(availableSpace, cells, spec, calculatedWorkspaceSpec)
diff --git a/src/com/android/launcher3/responsive/HotseatSpecs.kt b/src/com/android/launcher3/responsive/HotseatSpecs.kt
deleted file mode 100644
index 482508d..0000000
--- a/src/com/android/launcher3/responsive/HotseatSpecs.kt
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.responsive
-
-import android.content.res.TypedArray
-import android.util.Log
-import com.android.launcher3.R
-import com.android.launcher3.util.ResourceHelper
-
-class HotseatSpecs(val specs: List<HotseatSpec>) {
-
-    fun getCalculatedHeightSpec(availableHeight: Int): CalculatedHotseatSpec {
-        val spec = specs.firstOrNull { availableHeight <= it.maxAvailableSize }
-        check(spec != null) { "No available height spec found within $availableHeight." }
-        return CalculatedHotseatSpec(availableHeight, spec)
-    }
-
-    companion object {
-        private const val XML_HOTSEAT_SPEC = "hotseatSpec"
-
-        @JvmStatic
-        fun create(resourceHelper: ResourceHelper): HotseatSpecs {
-            val parser = ResponsiveSpecsParser(resourceHelper)
-            val specs = parser.parseXML(XML_HOTSEAT_SPEC, ::HotseatSpec)
-            return HotseatSpecs(specs.filter { it.specType == ResponsiveSpec.SpecType.HEIGHT })
-        }
-    }
-}
-
-data class HotseatSpec(
-    val maxAvailableSize: Int,
-    val specType: ResponsiveSpec.SpecType,
-    val hotseatQsbSpace: SizeSpec
-) {
-
-    init {
-        check(isValid()) { "Invalid HotseatSpec found." }
-    }
-
-    constructor(
-        attrs: TypedArray,
-        specs: Map<String, SizeSpec>
-    ) : this(
-        maxAvailableSize =
-            attrs.getDimensionPixelSize(R.styleable.ResponsiveSpec_maxAvailableSize, 0),
-        specType =
-            ResponsiveSpec.SpecType.values()[
-                    attrs.getInt(
-                        R.styleable.ResponsiveSpec_specType,
-                        ResponsiveSpec.SpecType.HEIGHT.ordinal
-                    )],
-        hotseatQsbSpace = specs.getOrError(SizeSpec.XmlTags.HOTSEAT_QSB_SPACE)
-    )
-
-    fun isValid(): Boolean {
-        if (maxAvailableSize <= 0) {
-            Log.e(LOG_TAG, "${this::class.simpleName}#isValid - maxAvailableSize <= 0")
-            return false
-        }
-
-        // All specs need to be individually valid
-        if (!allSpecsAreValid()) {
-            Log.e(LOG_TAG, "${this::class.simpleName}#isValid - !allSpecsAreValid()")
-            return false
-        }
-
-        return true
-    }
-
-    private fun allSpecsAreValid(): Boolean {
-        return hotseatQsbSpace.isValid() && hotseatQsbSpace.onlyFixedSize()
-    }
-
-    companion object {
-        private const val LOG_TAG = "HotseatSpec"
-    }
-}
-
-class CalculatedHotseatSpec(val availableSpace: Int, val spec: HotseatSpec) {
-
-    var hotseatQsbSpace: Int = 0
-        private set
-
-    init {
-        hotseatQsbSpace = spec.hotseatQsbSpace.getCalculatedValue(availableSpace)
-    }
-
-    override fun hashCode(): Int {
-        var result = availableSpace.hashCode()
-        result = 31 * result + hotseatQsbSpace.hashCode()
-        result = 31 * result + spec.hashCode()
-        return result
-    }
-
-    override fun equals(other: Any?): Boolean {
-        return other is CalculatedHotseatSpec &&
-            availableSpace == other.availableSpace &&
-            hotseatQsbSpace == other.hotseatQsbSpace &&
-            spec == other.spec
-    }
-
-    override fun toString(): String {
-        return "${this::class.simpleName}(" +
-            "availableSpace=$availableSpace, hotseatQsbSpace=$hotseatQsbSpace, " +
-            "${spec::class.simpleName}.maxAvailableSize=${spec.maxAvailableSize}" +
-            ")"
-    }
-}
diff --git a/src/com/android/launcher3/responsive/HotseatSpecsProvider.kt b/src/com/android/launcher3/responsive/HotseatSpecsProvider.kt
new file mode 100644
index 0000000..7502a43
--- /dev/null
+++ b/src/com/android/launcher3/responsive/HotseatSpecsProvider.kt
@@ -0,0 +1,182 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import android.content.res.TypedArray
+import android.util.Log
+import com.android.launcher3.R
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
+import com.android.launcher3.util.ResourceHelper
+
+class HotseatSpecsProvider(groupOfSpecs: List<ResponsiveSpecGroup<HotseatSpec>>) {
+
+    private val groupOfSpecs: List<ResponsiveSpecGroup<HotseatSpec>>
+
+    init {
+        this.groupOfSpecs = groupOfSpecs.sortedBy { it.aspectRatio }
+    }
+
+    fun getSpecsByAspectRatio(aspectRatio: Float): ResponsiveSpecGroup<HotseatSpec> {
+        check(aspectRatio > 0f) { "Invalid aspect ratio! The value should be bigger than 0." }
+
+        val specsGroup = groupOfSpecs.firstOrNull { aspectRatio <= it.aspectRatio }
+        check(specsGroup != null) { "No available spec with aspectRatio within $aspectRatio." }
+
+        return specsGroup
+    }
+
+    private fun getSpecIgnoringDimensionType(
+        availableSize: Int,
+        specsGroup: ResponsiveSpecGroup<HotseatSpec>
+    ): HotseatSpec? {
+        val specWidth = specsGroup.widthSpecs.firstOrNull { availableSize <= it.maxAvailableSize }
+        val specHeight = specsGroup.heightSpecs.firstOrNull { availableSize <= it.maxAvailableSize }
+        return specWidth ?: specHeight
+    }
+
+    fun getCalculatedSpec(
+        aspectRatio: Float,
+        dimensionType: DimensionType,
+        availableSpace: Int,
+    ): CalculatedHotseatSpec {
+        val specsGroup = getSpecsByAspectRatio(aspectRatio)
+
+        // TODO(b/315548992): Ignore the dimension type to prevent crash before launcher
+        //  data migration is finished. The restore process allows the initialization of
+        //  an invalid or disabled grid until the data is restored and migrated.
+        val spec = getSpecIgnoringDimensionType(availableSpace, specsGroup)
+        check(spec != null) { "No available spec found within $availableSpace. $specsGroup" }
+        // val spec = specsGroup.getSpec(dimensionType, availableSpace)
+        return CalculatedHotseatSpec(availableSpace, spec)
+    }
+
+    companion object {
+        @JvmStatic
+        fun create(resourceHelper: ResourceHelper): HotseatSpecsProvider {
+            val parser = ResponsiveSpecsParser(resourceHelper)
+            val specs = parser.parseXML(ResponsiveSpecType.Hotseat, ::HotseatSpec)
+            return HotseatSpecsProvider(specs)
+        }
+    }
+}
+
+data class HotseatSpec(
+    override val maxAvailableSize: Int,
+    override val dimensionType: DimensionType,
+    override val specType: ResponsiveSpecType,
+    val hotseatQsbSpace: SizeSpec,
+    val edgePadding: SizeSpec
+) : IResponsiveSpec {
+    init {
+        check(isValid()) { "Invalid HotseatSpec found." }
+    }
+
+    constructor(
+        responsiveSpecType: ResponsiveSpecType,
+        attrs: TypedArray,
+        specs: Map<String, SizeSpec>
+    ) : this(
+        maxAvailableSize =
+            attrs.getDimensionPixelSize(R.styleable.ResponsiveSpec_maxAvailableSize, 0),
+        dimensionType =
+            DimensionType.entries[
+                    attrs.getInt(
+                        R.styleable.ResponsiveSpec_dimensionType,
+                        DimensionType.HEIGHT.ordinal
+                    )],
+        specType = responsiveSpecType,
+        hotseatQsbSpace = specs.getOrError(SizeSpec.XmlTags.HOTSEAT_QSB_SPACE),
+        edgePadding = specs.getOrError(SizeSpec.XmlTags.EDGE_PADDING)
+    )
+
+    fun isValid(): Boolean {
+        if (maxAvailableSize <= 0) {
+            logError("The property maxAvailableSize must be higher than 0.")
+            return false
+        }
+
+        // All specs need to be individually valid
+        if (!allSpecsAreValid()) {
+            logError("One or more specs are invalid!")
+            return false
+        }
+
+        if (!isValidFixedSize()) {
+            logError("The total Fixed Size used must be lower or equal to $maxAvailableSize.")
+            return false
+        }
+
+        return true
+    }
+
+    private fun allSpecsAreValid(): Boolean {
+        return hotseatQsbSpace.isValid() &&
+            hotseatQsbSpace.onlyFixedSize() &&
+            edgePadding.isValid() &&
+            edgePadding.onlyFixedSize()
+    }
+
+    private fun isValidFixedSize() =
+        hotseatQsbSpace.fixedSize + edgePadding.fixedSize <= maxAvailableSize
+
+    private fun logError(message: String) {
+        Log.e(LOG_TAG, "${this::class.simpleName}#isValid - $message - $this")
+    }
+
+    companion object {
+        private const val LOG_TAG = "HotseatSpec"
+    }
+}
+
+class CalculatedHotseatSpec(val availableSpace: Int, val spec: HotseatSpec) {
+
+    var hotseatQsbSpace: Int = 0
+        private set
+
+    var edgePadding: Int = 0
+        private set
+
+    init {
+        hotseatQsbSpace = spec.hotseatQsbSpace.getCalculatedValue(availableSpace)
+        edgePadding = spec.edgePadding.getCalculatedValue(availableSpace)
+    }
+
+    override fun hashCode(): Int {
+        var result = availableSpace.hashCode()
+        result = 31 * result + hotseatQsbSpace.hashCode()
+        result = 31 * result + edgePadding.hashCode()
+        result = 31 * result + spec.hashCode()
+        return result
+    }
+
+    override fun equals(other: Any?): Boolean {
+        return other is CalculatedHotseatSpec &&
+            availableSpace == other.availableSpace &&
+            hotseatQsbSpace == other.hotseatQsbSpace &&
+            edgePadding == other.edgePadding &&
+            spec == other.spec
+    }
+
+    override fun toString(): String {
+        return "${this::class.simpleName}(" +
+            "availableSpace=$availableSpace, hotseatQsbSpace=$hotseatQsbSpace, " +
+            "edgePadding=$edgePadding, " +
+            "${spec::class.simpleName}.maxAvailableSize=${spec.maxAvailableSize}" +
+            ")"
+    }
+}
diff --git a/src/com/android/launcher3/responsive/ResponsiveCellSpecsProvider.kt b/src/com/android/launcher3/responsive/ResponsiveCellSpecsProvider.kt
new file mode 100644
index 0000000..a4b25e5
--- /dev/null
+++ b/src/com/android/launcher3/responsive/ResponsiveCellSpecsProvider.kt
@@ -0,0 +1,200 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import android.content.res.TypedArray
+import android.util.Log
+import com.android.launcher3.R
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
+import com.android.launcher3.util.ResourceHelper
+
+class ResponsiveCellSpecsProvider(groupOfSpecs: List<ResponsiveSpecGroup<CellSpec>>) {
+    private val groupOfSpecs: List<ResponsiveSpecGroup<CellSpec>>
+
+    init {
+        this.groupOfSpecs =
+            groupOfSpecs
+                .onEach { group ->
+                    check(group.widthSpecs.isEmpty() && group.heightSpecs.isNotEmpty()) {
+                        "${this::class.simpleName} is invalid, only heightSpecs are allowed - " +
+                            "width list size = ${group.widthSpecs.size}; " +
+                            "height list size = ${group.heightSpecs.size}."
+                    }
+                }
+                .sortedBy { it.aspectRatio }
+    }
+
+    fun getSpecsByAspectRatio(aspectRatio: Float): ResponsiveSpecGroup<CellSpec> {
+        check(aspectRatio > 0f) { "Invalid aspect ratio! The value should be bigger than 0." }
+
+        val specsGroup = groupOfSpecs.firstOrNull { aspectRatio <= it.aspectRatio }
+        check(specsGroup != null) { "No available spec with aspectRatio within $aspectRatio." }
+
+        return specsGroup
+    }
+
+    fun getCalculatedSpec(aspectRatio: Float, availableHeightSpace: Int): CalculatedCellSpec {
+        val specsGroup = getSpecsByAspectRatio(aspectRatio)
+        val spec = specsGroup.getSpec(DimensionType.HEIGHT, availableHeightSpace)
+        return CalculatedCellSpec(availableHeightSpace, spec)
+    }
+
+    fun getCalculatedSpec(
+        aspectRatio: Float,
+        availableHeightSpace: Int,
+        workspaceCellSpec: CalculatedCellSpec
+    ): CalculatedCellSpec {
+        val specsGroup = getSpecsByAspectRatio(aspectRatio)
+        val spec = specsGroup.getSpec(DimensionType.HEIGHT, availableHeightSpace)
+        return CalculatedCellSpec(availableHeightSpace, spec, workspaceCellSpec)
+    }
+
+    companion object {
+        @JvmStatic
+        fun create(resourceHelper: ResourceHelper): ResponsiveCellSpecsProvider {
+            val parser = ResponsiveSpecsParser(resourceHelper)
+            val specs = parser.parseXML(ResponsiveSpecType.Cell, ::CellSpec)
+            return ResponsiveCellSpecsProvider(specs)
+        }
+    }
+}
+
+data class CellSpec(
+    override val maxAvailableSize: Int,
+    override val dimensionType: DimensionType,
+    override val specType: ResponsiveSpecType,
+    val iconSize: SizeSpec,
+    val iconTextSize: SizeSpec,
+    val iconDrawablePadding: SizeSpec
+) : IResponsiveSpec {
+    init {
+        check(isValid()) { "Invalid CellSpec found." }
+    }
+
+    constructor(
+        responsiveSpecType: ResponsiveSpecType,
+        attrs: TypedArray,
+        specs: Map<String, SizeSpec>
+    ) : this(
+        maxAvailableSize =
+            attrs.getDimensionPixelSize(R.styleable.ResponsiveSpec_maxAvailableSize, 0),
+        dimensionType =
+            DimensionType.entries[
+                    attrs.getInt(
+                        R.styleable.ResponsiveSpec_dimensionType,
+                        DimensionType.HEIGHT.ordinal
+                    )],
+        specType = responsiveSpecType,
+        iconSize = specs.getOrError(SizeSpec.XmlTags.ICON_SIZE),
+        iconTextSize = specs.getOrError(SizeSpec.XmlTags.ICON_TEXT_SIZE),
+        iconDrawablePadding = specs.getOrError(SizeSpec.XmlTags.ICON_DRAWABLE_PADDING)
+    )
+
+    fun isValid(): Boolean {
+        if (maxAvailableSize <= 0) {
+            logError("The property maxAvailableSize must be higher than 0.")
+            return false
+        }
+
+        // All specs need to be individually valid
+        if (!allSpecsAreValid()) {
+            logError("Specs must be either Fixed Size or Match Workspace!")
+            return false
+        }
+
+        if (!isValidFixedSize()) {
+            logError("The total Fixed Size used must be lower or equal to $maxAvailableSize.")
+            return false
+        }
+
+        return true
+    }
+
+    private fun isValidFixedSize(): Boolean {
+        val totalSize = iconSize.fixedSize + iconTextSize.fixedSize + iconDrawablePadding.fixedSize
+        return totalSize <= maxAvailableSize
+    }
+
+    private fun allSpecsAreValid(): Boolean {
+        return (iconSize.fixedSize > 0f || iconSize.matchWorkspace) &&
+            (iconTextSize.fixedSize >= 0f || iconTextSize.matchWorkspace) &&
+            (iconDrawablePadding.fixedSize >= 0f || iconDrawablePadding.matchWorkspace)
+    }
+
+    private fun logError(message: String) {
+        Log.e(LOG_TAG, "${this::class.simpleName}#isValid - $message - $this")
+    }
+
+    companion object {
+        private const val LOG_TAG = "CellSpec"
+    }
+}
+
+data class CalculatedCellSpec(
+    val availableSpace: Int,
+    val spec: CellSpec,
+    val iconSize: Int,
+    val iconTextSize: Int,
+    val iconDrawablePadding: Int
+) {
+    constructor(
+        availableSpace: Int,
+        spec: CellSpec
+    ) : this(
+        availableSpace = availableSpace,
+        spec = spec,
+        iconSize = spec.iconSize.getCalculatedValue(availableSpace),
+        iconTextSize = spec.iconTextSize.getCalculatedValue(availableSpace),
+        iconDrawablePadding = spec.iconDrawablePadding.getCalculatedValue(availableSpace)
+    )
+
+    constructor(
+        availableSpace: Int,
+        spec: CellSpec,
+        workspaceCellSpec: CalculatedCellSpec
+    ) : this(
+        availableSpace = availableSpace,
+        spec = spec,
+        iconSize = getCalculatedValue(availableSpace, spec.iconSize, workspaceCellSpec.iconSize),
+        iconTextSize =
+            getCalculatedValue(availableSpace, spec.iconTextSize, workspaceCellSpec.iconTextSize),
+        iconDrawablePadding =
+            getCalculatedValue(
+                availableSpace,
+                spec.iconDrawablePadding,
+                workspaceCellSpec.iconDrawablePadding
+            )
+    )
+
+    companion object {
+        private fun getCalculatedValue(
+            availableSpace: Int,
+            spec: SizeSpec,
+            workspaceValue: Int
+        ): Int =
+            if (spec.matchWorkspace) workspaceValue else spec.getCalculatedValue(availableSpace)
+    }
+
+    override fun toString(): String {
+        return "${this::class.simpleName}(" +
+            "availableSpace=$availableSpace, iconSize=$iconSize, " +
+            "iconTextSize=$iconTextSize, iconDrawablePadding=$iconDrawablePadding, " +
+            "${spec::class.simpleName}.maxAvailableSize=${spec.maxAvailableSize}" +
+            ")"
+    }
+}
diff --git a/src/com/android/launcher3/responsive/ResponsiveSpec.kt b/src/com/android/launcher3/responsive/ResponsiveSpec.kt
new file mode 100644
index 0000000..65e0b32
--- /dev/null
+++ b/src/com/android/launcher3/responsive/ResponsiveSpec.kt
@@ -0,0 +1,292 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import android.content.res.TypedArray
+import android.util.Log
+import com.android.launcher3.R
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+
+/**
+ * Interface for responsive grid specs
+ *
+ * @property maxAvailableSize indicates the breakpoint to use this specification.
+ * @property dimensionType indicates whether the paddings and gutters will be applied vertically or
+ *   horizontally.
+ * @property specType a [ResponsiveSpecType] that indicates the type of the spec.
+ */
+interface IResponsiveSpec {
+    val maxAvailableSize: Int
+    val dimensionType: ResponsiveSpec.DimensionType
+    val specType: ResponsiveSpecType
+}
+
+/**
+ * Class for a responsive specification that is used to calculate the paddings, gutter and cell
+ * size.
+ *
+ * @param maxAvailableSize indicates the breakpoint to use this specification.
+ * @param dimensionType indicates whether the paddings and gutters will be applied vertically or
+ *   horizontally.
+ * @param specType a [ResponsiveSpecType] that indicates the type of the spec.
+ * @param startPadding padding used at the top or left (right in RTL) in the workspace folder.
+ * @param endPadding padding used at the bottom or right (left in RTL) in the workspace folder.
+ * @param gutter the space between the cells vertically or horizontally depending on the
+ *   [dimensionType].
+ * @param cellSize height or width of the cell depending on the [dimensionType].
+ */
+data class ResponsiveSpec(
+    override val maxAvailableSize: Int,
+    override val dimensionType: DimensionType,
+    override val specType: ResponsiveSpecType,
+    val startPadding: SizeSpec,
+    val endPadding: SizeSpec,
+    val gutter: SizeSpec,
+    val cellSize: SizeSpec,
+) : IResponsiveSpec {
+    init {
+        check(isValid()) { "Invalid ResponsiveSpec found. $this" }
+    }
+
+    constructor(
+        responsiveSpecType: ResponsiveSpecType,
+        attrs: TypedArray,
+        specs: Map<String, SizeSpec>
+    ) : this(
+        maxAvailableSize =
+            attrs.getDimensionPixelSize(R.styleable.ResponsiveSpec_maxAvailableSize, 0),
+        dimensionType =
+            DimensionType.entries[
+                    attrs.getInt(
+                        R.styleable.ResponsiveSpec_dimensionType,
+                        DimensionType.HEIGHT.ordinal
+                    )],
+        specType = responsiveSpecType,
+        startPadding = specs.getOrError(SizeSpec.XmlTags.START_PADDING),
+        endPadding = specs.getOrError(SizeSpec.XmlTags.END_PADDING),
+        gutter = specs.getOrError(SizeSpec.XmlTags.GUTTER),
+        cellSize = specs.getOrError(SizeSpec.XmlTags.CELL_SIZE)
+    )
+
+    fun isValid(): Boolean {
+        if (
+            (specType == ResponsiveSpecType.Workspace) &&
+                (startPadding.matchWorkspace ||
+                    endPadding.matchWorkspace ||
+                    gutter.matchWorkspace ||
+                    cellSize.matchWorkspace)
+        ) {
+            logError("Workspace spec provided must not have any match workspace value.")
+            return false
+        }
+
+        if (maxAvailableSize <= 0) {
+            logError("The property maxAvailableSize must be higher than 0.")
+            return false
+        }
+
+        // All specs need to be individually valid
+        if (!allSpecsAreValid()) {
+            logError("One or more specs are invalid!")
+            return false
+        }
+
+        if (!isValidRemainderSpace()) {
+            logError("The total Remainder Space used must be equal to 0 or 1.")
+            return false
+        }
+
+        if (!isValidAvailableSpace()) {
+            logError("The total Available Space used must be lower or equal to 100%.")
+            return false
+        }
+
+        if (!isValidFixedSize()) {
+            logError("The total Fixed Size used must be lower or equal to $maxAvailableSize.")
+            return false
+        }
+
+        return true
+    }
+
+    private fun allSpecsAreValid(): Boolean {
+        return startPadding.isValid() &&
+            endPadding.isValid() &&
+            gutter.isValid() &&
+            cellSize.isValid()
+    }
+
+    private fun isValidRemainderSpace(): Boolean {
+        val remainderSpaceUsed =
+            startPadding.ofRemainderSpace +
+                endPadding.ofRemainderSpace +
+                gutter.ofRemainderSpace +
+                cellSize.ofRemainderSpace
+        return remainderSpaceUsed == 0f || remainderSpaceUsed == 1f
+    }
+
+    private fun isValidAvailableSpace(): Boolean {
+        return startPadding.ofAvailableSpace +
+            endPadding.ofAvailableSpace +
+            gutter.ofAvailableSpace +
+            cellSize.ofAvailableSpace < 1f
+    }
+
+    private fun isValidFixedSize(): Boolean {
+        return startPadding.fixedSize +
+            endPadding.fixedSize +
+            gutter.fixedSize +
+            cellSize.fixedSize <= maxAvailableSize
+    }
+
+    private fun logError(message: String) {
+        Log.e(LOG_TAG, "${this::class.simpleName}#isValid - $message - $this")
+    }
+
+    enum class DimensionType {
+        HEIGHT,
+        WIDTH
+    }
+
+    companion object {
+        private const val LOG_TAG = "ResponsiveSpec"
+
+        enum class ResponsiveSpecType(val xmlTag: String) {
+            AllApps("allAppsSpec"),
+            Folder("folderSpec"),
+            Workspace("workspaceSpec"),
+            Hotseat("hotseatSpec"),
+            Cell("cellSpec")
+        }
+    }
+}
+
+/**
+ * Calculated responsive specs contains the final paddings, gutter and cell size in pixels after
+ * they are calculated from the available space, cells and workspace specs.
+ */
+class CalculatedResponsiveSpec {
+    var aspectRatio: Float = Float.NaN
+        private set
+
+    var availableSpace: Int = 0
+        private set
+
+    var cells: Int = 0
+        private set
+
+    var startPaddingPx: Int = 0
+        private set
+
+    var endPaddingPx: Int = 0
+        private set
+
+    var gutterPx: Int = 0
+        private set
+
+    var cellSizePx: Int = 0
+        private set
+
+    var spec: ResponsiveSpec
+        private set
+
+    constructor(
+        aspectRatio: Float,
+        availableSpace: Int,
+        cells: Int,
+        spec: ResponsiveSpec,
+        calculatedWorkspaceSpec: CalculatedResponsiveSpec
+    ) {
+        this.aspectRatio = aspectRatio
+        this.availableSpace = availableSpace
+        this.cells = cells
+        this.spec = spec
+
+        // Map if is fixedSize, ofAvailableSpace or matchWorkspace
+        startPaddingPx =
+            spec.startPadding.getCalculatedValue(
+                availableSpace,
+                calculatedWorkspaceSpec.startPaddingPx
+            )
+        endPaddingPx =
+            spec.endPadding.getCalculatedValue(availableSpace, calculatedWorkspaceSpec.endPaddingPx)
+        gutterPx = spec.gutter.getCalculatedValue(availableSpace, calculatedWorkspaceSpec.gutterPx)
+        cellSizePx =
+            spec.cellSize.getCalculatedValue(availableSpace, calculatedWorkspaceSpec.cellSizePx)
+
+        updateRemainderSpaces(availableSpace, cells, spec)
+    }
+
+    constructor(aspectRatio: Float, availableSpace: Int, cells: Int, spec: ResponsiveSpec) {
+        this.aspectRatio = aspectRatio
+        this.availableSpace = availableSpace
+        this.cells = cells
+        this.spec = spec
+
+        // Map if is fixedSize or ofAvailableSpace
+        startPaddingPx = spec.startPadding.getCalculatedValue(availableSpace)
+        endPaddingPx = spec.endPadding.getCalculatedValue(availableSpace)
+        gutterPx = spec.gutter.getCalculatedValue(availableSpace)
+        cellSizePx = spec.cellSize.getCalculatedValue(availableSpace)
+
+        updateRemainderSpaces(availableSpace, cells, spec)
+    }
+
+    fun isResponsiveSpecType(type: ResponsiveSpecType) = spec.specType == type
+
+    private fun updateRemainderSpaces(availableSpace: Int, cells: Int, spec: ResponsiveSpec) {
+        val gutters = cells - 1
+        val usedSpace = startPaddingPx + endPaddingPx + (gutterPx * gutters) + (cellSizePx * cells)
+        val remainderSpace = availableSpace - usedSpace
+
+        startPaddingPx = spec.startPadding.getRemainderSpaceValue(remainderSpace, startPaddingPx)
+        endPaddingPx = spec.endPadding.getRemainderSpaceValue(remainderSpace, endPaddingPx)
+        gutterPx = spec.gutter.getRemainderSpaceValue(remainderSpace, gutterPx, gutters)
+        cellSizePx = spec.cellSize.getRemainderSpaceValue(remainderSpace, cellSizePx, cells)
+    }
+
+    override fun hashCode(): Int {
+        var result = availableSpace.hashCode()
+        result = 31 * result + cells.hashCode()
+        result = 31 * result + startPaddingPx.hashCode()
+        result = 31 * result + endPaddingPx.hashCode()
+        result = 31 * result + gutterPx.hashCode()
+        result = 31 * result + cellSizePx.hashCode()
+        result = 31 * result + spec.hashCode()
+        return result
+    }
+
+    override fun equals(other: Any?): Boolean {
+        return other is CalculatedResponsiveSpec &&
+            availableSpace == other.availableSpace &&
+            cells == other.cells &&
+            startPaddingPx == other.startPaddingPx &&
+            endPaddingPx == other.endPaddingPx &&
+            gutterPx == other.gutterPx &&
+            cellSizePx == other.cellSizePx &&
+            spec == other.spec
+    }
+
+    override fun toString(): String {
+        return "Calculated${spec.specType}Spec(" +
+            "availableSpace=$availableSpace, cells=$cells, startPaddingPx=$startPaddingPx, " +
+            "endPaddingPx=$endPaddingPx, gutterPx=$gutterPx, cellSizePx=$cellSizePx, " +
+            "aspectRatio=${aspectRatio}, " +
+            "${spec.specType}Spec.maxAvailableSize=${spec.maxAvailableSize}" +
+            ")"
+    }
+}
diff --git a/src/com/android/launcher3/responsive/ResponsiveSpecGroup.kt b/src/com/android/launcher3/responsive/ResponsiveSpecGroup.kt
new file mode 100644
index 0000000..a758be8
--- /dev/null
+++ b/src/com/android/launcher3/responsive/ResponsiveSpecGroup.kt
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import android.content.res.TypedArray
+import com.android.launcher3.R
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
+
+/**
+ * Base class for responsive specs that holds a list of width and height specs.
+ *
+ * @param widthSpecs List of width responsive specifications
+ * @param heightSpecs List of height responsive specifications
+ */
+class ResponsiveSpecGroup<T : IResponsiveSpec>(
+    val aspectRatio: Float,
+    widthSpecs: List<T>,
+    heightSpecs: List<T>
+) {
+    val widthSpecs: List<T>
+    val heightSpecs: List<T>
+
+    init {
+        check(aspectRatio > 0f) { "Invalid aspect ratio! Aspect ratio should be bigger than zero." }
+        this.widthSpecs = widthSpecs.sortedBy { it.maxAvailableSize }
+        this.heightSpecs = heightSpecs.sortedBy { it.maxAvailableSize }
+    }
+
+    /**
+     * Get a [ResponsiveSpec] within the breakpoint.
+     *
+     * @param type Type of the spec to be retrieved (width or height)
+     * @param availableSize The breakpoint for the spec
+     * @return A [ResponsiveSpec].
+     */
+    fun getSpec(type: DimensionType, availableSize: Int): T {
+        val spec =
+            if (type == DimensionType.WIDTH) {
+                widthSpecs.firstOrNull { availableSize <= it.maxAvailableSize }
+            } else {
+                heightSpecs.firstOrNull { availableSize <= it.maxAvailableSize }
+            }
+        check(spec != null) { "No available $type spec found within $availableSize. $this" }
+        return spec
+    }
+
+    override fun toString(): String {
+        fun printSpec(spec: IResponsiveSpec) =
+            when (spec.specType) {
+                ResponsiveSpecType.AllApps,
+                ResponsiveSpecType.Folder,
+                ResponsiveSpecType.Workspace -> (spec as ResponsiveSpec).toString()
+                ResponsiveSpecType.Hotseat -> (spec as HotseatSpec).toString()
+                ResponsiveSpecType.Cell -> (spec as CellSpec).toString()
+            }
+
+        val widthSpecsString = widthSpecs.joinToString(", ") { printSpec(it) }
+        val heightSpecsString = heightSpecs.joinToString(", ") { printSpec(it) }
+        return "ResponsiveSpecGroup(" +
+            "aspectRatio=${aspectRatio}, " +
+            "widthSpecs=[${widthSpecsString}], " +
+            "heightSpecs=[${heightSpecsString}]" +
+            ")"
+    }
+
+    companion object {
+        const val XML_GROUP_NAME = "specs"
+
+        fun <T : IResponsiveSpec> create(
+            attrs: TypedArray,
+            specs: List<T>
+        ): ResponsiveSpecGroup<T> {
+            val (widthSpecs, heightSpecs) =
+                specs.partition { it.dimensionType == DimensionType.WIDTH }
+            val aspectRatio = attrs.getFloat(R.styleable.ResponsiveSpecGroup_maxAspectRatio, 0f)
+            return ResponsiveSpecGroup(aspectRatio, widthSpecs, heightSpecs)
+        }
+    }
+}
diff --git a/src/com/android/launcher3/responsive/ResponsiveSpecs.kt b/src/com/android/launcher3/responsive/ResponsiveSpecs.kt
deleted file mode 100644
index 72a0ea4..0000000
--- a/src/com/android/launcher3/responsive/ResponsiveSpecs.kt
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.responsive
-
-import android.util.Log
-
-/**
- * Base class for responsive specs that holds a list of width and height specs.
- *
- * @param widthSpecs List of width responsive specifications
- * @param heightSpecs List of height responsive specifications
- */
-abstract class ResponsiveSpecs<T : ResponsiveSpec>(
-    val widthSpecs: List<T>,
-    val heightSpecs: List<T>
-) {
-
-    init {
-        check(widthSpecs.isNotEmpty() && heightSpecs.isNotEmpty()) {
-            "${this::class.simpleName} is incomplete - " +
-                "width list size = ${widthSpecs.size}; " +
-                "height list size = ${heightSpecs.size}."
-        }
-    }
-
-    /**
-     * Get a [ResponsiveSpec] for width within the breakpoint.
-     *
-     * @param availableWidth The width breakpoint for the spec
-     * @return A [ResponsiveSpec] for width.
-     */
-    fun getWidthSpec(availableWidth: Int): T {
-        val spec = widthSpecs.firstOrNull { availableWidth <= it.maxAvailableSize }
-        check(spec != null) { "No available width spec found within $availableWidth." }
-        return spec
-    }
-
-    /**
-     * Get a [ResponsiveSpec] for height within the breakpoint.
-     *
-     * @param availableHeight The height breakpoint for the spec
-     * @return A [ResponsiveSpec] for height.
-     */
-    fun getHeightSpec(availableHeight: Int): T {
-        val spec = heightSpecs.firstOrNull { availableHeight <= it.maxAvailableSize }
-        check(spec != null) { "No available height spec found within $availableHeight." }
-        return spec
-    }
-}
-
-/**
- * Base class for a responsive specification that is used to calculate the paddings, gutter and cell
- * size.
- *
- * @param maxAvailableSize indicates the breakpoint to use this specification.
- * @param specType indicates whether the paddings and gutters will be applied vertically or
- *   horizontally.
- * @param startPadding padding used at the top or left (right in RTL) in the workspace folder.
- * @param endPadding padding used at the bottom or right (left in RTL) in the workspace folder.
- * @param gutter the space between the cells vertically or horizontally depending on the [specType].
- * @param cellSize height or width of the cell depending on the [specType].
- */
-abstract class ResponsiveSpec(
-    open val maxAvailableSize: Int,
-    open val specType: SpecType,
-    open val startPadding: SizeSpec,
-    open val endPadding: SizeSpec,
-    open val gutter: SizeSpec,
-    open val cellSize: SizeSpec
-) {
-    open fun isValid(): Boolean {
-        if (maxAvailableSize <= 0) {
-            Log.e(LOG_TAG, "${this::class.simpleName}#isValid - maxAvailableSize <= 0")
-            return false
-        }
-
-        // All specs need to be individually valid
-        if (!allSpecsAreValid()) {
-            Log.e(LOG_TAG, "${this::class.simpleName}#isValid - !allSpecsAreValid()")
-            return false
-        }
-
-        return true
-    }
-
-    private fun allSpecsAreValid(): Boolean {
-        return startPadding.isValid() &&
-            endPadding.isValid() &&
-            gutter.isValid() &&
-            cellSize.isValid()
-    }
-
-    enum class SpecType {
-        HEIGHT,
-        WIDTH
-    }
-
-    companion object {
-        private const val LOG_TAG = "ResponsiveSpec"
-    }
-}
-
-/**
- * Calculated responsive specs contains the final paddings, gutter and cell size in pixels after
- * they are calculated from the available space, cells and workspace specs.
- */
-sealed class CalculatedResponsiveSpec {
-    var availableSpace: Int = 0
-        private set
-
-    var cells: Int = 0
-        private set
-
-    var startPaddingPx: Int = 0
-        private set
-
-    var endPaddingPx: Int = 0
-        private set
-
-    var gutterPx: Int = 0
-        private set
-
-    var cellSizePx: Int = 0
-        private set
-
-    var spec: ResponsiveSpec
-        private set
-
-    constructor(
-        availableSpace: Int,
-        cells: Int,
-        spec: ResponsiveSpec,
-        calculatedWorkspaceSpec: CalculatedWorkspaceSpec
-    ) {
-        this.availableSpace = availableSpace
-        this.cells = cells
-        this.spec = spec
-
-        // Map if is fixedSize, ofAvailableSpace or matchWorkspace
-        startPaddingPx =
-            spec.startPadding.getCalculatedValue(
-                availableSpace,
-                calculatedWorkspaceSpec.startPaddingPx
-            )
-        endPaddingPx =
-            spec.endPadding.getCalculatedValue(availableSpace, calculatedWorkspaceSpec.endPaddingPx)
-        gutterPx = spec.gutter.getCalculatedValue(availableSpace, calculatedWorkspaceSpec.gutterPx)
-        cellSizePx =
-            spec.cellSize.getCalculatedValue(availableSpace, calculatedWorkspaceSpec.cellSizePx)
-
-        updateRemainderSpaces(availableSpace, cells, spec)
-    }
-
-    constructor(availableSpace: Int, cells: Int, spec: ResponsiveSpec) {
-        this.availableSpace = availableSpace
-        this.cells = cells
-        this.spec = spec
-
-        // Map if is fixedSize or ofAvailableSpace
-        startPaddingPx = spec.startPadding.getCalculatedValue(availableSpace)
-        endPaddingPx = spec.endPadding.getCalculatedValue(availableSpace)
-        gutterPx = spec.gutter.getCalculatedValue(availableSpace)
-        cellSizePx = spec.cellSize.getCalculatedValue(availableSpace)
-
-        updateRemainderSpaces(availableSpace, cells, spec)
-    }
-
-    private fun updateRemainderSpaces(availableSpace: Int, cells: Int, spec: ResponsiveSpec) {
-        val gutters = cells - 1
-        val usedSpace = startPaddingPx + endPaddingPx + (gutterPx * gutters) + (cellSizePx * cells)
-        val remainderSpace = availableSpace - usedSpace
-
-        startPaddingPx = spec.startPadding.getRemainderSpaceValue(remainderSpace, startPaddingPx)
-        endPaddingPx = spec.endPadding.getRemainderSpaceValue(remainderSpace, endPaddingPx)
-        gutterPx = spec.gutter.getRemainderSpaceValue(remainderSpace, gutterPx)
-        cellSizePx = spec.cellSize.getRemainderSpaceValue(remainderSpace, cellSizePx)
-    }
-
-    override fun hashCode(): Int {
-        var result = availableSpace.hashCode()
-        result = 31 * result + cells.hashCode()
-        result = 31 * result + startPaddingPx.hashCode()
-        result = 31 * result + endPaddingPx.hashCode()
-        result = 31 * result + gutterPx.hashCode()
-        result = 31 * result + cellSizePx.hashCode()
-        result = 31 * result + spec.hashCode()
-        return result
-    }
-
-    override fun equals(other: Any?): Boolean {
-        return other is CalculatedResponsiveSpec &&
-            availableSpace == other.availableSpace &&
-            cells == other.cells &&
-            startPaddingPx == other.startPaddingPx &&
-            endPaddingPx == other.endPaddingPx &&
-            gutterPx == other.gutterPx &&
-            cellSizePx == other.cellSizePx &&
-            spec == other.spec
-    }
-
-    override fun toString(): String {
-        return "${this::class.simpleName}(" +
-            "availableSpace=$availableSpace, cells=$cells, startPaddingPx=$startPaddingPx, " +
-            "endPaddingPx=$endPaddingPx, gutterPx=$gutterPx, cellSizePx=$cellSizePx, " +
-            "${spec::class.simpleName}.maxAvailableSize=${spec.maxAvailableSize}" +
-            ")"
-    }
-}
diff --git a/src/com/android/launcher3/responsive/ResponsiveSpecsParser.kt b/src/com/android/launcher3/responsive/ResponsiveSpecsParser.kt
index a89b619..d782cd5 100644
--- a/src/com/android/launcher3/responsive/ResponsiveSpecsParser.kt
+++ b/src/com/android/launcher3/responsive/ResponsiveSpecsParser.kt
@@ -20,6 +20,7 @@
 import android.content.res.XmlResourceParser
 import android.util.Xml
 import com.android.launcher3.R
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
 import com.android.launcher3.util.ResourceHelper
 import java.io.IOException
 import org.xmlpull.v1.XmlPullParser
@@ -27,6 +28,80 @@
 
 class ResponsiveSpecsParser(private val resourceHelper: ResourceHelper) {
 
+    fun <T : IResponsiveSpec> parseXML(
+        responsiveSpecType: ResponsiveSpecType,
+        map:
+            (
+                responsiveSpecType: ResponsiveSpecType,
+                attributes: TypedArray,
+                sizeSpecs: Map<String, SizeSpec>
+            ) -> T
+    ): List<ResponsiveSpecGroup<T>> {
+        val parser: XmlResourceParser = resourceHelper.getXml()
+
+        try {
+            val groups = mutableListOf<ResponsiveSpecGroup<T>>()
+            val specs = mutableListOf<T>()
+            var groupAttrs: TypedArray? = null
+
+            var eventType = parser.eventType
+            while (eventType != XmlPullParser.END_DOCUMENT) {
+                // Parsing Group
+                when {
+                    parser starts ResponsiveSpecGroup.XML_GROUP_NAME -> {
+                        groupAttrs =
+                            resourceHelper.obtainStyledAttributes(
+                                Xml.asAttributeSet(parser),
+                                R.styleable.ResponsiveSpecGroup
+                            )
+                    }
+                    parser ends ResponsiveSpecGroup.XML_GROUP_NAME -> {
+                        checkNotNull(groupAttrs)
+                        groups += ResponsiveSpecGroup.create(groupAttrs, specs)
+                        specs.clear()
+                        groupAttrs.recycle()
+                        groupAttrs = null
+                    }
+                    // Mapping Spec to WorkspaceSpec, AllAppsSpec, FolderSpecs, HotseatSpec
+                    parser starts responsiveSpecType.xmlTag -> {
+                        val attrs =
+                            resourceHelper.obtainStyledAttributes(
+                                Xml.asAttributeSet(parser),
+                                R.styleable.ResponsiveSpec
+                            )
+
+                        val sizeSpecs = parseSizeSpecs(parser)
+                        specs += map(responsiveSpecType, attrs, sizeSpecs)
+                        attrs.recycle()
+                    }
+                }
+
+                eventType = parser.next()
+            }
+
+            parser.close()
+
+            // All the specs should have been linked to a group, otherwise the XML is invalid
+            check(specs.isEmpty()) {
+                throw InvalidResponsiveGridSpec(
+                    "Invalid XML. ${specs.size} specs not linked to a group."
+                )
+            }
+
+            return groups
+        } catch (e: Exception) {
+            when (e) {
+                is NoSuchFieldException,
+                is IOException,
+                is XmlPullParserException ->
+                    throw RuntimeException("Failure parsing specs file.", e)
+                else -> throw e
+            }
+        } finally {
+            parser.close()
+        }
+    }
+
     private fun parseSizeSpecs(parser: XmlResourceParser): Map<String, SizeSpec> {
         val parentName = parser.name
         parser.next()
@@ -42,49 +117,15 @@
         return result
     }
 
-    fun <T> parseXML(
-        tagName: String,
-        map: (attributes: TypedArray, sizeSpecs: Map<String, SizeSpec>) -> T
-    ): List<T> {
-        val parser: XmlResourceParser = resourceHelper.getXml()
+    private infix fun XmlResourceParser.starts(tag: String): Boolean =
+        name == tag && eventType == XmlPullParser.START_TAG
 
-        try {
-            val list = mutableListOf<T>()
-
-            var eventType = parser.eventType
-            while (eventType != XmlPullParser.END_DOCUMENT) {
-                if (eventType == XmlResourceParser.START_TAG && parser.name == tagName) {
-                    val attrs =
-                        resourceHelper.obtainStyledAttributes(
-                            Xml.asAttributeSet(parser),
-                            R.styleable.ResponsiveSpec
-                        )
-
-                    val sizeSpecs = parseSizeSpecs(parser)
-                    list += map(attrs, sizeSpecs)
-                    attrs.recycle()
-                }
-
-                eventType = parser.next()
-            }
-
-            parser.close()
-
-            return list
-        } catch (e: Exception) {
-            when (e) {
-                is NoSuchFieldException,
-                is IOException,
-                is XmlPullParserException ->
-                    throw RuntimeException("Failure parsing specs file.", e)
-                else -> throw e
-            }
-        } finally {
-            parser.close()
-        }
-    }
+    private infix fun XmlResourceParser.ends(tag: String): Boolean =
+        name == tag && eventType == XmlPullParser.END_TAG
 }
 
 fun Map<String, SizeSpec>.getOrError(key: String): SizeSpec {
     return this.getOrElse(key) { error("Attr '$key' must be defined.") }
 }
+
+class InvalidResponsiveGridSpec(message: String) : Exception(message)
diff --git a/src/com/android/launcher3/responsive/ResponsiveSpecsProvider.kt b/src/com/android/launcher3/responsive/ResponsiveSpecsProvider.kt
new file mode 100644
index 0000000..67eaac0
--- /dev/null
+++ b/src/com/android/launcher3/responsive/ResponsiveSpecsProvider.kt
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
+import com.android.launcher3.util.ResourceHelper
+
+/**
+ * A class to provide responsive grid specs for workspace, folder and all apps.
+ *
+ * This class is responsible for provide width and height [CalculatedResponsiveSpec] to be used for
+ * the correct placement of the workspace, all apps and folders.
+ *
+ * @param type A [ResponsiveSpecType] to indicates the type of the spec.
+ * @param groupOfSpecs Groups of responsive specifications
+ */
+class ResponsiveSpecsProvider(
+    val type: ResponsiveSpecType,
+    groupOfSpecs: List<ResponsiveSpecGroup<ResponsiveSpec>>
+) {
+    private val groupOfSpecs: List<ResponsiveSpecGroup<ResponsiveSpec>>
+
+    init {
+        this.groupOfSpecs =
+            groupOfSpecs
+                .onEach { group ->
+                    check(group.widthSpecs.isNotEmpty() && group.heightSpecs.isNotEmpty()) {
+                        "${this::class.simpleName} is incomplete - " +
+                            "width list size = ${group.widthSpecs.size}; " +
+                            "height list size = ${group.heightSpecs.size}."
+                    }
+                }
+                .sortedBy { it.aspectRatio }
+    }
+
+    fun getSpecsByAspectRatio(aspectRatio: Float): ResponsiveSpecGroup<ResponsiveSpec> {
+        check(aspectRatio > 0f) { "Invalid aspect ratio! The value should be bigger than 0." }
+
+        val specsGroup = groupOfSpecs.firstOrNull { aspectRatio <= it.aspectRatio }
+        checkNotNull(specsGroup) { "No available spec with aspectRatio within $aspectRatio." }
+
+        return specsGroup
+    }
+
+    /**
+     * Retrieves a responsive grid specification that matches the number of [numCells],
+     * * [availableSpace] and [aspectRatio].
+     *
+     * @param aspectRatio the device width divided by device height (aspect ratio) to filter the
+     *   specifications
+     * @param dimensionType the grid axis of the spec width is x axis, height is y axis.
+     * @param numCells number of rows/columns in the grid
+     * @param availableSpace available width to filter the specifications
+     * @return A [CalculatedResponsiveSpec] that matches the parameters provided.
+     */
+    fun getCalculatedSpec(
+        aspectRatio: Float,
+        dimensionType: DimensionType,
+        numCells: Int,
+        availableSpace: Int,
+    ): CalculatedResponsiveSpec {
+        val specsGroup = getSpecsByAspectRatio(aspectRatio)
+        val spec = specsGroup.getSpec(dimensionType, availableSpace)
+        return CalculatedResponsiveSpec(aspectRatio, availableSpace, numCells, spec)
+    }
+
+    /**
+     * Retrieves a responsive grid specification that matches the number of [numCells],
+     * * [availableSpace] and [aspectRatio]. This function uses a [CalculatedResponsiveSpec] to
+     *   match workspace when its true.
+     *
+     * @param aspectRatio the device width divided by device height (aspect ratio) to filter the
+     *   specifications
+     * @param dimensionType the grid axis of the spec width is x axis, height is y axis.
+     * @param numCells number of rows/columns in the grid
+     * @param availableSpace available width to filter the specifications
+     * @param calculatedWorkspaceSpec the calculated workspace specification to use its values as
+     *   base when matchWorkspace is true.
+     * @return A [CalculatedResponsiveSpec] that matches the parameters provided.
+     */
+    fun getCalculatedSpec(
+        aspectRatio: Float,
+        dimensionType: DimensionType,
+        numCells: Int,
+        availableSpace: Int,
+        calculatedWorkspaceSpec: CalculatedResponsiveSpec
+    ): CalculatedResponsiveSpec {
+        check(calculatedWorkspaceSpec.spec.dimensionType == dimensionType) {
+            "Invalid specType for CalculatedWorkspaceSpec. " +
+                "Expected: $dimensionType - " +
+                "Found: ${calculatedWorkspaceSpec.spec.dimensionType}}"
+        }
+
+        check(calculatedWorkspaceSpec.isResponsiveSpecType(ResponsiveSpecType.Workspace)) {
+            "Invalid specType for CalculatedWorkspaceSpec. " +
+                "Expected: ${ResponsiveSpecType.Workspace} - " +
+                "Found: ${calculatedWorkspaceSpec.spec.specType}}"
+        }
+
+        val specsGroup = getSpecsByAspectRatio(aspectRatio)
+        val spec = specsGroup.getSpec(dimensionType, availableSpace)
+        return CalculatedResponsiveSpec(
+            aspectRatio,
+            availableSpace,
+            numCells,
+            spec,
+            calculatedWorkspaceSpec
+        )
+    }
+
+    companion object {
+        @JvmStatic
+        fun create(
+            resourceHelper: ResourceHelper,
+            type: ResponsiveSpecType
+        ): ResponsiveSpecsProvider {
+            val parser = ResponsiveSpecsParser(resourceHelper)
+            val specs = parser.parseXML(type, ::ResponsiveSpec)
+            return ResponsiveSpecsProvider(type, specs)
+        }
+    }
+}
diff --git a/src/com/android/launcher3/responsive/SizeSpec.kt b/src/com/android/launcher3/responsive/SizeSpec.kt
index c868c9f..41dcd5e 100644
--- a/src/com/android/launcher3/responsive/SizeSpec.kt
+++ b/src/com/android/launcher3/responsive/SizeSpec.kt
@@ -57,11 +57,16 @@
     /**
      * Calculates the [SizeSpec] value when remainder space value is defined. If no remainderSpace
      * is 0, returns a default value.
+     *
+     * @param remainderSpace The remainder space to be used for the calculation
+     * @param defaultValue The default value to be returned when no ofRemainderSpace is defined
+     * @param factor A number to divide the remainder space. The default value is 1. This property
+     *   is used to split equally the remainder space by the number of cells and gutters.
      */
-    fun getRemainderSpaceValue(remainderSpace: Int, defaultValue: Int): Int {
+    fun getRemainderSpaceValue(remainderSpace: Int, defaultValue: Int, factor: Int = 1): Int {
         val remainderSpaceValue =
             if (ofRemainderSpace > 0) {
-                (ofRemainderSpace * remainderSpace).roundToInt()
+                (ofRemainderSpace * remainderSpace / factor).roundToInt()
             } else {
                 defaultValue
             }
@@ -121,6 +126,10 @@
         const val GUTTER = "gutter"
         const val CELL_SIZE = "cellSize"
         const val HOTSEAT_QSB_SPACE = "hotseatQsbSpace"
+        const val EDGE_PADDING = "edgePadding"
+        const val ICON_SIZE = "iconSize"
+        const val ICON_TEXT_SIZE = "iconTextSize"
+        const val ICON_DRAWABLE_PADDING = "iconDrawablePadding"
     }
 
     companion object {
diff --git a/src/com/android/launcher3/responsive/WorkspaceSpecs.kt b/src/com/android/launcher3/responsive/WorkspaceSpecs.kt
deleted file mode 100644
index 0da7026..0000000
--- a/src/com/android/launcher3/responsive/WorkspaceSpecs.kt
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.responsive
-
-import android.content.res.TypedArray
-import android.util.Log
-import com.android.launcher3.R
-import com.android.launcher3.responsive.ResponsiveSpec.SpecType
-import com.android.launcher3.util.ResourceHelper
-
-private const val TAG = "WorkspaceSpecs"
-
-class WorkspaceSpecs(widthSpecs: List<WorkspaceSpec>, heightSpecs: List<WorkspaceSpec>) :
-    ResponsiveSpecs<WorkspaceSpec>(widthSpecs, heightSpecs) {
-
-    fun getCalculatedWidthSpec(columns: Int, availableWidth: Int): CalculatedWorkspaceSpec {
-        val spec = getWidthSpec(availableWidth)
-        return CalculatedWorkspaceSpec(availableWidth, columns, spec)
-    }
-
-    fun getCalculatedHeightSpec(rows: Int, availableHeight: Int): CalculatedWorkspaceSpec {
-        val spec = getHeightSpec(availableHeight)
-        return CalculatedWorkspaceSpec(availableHeight, rows, spec)
-    }
-
-    companion object {
-        private const val XML_WORKSPACE_SPEC = "workspaceSpec"
-
-        @JvmStatic
-        fun create(resourceHelper: ResourceHelper): WorkspaceSpecs {
-            val parser = ResponsiveSpecsParser(resourceHelper)
-            val specs = parser.parseXML(XML_WORKSPACE_SPEC, ::WorkspaceSpec)
-            val (widthSpecs, heightSpecs) = specs.partition { it.specType == SpecType.WIDTH }
-            return WorkspaceSpecs(widthSpecs, heightSpecs)
-        }
-    }
-}
-
-data class WorkspaceSpec(
-    override val maxAvailableSize: Int,
-    override val specType: SpecType,
-    override val startPadding: SizeSpec,
-    override val endPadding: SizeSpec,
-    override val gutter: SizeSpec,
-    override val cellSize: SizeSpec
-) : ResponsiveSpec(maxAvailableSize, specType, startPadding, endPadding, gutter, cellSize) {
-
-    init {
-        check(isValid()) { "Invalid WorkspaceSpec found." }
-    }
-
-    constructor(
-        attrs: TypedArray,
-        specs: Map<String, SizeSpec>
-    ) : this(
-        maxAvailableSize =
-            attrs.getDimensionPixelSize(R.styleable.ResponsiveSpec_maxAvailableSize, 0),
-        specType =
-            SpecType.values()[
-                    attrs.getInt(R.styleable.ResponsiveSpec_specType, SpecType.HEIGHT.ordinal)],
-        startPadding = specs.getOrError(SizeSpec.XmlTags.START_PADDING),
-        endPadding = specs.getOrError(SizeSpec.XmlTags.END_PADDING),
-        gutter = specs.getOrError(SizeSpec.XmlTags.GUTTER),
-        cellSize = specs.getOrError(SizeSpec.XmlTags.CELL_SIZE)
-    )
-
-    override fun isValid(): Boolean {
-        // Workspace spec should not match workspace
-        if (
-            startPadding.matchWorkspace ||
-                endPadding.matchWorkspace ||
-                gutter.matchWorkspace ||
-                cellSize.matchWorkspace
-        ) {
-            Log.e(TAG, "WorkspaceSpec#isValid - workspace shouldn't contain matchWorkspace!")
-            return false
-        }
-
-        return super.isValid()
-    }
-}
-
-class CalculatedWorkspaceSpec(availableSpace: Int, cells: Int, spec: WorkspaceSpec) :
-    CalculatedResponsiveSpec(availableSpace, cells, spec)
diff --git a/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncher.java b/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncher.java
index a10c0ad..910b029 100644
--- a/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncher.java
+++ b/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncher.java
@@ -36,7 +36,6 @@
 import com.android.launcher3.InvariantDeviceProfile;
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.LauncherModel;
-import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.R;
 import com.android.launcher3.allapps.ActivityAllAppsContainerView;
@@ -56,7 +55,6 @@
 import com.android.launcher3.touch.ItemClickHandler.ItemClickProxy;
 import com.android.launcher3.util.ComponentKey;
 import com.android.launcher3.util.IntSet;
-import com.android.launcher3.util.OnboardingPrefs;
 import com.android.launcher3.util.PackageUserKey;
 import com.android.launcher3.util.Preconditions;
 import com.android.launcher3.util.Themes;
@@ -82,7 +80,6 @@
     private boolean mAppDrawerShown = false;
 
     private StringCache mStringCache;
-    private OnboardingPrefs<?> mOnboardingPrefs;
     private boolean mBindingItems = false;
     private SecondaryDisplayPredictions mSecondaryDisplayPredictions;
 
@@ -93,7 +90,6 @@
         super.onCreate(savedInstanceState);
         mModel = LauncherAppState.getInstance(this).getModel();
         mDragController = new SecondaryDragController(this);
-        mOnboardingPrefs = new OnboardingPrefs<>(this, LauncherPrefs.getPrefs(this));
         mSecondaryDisplayPredictions = SecondaryDisplayPredictions.newInstance(this);
         if (getWindow().getDecorView().isAttachedToWindow()) {
             initUi();
@@ -272,11 +268,6 @@
     }
 
     @Override
-    public OnboardingPrefs<?> getOnboardingPrefs() {
-        return mOnboardingPrefs;
-    }
-
-    @Override
     public void startBinding() {
         mBindingItems = true;
         mDragController.cancelDrag();
diff --git a/src/com/android/launcher3/secondarydisplay/SecondaryDragLayer.java b/src/com/android/launcher3/secondarydisplay/SecondaryDragLayer.java
index e8be12c..6e697d9 100644
--- a/src/com/android/launcher3/secondarydisplay/SecondaryDragLayer.java
+++ b/src/com/android/launcher3/secondarydisplay/SecondaryDragLayer.java
@@ -18,7 +18,6 @@
 import static android.view.View.MeasureSpec.EXACTLY;
 import static android.view.View.MeasureSpec.makeMeasureSpec;
 
-import static com.android.launcher3.config.FeatureFlags.ENABLE_MATERIAL_U_POPUP;
 import static com.android.launcher3.popup.SystemShortcut.APP_INFO;
 
 import android.content.Context;
@@ -45,7 +44,6 @@
 import com.android.launcher3.views.BaseDragLayer;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 
 /**
@@ -203,20 +201,10 @@
         }
         int deepShortcutCount = popupDataProvider.getShortcutCountForItem(item);
         final PopupContainerWithArrow<SecondaryDisplayLauncher> container;
-        if (ENABLE_MATERIAL_U_POPUP.get()) {
-            container = (PopupContainerWithArrow) mActivity.getLayoutInflater().inflate(
-                    R.layout.popup_container_material_u, mActivity.getDragLayer(), false);
-            container.populateAndShowRowsMaterialU((BubbleTextView) v, deepShortcutCount,
-                    systemShortcuts);
-        } else {
-            container = (PopupContainerWithArrow) mActivity.getLayoutInflater().inflate(
-                    R.layout.popup_container, mActivity.getDragLayer(), false);
-            container.populateAndShow(
-                    (BubbleTextView) v,
-                    deepShortcutCount,
-                    Collections.emptyList(),
-                    systemShortcuts);
-        }
+        container = (PopupContainerWithArrow) mActivity.getLayoutInflater().inflate(
+                R.layout.popup_container, mActivity.getDragLayer(), false);
+        container.populateAndShowRows((BubbleTextView) v, deepShortcutCount,
+                systemShortcuts);
         container.requestFocus();
 
         if (!FeatureFlags.SECONDARY_DRAG_N_DROP_TO_PIN.get() || !mActivity.isAppDrawerShown()) {
diff --git a/src/com/android/launcher3/settings/NotificationDotsPreference.java b/src/com/android/launcher3/settings/NotificationDotsPreference.java
index 1816e7b..ac5571f 100644
--- a/src/com/android/launcher3/settings/NotificationDotsPreference.java
+++ b/src/com/android/launcher3/settings/NotificationDotsPreference.java
@@ -15,8 +15,7 @@
  */
 package com.android.launcher3.settings;
 
-import static com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY;
-import static com.android.launcher3.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGS;
+import static com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_HIGHLIGHT_KEY;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.SettingsCache.NOTIFICATION_BADGING_URI;
 
@@ -51,6 +50,7 @@
 
     /** Hidden field Settings.Secure.ENABLED_NOTIFICATION_LISTENERS */
     private static final String NOTIFICATION_ENABLED_LISTENERS = "enabled_notification_listeners";
+    private static final String EXTRA_SHOW_FRAGMENT_ARGS = ":settings:show_fragment_args";
 
     private final ContentObserver mListenerListObserver =
             new ContentObserver(MAIN_EXECUTOR.getHandler()) {
@@ -88,7 +88,7 @@
 
         // Update intent
         Bundle extras = new Bundle();
-        extras.putString(EXTRA_FRAGMENT_ARG_KEY, "notification_badging");
+        extras.putString(EXTRA_FRAGMENT_HIGHLIGHT_KEY, "notification_badging");
 
         setIntent(new Intent("android.settings.NOTIFICATION_SETTINGS")
                 .putExtra(EXTRA_SHOW_FRAGMENT_ARGS, extras));
@@ -169,11 +169,11 @@
         public void onClick(DialogInterface dialogInterface, int i) {
             ComponentName cn = new ComponentName(getActivity(), NotificationListener.class);
             Bundle showFragmentArgs = new Bundle();
-            showFragmentArgs.putString(EXTRA_FRAGMENT_ARG_KEY, cn.flattenToString());
+            showFragmentArgs.putString(EXTRA_FRAGMENT_HIGHLIGHT_KEY, cn.flattenToString());
 
             Intent intent = new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS)
                     .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
-                    .putExtra(EXTRA_FRAGMENT_ARG_KEY, cn.flattenToString())
+                    .putExtra(EXTRA_FRAGMENT_HIGHLIGHT_KEY, cn.flattenToString())
                     .putExtra(EXTRA_SHOW_FRAGMENT_ARGS, showFragmentArgs);
             getActivity().startActivity(intent);
         }
diff --git a/src/com/android/launcher3/settings/SettingsActivity.java b/src/com/android/launcher3/settings/SettingsActivity.java
index 623b557..8cb15a5 100644
--- a/src/com/android/launcher3/settings/SettingsActivity.java
+++ b/src/com/android/launcher3/settings/SettingsActivity.java
@@ -16,19 +16,24 @@
 
 package com.android.launcher3.settings;
 
-import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS;
+import static android.provider.Settings.Global.DEVELOPMENT_SETTINGS_ENABLED;
 
-import static com.android.launcher3.config.FeatureFlags.IS_STUDIO_BUILD;
+import static androidx.preference.PreferenceFragmentCompat.ARG_PREFERENCE_ROOT;
+
+import static com.android.launcher3.BuildConfig.IS_DEBUG_DEVICE;
+import static com.android.launcher3.BuildConfig.IS_STUDIO_BUILD;
 import static com.android.launcher3.states.RotationHelper.ALLOW_ROTATION_PREFERENCE_KEY;
 
+import android.app.Activity;
 import android.content.Intent;
-import android.content.SharedPreferences;
+import android.net.Uri;
 import android.os.Bundle;
+import android.provider.Settings;
 import android.text.TextUtils;
 import android.view.MenuItem;
 import android.view.View;
 
-import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.core.view.WindowCompat;
 import androidx.fragment.app.DialogFragment;
@@ -36,6 +41,7 @@
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceFragmentCompat.OnPreferenceStartFragmentCallback;
 import androidx.preference.PreferenceFragmentCompat.OnPreferenceStartScreenCallback;
@@ -43,59 +49,49 @@
 import androidx.preference.PreferenceScreen;
 import androidx.recyclerview.widget.RecyclerView;
 
-import com.android.launcher3.DeviceProfile;
-import com.android.launcher3.InvariantDeviceProfile;
+import com.android.launcher3.BuildConfig;
 import com.android.launcher3.LauncherFiles;
-import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
-import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.model.WidgetsModel;
 import com.android.launcher3.states.RotationHelper;
-import com.android.launcher3.uioverrides.flags.DeveloperOptionsFragment;
-import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
+import com.android.launcher3.uioverrides.flags.DeveloperOptionsUI;
 import com.android.launcher3.util.DisplayController;
-
-import java.util.Collections;
-import java.util.List;
+import com.android.launcher3.util.Executors;
+import com.android.launcher3.util.SettingsCache;
 
 /**
  * Settings activity for Launcher. Currently implements the following setting: Allow rotation
  */
 public class SettingsActivity extends FragmentActivity
-        implements OnPreferenceStartFragmentCallback, OnPreferenceStartScreenCallback,
-        SharedPreferences.OnSharedPreferenceChangeListener{
+        implements OnPreferenceStartFragmentCallback, OnPreferenceStartScreenCallback {
 
-    /** List of fragments that can be hosted by this activity. */
-    private static final List<String> VALID_PREFERENCE_FRAGMENTS =
-            !Utilities.IS_DEBUG_DEVICE ? Collections.emptyList()
-                    : Collections.singletonList(DeveloperOptionsFragment.class.getName());
-
-    private static final String DEVELOPER_OPTIONS_KEY = "pref_developer_options";
-    private static final String FLAGS_PREFERENCE_KEY = "flag_toggler";
+    @VisibleForTesting
+    static final String DEVELOPER_OPTIONS_KEY = "pref_developer_options";
 
     private static final String NOTIFICATION_DOTS_PREFERENCE_KEY = "pref_icon_badging";
 
-    public static final String EXTRA_FRAGMENT_ARG_KEY = ":settings:fragment_args_key";
-    public static final String EXTRA_SHOW_FRAGMENT_ARGS = ":settings:show_fragment_args";
+    public static final String EXTRA_FRAGMENT_ARGS = ":settings:fragment_args";
+
+    // Intent extra to indicate the pref-key to highlighted when opening the settings activity
+    public static final String EXTRA_FRAGMENT_HIGHLIGHT_KEY = ":settings:fragment_args_key";
+    // Intent extra to indicate the pref-key of the root screen when opening the settings activity
+    public static final String EXTRA_FRAGMENT_ROOT_KEY = ARG_PREFERENCE_ROOT;
+
     private static final int DELAY_HIGHLIGHT_DURATION_MILLIS = 600;
     public static final String SAVE_HIGHLIGHTED_KEY = "android:preference_highlighted";
 
-    @VisibleForTesting
-    static final String EXTRA_FRAGMENT = ":settings:fragment";
-    @VisibleForTesting
-    static final String EXTRA_FRAGMENT_ARGS = ":settings:fragment_args";
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.settings_activity);
+
         setActionBar(findViewById(R.id.action_bar));
         WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
 
         Intent intent = getIntent();
-        if (intent.hasExtra(EXTRA_FRAGMENT) || intent.hasExtra(EXTRA_FRAGMENT_ARGS)
-                || intent.hasExtra(EXTRA_FRAGMENT_ARG_KEY)) {
+        if (intent.hasExtra(EXTRA_FRAGMENT_ROOT_KEY) || intent.hasExtra(EXTRA_FRAGMENT_ARGS)
+                || intent.hasExtra(EXTRA_FRAGMENT_HIGHLIGHT_KEY)) {
             getActionBar().setDisplayHomeAsUpEnabled(true);
         }
 
@@ -105,46 +101,24 @@
                 args = new Bundle();
             }
 
-            String prefKey = intent.getStringExtra(EXTRA_FRAGMENT_ARG_KEY);
-            if (!TextUtils.isEmpty(prefKey)) {
-                args.putString(EXTRA_FRAGMENT_ARG_KEY, prefKey);
+            String highlight = intent.getStringExtra(EXTRA_FRAGMENT_HIGHLIGHT_KEY);
+            if (!TextUtils.isEmpty(highlight)) {
+                args.putString(EXTRA_FRAGMENT_HIGHLIGHT_KEY, highlight);
+            }
+            String root = intent.getStringExtra(EXTRA_FRAGMENT_ROOT_KEY);
+            if (!TextUtils.isEmpty(root)) {
+                args.putString(EXTRA_FRAGMENT_ROOT_KEY, root);
             }
 
             final FragmentManager fm = getSupportFragmentManager();
             final Fragment f = fm.getFragmentFactory().instantiate(getClassLoader(),
-                    getPreferenceFragment());
+                    getString(R.string.settings_fragment_name));
             f.setArguments(args);
             // Display the fragment as the main content.
             fm.beginTransaction().replace(R.id.content_frame, f).commit();
         }
-        LauncherPrefs.getPrefs(getApplicationContext())
-                .registerOnSharedPreferenceChangeListener(this);
     }
 
-    /**
-     * Obtains the preference fragment to instantiate in this activity.
-     *
-     * @return the preference fragment class
-     * @throws IllegalArgumentException if the fragment is unknown to this activity
-     */
-    private String getPreferenceFragment() {
-        String preferenceFragment = getIntent().getStringExtra(EXTRA_FRAGMENT);
-        String defaultFragment = getString(R.string.settings_fragment_name);
-
-        if (TextUtils.isEmpty(preferenceFragment)) {
-            return defaultFragment;
-        } else if (!preferenceFragment.equals(defaultFragment)
-                && !VALID_PREFERENCE_FRAGMENTS.contains(preferenceFragment)) {
-            throw new IllegalArgumentException(
-                    "Invalid fragment for this activity: " + preferenceFragment);
-        } else {
-            return preferenceFragment;
-        }
-    }
-
-    @Override
-    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { }
-
     private boolean startPreference(String fragment, Bundle args, String key) {
         if (Utilities.ATLEAST_P && getSupportFragmentManager().isStateSaved()) {
             // Sometimes onClick can come after onPause because of being posted on the handler.
@@ -158,7 +132,6 @@
             ((DialogFragment) f).show(fm, key);
         } else {
             startActivity(new Intent(this, SettingsActivity.class)
-                    .putExtra(EXTRA_FRAGMENT, fragment)
                     .putExtra(EXTRA_FRAGMENT_ARGS, args));
         }
         return true;
@@ -173,7 +146,7 @@
     @Override
     public boolean onPreferenceStartScreen(PreferenceFragmentCompat caller, PreferenceScreen pref) {
         Bundle args = new Bundle();
-        args.putString(PreferenceFragmentCompat.ARG_PREFERENCE_ROOT, pref.getKey());
+        args.putString(ARG_PREFERENCE_ROOT, pref.getKey());
         return startPreference(getString(R.string.settings_fragment_name), args, pref.getKey());
     }
 
@@ -189,19 +162,31 @@
     /**
      * This fragment shows the launcher preferences.
      */
-    public static class LauncherSettingsFragment extends PreferenceFragmentCompat {
+    public static class LauncherSettingsFragment extends PreferenceFragmentCompat implements
+            SettingsCache.OnChangeListener {
+
+        protected boolean mDeveloperOptionsEnabled = false;
+
+        private boolean mRestartOnResume = false;
 
         private String mHighLightKey;
         private boolean mPreferenceHighlighted = false;
-        private Preference mDeveloperOptionPref;
+
+        @Override
+        public void onCreate(@Nullable Bundle savedInstanceState) {
+            if (BuildConfig.IS_DEBUG_DEVICE) {
+                Uri devUri = Settings.Global.getUriFor(DEVELOPMENT_SETTINGS_ENABLED);
+                SettingsCache settingsCache = SettingsCache.INSTANCE.get(getContext());
+                mDeveloperOptionsEnabled = settingsCache.getValue(devUri);
+                settingsCache.register(devUri, this);
+            }
+            super.onCreate(savedInstanceState);
+        }
 
         @Override
         public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
             final Bundle args = getArguments();
-            mHighLightKey = args == null ? null : args.getString(EXTRA_FRAGMENT_ARG_KEY);
-            if (rootKey == null && !TextUtils.isEmpty(mHighLightKey)) {
-                rootKey = getParentKeyForPref(mHighLightKey);
-            }
+            mHighLightKey = args == null ? null : args.getString(EXTRA_FRAGMENT_HIGHLIGHT_KEY);
 
             if (savedInstanceState != null) {
                 mPreferenceHighlighted = savedInstanceState.getBoolean(SAVE_HIGHLIGHTED_KEY);
@@ -213,25 +198,12 @@
             PreferenceScreen screen = getPreferenceScreen();
             for (int i = screen.getPreferenceCount() - 1; i >= 0; i--) {
                 Preference preference = screen.getPreference(i);
-                if (initPreference(preference)) {
-                    if (IS_STUDIO_BUILD && preference == mDeveloperOptionPref) {
-                        preference.setOrder(0);
-                    }
-                } else {
+                if (!initPreference(preference)) {
                     screen.removePreference(preference);
                 }
             }
 
             if (getActivity() != null && !TextUtils.isEmpty(getPreferenceScreen().getTitle())) {
-                if (getPreferenceScreen().getTitle().equals(
-                        getResources().getString(R.string.search_pref_screen_title))){
-                    DeviceProfile mDeviceProfile = InvariantDeviceProfile.INSTANCE.get(
-                            getContext()).getDeviceProfile(getContext());
-                    getPreferenceScreen().setTitle(mDeviceProfile.isMultiDisplay
-                            || mDeviceProfile.isPhone ?
-                            R.string.search_pref_screen_title :
-                            R.string.search_pref_screen_title_tablet);
-                }
                 getActivity().setTitle(getPreferenceScreen().getTitle());
             }
         }
@@ -249,6 +221,7 @@
                         bottomPadding + insets.getSystemWindowInsetBottom());
                 return insets.consumeSystemWindowInsets();
             });
+
             // Overriding Text Direction in the Androidx preference library to support RTL
             view.setTextDirection(View.TEXT_DIRECTION_LOCALE);
         }
@@ -259,10 +232,6 @@
             outState.putBoolean(SAVE_HIGHLIGHTED_KEY, mPreferenceHighlighted);
         }
 
-        protected String getParentKeyForPref(String key) {
-            return null;
-        }
-
         /**
          * Initializes a preference. This is called for every preference. Returning false here
          * will remove that preference from the list.
@@ -283,51 +252,70 @@
                     preference.setDefaultValue(RotationHelper.getAllowRotationDefaultValue(info));
                     return true;
 
-                case FLAGS_PREFERENCE_KEY:
-                    // Only show flag toggler UI if this build variant implements that.
-                    return FeatureFlags.showFlagTogglerUi(getContext());
-
                 case DEVELOPER_OPTIONS_KEY:
-                    mDeveloperOptionPref = preference;
-                    return updateDeveloperOption();
+                    if (IS_STUDIO_BUILD) {
+                        preference.setOrder(0);
+                    }
+                    return mDeveloperOptionsEnabled;
+                case "pref_developer_flags":
+                    if (mDeveloperOptionsEnabled && preference instanceof PreferenceCategory pc) {
+                        Executors.MAIN_EXECUTOR.post(() -> new DeveloperOptionsUI(this, pc));
+                        return true;
+                    }
+                    return false;
             }
 
             return true;
         }
 
-        /**
-         * Show if plugins are enabled or flag UI is enabled.
-         * @return True if we should show the preference option.
-         */
-        private boolean updateDeveloperOption() {
-            boolean showPreference = FeatureFlags.showFlagTogglerUi(getContext())
-                    || PluginManagerWrapper.hasPlugins(getContext());
-            if (mDeveloperOptionPref != null) {
-                mDeveloperOptionPref.setEnabled(showPreference);
-                if (showPreference) {
-                    getPreferenceScreen().addPreference(mDeveloperOptionPref);
-                } else {
-                    getPreferenceScreen().removePreference(mDeveloperOptionPref);
-                }
-            }
-            return showPreference;
-        }
-
         @Override
         public void onResume() {
             super.onResume();
 
-            updateDeveloperOption();
-
             if (isAdded() && !mPreferenceHighlighted) {
                 PreferenceHighlighter highlighter = createHighlighter();
                 if (highlighter != null) {
                     getView().postDelayed(highlighter, DELAY_HIGHLIGHT_DURATION_MILLIS);
                     mPreferenceHighlighted = true;
-                } else {
-                    requestAccessibilityFocus(getListView());
                 }
             }
+
+            if (mRestartOnResume) {
+                recreateActivityNow();
+            }
+        }
+
+        @Override
+        public void onSettingsChanged(boolean isEnabled) {
+            // Developer options changed, try recreate
+            tryRecreateActivity();
+        }
+
+        @Override
+        public void onDestroy() {
+            super.onDestroy();
+            if (IS_DEBUG_DEVICE) {
+                SettingsCache.INSTANCE.get(getContext())
+                        .unregister(Settings.Global.getUriFor(DEVELOPMENT_SETTINGS_ENABLED), this);
+            }
+        }
+
+        /**
+         * Tries to recreate the preference
+         */
+        protected void tryRecreateActivity() {
+            if (isResumed()) {
+                recreateActivityNow();
+            } else {
+                mRestartOnResume = true;
+            }
+        }
+
+        private void recreateActivityNow() {
+            Activity activity = getActivity();
+            if (activity != null) {
+                activity.recreate();
+            }
         }
 
         private PreferenceHighlighter createHighlighter() {
@@ -347,14 +335,5 @@
                     list, position, screen.findPreference(mHighLightKey))
                     : null;
         }
-
-        private void requestAccessibilityFocus(@NonNull final RecyclerView rv) {
-            rv.post(() -> {
-                if (!rv.hasFocus() && rv.getChildCount() > 0) {
-                    rv.getChildAt(0)
-                            .performAccessibilityAction(ACTION_ACCESSIBILITY_FOCUS, null);
-                }
-            });
-        }
     }
 }
diff --git a/src/com/android/launcher3/shortcuts/DeepShortcutTextView.java b/src/com/android/launcher3/shortcuts/DeepShortcutTextView.java
index ad3f8df..ded2cee 100644
--- a/src/com/android/launcher3/shortcuts/DeepShortcutTextView.java
+++ b/src/com/android/launcher3/shortcuts/DeepShortcutTextView.java
@@ -17,13 +17,11 @@
 package com.android.launcher3.shortcuts;
 
 import android.content.Context;
-import android.content.res.Resources;
 import android.graphics.Canvas;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
 import android.util.AttributeSet;
-import android.widget.Toast;
 
 import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.R;
@@ -33,11 +31,6 @@
  * A {@link BubbleTextView} that has the shortcut icon on the left and drag handle on the right.
  */
 public class DeepShortcutTextView extends BubbleTextView {
-    private final Rect mDragHandleBounds = new Rect();
-    private final int mDragHandleWidth;
-    private boolean mShowInstructionToast = false;
-
-    private Toast mInstructionToast;
 
     private boolean mShowLoadingState;
     private Drawable mLoadingStatePlaceholder;
@@ -53,23 +46,12 @@
 
     public DeepShortcutTextView(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
-
-        Resources resources = getResources();
-        mDragHandleWidth = resources.getDimensionPixelSize(R.dimen.popup_padding_end)
-                + resources.getDimensionPixelSize(R.dimen.deep_shortcut_drag_handle_size)
-                + resources.getDimensionPixelSize(R.dimen.deep_shortcut_drawable_padding) / 2;
         showLoadingState(true);
     }
 
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-
-        mDragHandleBounds.set(0, 0, mDragHandleWidth, getMeasuredHeight());
-        if (!Utilities.isRtl(getResources())) {
-            mDragHandleBounds.offset(getMeasuredWidth() - mDragHandleBounds.width(), 0);
-        }
-
         setLoadingBounds();
     }
 
@@ -80,10 +62,10 @@
         mLoadingStateBounds.set(
                 0,
                 0,
-                getMeasuredWidth() - mDragHandleWidth - getPaddingStart(),
+                getMeasuredWidth() - getPaddingEnd() - getPaddingStart(),
                 mLoadingStatePlaceholder.getIntrinsicHeight());
         mLoadingStateBounds.offset(
-                Utilities.isRtl(getResources()) ? mDragHandleWidth : getPaddingStart(),
+                Utilities.isRtl(getResources()) ? getPaddingEnd() : getPaddingStart(),
                 (int) ((getMeasuredHeight() - mLoadingStatePlaceholder.getIntrinsicHeight())
                         / 2.0f)
         );
@@ -106,23 +88,11 @@
 
     @Override
     protected boolean shouldIgnoreTouchDown(float x, float y) {
-        // Show toast if user touches the drag handle (long clicks still start the drag).
-        mShowInstructionToast = mDragHandleBounds.contains((int) x, (int) y);
-
         // assume the whole view as clickable
         return false;
     }
 
     @Override
-    public boolean performClick() {
-        if (mShowInstructionToast) {
-            showToast();
-            return true;
-        }
-        return super.performClick();
-    }
-
-    @Override
     public void onDraw(Canvas canvas) {
         if (!mShowLoadingState) {
             super.onDraw(canvas);
@@ -155,15 +125,4 @@
 
         invalidate();
     }
-
-    private void showToast() {
-        if (mInstructionToast != null) {
-            mInstructionToast.cancel();
-        }
-        CharSequence msg = Utilities.wrapForTts(
-                getContext().getText(R.string.long_press_shortcut_to_add),
-                getContext().getString(R.string.long_accessible_way_to_add_shortcut));
-        mInstructionToast = Toast.makeText(getContext(), msg, Toast.LENGTH_SHORT);
-        mInstructionToast.show();
-    }
 }
diff --git a/src/com/android/launcher3/shortcuts/ShortcutRequest.java b/src/com/android/launcher3/shortcuts/ShortcutRequest.java
index 5291ce4..21efceb 100644
--- a/src/com/android/launcher3/shortcuts/ShortcutRequest.java
+++ b/src/com/android/launcher3/shortcuts/ShortcutRequest.java
@@ -24,10 +24,11 @@
 import android.content.pm.LauncherApps.ShortcutQuery;
 import android.content.pm.ShortcutInfo;
 import android.os.UserHandle;
-import android.util.Log;
 
 import androidx.annotation.Nullable;
 
+import com.android.launcher3.logging.FileLog;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -101,7 +102,7 @@
             return new QueryResult(mContext.getSystemService(LauncherApps.class)
                     .getShortcuts(mQuery, mUserHandle));
         } catch (SecurityException | IllegalStateException e) {
-            Log.e(TAG, "Failed to query for shortcuts", e);
+            FileLog.e(TAG, "Failed to query for shortcuts", e);
             return QueryResult.DEFAULT;
         }
     }
diff --git a/src/com/android/launcher3/statemanager/StateManager.java b/src/com/android/launcher3/statemanager/StateManager.java
index 360ff7e..e8b3066 100644
--- a/src/com/android/launcher3/statemanager/StateManager.java
+++ b/src/com/android/launcher3/statemanager/StateManager.java
@@ -19,6 +19,7 @@
 import static android.animation.ValueAnimator.areAnimatorsEnabled;
 
 import static com.android.launcher3.anim.AnimatorPlaybackController.callListenerCommandRecursively;
+import static com.android.launcher3.states.StateAnimationConfig.HANDLE_STATE_APPLY;
 import static com.android.launcher3.states.StateAnimationConfig.SKIP_ALL_ANIMATIONS;
 
 import android.animation.Animator;
@@ -36,10 +37,13 @@
 import com.android.launcher3.anim.PendingAnimation;
 import com.android.launcher3.states.StateAnimationConfig;
 import com.android.launcher3.states.StateAnimationConfig.AnimationFlags;
+import com.android.launcher3.states.StateAnimationConfig.AnimationPropertyFlags;
 import com.android.launcher3.testing.shared.TestProtocol;
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.stream.Collectors;
 
 /**
  * Class to manage transitions between different states for a StatefulActivity based on different
@@ -189,7 +193,7 @@
 
     public void reapplyState(boolean cancelCurrentAnimation) {
         boolean wasInAnimation = mConfig.currentAnimation != null;
-        if (cancelCurrentAnimation) {
+        if (cancelCurrentAnimation && (mConfig.animProps & HANDLE_STATE_APPLY) == 0) {
             // Animation canceling can trigger a cleanup routine, causing problems when we are in a
             // launcher state that relies on member variable data. So if we are in one of those
             // states, accelerate the current animation to its end point rather than canceling it
@@ -227,7 +231,15 @@
 
     private void goToState(
             STATE_TYPE state, boolean animated, long delay, AnimatorListener listener) {
-        Log.d(TestProtocol.OVERVIEW_OVER_HOME, "go to state " + state);
+        String stackTrace = Log.getStackTraceString(new Exception("tracing state transition"));
+        String truncatedTrace =
+                Arrays.stream(stackTrace.split("\\n"))
+                    .limit(5)
+                    .skip(1) // Removes the line "java.lang.Exception: tracing state transition"
+                    .filter(traceLine -> !traceLine.contains("StateManager.goToState"))
+                    .collect(Collectors.joining("\n"));
+        Log.d(TestProtocol.OVERVIEW_OVER_HOME,
+                "go to state " + state + " partial trace:\n" + truncatedTrace);
 
         animated &= areAnimatorsEnabled();
         if (mActivity.isInState(state)) {
@@ -237,7 +249,7 @@
                     listener.onAnimationEnd(null);
                 }
                 return;
-            } else if ((!mConfig.userControlled && animated && mConfig.targetState == state)
+            } else if ((!mConfig.isUserControlled() && animated && mConfig.targetState == state)
                     || mState.shouldPreserveDataStateOnReapply()) {
                 // We are running the same animation as requested, and/or target state should not be
                 // reset -- allow the current animation to complete instead of canceling it.
@@ -343,7 +355,7 @@
 
     public AnimatorPlaybackController createAnimationToNewWorkspace(STATE_TYPE state,
             StateAnimationConfig config) {
-        config.userControlled = true;
+        config.animProps |= StateAnimationConfig.USER_CONTROLLED;
         cancelAnimation();
         config.copyTo(mConfig);
         mConfig.playbackController = createAnimationToNewWorkspaceInternal(state)
@@ -418,7 +430,7 @@
     }
 
     public void moveToRestState(boolean isAnimated) {
-        if (mConfig.currentAnimation != null && mConfig.userControlled) {
+        if (mConfig.currentAnimation != null && mConfig.isUserControlled()) {
             // The user is doing something. Lets not mess it up
             return;
         }
@@ -450,10 +462,18 @@
         }
     }
 
+    /**
+     * Sets the provided controller as the current user controlled state animation
+     */
     public void setCurrentUserControlledAnimation(AnimatorPlaybackController controller) {
+        setCurrentAnimation(controller, StateAnimationConfig.USER_CONTROLLED);
+    }
+
+    public void setCurrentAnimation(AnimatorPlaybackController controller,
+            @AnimationPropertyFlags int animationProps) {
         clearCurrentAnimation();
         setCurrentAnimation(controller.getTarget());
-        mConfig.userControlled = true;
+        mConfig.animProps = animationProps;
         mConfig.playbackController = controller;
     }
 
diff --git a/src/com/android/launcher3/statemanager/StatefulActivity.java b/src/com/android/launcher3/statemanager/StatefulActivity.java
index 520f33c..30ba703 100644
--- a/src/com/android/launcher3/statemanager/StatefulActivity.java
+++ b/src/com/android/launcher3/statemanager/StatefulActivity.java
@@ -126,16 +126,8 @@
 
     @Override
     public void reapplyUi() {
-        reapplyUi(true /* cancelCurrentAnimation */);
-    }
-
-    /**
-     * Re-applies if any state transition is not running, optionally cancelling
-     * the transition if requested.
-     */
-    public void reapplyUi(boolean cancelCurrentAnimation) {
         getRootView().dispatchInsets();
-        getStateManager().reapplyState(cancelCurrentAnimation);
+        getStateManager().reapplyState(true /* cancelCurrentAnimation */);
     }
 
     @Override
diff --git a/src/com/android/launcher3/states/RotationHelper.java b/src/com/android/launcher3/states/RotationHelper.java
index 7b4e248..6950fb5 100644
--- a/src/com/android/launcher3/states/RotationHelper.java
+++ b/src/com/android/launcher3/states/RotationHelper.java
@@ -25,14 +25,13 @@
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
 import static com.android.launcher3.util.window.WindowManagerProxy.MIN_TABLET_WIDTH;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
 import android.os.Handler;
 import android.os.Message;
 
-import androidx.annotation.Nullable;
+import androidx.annotation.NonNull;
 import androidx.annotation.WorkerThread;
 
 import com.android.launcher3.BaseActivity;
@@ -62,8 +61,8 @@
     public static final int REQUEST_ROTATE = 1;
     public static final int REQUEST_LOCK = 2;
 
-    @Nullable
-    private BaseActivity mActivity;
+    @NonNull
+    private final BaseActivity mActivity;
     private final Handler mRequestOrientationHandler;
 
     private boolean mIgnoreAutoRotateSettings;
@@ -92,14 +91,14 @@
     // Initialize mLastActivityFlags to a value not used by SCREEN_ORIENTATION flags
     private int mLastActivityFlags = -999;
 
-    public RotationHelper(BaseActivity activity) {
+    public RotationHelper(@NonNull BaseActivity activity) {
         mActivity = activity;
         mRequestOrientationHandler =
                 new Handler(UI_HELPER_EXECUTOR.getLooper(), this::setOrientationAsync);
     }
 
-    private void setIgnoreAutoRotateSettings(boolean ignoreAutoRotateSettings,
-            DisplayController.Info info) {
+    private void setIgnoreAutoRotateSettings(boolean ignoreAutoRotateSettings) {
+        if (mDestroyed) return;
         // On large devices we do not handle auto-rotate differently.
         mIgnoreAutoRotateSettings = ignoreAutoRotateSettings;
         if (!mIgnoreAutoRotateSettings) {
@@ -122,58 +121,54 @@
 
     @Override
     public void onDisplayInfoChanged(Context context, DisplayController.Info info, int flags) {
+        if (mDestroyed) return;
         boolean ignoreAutoRotateSettings = info.isTablet(info.realBounds);
         if (mIgnoreAutoRotateSettings != ignoreAutoRotateSettings) {
-            setIgnoreAutoRotateSettings(ignoreAutoRotateSettings, info);
+            setIgnoreAutoRotateSettings(ignoreAutoRotateSettings);
             notifyChange();
         }
     }
 
     public void setStateHandlerRequest(int request) {
-        if (mStateHandlerRequest != request) {
-            mStateHandlerRequest = request;
-            notifyChange();
-        }
+        if (mDestroyed || mStateHandlerRequest == request) return;
+        mStateHandlerRequest = request;
+        notifyChange();
     }
 
     public void setCurrentTransitionRequest(int request) {
-        if (mCurrentTransitionRequest != request) {
-            mCurrentTransitionRequest = request;
-            notifyChange();
-        }
+        if (mDestroyed || mCurrentTransitionRequest == request) return;
+        mCurrentTransitionRequest = request;
+        notifyChange();
     }
 
     public void setCurrentStateRequest(int request) {
-        if (mCurrentStateRequest != request) {
-            mCurrentStateRequest = request;
-            notifyChange();
-        }
+        if (mDestroyed || mCurrentStateRequest == request) return;
+        mCurrentStateRequest = request;
+        notifyChange();
     }
 
     // Used by tests only.
     public void forceAllowRotationForTesting(boolean allowRotation) {
+        if (mDestroyed) return;
         mForceAllowRotationForTesting = allowRotation;
         notifyChange();
     }
 
     public void initialize() {
-        if (!mInitialized) {
-            mInitialized = true;
-            DisplayController displayController = DisplayController.INSTANCE.get(mActivity);
-            DisplayController.Info info = displayController.getInfo();
-            setIgnoreAutoRotateSettings(info.isTablet(info.realBounds), info);
-            displayController.addChangeListener(this);
-            notifyChange();
-        }
+        if (mInitialized) return;
+        mInitialized = true;
+        DisplayController displayController = DisplayController.INSTANCE.get(mActivity);
+        DisplayController.Info info = displayController.getInfo();
+        setIgnoreAutoRotateSettings(info.isTablet(info.realBounds));
+        displayController.addChangeListener(this);
+        notifyChange();
     }
 
     public void destroy() {
-        if (!mDestroyed) {
-            mDestroyed = true;
-            DisplayController.INSTANCE.get(mActivity).removeChangeListener(this);
-            LauncherPrefs.get(mActivity).removeListener(this, ALLOW_ROTATION);
-            mActivity = null;
-        }
+        if (mDestroyed) return;
+        mDestroyed = true;
+        DisplayController.INSTANCE.get(mActivity).removeChangeListener(this);
+        LauncherPrefs.get(mActivity).removeListener(this, ALLOW_ROTATION);
     }
 
     private void notifyChange() {
@@ -206,10 +201,8 @@
 
     @WorkerThread
     private boolean setOrientationAsync(Message msg) {
-        Activity activity = mActivity;
-        if (activity != null) {
-            activity.setRequestedOrientation(msg.what);
-        }
+        if (mDestroyed) return true;
+        mActivity.setRequestedOrientation(msg.what);
         return true;
     }
 
@@ -228,8 +221,10 @@
     public String toString() {
         return String.format("[mStateHandlerRequest=%d, mCurrentStateRequest=%d, "
                         + "mLastActivityFlags=%d, mIgnoreAutoRotateSettings=%b, "
-                        + "mHomeRotationEnabled=%b, mForceAllowRotationForTesting=%b]",
+                        + "mHomeRotationEnabled=%b, mForceAllowRotationForTesting=%b,"
+                        + " mDestroyed=%b]",
                 mStateHandlerRequest, mCurrentStateRequest, mLastActivityFlags,
-                mIgnoreAutoRotateSettings, mHomeRotationEnabled, mForceAllowRotationForTesting);
+                mIgnoreAutoRotateSettings, mHomeRotationEnabled, mForceAllowRotationForTesting,
+                mDestroyed);
     }
 }
diff --git a/src/com/android/launcher3/states/StateAnimationConfig.java b/src/com/android/launcher3/states/StateAnimationConfig.java
index 0d9e010..0ca5afd 100644
--- a/src/com/android/launcher3/states/StateAnimationConfig.java
+++ b/src/com/android/launcher3/states/StateAnimationConfig.java
@@ -40,8 +40,19 @@
     public static final int SKIP_DEPTH_CONTROLLER = 1 << 2;
     public static final int SKIP_SCRIM = 1 << 3;
 
+    @IntDef(flag = true, value = {
+            USER_CONTROLLED,
+            HANDLE_STATE_APPLY
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface AnimationPropertyFlags {}
+    // Indicates that the animation is controlled by the user
+    public static final int USER_CONTROLLED = 1 << 0;
+    // Indicates that he animation can survive state UI resets due to inset or config changes
+    public static final int HANDLE_STATE_APPLY = 1 << 1;
+
     public long duration;
-    public boolean userControlled;
+    public @AnimationPropertyFlags int animProps = 0;
     public @AnimationFlags int animFlags = 0;
 
 
@@ -105,12 +116,16 @@
     public void copyTo(StateAnimationConfig target) {
         target.duration = duration;
         target.animFlags = animFlags;
-        target.userControlled = userControlled;
+        target.animProps = animProps;
         for (int i = 0; i < ANIM_TYPES_COUNT; i++) {
             target.mInterpolators[i] = mInterpolators[i];
         }
     }
 
+    public boolean isUserControlled() {
+        return (animProps & USER_CONTROLLED) != 0;
+    }
+
     /**
      * Returns the interpolator set for animId or fallback if nothing is set
      *
diff --git a/src/com/android/launcher3/testing/TestInformationHandler.java b/src/com/android/launcher3/testing/TestInformationHandler.java
index 07a1b82..ccff095 100644
--- a/src/com/android/launcher3/testing/TestInformationHandler.java
+++ b/src/com/android/launcher3/testing/TestInformationHandler.java
@@ -16,7 +16,7 @@
 package com.android.launcher3.testing;
 
 import static com.android.launcher3.allapps.AllAppsStore.DEFER_UPDATES_TEST;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW;
+import static com.android.launcher3.Flags.enableGridOnlyOverview;
 import static com.android.launcher3.config.FeatureFlags.FOLDABLE_SINGLE_PAGE;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 
@@ -32,6 +32,7 @@
 import android.view.WindowInsets;
 
 import androidx.annotation.Nullable;
+import androidx.core.view.WindowInsetsCompat;
 
 import com.android.launcher3.CellLayout;
 import com.android.launcher3.DeviceProfile;
@@ -46,6 +47,7 @@
 import com.android.launcher3.testing.shared.HotseatCellCenterRequest;
 import com.android.launcher3.testing.shared.TestProtocol;
 import com.android.launcher3.testing.shared.WorkspaceCellCenterRequest;
+import com.android.launcher3.util.DisplayController;
 import com.android.launcher3.util.ResourceBasedOverride;
 import com.android.launcher3.widget.picker.WidgetsFullSheet;
 
@@ -103,6 +105,15 @@
                 return getUIProperty(Bundle::putBoolean, t -> isLauncherInitialized(), () -> true);
             }
 
+            case TestProtocol.REQUEST_IS_LAUNCHER_LAUNCHER_ACTIVITY_STARTED: {
+                final Bundle bundle = getLauncherUIProperty(Bundle::putBoolean, l -> l.isStarted());
+                if (bundle != null) return bundle;
+
+                // If Launcher activity wasn't created, it's not started.
+                response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD, false);
+                return response;
+            }
+
             case TestProtocol.REQUEST_FREEZE_APP_LIST:
                 return getLauncherUIProperty(Bundle::putBoolean, l -> {
                     l.getAppsView().getAppsStore().enableDeferUpdates(DEFER_UPDATES_TEST);
@@ -142,6 +153,16 @@
                 }, this::getCurrentActivity);
             }
 
+            case TestProtocol.REQUEST_SYSTEM_GESTURE_REGION: {
+                return getUIProperty(Bundle::putParcelable, activity -> {
+                    WindowInsetsCompat insets = WindowInsetsCompat.toWindowInsetsCompat(
+                            activity.getWindow().getDecorView().getRootWindowInsets());
+                    return insets.getInsets(WindowInsetsCompat.Type.ime()
+                            | WindowInsetsCompat.Type.systemGestures())
+                            .toPlatformInsets();
+                }, this::getCurrentActivity);
+            }
+
             case TestProtocol.REQUEST_ICON_HEIGHT: {
                 response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD,
                         mDeviceProfile.allAppsCellHeightPx);
@@ -156,6 +177,16 @@
                 response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD, mDeviceProfile.isTablet);
                 return response;
 
+            case TestProtocol.REQUEST_NUM_ALL_APPS_COLUMNS:
+                response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD,
+                        mDeviceProfile.numShownAllAppsColumns);
+                return response;
+
+            case TestProtocol.REQUEST_IS_TRANSIENT_TASKBAR:
+                response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD,
+                        DisplayController.isTransientTaskbar(mContext));
+                return response;
+
             case TestProtocol.REQUEST_IS_TWO_PANELS:
                 response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD,
                         FOLDABLE_SINGLE_PAGE.get() ? false : mDeviceProfile.isTwoPanels);
@@ -249,7 +280,7 @@
 
             case TestProtocol.REQUEST_FLAG_ENABLE_GRID_ONLY_OVERVIEW: {
                 response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD,
-                        ENABLE_GRID_ONLY_OVERVIEW.get());
+                        enableGridOnlyOverview());
                 return response;
             }
 
@@ -301,6 +332,7 @@
                 return null;
             }
             T value = provider.apply(target);
+
             Bundle response = new Bundle();
             bundleSetter.set(response, TestProtocol.TEST_INFO_RESPONSE_FIELD, value);
             return response;
diff --git a/src/com/android/launcher3/testing/TestLogging.java b/src/com/android/launcher3/testing/TestLogging.java
index 70691f8..60d0e95 100644
--- a/src/com/android/launcher3/testing/TestLogging.java
+++ b/src/com/android/launcher3/testing/TestLogging.java
@@ -76,7 +76,7 @@
             // be more useful.
             // That's why we pass false as the value for the 'reportToTapl' parameter.
             recordEventSlow(sequence, message + ": " + event, false);
-            registerEventNotFromTest(event);
+            if (action != MotionEvent.ACTION_CANCEL) registerEventNotFromTest(event);
         }
     }
 
diff --git a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
index cec4574..9aed4eb 100644
--- a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
+++ b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java
@@ -22,6 +22,7 @@
 import static com.android.launcher3.LauncherState.ALL_APPS;
 import static com.android.launcher3.LauncherState.NORMAL;
 import static com.android.launcher3.LauncherState.OVERVIEW;
+import static com.android.launcher3.MotionEventsUtils.isTrackpadScroll;
 import static com.android.launcher3.anim.AnimatorListeners.forEndCallback;
 import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_ALLAPPS;
 import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_HOME;
@@ -68,6 +69,7 @@
     protected boolean mGoingBetweenStates = true;
     // Ratio of transition process [0, 1] to drag displacement (px)
     protected float mProgressMultiplier;
+    protected boolean mIsTrackpadReverseScroll;
 
     private boolean mNoIntercept;
     private boolean mIsLogContainerSet;
@@ -92,6 +94,9 @@
                 return false;
             }
 
+            mIsTrackpadReverseScroll = !mLauncher.isNaturalScrollingEnabled()
+                    && isTrackpadScroll(ev);
+
             // Now figure out which direction scroll events the controller will start
             // calling the callbacks.
             final int directionsToDetectScroll;
@@ -248,6 +253,11 @@
             }
             mIsLogContainerSet = true;
         }
+        // Only reverse the gesture to open all apps (not close) when trackpad reverse scrolling is
+        // on.
+        if (mIsTrackpadReverseScroll && mStartState == NORMAL) {
+            displacement = -displacement;
+        }
         return onDrag(displacement);
     }
 
@@ -274,6 +284,11 @@
             return;
         }
 
+        // Only reverse the gesture to open all apps (not close) when trackpad reverse scrolling is
+        // on.
+        if (mIsTrackpadReverseScroll && mStartState == NORMAL) {
+            velocity = -velocity;
+        }
         boolean fling = mDetector.isFling(velocity);
 
         boolean blockedFling = fling && mFlingBlockCheck.isBlocked();
@@ -412,9 +427,15 @@
         mGoingBetweenStates = true;
         mDetector.finishedScrolling();
         mDetector.setDetectableScrollConditions(0, false);
+        mIsTrackpadReverseScroll = false;
     }
 
     private void cancelAnimationControllers() {
         mCurrentAnimation = null;
     }
+
+    protected boolean shouldOpenAllApps(boolean isDragTowardPositive) {
+        return (isDragTowardPositive && !mIsTrackpadReverseScroll)
+                || (!isDragTowardPositive && mIsTrackpadReverseScroll);
+    }
 }
diff --git a/src/com/android/launcher3/touch/AllAppsSwipeController.java b/src/com/android/launcher3/touch/AllAppsSwipeController.java
index 447d22b..fe4a83b 100644
--- a/src/com/android/launcher3/touch/AllAppsSwipeController.java
+++ b/src/com/android/launcher3/touch/AllAppsSwipeController.java
@@ -166,7 +166,7 @@
 
     @Override
     protected LauncherState getTargetState(LauncherState fromState, boolean isDragTowardPositive) {
-        if (fromState == NORMAL && isDragTowardPositive) {
+        if (fromState == NORMAL && shouldOpenAllApps(isDragTowardPositive)) {
             return ALL_APPS;
         } else if (fromState == ALL_APPS && !isDragTowardPositive) {
             return NORMAL;
@@ -192,7 +192,7 @@
     protected StateAnimationConfig getConfigForStates(LauncherState fromState,
             LauncherState toState) {
         StateAnimationConfig config = super.getConfigForStates(fromState, toState);
-        config.userControlled = true;
+        config.animProps |= StateAnimationConfig.USER_CONTROLLED;
         if (fromState == NORMAL && toState == ALL_APPS) {
             applyNormalToAllAppsAnimConfig(mLauncher, config);
         } else if (fromState == ALL_APPS && toState == NORMAL) {
@@ -209,13 +209,13 @@
             config.setInterpolator(ANIM_SCRIM_FADE,
                     Interpolators.reverse(ALL_APPS_SCRIM_RESPONDER));
             config.setInterpolator(ANIM_ALL_APPS_FADE, FINAL_FRAME);
-            if (!config.userControlled) {
+            if (!config.isUserControlled()) {
                 config.setInterpolator(ANIM_VERTICAL_PROGRESS, EMPHASIZED);
             }
             config.setInterpolator(ANIM_WORKSPACE_SCALE, DECELERATED_EASE);
             config.setInterpolator(ANIM_DEPTH, DECELERATED_EASE);
         } else {
-            if (config.userControlled) {
+            if (config.isUserControlled()) {
                 config.setInterpolator(ANIM_DEPTH, Interpolators.reverse(BLUR_MANUAL));
                 config.setInterpolator(ANIM_WORKSPACE_FADE,
                         Interpolators.reverse(WORKSPACE_FADE_MANUAL));
@@ -250,29 +250,32 @@
         if (launcher.getDeviceProfile().isTablet) {
             config.setInterpolator(ANIM_ALL_APPS_FADE, INSTANT);
             config.setInterpolator(ANIM_SCRIM_FADE, ALL_APPS_SCRIM_RESPONDER);
-            if (!config.userControlled) {
+            if (!config.isUserControlled()) {
                 config.setInterpolator(ANIM_VERTICAL_PROGRESS, EMPHASIZED);
             }
             config.setInterpolator(ANIM_WORKSPACE_SCALE, DECELERATED_EASE);
             config.setInterpolator(ANIM_DEPTH, DECELERATED_EASE);
         } else {
-            config.setInterpolator(ANIM_DEPTH, config.userControlled ? BLUR_MANUAL : BLUR_ATOMIC);
+            config.setInterpolator(ANIM_DEPTH,
+                    config.isUserControlled() ? BLUR_MANUAL : BLUR_ATOMIC);
             config.setInterpolator(ANIM_WORKSPACE_FADE,
-                    config.userControlled ? WORKSPACE_FADE_MANUAL : WORKSPACE_FADE_ATOMIC);
+                    config.isUserControlled() ? WORKSPACE_FADE_MANUAL : WORKSPACE_FADE_ATOMIC);
             config.setInterpolator(ANIM_WORKSPACE_SCALE,
-                    config.userControlled ? WORKSPACE_SCALE_MANUAL : WORKSPACE_SCALE_ATOMIC);
+                    config.isUserControlled() ? WORKSPACE_SCALE_MANUAL : WORKSPACE_SCALE_ATOMIC);
             config.setInterpolator(ANIM_HOTSEAT_FADE,
-                    config.userControlled ? HOTSEAT_FADE_MANUAL : HOTSEAT_FADE_ATOMIC);
+                    config.isUserControlled() ? HOTSEAT_FADE_MANUAL : HOTSEAT_FADE_ATOMIC);
             config.setInterpolator(ANIM_HOTSEAT_SCALE,
-                    config.userControlled ? HOTSEAT_SCALE_MANUAL : HOTSEAT_SCALE_ATOMIC);
+                    config.isUserControlled() ? HOTSEAT_SCALE_MANUAL : HOTSEAT_SCALE_ATOMIC);
             config.setInterpolator(ANIM_HOTSEAT_TRANSLATE,
-                    config.userControlled ? HOTSEAT_TRANSLATE_MANUAL : HOTSEAT_TRANSLATE_ATOMIC);
+                    config.isUserControlled()
+                            ? HOTSEAT_TRANSLATE_MANUAL
+                            : HOTSEAT_TRANSLATE_ATOMIC);
             config.setInterpolator(ANIM_SCRIM_FADE,
-                    config.userControlled ? SCRIM_FADE_MANUAL : SCRIM_FADE_ATOMIC);
+                    config.isUserControlled() ? SCRIM_FADE_MANUAL : SCRIM_FADE_ATOMIC);
             config.setInterpolator(ANIM_ALL_APPS_FADE,
-                    config.userControlled ? ALL_APPS_FADE_MANUAL : ALL_APPS_FADE_ATOMIC);
+                    config.isUserControlled() ? ALL_APPS_FADE_MANUAL : ALL_APPS_FADE_ATOMIC);
             config.setInterpolator(ANIM_VERTICAL_PROGRESS,
-                    config.userControlled
+                    config.isUserControlled()
                             ? ALL_APPS_VERTICAL_PROGRESS_MANUAL
                             : ALL_APPS_VERTICAL_PROGRESS_ATOMIC);
         }
@@ -285,7 +288,7 @@
      */
     public static void applyOverviewToAllAppsAnimConfig(
             DeviceProfile deviceProfile, StateAnimationConfig config, float threshold) {
-        config.userControlled = true;
+        config.animProps |= StateAnimationConfig.USER_CONTROLLED;
         config.animFlags = SKIP_OVERVIEW;
         if (deviceProfile.isTablet) {
             config.setInterpolator(ANIM_ALL_APPS_FADE, INSTANT);
diff --git a/src/com/android/launcher3/touch/ItemClickHandler.java b/src/com/android/launcher3/touch/ItemClickHandler.java
index 8c12547..ff8b381 100644
--- a/src/com/android/launcher3/touch/ItemClickHandler.java
+++ b/src/com/android/launcher3/touch/ItemClickHandler.java
@@ -15,8 +15,9 @@
  */
 package com.android.launcher3.touch;
 
-import static com.android.launcher3.Launcher.REQUEST_BIND_PENDING_APPWIDGET;
-import static com.android.launcher3.Launcher.REQUEST_RECONFIGURE_APPWIDGET;
+import static com.android.launcher3.Flags.enableSupportForArchiving;
+import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_BIND_PENDING_APPWIDGET;
+import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_RECONFIGURE_APPWIDGET;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_OPEN;
 import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_BY_PUBLISHER;
 import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_LOCKED_USER;
@@ -31,6 +32,7 @@
 import android.content.Intent;
 import android.content.pm.LauncherApps;
 import android.content.pm.PackageInstaller.SessionInfo;
+import android.os.Process;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
@@ -58,10 +60,13 @@
 import com.android.launcher3.shortcuts.ShortcutKey;
 import com.android.launcher3.testing.TestLogging;
 import com.android.launcher3.testing.shared.TestProtocol;
+import com.android.launcher3.uioverrides.ApiWrapper;
 import com.android.launcher3.util.ItemInfoMatcher;
-import com.android.launcher3.util.PackageManagerHelper;
 import com.android.launcher3.views.FloatingIconView;
+import com.android.launcher3.views.Snackbar;
 import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
+import com.android.launcher3.widget.PendingAddShortcutInfo;
+import com.android.launcher3.widget.PendingAddWidgetInfo;
 import com.android.launcher3.widget.PendingAppWidgetHostView;
 import com.android.launcher3.widget.WidgetAddFlowHandler;
 import com.android.launcher3.widget.WidgetManagerHelper;
@@ -107,6 +112,16 @@
             }
         } else if (tag instanceof ItemClickProxy) {
             ((ItemClickProxy) tag).onItemClicked(v);
+        } else if (tag instanceof PendingAddShortcutInfo) {
+            CharSequence msg = Utilities.wrapForTts(
+                    launcher.getText(R.string.long_press_shortcut_to_add),
+                    launcher.getString(R.string.long_accessible_way_to_add_shortcut));
+            Snackbar.show(launcher, msg, null);
+        } else if (tag instanceof PendingAddWidgetInfo) {
+            CharSequence msg = Utilities.wrapForTts(
+                    launcher.getText(R.string.long_press_widget_to_add),
+                    launcher.getString(R.string.long_accessible_way_to_add));
+            Snackbar.show(launcher, msg, null);
         }
     }
 
@@ -132,8 +147,8 @@
      */
     private static void onClickAppPairIcon(View v) {
         Launcher launcher = Launcher.getLauncher(v.getContext());
-        FolderInfo folderInfo = ((AppPairIcon) v).getInfo();
-        launcher.launchAppPair(folderInfo.contents.get(0), folderInfo.contents.get(1));
+        AppPairIcon appPairIcon = (AppPairIcon) v;
+        launcher.launchAppPair(appPairIcon);
     }
 
     /**
@@ -194,7 +209,8 @@
                 }
             }
             // Fallback to using custom market intent.
-            Intent intent = new PackageManagerHelper(launcher).getMarketIntent(packageName);
+            Intent intent = ApiWrapper.getAppMarketActivityIntent(launcher,
+                    packageName, Process.myUserHandle());
             launcher.startActivitySafely(v, intent, item);
         };
 
@@ -304,7 +320,8 @@
         }
 
         // Check for abandoned promise
-        if ((v instanceof BubbleTextView) && shortcut.hasPromiseIconUi()) {
+        if ((v instanceof BubbleTextView) && shortcut.hasPromiseIconUi()
+                && (!enableSupportForArchiving() || !shortcut.isArchived())) {
             String packageName = shortcut.getIntent().getComponent() != null
                     ? shortcut.getIntent().getComponent().getPackageName()
                     : shortcut.getIntent().getPackage();
@@ -331,8 +348,8 @@
                 && (((ItemInfoWithIcon) item).runtimeStatusFlags
                 & ItemInfoWithIcon.FLAG_INSTALL_SESSION_ACTIVE) != 0) {
             ItemInfoWithIcon appInfo = (ItemInfoWithIcon) item;
-            intent = new PackageManagerHelper(launcher)
-                    .getMarketIntent(appInfo.getTargetComponent().getPackageName());
+            intent = ApiWrapper.getAppMarketActivityIntent(launcher,
+                    appInfo.getTargetComponent().getPackageName(), Process.myUserHandle());
         } else {
             intent = item.getIntent();
         }
diff --git a/src/com/android/launcher3/touch/ItemLongClickListener.java b/src/com/android/launcher3/touch/ItemLongClickListener.java
index 122b1e0..9e7d4dc 100644
--- a/src/com/android/launcher3/touch/ItemLongClickListener.java
+++ b/src/com/android/launcher3/touch/ItemLongClickListener.java
@@ -24,12 +24,16 @@
 import static com.android.launcher3.LauncherState.OVERVIEW;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ALLAPPS_ITEM_LONG_PRESSED;
 
+import android.graphics.Point;
+import android.graphics.Rect;
 import android.view.View;
 import android.view.View.OnLongClickListener;
 
-import com.android.launcher3.CellLayout;
+import com.android.launcher3.DragSource;
 import com.android.launcher3.DropTarget;
 import com.android.launcher3.Launcher;
+import com.android.launcher3.celllayout.CellInfo;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.dragndrop.DragController;
 import com.android.launcher3.dragndrop.DragOptions;
 import com.android.launcher3.folder.Folder;
@@ -39,6 +43,10 @@
 import com.android.launcher3.testing.shared.TestProtocol;
 import com.android.launcher3.views.BubbleTextHolder;
 import com.android.launcher3.widget.LauncherAppWidgetHostView;
+import com.android.launcher3.widget.NavigableAppWidgetHostView;
+import com.android.launcher3.widget.PendingItemDragHelper;
+import com.android.launcher3.widget.WidgetCell;
+import com.android.launcher3.widget.WidgetImageView;
 
 /**
  * Class to handle long-clicks on workspace items and start drag as a result.
@@ -85,12 +93,51 @@
             }
         }
 
-        CellLayout.CellInfo longClickCellInfo = new CellLayout.CellInfo(v, info,
+        CellInfo longClickCellInfo = new CellInfo(v, info,
                 launcher.getCellPosMapper().mapModelToPresenter(info));
         launcher.getWorkspace().startDrag(longClickCellInfo, dragOptions);
     }
 
+    private static boolean onWidgetItemLongClick(WidgetCell v) {
+        // Get the widget preview as the drag representation
+        WidgetImageView image = v.getWidgetView();
+        Launcher launcher = Launcher.getLauncher(v.getContext());
+        DragSource dragSource = (target, dragObject, success) -> { };
+
+        // If the ImageView doesn't have a drawable yet, the widget preview hasn't been loaded and
+        // we abort the drag.
+        if (image.getDrawable() == null && v.getAppWidgetHostViewPreview() == null) {
+            return false;
+        }
+
+        PendingItemDragHelper dragHelper = new PendingItemDragHelper(v);
+        // RemoteViews are being rendered in AppWidgetHostView in WidgetCell. And thus, the scale of
+        // RemoteViews is equivalent to the AppWidgetHostView scale.
+        dragHelper.setRemoteViewsPreview(v.getRemoteViewsPreview(), v.getAppWidgetHostViewScale());
+        dragHelper.setAppWidgetHostViewPreview(v.getAppWidgetHostViewPreview());
+
+        if (image.getDrawable() != null) {
+            int[] loc = new int[2];
+            launcher.getDragLayer().getLocationInDragLayer(image, loc);
+
+            dragHelper.startDrag(image.getBitmapBounds(), image.getDrawable().getIntrinsicWidth(),
+                    image.getWidth(), new Point(loc[0], loc[1]), dragSource, new DragOptions());
+        } else {
+            NavigableAppWidgetHostView preview = v.getAppWidgetHostViewPreview();
+            int[] loc = new int[2];
+            launcher.getDragLayer().getLocationInDragLayer(preview, loc);
+            Rect r = new Rect();
+            preview.getWorkspaceVisualDragBounds(r);
+            dragHelper.startDrag(r, preview.getMeasuredWidth(), preview.getMeasuredWidth(),
+                    new Point(loc[0], loc[1]), dragSource, new DragOptions());
+        }
+        return true;
+    }
+
     private static boolean onAllAppsItemLongClick(View view) {
+        if (view instanceof WidgetCell wc) {
+            return onWidgetItemLongClick(wc);
+        }
         TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "onAllAppsItemLongClick");
         view.cancelLongPress();
         View v = (view instanceof BubbleTextHolder)
@@ -136,6 +183,10 @@
         if (launcher.isWorkspaceLocked()) return false;
         // Return early if an item is already being dragged (e.g. when long-pressing two shortcuts)
         if (launcher.getDragController().isDragging()) return false;
+        // Return early if user is in the middle of selecting split-screen apps
+        if (FeatureFlags.enableSplitContextually() && launcher.isSplitSelectionEnabled()) {
+            return false;
+        }
 
         return true;
     }
diff --git a/src/com/android/launcher3/touch/LandscapePagedViewHandler.java b/src/com/android/launcher3/touch/LandscapePagedViewHandler.java
index c356da9..f7afcb9 100644
--- a/src/com/android/launcher3/touch/LandscapePagedViewHandler.java
+++ b/src/com/android/launcher3/touch/LandscapePagedViewHandler.java
@@ -22,9 +22,11 @@
 import static android.view.Gravity.LEFT;
 import static android.view.Gravity.START;
 import static android.view.Gravity.TOP;
+import static android.view.View.LAYOUT_DIRECTION_RTL;
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
 
+import static com.android.launcher3.Flags.enableOverviewIconMenu;
 import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X;
 import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_Y;
 import static com.android.launcher3.touch.SingleAxisSwipeDetector.HORIZONTAL;
@@ -40,6 +42,7 @@
 import android.graphics.drawable.ShapeDrawable;
 import android.util.FloatProperty;
 import android.util.Pair;
+import android.view.Gravity;
 import android.view.MotionEvent;
 import android.view.Surface;
 import android.view.VelocityTracker;
@@ -267,13 +270,22 @@
 
     @Override
     public float getTaskMenuX(float x, View thumbnailView,
-            DeviceProfile deviceProfile, float taskInsetMargin) {
+            DeviceProfile deviceProfile, float taskInsetMargin, View taskViewIcon) {
+        if (enableOverviewIconMenu()) {
+            return x + (taskInsetMargin / 2f);
+        }
         return thumbnailView.getMeasuredWidth() + x - taskInsetMargin;
     }
 
     @Override
     public float getTaskMenuY(float y, View thumbnailView, int stagePosition,
-            View taskMenuView, float taskInsetMargin) {
+            View taskMenuView, float taskInsetMargin, View taskViewIcon) {
+        if (enableOverviewIconMenu()) {
+            return y - (thumbnailView.getLayoutDirection() == LAYOUT_DIRECTION_RTL
+                    ? taskMenuView.getMeasuredHeight() * 2 - (taskInsetMargin / 2f)
+                    : taskMenuView.getMeasuredHeight());
+
+        }
         BaseDragLayer.LayoutParams lp = (BaseDragLayer.LayoutParams) taskMenuView.getLayoutParams();
         int taskMenuWidth = lp.width;
         if (stagePosition == STAGE_POSITION_UNDEFINED) {
@@ -287,6 +299,10 @@
     @Override
     public int getTaskMenuWidth(View thumbnailView, DeviceProfile deviceProfile,
             @StagePosition int stagePosition) {
+        if (enableOverviewIconMenu()) {
+            return thumbnailView.getResources().getDimensionPixelSize(
+                    R.dimen.task_thumbnail_icon_menu_max_width);
+        }
         if (stagePosition == SplitConfigurationOptions.STAGE_POSITION_UNDEFINED) {
             return thumbnailView.getMeasuredWidth();
         } else {
@@ -316,7 +332,7 @@
     public Pair<Float, Float> getDwbLayoutTranslations(int taskViewWidth,
             int taskViewHeight, SplitBounds splitBounds, DeviceProfile deviceProfile,
             View[] thumbnailViews, int desiredTaskId, View banner) {
-        boolean isRtl = banner.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
+        boolean isRtl = banner.getLayoutDirection() == LAYOUT_DIRECTION_RTL;
         float translationX = 0;
         float translationY = 0;
         FrameLayout.LayoutParams bannerParams = (FrameLayout.LayoutParams) banner.getLayoutParams();
@@ -497,8 +513,19 @@
 
     @Override
     public void measureGroupedTaskViewThumbnailBounds(View primarySnapshot, View secondarySnapshot,
-            int parentWidth, int parentHeight, SplitBounds splitBoundsConfig,
-            DeviceProfile dp, boolean isRtl) {
+            int parentWidth, int parentHeight, SplitBounds splitBoundsConfig, DeviceProfile dp,
+            boolean isRtl) {
+        FrameLayout.LayoutParams primaryParams =
+                (FrameLayout.LayoutParams) primarySnapshot.getLayoutParams();
+        FrameLayout.LayoutParams secondaryParams =
+                (FrameLayout.LayoutParams) secondarySnapshot.getLayoutParams();
+
+        // Swap the margins that are set in TaskView#setRecentsOrientedState()
+        secondaryParams.topMargin = dp.overviewTaskThumbnailTopMarginPx;
+        primaryParams.topMargin = 0;
+
+        // Measure and layout the thumbnails bottom up, since the primary is on the visual left
+        // (portrait bottom) and secondary is on the right (portrait top)
         int spaceAboveSnapshot = dp.overviewTaskThumbnailTopMarginPx;
         int totalThumbnailHeight = parentHeight - spaceAboveSnapshot;
         int dividerBar = Math.round(totalThumbnailHeight * (splitBoundsConfig.appsStackedVertically
@@ -512,23 +539,33 @@
         float taskPercent = splitBoundsConfig.appsStackedVertically ?
                 splitBoundsConfig.topTaskPercent : splitBoundsConfig.leftTaskPercent;
         primarySnapshotWidth = parentWidth;
-        primarySnapshotHeight = (int) (totalThumbnailHeight * taskPercent);
+        primarySnapshotHeight = (int) (totalThumbnailHeight * (taskPercent));
 
         secondarySnapshotWidth = parentWidth;
         secondarySnapshotHeight = totalThumbnailHeight - primarySnapshotHeight - dividerBar;
-        secondarySnapshot.setTranslationY(primarySnapshotHeight + spaceAboveSnapshot + dividerBar);
+
+        int translationY = primarySnapshotHeight + spaceAboveSnapshot + dividerBar;
+        primarySnapshot.setTranslationY(spaceAboveSnapshot);
+        secondarySnapshot.setTranslationY(translationY - spaceAboveSnapshot);
+
         primarySnapshot.measure(
                 View.MeasureSpec.makeMeasureSpec(primarySnapshotWidth, View.MeasureSpec.EXACTLY),
-                View.MeasureSpec.makeMeasureSpec(primarySnapshotHeight, View.MeasureSpec.EXACTLY));
+                View.MeasureSpec.makeMeasureSpec(primarySnapshotHeight, View.MeasureSpec.EXACTLY)
+        );
         secondarySnapshot.measure(
                 View.MeasureSpec.makeMeasureSpec(secondarySnapshotWidth, View.MeasureSpec.EXACTLY),
-                View.MeasureSpec.makeMeasureSpec(secondarySnapshotHeight,
-                        View.MeasureSpec.EXACTLY));
+                View.MeasureSpec.makeMeasureSpec(secondarySnapshotHeight, View.MeasureSpec.EXACTLY)
+        );
     }
 
     @Override
     public void setTaskIconParams(FrameLayout.LayoutParams iconParams, int taskIconMargin,
             int taskIconHeight, int thumbnailTopMargin, boolean isRtl) {
+        if (enableOverviewIconMenu()) {
+            iconParams.gravity = Gravity.START | Gravity.CENTER_VERTICAL;
+            iconParams.topMargin = 0;
+            return;
+        }
         iconParams.gravity = (isRtl ? START : END) | CENTER_VERTICAL;
         iconParams.rightMargin = -taskIconHeight - taskIconMargin / 2;
         iconParams.leftMargin = 0;
@@ -537,14 +574,33 @@
     }
 
     @Override
+    public void setIconAppChipMenuParams(View iconAppChipMenuView,
+            FrameLayout.LayoutParams iconMenuParams, int iconMenuMargin, int thumbnailTopMargin) {
+        boolean isRtl = iconAppChipMenuView.getLayoutDirection() == LAYOUT_DIRECTION_RTL;
+        iconMenuParams.gravity = (isRtl ? START : END) | (isRtl ? BOTTOM : TOP);
+        iconMenuParams.setMarginStart(isRtl ? iconMenuMargin : 0);
+        iconMenuParams.topMargin = iconMenuMargin;
+        iconMenuParams.bottomMargin = isRtl ? iconMenuMargin : 0;
+        iconMenuParams.setMarginEnd(iconMenuMargin);
+
+        iconAppChipMenuView.setPivotX(isRtl ? iconMenuParams.width - (iconMenuParams.height / 2f)
+                : iconMenuParams.width / 2f);
+        iconAppChipMenuView.setPivotY(
+                isRtl ? (iconMenuParams.height / 2f) : iconMenuParams.width / 2f);
+        iconAppChipMenuView.setTranslationY(0);
+        iconAppChipMenuView.setRotation(getDegreesRotated());
+    }
+
+    @Override
     public void setSplitIconParams(View primaryIconView, View secondaryIconView,
             int taskIconHeight, int primarySnapshotWidth, int primarySnapshotHeight,
             int groupedTaskViewHeight, int groupedTaskViewWidth, boolean isRtl,
             DeviceProfile deviceProfile, SplitBounds splitConfig) {
         FrameLayout.LayoutParams primaryIconParams =
                 (FrameLayout.LayoutParams) primaryIconView.getLayoutParams();
-        FrameLayout.LayoutParams secondaryIconParams =
-                new FrameLayout.LayoutParams(primaryIconParams);
+        FrameLayout.LayoutParams secondaryIconParams = enableOverviewIconMenu()
+                ? (FrameLayout.LayoutParams) secondaryIconView.getLayoutParams()
+                : new FrameLayout.LayoutParams(primaryIconParams);
 
         // We calculate the "midpoint" of the thumbnail area, and place the icons there.
         // This is the place where the thumbnail area splits by default, in a near-50/50 split.
@@ -560,11 +616,24 @@
         int bottomToMidpointOffset = (int) (overviewThumbnailAreaThickness * midpointFromBottomPct);
         int insetOffset = (int) (overviewThumbnailAreaThickness * insetPct);
 
-        primaryIconParams.gravity = BOTTOM | (isRtl ? START : END);
-        secondaryIconParams.gravity = BOTTOM | (isRtl ? START : END);
+        if (enableOverviewIconMenu()) {
+            primaryIconParams.gravity = isRtl ? BOTTOM | START : TOP | END;
+            secondaryIconParams.gravity = isRtl ? BOTTOM | START : TOP | END;
+        } else {
+            primaryIconParams.gravity = BOTTOM | (isRtl ? START : END);
+            secondaryIconParams.gravity = BOTTOM | (isRtl ? START : END);
+        }
         primaryIconView.setTranslationX(0);
         secondaryIconView.setTranslationX(0);
-        if (splitConfig.initiatedFromSeascape) {
+        if (enableOverviewIconMenu()) {
+            if (primaryIconView.getLayoutDirection() == LAYOUT_DIRECTION_RTL) {
+                secondaryIconView.setTranslationY(-primarySnapshotHeight);
+                primaryIconView.setTranslationY(0);
+            } else {
+                int secondarySnapshotHeight = groupedTaskViewHeight - primarySnapshotHeight;
+                primaryIconView.setTranslationY(secondarySnapshotHeight);
+            }
+        } else if (splitConfig.initiatedFromSeascape) {
             // if the split was initiated from seascape,
             // the task on the right (secondary) is slightly larger
             primaryIconView.setTranslationY(-bottomToMidpointOffset - insetOffset);
diff --git a/src/com/android/launcher3/touch/PagedOrientationHandler.java b/src/com/android/launcher3/touch/PagedOrientationHandler.java
index 39ef129..74d88ba 100644
--- a/src/com/android/launcher3/touch/PagedOrientationHandler.java
+++ b/src/com/android/launcher3/touch/PagedOrientationHandler.java
@@ -173,6 +173,8 @@
     // Overview TaskMenuView methods
     void setTaskIconParams(FrameLayout.LayoutParams iconParams,
             int taskIconMargin, int taskIconHeight, int thumbnailTopMargin, boolean isRtl);
+    void setIconAppChipMenuParams(View iconAppChipMenuView, FrameLayout.LayoutParams iconMenuParams,
+            int iconMenuMargin, int thumbnailTopMargin);
     void setSplitIconParams(View primaryIconView, View secondaryIconView,
             int taskIconHeight, int primarySnapshotWidth, int primarySnapshotHeight,
             int groupedTaskViewHeight, int groupedTaskViewWidth, boolean isRtl,
@@ -185,9 +187,9 @@
      * getTaskMenuWidth()), so we directly use that in the calculations.
      */
     float getTaskMenuX(float x, View thumbnailView, DeviceProfile deviceProfile,
-            float taskInsetMargin);
+            float taskInsetMargin, View taskViewIcon);
     float getTaskMenuY(float y, View thumbnailView, int stagePosition,
-            View taskMenuView, float taskInsetMargin);
+            View taskMenuView, float taskInsetMargin, View taskViewIcon);
     int getTaskMenuWidth(View thumbnailView, DeviceProfile deviceProfile,
             @StagePosition int stagePosition);
     /**
diff --git a/src/com/android/launcher3/touch/PortraitPagedViewHandler.java b/src/com/android/launcher3/touch/PortraitPagedViewHandler.java
index dc4621e..8301981 100644
--- a/src/com/android/launcher3/touch/PortraitPagedViewHandler.java
+++ b/src/com/android/launcher3/touch/PortraitPagedViewHandler.java
@@ -21,9 +21,11 @@
 import static android.view.Gravity.END;
 import static android.view.Gravity.START;
 import static android.view.Gravity.TOP;
+import static android.view.View.LAYOUT_DIRECTION_RTL;
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
 
+import static com.android.launcher3.Flags.enableOverviewIconMenu;
 import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X;
 import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_Y;
 import static com.android.launcher3.touch.SingleAxisSwipeDetector.VERTICAL;
@@ -39,6 +41,7 @@
 import android.graphics.drawable.ShapeDrawable;
 import android.util.FloatProperty;
 import android.util.Pair;
+import android.view.Gravity;
 import android.view.MotionEvent;
 import android.view.Surface;
 import android.view.VelocityTracker;
@@ -255,7 +258,7 @@
 
     @Override
     public int getSplitTranslationDirectionFactor(int stagePosition, DeviceProfile deviceProfile) {
-        if (deviceProfile.isLandscape && stagePosition == STAGE_POSITION_BOTTOM_OR_RIGHT) {
+        if (deviceProfile.isLeftRightSplit && stagePosition == STAGE_POSITION_BOTTOM_OR_RIGHT) {
             return -1;
         } else {
             return 1;
@@ -264,8 +267,13 @@
 
     @Override
     public float getTaskMenuX(float x, View thumbnailView,
-            DeviceProfile deviceProfile, float taskInsetMargin) {
-        if (deviceProfile.isLandscape) {
+            DeviceProfile deviceProfile, float taskInsetMargin, View taskViewIcon) {
+        if (enableOverviewIconMenu()) {
+            if (thumbnailView.getLayoutDirection() == LAYOUT_DIRECTION_RTL) {
+                return x + taskInsetMargin - taskViewIcon.getHeight() - (taskInsetMargin / 2f);
+            }
+            return x + taskInsetMargin;
+        } else if (deviceProfile.isLandscape) {
             return x + taskInsetMargin
                     + (thumbnailView.getMeasuredWidth() - thumbnailView.getMeasuredHeight()) / 2f;
         } else {
@@ -275,16 +283,25 @@
 
     @Override
     public float getTaskMenuY(float y, View thumbnailView, int stagePosition,
-            View taskMenuView, float taskInsetMargin) {
+            View taskMenuView, float taskInsetMargin, View taskViewIcon) {
+        if (enableOverviewIconMenu()) {
+            return y;
+        }
         return y + taskInsetMargin;
     }
 
     @Override
     public int getTaskMenuWidth(View thumbnailView, DeviceProfile deviceProfile,
             @StagePosition int stagePosition) {
-        return deviceProfile.isLandscape && !deviceProfile.isTablet
+        if (enableOverviewIconMenu()) {
+            return thumbnailView.getResources().getDimensionPixelSize(
+                    R.dimen.task_thumbnail_icon_menu_max_width);
+        }
+        int padding = thumbnailView.getResources()
+                .getDimensionPixelSize(R.dimen.task_menu_edge_padding);
+        return (deviceProfile.isLandscape && !deviceProfile.isTablet
                 ? thumbnailView.getMeasuredHeight()
-                : thumbnailView.getMeasuredWidth();
+                : thumbnailView.getMeasuredWidth()) - (2 * padding);
     }
 
     @Override
@@ -331,7 +348,7 @@
         }
 
         // Set translations
-        if (deviceProfile.isLandscape) {
+        if (deviceProfile.isLeftRightSplit) {
             if (desiredTaskId == splitBounds.rightBottomTaskId) {
                 float leftTopTaskPercent = splitBounds.appsStackedVertically
                         ? splitBounds.topTaskPercent
@@ -413,7 +430,7 @@
             options.add(new SplitPositionOption(
                     R.drawable.ic_split_horizontal, R.string.recent_task_option_split_screen,
                     STAGE_POSITION_BOTTOM_OR_RIGHT, STAGE_TYPE_MAIN));
-        } else if (dp.isLandscape) {
+        } else if (dp.isLeftRightSplit) {
             options.add(new SplitPositionOption(
                     R.drawable.ic_split_horizontal, R.string.recent_task_option_split_screen,
                     STAGE_POSITION_TOP_OR_LEFT, STAGE_TYPE_MAIN));
@@ -435,7 +452,7 @@
         int insetSizeAdjustment = getPlaceholderSizeAdjustment(dp, pinToRight);
 
         out.set(0, 0, screenWidth, placeholderHeight + insetSizeAdjustment);
-        if (!dp.isLandscape) {
+        if (!dp.isLeftRightSplit) {
             // portrait, phone or tablet - spans width of screen, nothing else to do
             out.inset(placeholderInset, 0);
 
@@ -480,7 +497,7 @@
             @StagePosition int stagePosition) {
         boolean pinToRight = stagePosition == STAGE_POSITION_BOTTOM_OR_RIGHT;
         float insetAdjustment = getPlaceholderSizeAdjustment(dp, pinToRight) / 2f;
-        if (!dp.isLandscape) {
+        if (!dp.isLeftRightSplit) {
             out.setX(onScreenRectCenterX / fullscreenScaleX
                     - 1.0f * drawableWidth / 2);
             out.setY((onScreenRectCenterY + insetAdjustment) / fullscreenScaleY
@@ -549,7 +566,7 @@
         int screenWidth = dp.widthPx;
         out1.set(0, 0, screenWidth, screenHeight / 2 - splitDividerSize);
         out2.set(0, screenHeight / 2 + splitDividerSize, screenWidth, screenHeight);
-        if (!dp.isLandscape) {
+        if (!dp.isLeftRightSplit) {
             // Portrait - the window bounds are always top and bottom half
             return;
         }
@@ -590,13 +607,13 @@
         float scaledDividerHeight = dividerHeight * scale;
 
         if (desiredStagePosition == SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT) {
-            if (dp.isLandscape) {
+            if (dp.isLeftRightSplit) {
                 outRect.right = outRect.left + Math.round(outRect.width() * topLeftTaskPercent);
             } else {
                 outRect.bottom = Math.round(outRect.top + scaledTopTaskHeight);
             }
         } else {
-            if (dp.isLandscape) {
+            if (dp.isLeftRightSplit) {
                 outRect.left += Math.round(outRect.width()
                         * (topLeftTaskPercent + dividerBarPercent));
             } else {
@@ -620,18 +637,19 @@
         int secondarySnapshotWidth;
         float taskPercent = splitBoundsConfig.appsStackedVertically ?
                 splitBoundsConfig.topTaskPercent : splitBoundsConfig.leftTaskPercent;
-        if (dp.isLandscape) {
+        if (dp.isLeftRightSplit) {
             int scaledDividerBar = Math.round(parentWidth * dividerScale);
             primarySnapshotHeight = totalThumbnailHeight;
             primarySnapshotWidth = Math.round(parentWidth * taskPercent);
 
             secondarySnapshotHeight = totalThumbnailHeight;
             secondarySnapshotWidth = parentWidth - primarySnapshotWidth - scaledDividerBar;
-            int translationX = primarySnapshotWidth + scaledDividerBar;
             if (isRtl) {
+                int translationX = secondarySnapshotWidth + scaledDividerBar;
                 primarySnapshot.setTranslationX(-translationX);
                 secondarySnapshot.setTranslationX(0);
             } else {
+                int translationX = primarySnapshotWidth + scaledDividerBar;
                 secondarySnapshot.setTranslationX(translationX);
                 primarySnapshot.setTranslationX(0);
             }
@@ -682,6 +700,12 @@
     @Override
     public void setTaskIconParams(FrameLayout.LayoutParams iconParams, int taskIconMargin,
             int taskIconHeight, int thumbnailTopMargin, boolean isRtl) {
+        if (enableOverviewIconMenu()) {
+            iconParams.setMarginStart(taskIconMargin);
+            iconParams.gravity = Gravity.START | Gravity.CENTER_VERTICAL;
+            iconParams.topMargin = 0;
+            return;
+        }
         iconParams.gravity = TOP | CENTER_HORIZONTAL;
         // Reset margins, since they may have been set on rotation
         iconParams.leftMargin = iconParams.rightMargin = 0;
@@ -689,16 +713,52 @@
     }
 
     @Override
+    public void setIconAppChipMenuParams(View iconAppChipMenuView,
+            FrameLayout.LayoutParams iconMenuParams, int iconMenuMargin, int thumbnailTopMargin) {
+        iconMenuParams.gravity = TOP | START;
+        iconMenuParams.setMarginStart(iconMenuMargin);
+        iconMenuParams.topMargin = thumbnailTopMargin;
+        iconMenuParams.bottomMargin = 0;
+        iconMenuParams.setMarginEnd(0);
+
+        iconAppChipMenuView.setPivotX(0);
+        iconAppChipMenuView.setPivotY(0);
+        iconAppChipMenuView.setTranslationY(0);
+        iconAppChipMenuView.setRotation(getDegreesRotated());
+    }
+
+    @Override
     public void setSplitIconParams(View primaryIconView, View secondaryIconView,
             int taskIconHeight, int primarySnapshotWidth, int primarySnapshotHeight,
             int groupedTaskViewHeight, int groupedTaskViewWidth, boolean isRtl,
             DeviceProfile deviceProfile, SplitBounds splitConfig) {
         FrameLayout.LayoutParams primaryIconParams =
                 (FrameLayout.LayoutParams) primaryIconView.getLayoutParams();
-        FrameLayout.LayoutParams secondaryIconParams =
-                new FrameLayout.LayoutParams(primaryIconParams);
+        FrameLayout.LayoutParams secondaryIconParams = enableOverviewIconMenu()
+                ? (FrameLayout.LayoutParams) secondaryIconView.getLayoutParams()
+                : new FrameLayout.LayoutParams(primaryIconParams);
 
-        if (deviceProfile.isLandscape) {
+        if (enableOverviewIconMenu()) {
+            primaryIconParams.gravity = TOP | START;
+            secondaryIconParams.gravity = TOP | START;
+            secondaryIconParams.topMargin = primaryIconParams.topMargin;
+            secondaryIconParams.setMarginStart(primaryIconParams.getMarginStart());
+            if (deviceProfile.isLeftRightSplit) {
+                if (isRtl) {
+                    int secondarySnapshotWidth = groupedTaskViewWidth - primarySnapshotWidth;
+                    primaryIconView.setTranslationX(-secondarySnapshotWidth);
+                } else {
+                    secondaryIconView.setTranslationX(primarySnapshotWidth);
+                }
+            } else {
+                primaryIconView.setTranslationX(0);
+                secondaryIconView.setTranslationX(0);
+                int dividerThickness = Math.min(splitConfig.visualDividerBounds.width(),
+                        splitConfig.visualDividerBounds.height());
+                secondaryIconView.setTranslationY(
+                        primarySnapshotHeight + (deviceProfile.isTablet ? 0 : dividerThickness));
+            }
+        } else if (deviceProfile.isLeftRightSplit) {
             // We calculate the "midpoint" of the thumbnail area, and place the icons there.
             // This is the place where the thumbnail area splits by default, in a near-50/50 split.
             // It is usually not exactly 50/50, due to insets/screen cutouts.
@@ -754,8 +814,10 @@
             secondaryIconParams.gravity = TOP | CENTER_HORIZONTAL;
             secondaryIconView.setTranslationX(taskIconHeight / 2f);
         }
-        primaryIconView.setTranslationY(0);
-        secondaryIconView.setTranslationY(0);
+        if (!enableOverviewIconMenu()) {
+            primaryIconView.setTranslationY(0);
+            secondaryIconView.setTranslationY(0);
+        }
 
         primaryIconView.setLayoutParams(primaryIconParams);
         secondaryIconView.setLayoutParams(secondaryIconParams);
@@ -766,7 +828,7 @@
         if (!deviceProfile.isTablet) {
             throw new IllegalStateException("Default position available only for large screens");
         }
-        if (deviceProfile.isLandscape) {
+        if (deviceProfile.isLeftRightSplit) {
             return STAGE_POSITION_BOTTOM_OR_RIGHT;
         } else {
             return STAGE_POSITION_TOP_OR_LEFT;
@@ -776,7 +838,7 @@
     @Override
     public Pair<FloatProperty, FloatProperty> getSplitSelectTaskOffset(FloatProperty primary,
             FloatProperty secondary, DeviceProfile deviceProfile) {
-        if (deviceProfile.isLandscape) { // or seascape
+        if (deviceProfile.isLeftRightSplit) { // or seascape
             return new Pair<>(primary, secondary);
         } else {
             return new Pair<>(secondary, primary);
@@ -786,7 +848,7 @@
     @Override
     public float getFloatingTaskOffscreenTranslationTarget(View floatingTask, RectF onScreenRect,
             @StagePosition int stagePosition, DeviceProfile dp) {
-        if (dp.isLandscape) {
+        if (dp.isLeftRightSplit) {
             float currentTranslationX = floatingTask.getTranslationX();
             return stagePosition == STAGE_POSITION_TOP_OR_LEFT
                     ? currentTranslationX - onScreenRect.width()
@@ -800,7 +862,7 @@
     @Override
     public void setFloatingTaskPrimaryTranslation(View floatingTask, float translation,
             DeviceProfile dp) {
-        if (dp.isLandscape) {
+        if (dp.isLeftRightSplit) {
             floatingTask.setTranslationX(translation);
         } else {
             floatingTask.setTranslationY(translation);
@@ -810,7 +872,7 @@
 
     @Override
     public Float getFloatingTaskPrimaryTranslation(View floatingTask, DeviceProfile dp) {
-        return dp.isLandscape
+        return dp.isLeftRightSplit
                 ? floatingTask.getTranslationX()
                 : floatingTask.getTranslationY();
     }
diff --git a/src/com/android/launcher3/touch/SeascapePagedViewHandler.java b/src/com/android/launcher3/touch/SeascapePagedViewHandler.java
index ec01231..7077ad9 100644
--- a/src/com/android/launcher3/touch/SeascapePagedViewHandler.java
+++ b/src/com/android/launcher3/touch/SeascapePagedViewHandler.java
@@ -21,7 +21,10 @@
 import static android.view.Gravity.END;
 import static android.view.Gravity.RIGHT;
 import static android.view.Gravity.START;
+import static android.view.Gravity.TOP;
+import static android.view.View.LAYOUT_DIRECTION_RTL;
 
+import static com.android.launcher3.Flags.enableOverviewIconMenu;
 import static com.android.launcher3.touch.SingleAxisSwipeDetector.HORIZONTAL;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT;
 import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_UNDEFINED;
@@ -31,6 +34,7 @@
 import android.graphics.PointF;
 import android.graphics.Rect;
 import android.util.Pair;
+import android.view.Gravity;
 import android.view.Surface;
 import android.view.View;
 import android.widget.FrameLayout;
@@ -86,13 +90,21 @@
 
     @Override
     public float getTaskMenuX(float x, View thumbnailView,
-            DeviceProfile deviceProfile, float taskInsetMargin) {
+            DeviceProfile deviceProfile, float taskInsetMargin, View taskViewIcon) {
+        if (enableOverviewIconMenu()) {
+            return x + (taskViewIcon.getHeight() * 2);
+        }
         return x + taskInsetMargin;
     }
 
     @Override
     public float getTaskMenuY(float y, View thumbnailView, int stagePosition,
-            View taskMenuView, float taskInsetMargin) {
+            View taskMenuView, float taskInsetMargin, View taskViewIcon) {
+        if (enableOverviewIconMenu()) {
+            return y + taskViewIcon.getWidth() + (
+                    thumbnailView.getLayoutDirection() == LAYOUT_DIRECTION_RTL ? taskInsetMargin
+                            / 2f : -taskViewIcon.getHeight());
+        }
         BaseDragLayer.LayoutParams lp = (BaseDragLayer.LayoutParams) taskMenuView.getLayoutParams();
         int taskMenuWidth = lp.width;
         if (stagePosition == STAGE_POSITION_UNDEFINED) {
@@ -127,7 +139,7 @@
     public Pair<Float, Float> getDwbLayoutTranslations(int taskViewWidth,
             int taskViewHeight, SplitBounds splitBounds, DeviceProfile deviceProfile,
             View[] thumbnailViews, int desiredTaskId, View banner) {
-        boolean isRtl = banner.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
+        boolean isRtl = banner.getLayoutDirection() == LAYOUT_DIRECTION_RTL;
         float translationX = 0;
         float translationY = 0;
         FrameLayout.LayoutParams bannerParams = (FrameLayout.LayoutParams) banner.getLayoutParams();
@@ -207,11 +219,37 @@
     @Override
     public void setTaskIconParams(FrameLayout.LayoutParams iconParams,
             int taskIconMargin, int taskIconHeight, int thumbnailTopMargin, boolean isRtl) {
-        iconParams.gravity = (isRtl ? END : START) | CENTER_VERTICAL;
-        iconParams.leftMargin = -taskIconHeight - taskIconMargin / 2;
         iconParams.rightMargin = 0;
-        iconParams.topMargin = thumbnailTopMargin / 2;
         iconParams.bottomMargin = 0;
+        if (enableOverviewIconMenu()) {
+            iconParams.setMarginStart(taskIconMargin);
+            iconParams.gravity = Gravity.START | Gravity.CENTER_VERTICAL;
+            iconParams.leftMargin = 0;
+            iconParams.topMargin = 0;
+        } else {
+            iconParams.gravity = (isRtl ? END : START) | CENTER_VERTICAL;
+            iconParams.leftMargin = -taskIconHeight - taskIconMargin / 2;
+            iconParams.topMargin = thumbnailTopMargin / 2;
+        }
+    }
+
+    @Override
+    public void setIconAppChipMenuParams(View iconAppChipMenuView,
+            FrameLayout.LayoutParams iconMenuParams, int iconMenuMargin, int thumbnailTopMargin) {
+        boolean isRtl = iconAppChipMenuView.getLayoutDirection() == LAYOUT_DIRECTION_RTL;
+        iconMenuParams.gravity = (isRtl ? TOP : BOTTOM) | (isRtl ? END : START);
+        iconMenuParams.setMarginStart(0);
+        iconMenuParams.topMargin = isRtl ? iconMenuMargin : 0;
+        iconMenuParams.bottomMargin = 0;
+        iconMenuParams.setMarginEnd(isRtl ? thumbnailTopMargin : 0);
+
+        // Use half menu height to place the pivot within the X/Y center of icon in the menu.
+        float iconCenter = iconAppChipMenuView.getHeight() / 2f;
+        iconAppChipMenuView.setPivotX(isRtl ? iconMenuParams.width / 2f : iconCenter);
+        iconAppChipMenuView.setPivotY(
+                isRtl ? iconMenuParams.width / 2f : iconCenter - iconMenuMargin);
+        iconAppChipMenuView.setTranslationY(0);
+        iconAppChipMenuView.setRotation(getDegreesRotated());
     }
 
     @Override
@@ -241,21 +279,41 @@
         int bottomToMidpointOffset = (int) (overviewThumbnailAreaThickness * midpointFromBottomPct);
         int insetOffset = (int) (overviewThumbnailAreaThickness * insetPct);
 
-        primaryIconParams.gravity = BOTTOM | (isRtl ? END : START);
-        secondaryIconParams.gravity = BOTTOM | (isRtl ? END : START);
+        int gravity = (isRtl ? TOP : BOTTOM) | (isRtl ? END : START);
+        primaryIconParams.gravity = gravity;
+        secondaryIconParams.gravity = gravity;
         primaryIconView.setTranslationX(0);
         secondaryIconView.setTranslationX(0);
-        if (splitConfig.initiatedFromSeascape) {
+        if (enableOverviewIconMenu()) {
+            if (isRtl) {
+                primaryIconView.setTranslationY(groupedTaskViewHeight - primarySnapshotHeight);
+                secondaryIconView.setTranslationY(0);
+            } else {
+                secondaryIconView.setTranslationY(-primarySnapshotHeight);
+                primaryIconView.setTranslationY(0);
+            }
+        } else if (splitConfig.initiatedFromSeascape) {
             // if the split was initiated from seascape,
             // the task on the right (secondary) is slightly larger
-            primaryIconView.setTranslationY(-bottomToMidpointOffset - insetOffset
-                    + taskIconHeight);
-            secondaryIconView.setTranslationY(-bottomToMidpointOffset - insetOffset);
+            if (isRtl) {
+                primaryIconView.setTranslationY(bottomToMidpointOffset - insetOffset
+                        + taskIconHeight);
+                secondaryIconView.setTranslationY(bottomToMidpointOffset - insetOffset);
+            } else {
+                primaryIconView.setTranslationY(-bottomToMidpointOffset - insetOffset
+                        + taskIconHeight);
+                secondaryIconView.setTranslationY(-bottomToMidpointOffset - insetOffset);
+            }
         } else {
             // if not,
             // the task on the left (primary) is slightly larger
-            primaryIconView.setTranslationY(-bottomToMidpointOffset + taskIconHeight);
-            secondaryIconView.setTranslationY(-bottomToMidpointOffset);
+            if (isRtl) {
+                primaryIconView.setTranslationY(bottomToMidpointOffset + taskIconHeight);
+                secondaryIconView.setTranslationY(bottomToMidpointOffset);
+            } else {
+                primaryIconView.setTranslationY(-bottomToMidpointOffset + taskIconHeight);
+                secondaryIconView.setTranslationY(-bottomToMidpointOffset);
+            }
         }
 
         primaryIconView.setLayoutParams(primaryIconParams);
@@ -296,13 +354,15 @@
         secondarySnapshotHeight = totalThumbnailHeight - primarySnapshotHeight - dividerBar;
         secondarySnapshot.setTranslationY(0);
         primarySnapshot.setTranslationY(secondarySnapshotHeight + spaceAboveSnapshot + dividerBar);
+
         primarySnapshot.measure(
                 View.MeasureSpec.makeMeasureSpec(primarySnapshotWidth, View.MeasureSpec.EXACTLY),
-                View.MeasureSpec.makeMeasureSpec(primarySnapshotHeight, View.MeasureSpec.EXACTLY));
+                View.MeasureSpec.makeMeasureSpec(primarySnapshotHeight, View.MeasureSpec.EXACTLY)
+        );
         secondarySnapshot.measure(
                 View.MeasureSpec.makeMeasureSpec(secondarySnapshotWidth, View.MeasureSpec.EXACTLY),
-                View.MeasureSpec.makeMeasureSpec(secondarySnapshotHeight,
-                        View.MeasureSpec.EXACTLY));
+                View.MeasureSpec.makeMeasureSpec(secondarySnapshotHeight, View.MeasureSpec.EXACTLY)
+        );
     }
 
     /* ---------- The following are only used by TaskViewTouchHandler. ---------- */
diff --git a/src/com/android/launcher3/touch/WorkspaceTouchListener.java b/src/com/android/launcher3/touch/WorkspaceTouchListener.java
index 96ae4a3..5b6c9e0 100644
--- a/src/com/android/launcher3/touch/WorkspaceTouchListener.java
+++ b/src/com/android/launcher3/touch/WorkspaceTouchListener.java
@@ -40,6 +40,7 @@
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.Workspace;
+import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.dragndrop.DragLayer;
 import com.android.launcher3.logger.LauncherAtom;
 import com.android.launcher3.testing.TestLogging;
@@ -205,6 +206,9 @@
                         HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
                 mLauncher.getStatsLogManager().logger().log(LAUNCHER_WORKSPACE_LONGPRESS);
                 mLauncher.showDefaultOptions(mTouchDownPoint.x, mTouchDownPoint.y);
+                if (FeatureFlags.enableSplitContextually() && mLauncher.isSplitSelectionEnabled()) {
+                    mLauncher.dismissSplitSelection();
+                }
             } else {
                 cancelLongPress();
             }
diff --git a/src/com/android/launcher3/util/BackPressHandler.java b/src/com/android/launcher3/util/BackPressHandler.java
new file mode 100644
index 0000000..b63f648
--- /dev/null
+++ b/src/com/android/launcher3/util/BackPressHandler.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.util;
+
+import android.os.Build;
+import android.window.OnBackAnimationCallback;
+
+import androidx.annotation.RequiresApi;
+
+/**
+ * Extension of {@link OnBackAnimationCallback} that allows a check to determine
+ * if this callback supports handling back or not
+ */
+@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
+public interface BackPressHandler extends OnBackAnimationCallback {
+    boolean canHandleBack();
+}
diff --git a/src/com/android/launcher3/util/CannedAnimationCoordinator.kt b/src/com/android/launcher3/util/CannedAnimationCoordinator.kt
index 18f8339..85f81f5 100644
--- a/src/com/android/launcher3/util/CannedAnimationCoordinator.kt
+++ b/src/com/android/launcher3/util/CannedAnimationCoordinator.kt
@@ -26,6 +26,8 @@
 import com.android.launcher3.anim.AnimatorPlaybackController
 import com.android.launcher3.anim.PendingAnimation
 import com.android.launcher3.statemanager.StatefulActivity
+import com.android.launcher3.states.StateAnimationConfig.HANDLE_STATE_APPLY
+import com.android.launcher3.states.StateAnimationConfig.USER_CONTROLLED
 import java.util.function.Consumer
 
 private const val TAG = "CannedAnimCoordinator"
@@ -107,8 +109,15 @@
         }
         // Link this to the state manager so that it auto-cancels when state changes
         recreatePending = false
+        // Animator coordinator takes care of reapplying the animation due to state reset. Set the
+        // flags accordingly
         animationController =
-            controller.apply { activity.stateManager.setCurrentUserControlledAnimation(this) }
+            controller.apply {
+                activity.stateManager.setCurrentAnimation(
+                    this,
+                    USER_CONTROLLED or HANDLE_STATE_APPLY
+                )
+            }
         recreateAnimation(provider)
     }
 
diff --git a/src/com/android/launcher3/util/CellContentDimensions.kt b/src/com/android/launcher3/util/CellContentDimensions.kt
new file mode 100644
index 0000000..5059c2f
--- /dev/null
+++ b/src/com/android/launcher3/util/CellContentDimensions.kt
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.util
+
+import com.android.launcher3.Utilities
+import kotlin.math.max
+
+class CellContentDimensions(
+    var iconSizePx: Int,
+    var iconDrawablePaddingPx: Int,
+    var iconTextSizePx: Int
+) {
+    /**
+     * This method goes through some steps to reduce the padding between icon and label, icon size
+     * and then label size, until it can fit in the [cellHeightPx].
+     *
+     * @return the height of the content after being sized down.
+     */
+    fun resizeToFitCellHeight(cellHeightPx: Int, iconSizeSteps: IconSizeSteps): Int {
+        var cellContentHeight = getCellContentHeight()
+
+        // Step 1. Decrease drawable padding
+        if (cellContentHeight > cellHeightPx) {
+            val diff = cellContentHeight - cellHeightPx
+            iconDrawablePaddingPx = max(0, iconDrawablePaddingPx - diff)
+            cellContentHeight = getCellContentHeight()
+        }
+
+        while (
+            (iconTextSizePx > iconSizeSteps.minimumIconLabelSize ||
+                iconSizePx > iconSizeSteps.minimumIconSize()) && cellContentHeight > cellHeightPx
+        ) {
+            // Step 2. Decrease icon size
+            iconSizePx = iconSizeSteps.getNextLowerIconSize(iconSizePx)
+            cellContentHeight = getCellContentHeight()
+
+            // Step 3. Decrease label size
+            if (
+                cellContentHeight > cellHeightPx &&
+                    iconTextSizePx > iconSizeSteps.minimumIconLabelSize
+            ) {
+                iconTextSizePx =
+                    max(
+                        iconSizeSteps.minimumIconLabelSize,
+                        iconTextSizePx - IconSizeSteps.TEXT_STEP
+                    )
+                cellContentHeight = getCellContentHeight()
+            }
+        }
+
+        // For some cases, depending on the display size, the content might not fit inside the
+        // cell height after considering the minimum icon and label size allowed.
+        // For these extreme cases, we will allow the icon size to be smaller than
+        // [IconSizeSteps.minimumIconSize] to fit inside the cell height without cropping.
+        while (
+            cellContentHeight > cellHeightPx && iconSizePx > IconSizeSteps.ICON_SIZE_STEP_EXTRA
+        ) {
+            iconSizePx -= IconSizeSteps.ICON_SIZE_STEP_EXTRA
+            cellContentHeight = getCellContentHeight()
+        }
+
+        return cellContentHeight
+    }
+
+    /** Calculate new cellContentHeight */
+    fun getCellContentHeight(): Int {
+        val iconTextHeight = Utilities.calculateTextHeight(iconTextSizePx.toFloat())
+        return iconSizePx + iconDrawablePaddingPx + iconTextHeight
+    }
+}
diff --git a/src/com/android/launcher3/util/DimensionUtils.kt b/src/com/android/launcher3/util/DimensionUtils.kt
index 0eb0e08..63e919a 100644
--- a/src/com/android/launcher3/util/DimensionUtils.kt
+++ b/src/com/android/launcher3/util/DimensionUtils.kt
@@ -51,12 +51,12 @@
         // Taskbar on phone, portrait
         if (!deviceProfile.isLandscape) {
             p.x = ViewGroup.LayoutParams.MATCH_PARENT
-            p.y = res.getDimensionPixelSize(R.dimen.taskbar_size)
+            p.y = res.getDimensionPixelSize(R.dimen.taskbar_phone_size)
             return p
         }
 
         // Taskbar on phone, landscape
-        p.x = res.getDimensionPixelSize(R.dimen.taskbar_size)
+        p.x = res.getDimensionPixelSize(R.dimen.taskbar_phone_size)
         p.y = ViewGroup.LayoutParams.MATCH_PARENT
         return p
     }
diff --git a/src/com/android/launcher3/util/DisplayController.java b/src/com/android/launcher3/util/DisplayController.java
index a7c94bb..1419dc4 100644
--- a/src/com/android/launcher3/util/DisplayController.java
+++ b/src/com/android/launcher3/util/DisplayController.java
@@ -20,9 +20,9 @@
 import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
 
 import static com.android.launcher3.LauncherPrefs.TASKBAR_PINNING;
+import static com.android.launcher3.LauncherPrefs.TASKBAR_PINNING_KEY;
 import static com.android.launcher3.Utilities.dpiFromPx;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_PINNING;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_TRANSIENT_TASKBAR;
+import static com.android.launcher3.config.FeatureFlags.enableTaskbarPinning;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.FlagDebugUtils.appendFlag;
 import static com.android.launcher3.util.window.WindowManagerProxy.MIN_TABLET_WIDTH;
@@ -32,6 +32,7 @@
 import android.content.ComponentCallbacks;
 import android.content.Context;
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.content.res.Configuration;
 import android.graphics.Point;
 import android.graphics.Rect;
@@ -69,7 +70,7 @@
 
     private static final String TAG = "DisplayController";
     private static final boolean DEBUG = false;
-    private static boolean sTransientTaskbarStatusForTests;
+    private static boolean sTransientTaskbarStatusForTests = true;
 
     // TODO(b/254119092) remove all logs with this tag
     public static final String TASKBAR_NOT_DESTROYED_TAG = "b/254119092";
@@ -82,9 +83,11 @@
     public static final int CHANGE_DENSITY = 1 << 2;
     public static final int CHANGE_SUPPORTED_BOUNDS = 1 << 3;
     public static final int CHANGE_NAVIGATION_MODE = 1 << 4;
+    public static final int CHANGE_TASKBAR_PINNING = 1 << 5;
 
     public static final int CHANGE_ALL = CHANGE_ACTIVE_SCREEN | CHANGE_ROTATION
-            | CHANGE_DENSITY | CHANGE_SUPPORTED_BOUNDS | CHANGE_NAVIGATION_MODE;
+            | CHANGE_DENSITY | CHANGE_SUPPORTED_BOUNDS | CHANGE_NAVIGATION_MODE
+            | CHANGE_TASKBAR_PINNING;
 
     private static final String ACTION_OVERLAY_CHANGED = "android.intent.action.OVERLAY_CHANGED";
     private static final String TARGET_OVERLAY_PACKAGE = "android";
@@ -104,13 +107,17 @@
     private Info mInfo;
     private boolean mDestroyed = false;
 
-    private final LauncherPrefs mPrefs;
+    private SharedPreferences.OnSharedPreferenceChangeListener
+            mTaskbarPinningPreferenceChangeListener;
 
     @VisibleForTesting
     protected DisplayController(Context context) {
         mContext = context;
         mDM = context.getSystemService(DisplayManager.class);
-        mPrefs = LauncherPrefs.get(context);
+
+        if (enableTaskbarPinning()) {
+            attachTaskbarPinningSharedPreferenceChangeListener(mContext);
+        }
 
         Display display = mDM.getDisplay(DEFAULT_DISPLAY);
         if (Utilities.ATLEAST_S) {
@@ -131,6 +138,21 @@
         FileLog.i(TAG, "(CTOR) perDisplayBounds: " + mInfo.mPerDisplayBounds);
     }
 
+    private void attachTaskbarPinningSharedPreferenceChangeListener(Context context) {
+        mTaskbarPinningPreferenceChangeListener =
+                (sharedPreferences, key) -> {
+                    if (TASKBAR_PINNING_KEY.equals(key)
+                            && mInfo.mIsTaskbarPinned != LauncherPrefs.get(mContext).get(
+                            TASKBAR_PINNING)
+                    ) {
+                        handleInfoChange(mWindowContext.getDisplay());
+                    }
+                };
+
+        LauncherPrefs.get(context).addListener(
+                mTaskbarPinningPreferenceChangeListener, TASKBAR_PINNING);
+    }
+
     /**
      * Returns the current navigation mode
      */
@@ -142,25 +164,7 @@
      * Returns whether taskbar is transient.
      */
     public static boolean isTransientTaskbar(Context context) {
-        return INSTANCE.get(context).isTransientTaskbar();
-    }
-
-    /**
-     * Returns whether taskbar is transient.
-     */
-    public boolean isTransientTaskbar() {
-        // TODO(b/258604917): When running in test harness, use !sTransientTaskbarStatusForTests
-        //  once tests are updated to expect new persistent behavior such as not allowing long press
-        //  to stash.
-        if (!Utilities.isRunningInTestHarness()
-                && ENABLE_TASKBAR_PINNING.get()
-                && mPrefs.get(TASKBAR_PINNING)) {
-            return false;
-        }
-        return getInfo().navigationMode == NavigationMode.NO_BUTTON
-                && (Utilities.isRunningInTestHarness()
-                    ? sTransientTaskbarStatusForTests
-                    : ENABLE_TRANSIENT_TASKBAR.get());
+        return INSTANCE.get(context).getInfo().isTransientTaskbar();
     }
 
     /**
@@ -171,9 +175,20 @@
         sTransientTaskbarStatusForTests = enable;
     }
 
+    /**
+     * Returns whether the taskbar is pinned in gesture navigation mode.
+     */
+    public static boolean isPinnedTaskbar(Context context) {
+        return INSTANCE.get(context).getInfo().isPinnedTaskbar();
+    }
+
     @Override
     public void close() {
         mDestroyed = true;
+        if (enableTaskbarPinning()) {
+            LauncherPrefs.get(mContext).removeListener(
+                    mTaskbarPinningPreferenceChangeListener, TASKBAR_PINNING);
+        }
         if (mWindowContext != null) {
             mWindowContext.unregisterComponentCallbacks(this);
         } else {
@@ -256,7 +271,8 @@
     }
 
     @AnyThread
-    private void handleInfoChange(Display display) {
+    @VisibleForTesting
+    public void handleInfoChange(Display display) {
         WindowManagerProxy wmProxy = WindowManagerProxy.INSTANCE.get(mContext);
         Info oldInfo = mInfo;
 
@@ -289,6 +305,9 @@
             FileLog.w(TAG,
                     "(CHANGE_SUPPORTED_BOUNDS) perDisplayBounds: " + newInfo.mPerDisplayBounds);
         }
+        if (newInfo.mIsTaskbarPinned != oldInfo.mIsTaskbarPinned) {
+            change |= CHANGE_TASKBAR_PINNING;
+        }
         if (DEBUG) {
             Log.d(TAG, "handleInfoChange - change: " + getChangeFlagsString(change));
         }
@@ -331,6 +350,8 @@
         private final ArrayMap<CachedDisplayInfo, List<WindowBounds>> mPerDisplayBounds =
                 new ArrayMap<>();
 
+        private final boolean mIsTaskbarPinned;
+
         public Info(Context displayInfoContext) {
             /* don't need system overrides for external displays */
             this(displayInfoContext, new WindowManagerProxy(), new ArrayMap<>());
@@ -387,6 +408,33 @@
                 Log.d(TAG, "normalizedDisplayInfo: " + normalizedDisplayInfo);
                 Log.d(TAG, "perDisplayBounds: " + mPerDisplayBounds);
             }
+
+            mIsTaskbarPinned = LauncherPrefs.get(displayInfoContext).get(TASKBAR_PINNING);
+        }
+
+        /**
+         * Returns whether taskbar is transient.
+         */
+        public boolean isTransientTaskbar() {
+            if (navigationMode != NavigationMode.NO_BUTTON) {
+                return false;
+            }
+            if (Utilities.isRunningInTestHarness()) {
+                // TODO(b/258604917): Once ENABLE_TASKBAR_PINNING is enabled, remove usage of
+                //  sTransientTaskbarStatusForTests and update test to directly
+                //  toggle shared preference to switch transient taskbar on/off.
+                return sTransientTaskbarStatusForTests;
+            }
+            if (enableTaskbarPinning()) {
+                return !mIsTaskbarPinned;
+            }
+            return true;
+        }
+        /**
+         * Returns whether the taskbar is pinned in gesture navigation mode.
+         */
+        public boolean isPinnedTaskbar() {
+            return navigationMode == NavigationMode.NO_BUTTON && !isTransientTaskbar();
         }
 
         /**
@@ -396,6 +444,11 @@
             return smallestSizeDp(bounds) >= MIN_TABLET_WIDTH;
         }
 
+        /** Getter for {@link #navigationMode} to allow mocking. */
+        public NavigationMode getNavigationMode() {
+            return navigationMode;
+        }
+
         /**
          * Returns smallest size in dp for given bounds.
          */
@@ -426,6 +479,7 @@
         appendFlag(result, change, CHANGE_DENSITY, "CHANGE_DENSITY");
         appendFlag(result, change, CHANGE_SUPPORTED_BOUNDS, "CHANGE_SUPPORTED_BOUNDS");
         appendFlag(result, change, CHANGE_NAVIGATION_MODE, "CHANGE_NAVIGATION_MODE");
+        appendFlag(result, change, CHANGE_TASKBAR_PINNING, "CHANGE_TASKBAR_VARIANT");
         return result.toString();
     }
 
@@ -440,9 +494,11 @@
         pw.println("  fontScale=" + info.fontScale);
         pw.println("  densityDpi=" + info.densityDpi);
         pw.println("  navigationMode=" + info.navigationMode.name());
+        pw.println("  isTaskbarPinned=" + info.mIsTaskbarPinned);
         pw.println("  currentSize=" + info.currentSize);
         info.mPerDisplayBounds.forEach((key, value) -> pw.println(
                 "  perDisplayBounds - " + key + ": " + value));
+        pw.println("  isTransientTaskbar=" + info.isTransientTaskbar());
     }
 
     /**
diff --git a/src/com/android/launcher3/util/ExecutorRunnable.kt b/src/com/android/launcher3/util/ExecutorRunnable.kt
new file mode 100644
index 0000000..49cf592
--- /dev/null
+++ b/src/com/android/launcher3/util/ExecutorRunnable.kt
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.util
+
+import java.util.concurrent.Executor
+import java.util.concurrent.ExecutorService
+import java.util.concurrent.Future
+import java.util.function.Consumer
+import java.util.function.Supplier
+
+/** A [Runnable] that can be posted to a [Executor] that can be cancelled. */
+class ExecutorRunnable<T>
+private constructor(
+    private val task: Supplier<T>,
+    // Executor where consumer needs to be executed on. Typically UI executor.
+    private val callbackExecutor: Executor,
+    // Consumer that needs to be accepted upon completion of the task. Typically work that needs to
+    // be done in UI thread after task completes.
+    private val callback: Consumer<T>
+) : Runnable {
+
+    // future of this runnable that will used for cancellation.
+    lateinit var future: Future<*>
+
+    // flag to cancel the callback
+    var canceled = false
+
+    override fun run() {
+        val value: T = task.get()
+        callbackExecutor.execute {
+            if (!canceled) {
+                callback.accept(value)
+            }
+        }
+    }
+
+    /**
+     * Cancel the [ExecutorRunnable] if not scheduled. If [ExecutorRunnable] has started execution
+     * at this time, we will try to cancel the callback if not executed yet.
+     */
+    fun cancel(interrupt: Boolean) {
+        future.cancel(interrupt)
+        canceled = true
+    }
+
+    companion object {
+        /**
+         * Create [ExecutorRunnable] and execute it on task [Executor]. It will also save the
+         * [Future] into this [ExecutorRunnable] to be used for cancellation.
+         */
+        fun <T> createAndExecute(
+            // Executor where task will be executed, typically an Executor running on background
+            // thread.
+            taskExecutor: ExecutorService,
+            task: Supplier<T>,
+            callbackExecutor: Executor,
+            callback: Consumer<T>
+        ): ExecutorRunnable<T> {
+            val executorRunnable = ExecutorRunnable(task, callbackExecutor, callback)
+            executorRunnable.future = taskExecutor.submit(executorRunnable)
+            return executorRunnable
+        }
+    }
+}
diff --git a/src/com/android/launcher3/util/Executors.java b/src/com/android/launcher3/util/Executors.java
index dec4b5c..c622b71 100644
--- a/src/com/android/launcher3/util/Executors.java
+++ b/src/com/android/launcher3/util/Executors.java
@@ -15,6 +15,8 @@
  */
 package com.android.launcher3.util;
 
+import static android.os.Process.THREAD_PRIORITY_BACKGROUND;
+
 import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.Process;
@@ -47,6 +49,12 @@
             POOL_SIZE, POOL_SIZE, KEEP_ALIVE, TimeUnit.SECONDS, new LinkedBlockingQueue<>());
 
     /**
+     * An {@link LooperExecutor} to be used with async task where order is important.
+     */
+    public static final LooperExecutor ORDERED_BG_EXECUTOR = new LooperExecutor(
+            createAndStartNewLooper("BackgroundExecutor", THREAD_PRIORITY_BACKGROUND));
+
+    /**
      * Returns the executor for running tasks on the main thread.
      */
     public static final LooperExecutor MAIN_EXECUTOR =
@@ -62,7 +70,9 @@
 
     /** A background executor to preinflate views. */
     public static final ExecutorService VIEW_PREINFLATION_EXECUTOR =
-            java.util.concurrent.Executors.newSingleThreadExecutor();
+            java.util.concurrent.Executors.newSingleThreadExecutor(
+                    new SimpleThreadFactory(
+                            "preinflate-allapps-icons", THREAD_PRIORITY_BACKGROUND));
 
     /**
      * Utility method to get a started handler thread statically
diff --git a/src/com/android/launcher3/util/IconSizeSteps.kt b/src/com/android/launcher3/util/IconSizeSteps.kt
index 2a5afe0..a207d5c 100644
--- a/src/com/android/launcher3/util/IconSizeSteps.kt
+++ b/src/com/android/launcher3/util/IconSizeSteps.kt
@@ -23,12 +23,14 @@
 
 class IconSizeSteps(res: Resources) {
     private val steps: List<Int>
+    val minimumIconLabelSize: Int
 
     init {
         steps =
             res.obtainTypedArray(R.array.icon_size_steps).use {
                 (0 until it.length()).map { step -> it.getDimensionOrThrow(step).toInt() }.sorted()
             }
+        minimumIconLabelSize = res.getDimensionPixelSize(R.dimen.minimum_icon_label_size)
     }
 
     fun minimumIconSize(): Int = steps[0]
@@ -37,11 +39,19 @@
         return steps[max(0, getIndexForIconSize(iconSizePx) - 1)]
     }
 
-    fun getIconSmallerThan(cellWidth: Int): Int {
-        return steps.lastOrNull { it <= cellWidth } ?: steps[0]
+    fun getIconSmallerThan(cellSize: Int): Int {
+        return steps.lastOrNull { it <= cellSize } ?: steps[0]
     }
 
     private fun getIndexForIconSize(iconSizePx: Int): Int {
         return max(0, steps.indexOfFirst { iconSizePx <= it })
     }
+
+    companion object {
+        internal const val TEXT_STEP = 1
+
+        // This icon extra step is used for stepping down logic in extreme cases when it's
+        // necessary to reduce the icon size below minimum size available in [icon_size_steps].
+        internal const val ICON_SIZE_STEP_EXTRA = 2
+    }
 }
diff --git a/src/com/android/launcher3/util/KeyboardShortcutsDelegate.java b/src/com/android/launcher3/util/KeyboardShortcutsDelegate.java
new file mode 100644
index 0000000..e4e0bae
--- /dev/null
+++ b/src/com/android/launcher3/util/KeyboardShortcutsDelegate.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.util;
+
+import static com.android.launcher3.LauncherState.ALL_APPS;
+import static com.android.launcher3.LauncherState.NORMAL;
+import static com.android.launcher3.LauncherState.OVERVIEW;
+import static com.android.launcher3.accessibility.LauncherAccessibilityDelegate.getSupportedActions;
+
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.KeyboardShortcutGroup;
+import android.view.KeyboardShortcutInfo;
+import android.view.Menu;
+
+import com.android.launcher3.AbstractFloatingView;
+import com.android.launcher3.Launcher;
+import com.android.launcher3.LauncherState;
+import com.android.launcher3.R;
+import com.android.launcher3.Utilities;
+import com.android.launcher3.accessibility.BaseAccessibilityDelegate;
+import com.android.launcher3.testing.shared.TestProtocol;
+import com.android.launcher3.views.OptionsPopupView;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Delegate to define the keyboard shortcuts.
+ */
+public class KeyboardShortcutsDelegate {
+
+    Launcher mLauncher;
+
+    public KeyboardShortcutsDelegate(Launcher launcher) {
+        mLauncher = launcher;
+    }
+
+    /**
+     * Populates the list of shortcuts.
+     */
+    public void onProvideKeyboardShortcuts(
+            List<KeyboardShortcutGroup> data, Menu menu, int deviceId) {
+        ArrayList<KeyboardShortcutInfo> shortcutInfos = new ArrayList<>();
+        if (mLauncher.isInState(NORMAL)) {
+            shortcutInfos.add(
+                    new KeyboardShortcutInfo(mLauncher.getString(R.string.all_apps_button_label),
+                            KeyEvent.KEYCODE_A, KeyEvent.META_CTRL_ON));
+            shortcutInfos.add(
+                    new KeyboardShortcutInfo(mLauncher.getString(R.string.widget_button_text),
+                            KeyEvent.KEYCODE_W, KeyEvent.META_CTRL_ON));
+        }
+        getSupportedActions(mLauncher, mLauncher.getCurrentFocus()).forEach(la ->
+                shortcutInfos.add(new KeyboardShortcutInfo(
+                        la.accessibilityAction.getLabel(), la.keyCode, KeyEvent.META_CTRL_ON)));
+        if (!shortcutInfos.isEmpty()) {
+            data.add(new KeyboardShortcutGroup(mLauncher.getString(R.string.home_screen),
+                    shortcutInfos));
+        }
+    }
+
+    /**
+     * Handles combinations of keys like ctrl+s or ctrl+c and runs before onKeyDown.
+     * @param keyCode code of the key being pressed.
+     * @see android.view.KeyEvent
+     * @return weather the event is already handled and if it should be passed to other components.
+     */
+    public Boolean onKeyShortcut(int keyCode, KeyEvent event) {
+        if (event.hasModifiers(KeyEvent.META_CTRL_ON)) {
+            switch (keyCode) {
+                case KeyEvent.KEYCODE_A:
+                    if (mLauncher.isInState(NORMAL)) {
+                        mLauncher.getStateManager().goToState(ALL_APPS);
+                        return true;
+                    }
+                    break;
+                case KeyEvent.KEYCODE_W:
+                    if (mLauncher.isInState(NORMAL)) {
+                        OptionsPopupView.openWidgets(mLauncher);
+                        return true;
+                    }
+                    break;
+                default:
+                    for (BaseAccessibilityDelegate.LauncherAction la : getSupportedActions(
+                            mLauncher, mLauncher.getCurrentFocus())) {
+                        if (la.keyCode == keyCode) {
+                            return la.invokeFromKeyboard(mLauncher.getCurrentFocus());
+                        }
+                    }
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Handle key down event.
+     * @param keyCode code of the key being pressed.
+     * @see android.view.KeyEvent
+     */
+    public Boolean onKeyDown(int keyCode, KeyEvent event) {
+        // Ignore escape if pressed in conjunction with any modifier keys.
+        if (keyCode == KeyEvent.KEYCODE_ESCAPE && event.hasNoModifiers()) {
+            AbstractFloatingView topView = AbstractFloatingView.getTopOpenView(mLauncher);
+            if (topView != null) {
+                // Close each floating view one at a time for each key press.
+                topView.close(/* animate= */ true);
+                return true;
+            } else if (mLauncher.getAppsView().isInAllApps()) {
+                // Close all apps if there are no open floating views.
+                mLauncher.getStateManager().goToState(NORMAL, true);
+                return true;
+            } else if (mLauncher.isInState(LauncherState.OVERVIEW)
+                    || mLauncher.isInState(LauncherState.OVERVIEW_SPLIT_SELECT)) {
+                // Close Overview and return to home.
+                mLauncher.getStateManager().goToState(NORMAL, true);
+                return true;
+            } else if (mLauncher.isInState(LauncherState.OVERVIEW_MODAL_TASK)) {
+                // Return to the previous state (Overview) when the modal task is open.
+                mLauncher.getStateManager().goToState(OVERVIEW, true);
+                return true;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Handle key up event.
+     * @param keyCode code of the key being pressed.
+     * @see android.view.KeyEvent
+     */
+    public Boolean onKeyUp(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_MENU) {
+            // KEYCODE_MENU is sent by some tests, for example
+            // LauncherJankTests#testWidgetsContainerFling. Don't just remove its handling.
+            if (!mLauncher.getDragController().isDragging()
+                    && !mLauncher.getWorkspace().isSwitchingState()
+                    && mLauncher.isInState(NORMAL)) {
+                // Close any open floating views.
+                mLauncher.closeOpenViews();
+
+                // Setting the touch point to (-1, -1) will show the options popup in the center of
+                // the screen.
+                if (Utilities.isRunningInTestHarness()) {
+                    Log.d(TestProtocol.PERMANENT_DIAG_TAG, "Opening options popup on key up");
+                }
+                mLauncher.showDefaultOptions(-1, -1);
+            }
+            return true;
+        }
+        return null;
+    }
+}
diff --git a/src/com/android/launcher3/util/MainThreadInitializedObject.java b/src/com/android/launcher3/util/MainThreadInitializedObject.java
index 1cb9994..b966d8e 100644
--- a/src/com/android/launcher3/util/MainThreadInitializedObject.java
+++ b/src/com/android/launcher3/util/MainThreadInitializedObject.java
@@ -93,7 +93,7 @@
      * Abstract Context which allows custom implementations for
      * {@link MainThreadInitializedObject} providers
      */
-    public static abstract class SandboxContext extends ContextWrapper {
+    public static class SandboxContext extends ContextWrapper {
 
         private static final String TAG = "SandboxContext";
 
@@ -165,5 +165,14 @@
         protected <T> T createObject(MainThreadInitializedObject<T> object) {
             return object.mProvider.get(this);
         }
+
+        /**
+         * Put a value into mObjectMap, can be used to put mocked MainThreadInitializedObject
+         * instances into SandboxContext.
+         */
+        @VisibleForTesting
+        public <T> void putObject(MainThreadInitializedObject<T> object, T value) {
+            mObjectMap.put(object, value);
+        }
     }
 }
diff --git a/src/com/android/launcher3/util/MultiTranslateDelegate.java b/src/com/android/launcher3/util/MultiTranslateDelegate.java
index 1cb7a45..84ef445 100644
--- a/src/com/android/launcher3/util/MultiTranslateDelegate.java
+++ b/src/com/android/launcher3/util/MultiTranslateDelegate.java
@@ -36,11 +36,18 @@
     // Specific for items in taskbar (icons, folders, qsb)
     public static final int INDEX_TASKBAR_ALIGNMENT_ANIM = 3;
     public static final int INDEX_TASKBAR_REVEAL_ANIM = 4;
+    public static final int INDEX_TASKBAR_PINNING_ANIM = 5;
+
+    // Affect all items inside of a MultipageCellLayout
+    public static final int INDEX_CELLAYOUT_MULTIPAGE_SPACING = 3;
 
     // Specific for widgets
-    public static final int INDEX_WIDGET_CENTERING = 3;
+    public static final int INDEX_WIDGET_CENTERING = 4;
 
-    public static final int COUNT = 5;
+    // Specific for hotseat items when adjusting for bubbles
+    public static final int INDEX_BUBBLE_ADJUSTMENT_ANIM = 3;
+
+    public static final int COUNT = 6;
 
     private final MultiPropertyFactory<View> mTranslationX;
     private final MultiPropertyFactory<View> mTranslationY;
diff --git a/src/com/android/launcher3/util/OnboardingPrefs.java b/src/com/android/launcher3/util/OnboardingPrefs.java
deleted file mode 100644
index f8f4b5f..0000000
--- a/src/com/android/launcher3/util/OnboardingPrefs.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.launcher3.util;
-
-import android.content.SharedPreferences;
-import android.util.ArrayMap;
-
-import androidx.annotation.StringDef;
-
-import com.android.launcher3.views.ActivityContext;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.util.Collections;
-import java.util.Map;
-
-/**
- * Stores and retrieves onboarding-related data via SharedPreferences.
- *
- * @param <T> Context which owns these preferences.
- */
-public class OnboardingPrefs<T extends ActivityContext> {
-
-    public static final String HOME_BOUNCE_SEEN = "launcher.apps_view_shown";
-    public static final String HOME_BOUNCE_COUNT = "launcher.home_bounce_count";
-    public static final String HOTSEAT_DISCOVERY_TIP_COUNT = "launcher.hotseat_discovery_tip_count";
-    public static final String HOTSEAT_LONGPRESS_TIP_SEEN = "launcher.hotseat_longpress_tip_seen";
-    public static final String ALL_APPS_VISITED_COUNT = "launcher.all_apps_visited_count";
-    public static final String TASKBAR_EDU_TOOLTIP_STEP = "launcher.taskbar_edu_tooltip_step";
-    // When adding a new key, add it here as well, to be able to reset it from Developer Options.
-    public static final Map<String, String[]> ALL_PREF_KEYS = Map.of(
-            "All Apps Bounce", new String[] { HOME_BOUNCE_SEEN, HOME_BOUNCE_COUNT },
-            "Hybrid Hotseat Education", new String[] { HOTSEAT_DISCOVERY_TIP_COUNT,
-                    HOTSEAT_LONGPRESS_TIP_SEEN },
-            "Taskbar Education", new String[] { TASKBAR_EDU_TOOLTIP_STEP },
-            "All Apps Visited Count", new String[] {ALL_APPS_VISITED_COUNT}
-    );
-
-    /**
-     * Events that either have happened or have not (booleans).
-     */
-    @StringDef(value = {
-            HOME_BOUNCE_SEEN,
-            HOTSEAT_LONGPRESS_TIP_SEEN,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface EventBoolKey {}
-
-    /**
-     * Events that occur multiple times, which we count up to a max defined in {@link #MAX_COUNTS}.
-     */
-    @StringDef(value = {
-            HOME_BOUNCE_COUNT,
-            HOTSEAT_DISCOVERY_TIP_COUNT,
-            ALL_APPS_VISITED_COUNT,
-            TASKBAR_EDU_TOOLTIP_STEP,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface EventCountKey {}
-
-    private static final Map<String, Integer> MAX_COUNTS;
-
-    static {
-        Map<String, Integer> maxCounts = new ArrayMap<>(5);
-        maxCounts.put(HOME_BOUNCE_COUNT, 3);
-        maxCounts.put(HOTSEAT_DISCOVERY_TIP_COUNT, 5);
-        maxCounts.put(ALL_APPS_VISITED_COUNT, 20);
-        maxCounts.put(TASKBAR_EDU_TOOLTIP_STEP, 2);
-        MAX_COUNTS = Collections.unmodifiableMap(maxCounts);
-    }
-
-    protected final T mLauncher;
-    protected final SharedPreferences mSharedPrefs;
-
-    public OnboardingPrefs(T launcher, SharedPreferences sharedPrefs) {
-        mLauncher = launcher;
-        mSharedPrefs = sharedPrefs;
-    }
-
-    /** @return The number of times we have seen the given event. */
-    public int getCount(@EventCountKey String key) {
-        return mSharedPrefs.getInt(key, 0);
-    }
-
-    /** @return Whether we have seen this event enough times, as defined by {@link #MAX_COUNTS}. */
-    public boolean hasReachedMaxCount(@EventCountKey String eventKey) {
-        return hasReachedMaxCount(getCount(eventKey), eventKey);
-    }
-
-    private boolean hasReachedMaxCount(int count, @EventCountKey String eventKey) {
-        return count >= MAX_COUNTS.get(eventKey);
-    }
-
-    /** @return Whether we have seen the given event. */
-    public boolean getBoolean(@EventBoolKey String key) {
-        return mSharedPrefs.getBoolean(key, false);
-    }
-
-    /**
-     * Marks on-boarding preference boolean at true
-     */
-    public void markChecked(String flag) {
-        mSharedPrefs.edit().putBoolean(flag, true).apply();
-    }
-
-    /**
-     * Add 1 to the given event count, if we haven't already reached the max count.
-     *
-     * @return Whether we have now reached the max count.
-     */
-    public boolean incrementEventCount(@EventCountKey String eventKey) {
-        int count = getCount(eventKey);
-        if (hasReachedMaxCount(count, eventKey)) {
-            return true;
-        }
-        count++;
-        mSharedPrefs.edit().putInt(eventKey, count).apply();
-        return hasReachedMaxCount(count, eventKey);
-    }
-
-    /**
-     * Sets the event count to the given value.
-     *
-     * @return Whether we have now reached the max count.
-     */
-    public boolean setEventCount(int count, @EventCountKey String eventKey) {
-        mSharedPrefs.edit().putInt(eventKey, count).apply();
-        return hasReachedMaxCount(count, eventKey);
-    }
-}
diff --git a/src/com/android/launcher3/util/OnboardingPrefs.kt b/src/com/android/launcher3/util/OnboardingPrefs.kt
new file mode 100644
index 0000000..4528cba
--- /dev/null
+++ b/src/com/android/launcher3/util/OnboardingPrefs.kt
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.util
+
+import android.content.Context
+import com.android.launcher3.LauncherPrefs
+import com.android.launcher3.LauncherPrefs.Companion.backedUpItem
+
+/** Stores and retrieves onboarding-related data via SharedPreferences. */
+object OnboardingPrefs {
+
+    data class CountedItem(
+        val sharedPrefKey: String,
+        val maxCount: Int,
+    ) {
+        private val prefItem = backedUpItem(sharedPrefKey, 0)
+
+        /** @return The number of times we have seen the given event. */
+        fun get(c: Context): Int {
+            return prefItem.get(c)
+        }
+
+        /** @return Whether we have seen this event enough times, as defined by [.MAX_COUNTS]. */
+        fun hasReachedMax(c: Context): Boolean {
+            return get(c) >= maxCount
+        }
+
+        /**
+         * Add 1 to the given event count, if we haven't already reached the max count.
+         *
+         * @return Whether we have now reached the max count.
+         */
+        fun increment(c: Context): Boolean {
+            val count = get(c)
+            if (count >= maxCount) {
+                return true
+            }
+            return set(count + 1, c)
+        }
+
+        /**
+         * Sets the event count to the given value.
+         *
+         * @return Whether we have now reached the max count.
+         */
+        fun set(count: Int, c: Context): Boolean {
+            LauncherPrefs.get(c).put(prefItem, count)
+            return count >= maxCount
+        }
+    }
+
+    @JvmField val TASKBAR_EDU_TOOLTIP_STEP = CountedItem("launcher.taskbar_edu_tooltip_step", 3)
+
+    @JvmField val HOME_BOUNCE_COUNT = CountedItem("launcher.home_bounce_count", 3)
+
+    @JvmField
+    val HOTSEAT_DISCOVERY_TIP_COUNT = CountedItem("launcher.hotseat_discovery_tip_count", 5)
+
+    @JvmField val ALL_APPS_VISITED_COUNT = CountedItem("launcher.all_apps_visited_count", 20)
+
+    @JvmField val HOME_BOUNCE_SEEN = backedUpItem("launcher.apps_view_shown", false)
+
+    @JvmField
+    val HOTSEAT_LONGPRESS_TIP_SEEN = backedUpItem("launcher.hotseat_longpress_tip_seen", false)
+}
diff --git a/src/com/android/launcher3/util/PackageManagerHelper.java b/src/com/android/launcher3/util/PackageManagerHelper.java
index 91203a7..2b5aaf5 100644
--- a/src/com/android/launcher3/util/PackageManagerHelper.java
+++ b/src/com/android/launcher3/util/PackageManagerHelper.java
@@ -28,8 +28,8 @@
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ResolveInfo;
 import android.graphics.Rect;
-import android.net.Uri;
 import android.os.Bundle;
+import android.os.Process;
 import android.os.UserHandle;
 import android.text.TextUtils;
 import android.util.Log;
@@ -46,6 +46,7 @@
 import com.android.launcher3.model.data.ItemInfoWithIcon;
 import com.android.launcher3.model.data.LauncherAppWidgetInfo;
 import com.android.launcher3.model.data.WorkspaceItemInfo;
+import com.android.launcher3.uioverrides.ApiWrapper;
 
 import java.net.URISyntaxException;
 import java.util.List;
@@ -118,10 +119,6 @@
         }
     }
 
-    public boolean isSafeMode() {
-        return mPm.isSafeMode();
-    }
-
     @Nullable
     public Intent getAppLaunchIntent(@Nullable final String pkg, @NonNull final UserHandle user) {
         List<LauncherActivityInfo> activities = mLauncherApps.getActivityList(pkg, user);
@@ -137,17 +134,6 @@
         return (info.flags & ApplicationInfo.FLAG_SUSPENDED) != 0;
     }
 
-    public Intent getMarketIntent(String packageName) {
-        return new Intent(Intent.ACTION_VIEW)
-                .setData(new Uri.Builder()
-                        .scheme("market")
-                        .authority("details")
-                        .appendQueryParameter("id", packageName)
-                        .build())
-                .putExtra(Intent.EXTRA_REFERRER, new Uri.Builder().scheme("android-app")
-                        .authority(mContext.getPackageName()).build());
-    }
-
     /**
      * Creates a new market search intent.
      */
@@ -172,8 +158,8 @@
                 && (((ItemInfoWithIcon) info).runtimeStatusFlags
                     & ItemInfoWithIcon.FLAG_INSTALL_SESSION_ACTIVE) != 0) {
             ItemInfoWithIcon appInfo = (ItemInfoWithIcon) info;
-            mContext.startActivity(new PackageManagerHelper(mContext)
-                    .getMarketIntent(appInfo.getTargetComponent().getPackageName()));
+            mContext.startActivity(ApiWrapper.getAppMarketActivityIntent(mContext,
+                    appInfo.getTargetComponent().getPackageName(), Process.myUserHandle()));
             return;
         }
         ComponentName componentName = null;
diff --git a/src/com/android/launcher3/util/Preconditions.java b/src/com/android/launcher3/util/Preconditions.java
index 63d56e4..0e5ab9a 100644
--- a/src/com/android/launcher3/util/Preconditions.java
+++ b/src/com/android/launcher3/util/Preconditions.java
@@ -51,6 +51,12 @@
         }
     }
 
+    public static void assertTrue(boolean condition) {
+        if (FeatureFlags.IS_STUDIO_BUILD && !condition) {
+            throw new IllegalStateException();
+        }
+    }
+
     private static boolean isSameLooper(Looper looper) {
         return Looper.myLooper() == looper;
     }
diff --git a/src/com/android/launcher3/util/RunnableList.java b/src/com/android/launcher3/util/RunnableList.java
index 644537b..f6e0c57 100644
--- a/src/com/android/launcher3/util/RunnableList.java
+++ b/src/com/android/launcher3/util/RunnableList.java
@@ -25,9 +25,7 @@
     private ArrayList<Runnable> mList = null;
     private boolean mDestroyed = false;
 
-    /**
-     * Ads a runnable to this list
-     */
+    /** Adds a runnable to this list */
     public void add(Runnable runnable) {
         if (runnable == null) {
             return;
@@ -42,6 +40,13 @@
         mList.add(runnable);
     }
 
+    /** Removes a previously added runnable */
+    public void remove(Runnable runnable) {
+        if (mList != null) {
+            mList.remove(runnable);
+        }
+    }
+
     /**
      * Destroys the list, executing any pending callbacks. All new callbacks are
      * immediately executed
diff --git a/src/com/android/launcher3/util/SettingsCache.java b/src/com/android/launcher3/util/SettingsCache.java
index 06cb00e..ccd154a 100644
--- a/src/com/android/launcher3/util/SettingsCache.java
+++ b/src/com/android/launcher3/util/SettingsCache.java
@@ -25,8 +25,6 @@
 import android.os.Handler;
 import android.provider.Settings;
 
-import androidx.annotation.VisibleForTesting;
-
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -57,10 +55,17 @@
     /** Hidden field Settings.Secure.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED */
     public static final String ONE_HANDED_SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED =
             "swipe_bottom_to_notification_enabled";
+    /** Hidden field Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT */
+    public static final Uri PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI =
+            Settings.Secure.getUriFor("hide_privatespace_entry_point");
     public static final Uri ROTATION_SETTING_URI =
             Settings.System.getUriFor(ACCELEROMETER_ROTATION);
+    /** Hidden field {@link Settings.System#TOUCHPAD_NATURAL_SCROLLING}. */
+    public static final Uri TOUCHPAD_NATURAL_SCROLLING = Settings.System.getUriFor(
+            "touchpad_natural_scrolling");
 
     private static final String SYSTEM_URI_PREFIX = Settings.System.CONTENT_URI.toString();
+    private static final String GLOBAL_URI_PREFIX = Settings.Global.CONTENT_URI.toString();
 
     /**
      * Caches the last seen value for registered keys.
@@ -139,6 +144,8 @@
         boolean newVal;
         if (keyUri.toString().startsWith(SYSTEM_URI_PREFIX)) {
             newVal = Settings.System.getInt(mResolver, key, defaultValue) == 1;
+        } else if (keyUri.toString().startsWith(GLOBAL_URI_PREFIX)) {
+            newVal = Settings.Global.getInt(mResolver, key, defaultValue) == 1;
         } else { // SETTING_SECURE
             newVal = Settings.Secure.getInt(mResolver, key, defaultValue) == 1;
         }
@@ -154,23 +161,9 @@
      */
     public void unregister(Uri uri, OnChangeListener listener) {
         List<OnChangeListener> listenersToRemoveFrom = mListenerMap.get(uri);
-        if (listenersToRemoveFrom == null) {
-            return;
+        if (listenersToRemoveFrom != null) {
+            listenersToRemoveFrom.remove(listener);
         }
-
-        listenersToRemoveFrom.remove(listener);
-        if (listenersToRemoveFrom.isEmpty()) {
-            mListenerMap.remove(uri);
-        }
-    }
-
-    /**
-     * Don't use this. Ever.
-     * @param keyCache Cache to replace {@link #mKeyCache}
-     */
-    @VisibleForTesting
-    void setKeyCache(Map<Uri, Boolean> keyCache) {
-        mKeyCache = keyCache;
     }
 
     public interface OnChangeListener {
diff --git a/src/com/android/launcher3/util/SplitConfigurationOptions.java b/src/com/android/launcher3/util/SplitConfigurationOptions.java
index 1ae43d0..f4a0225 100644
--- a/src/com/android/launcher3/util/SplitConfigurationOptions.java
+++ b/src/com/android/launcher3/util/SplitConfigurationOptions.java
@@ -77,11 +77,6 @@
     public @interface StageType {}
     ///////////////////////////////////
 
-    /**
-     * Default split ratio for launching app pair from overview.
-     */
-    public static final float DEFAULT_SPLIT_RATIO = 0.5f;
-
     public static class SplitPositionOption {
         public final int iconResId;
         public final int textResId;
@@ -116,6 +111,8 @@
         public final float leftTaskPercent;
         public final float dividerWidthPercent;
         public final float dividerHeightPercent;
+        public final int snapPosition;
+
         /**
          * If {@code true}, that means at the time of creation of this object, the
          * split-screened apps were vertically stacked. This is useful in scenarios like
@@ -135,11 +132,12 @@
         public final int rightBottomTaskId;
 
         public SplitBounds(Rect leftTopBounds, Rect rightBottomBounds, int leftTopTaskId,
-                int rightBottomTaskId) {
+                int rightBottomTaskId, int snapPosition) {
             this.leftTopBounds = leftTopBounds;
             this.rightBottomBounds = rightBottomBounds;
             this.leftTopTaskId = leftTopTaskId;
             this.rightBottomTaskId = rightBottomTaskId;
+            this.snapPosition = snapPosition;
 
             if (rightBottomBounds.top > leftTopBounds.top) {
                 // vertical apps, horizontal divider
diff --git a/src/com/android/launcher3/util/VibratorWrapper.java b/src/com/android/launcher3/util/VibratorWrapper.java
index 91945ca..4f20bbc 100644
--- a/src/com/android/launcher3/util/VibratorWrapper.java
+++ b/src/com/android/launcher3/util/VibratorWrapper.java
@@ -15,9 +15,15 @@
  */
 package com.android.launcher3.util;
 
+import static android.os.VibrationEffect.Composition.PRIMITIVE_LOW_TICK;
 import static android.os.VibrationEffect.createPredefined;
 import static android.provider.Settings.System.HAPTIC_FEEDBACK_ENABLED;
 
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_DELAY;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_END_SCALE_PERCENT;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_ITERATIONS;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_SCALE_EXPONENT;
+import static com.android.launcher3.LauncherPrefs.LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_START_SCALE_PERCENT;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
 
@@ -35,10 +41,9 @@
 
 import androidx.annotation.Nullable;
 
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.Utilities;
-import com.android.launcher3.anim.PendingAnimation;
-
-import java.util.function.Consumer;
+import com.android.launcher3.config.FeatureFlags;
 
 /**
  * Wrapper around {@link Vibrator} to easily perform haptic feedback where necessary.
@@ -57,6 +62,7 @@
     public static final VibrationEffect EFFECT_CLICK =
             createPredefined(VibrationEffect.EFFECT_CLICK);
 
+    private static final float LOW_TICK_SCALE = 0.9f;
     private static final float DRAG_TEXTURE_SCALE = 0.03f;
     private static final float DRAG_COMMIT_SCALE = 0.5f;
     private static final float DRAG_BUMP_SCALE = 0.4f;
@@ -70,7 +76,7 @@
     private final VibrationEffect mBumpEffect;
 
     @Nullable
-    private final VibrationEffect mAssistEffect;
+    private final VibrationEffect mSearchEffect;
 
     private long mLastDragTime;
     private final int mThresholdUntilNextDragCallMillis;
@@ -80,12 +86,14 @@
      */
     public static final VibrationEffect OVERVIEW_HAPTIC = EFFECT_CLICK;
 
+    private final Context mContext;
     private final Vibrator mVibrator;
     private final boolean mHasVibrator;
 
     private boolean mIsHapticFeedbackEnabled;
 
     private VibratorWrapper(Context context) {
+        mContext = context;
         mVibrator = context.getSystemService(Vibrator.class);
         mHasVibrator = mVibrator.hasVibrator();
         if (mHasVibrator) {
@@ -104,22 +112,22 @@
         }
 
         if (Utilities.ATLEAST_S && mVibrator.areAllPrimitivesSupported(
-                VibrationEffect.Composition.PRIMITIVE_LOW_TICK)) {
+                PRIMITIVE_LOW_TICK)) {
 
             // Drag texture, Commit, and Bump should only be used for premium phones.
             // Before using these haptics make sure check if the device can use it
             VibrationEffect.Composition dragEffect = VibrationEffect.startComposition();
             for (int i = 0; i < DRAG_TEXTURE_EFFECT_SIZE; i++) {
                 dragEffect.addPrimitive(
-                        VibrationEffect.Composition.PRIMITIVE_LOW_TICK, DRAG_TEXTURE_SCALE);
+                        PRIMITIVE_LOW_TICK, DRAG_TEXTURE_SCALE);
             }
             mDragEffect = dragEffect.compose();
             mCommitEffect = VibrationEffect.startComposition().addPrimitive(
                     VibrationEffect.Composition.PRIMITIVE_TICK, DRAG_COMMIT_SCALE).compose();
             mBumpEffect = VibrationEffect.startComposition().addPrimitive(
-                    VibrationEffect.Composition.PRIMITIVE_LOW_TICK, DRAG_BUMP_SCALE).compose();
+                    PRIMITIVE_LOW_TICK, DRAG_BUMP_SCALE).compose();
             int primitiveDuration = mVibrator.getPrimitiveDurations(
-                    VibrationEffect.Composition.PRIMITIVE_LOW_TICK)[0];
+                    PRIMITIVE_LOW_TICK)[0];
 
             mThresholdUntilNextDragCallMillis =
                     DRAG_TEXTURE_EFFECT_SIZE * primitiveDuration + 100;
@@ -133,14 +141,20 @@
         if (Utilities.ATLEAST_R && mVibrator.areAllPrimitivesSupported(
                 VibrationEffect.Composition.PRIMITIVE_QUICK_RISE,
                 VibrationEffect.Composition.PRIMITIVE_TICK)) {
-            // quiet ramp, short pause, then sharp tick
-            mAssistEffect = VibrationEffect.startComposition()
-                    .addPrimitive(VibrationEffect.Composition.PRIMITIVE_QUICK_RISE, 0.25f)
-                    .addPrimitive(VibrationEffect.Composition.PRIMITIVE_TICK, 1f, 50)
-                    .compose();
+            if (FeatureFlags.ENABLE_SEARCH_HAPTIC_HINT.get()) {
+                mSearchEffect = VibrationEffect.startComposition()
+                        .addPrimitive(VibrationEffect.Composition.PRIMITIVE_TICK, 1f)
+                        .compose();
+            } else {
+                // quiet ramp, short pause, then sharp tick
+                mSearchEffect = VibrationEffect.startComposition()
+                        .addPrimitive(VibrationEffect.Composition.PRIMITIVE_QUICK_RISE, 0.25f)
+                        .addPrimitive(VibrationEffect.Composition.PRIMITIVE_TICK, 1f, 50)
+                        .compose();
+            }
         } else {
             // fallback for devices without composition support
-            mAssistEffect = VibrationEffect.createPredefined(VibrationEffect.EFFECT_HEAVY_CLICK);
+            mSearchEffect = VibrationEffect.createPredefined(VibrationEffect.EFFECT_HEAVY_CLICK);
         }
     }
 
@@ -184,20 +198,10 @@
     }
 
     /**
-     * The assist haptic is used to be called when an assistant is invoked
-     */
-    public void vibrateForAssist() {
-        if (mAssistEffect != null) {
-            vibrate(mAssistEffect);
-        }
-    }
-
-    /**
      * This should be used to cancel a haptic in case where the haptic shouldn't be vibrating. For
-     * example, when no animation is happening but a vibrator happens to be vibrating still. Need
-     * boolean parameter for {@link PendingAnimation#addEndListener(Consumer)}.
+     * example, when no animation is happening but a vibrator happens to be vibrating still.
      */
-    public void cancelVibrate(boolean unused) {
+    public void cancelVibrate() {
         UI_HELPER_EXECUTOR.execute(mVibrator::cancel);
         // reset dragTexture timestamp to be able to play dragTexture again whenever cancelled
         mLastDragTime = 0;
@@ -233,4 +237,57 @@
             });
         }
     }
+
+    /** Indicates that search has been invoked. */
+    public void vibrateForSearch() {
+        if (mSearchEffect != null) {
+            vibrate(mSearchEffect);
+        }
+    }
+
+    /** Indicates that Taskbar has been invoked. */
+    public void vibrateForTaskbarUnstash() {
+        if (Utilities.ATLEAST_S && mVibrator.areAllPrimitivesSupported(PRIMITIVE_LOW_TICK)) {
+            VibrationEffect primitiveLowTickEffect = VibrationEffect
+                    .startComposition()
+                    .addPrimitive(PRIMITIVE_LOW_TICK, LOW_TICK_SCALE)
+                    .compose();
+
+            vibrate(primitiveLowTickEffect);
+        }
+    }
+
+    /** Indicates that search will be invoked if the current gesture is maintained. */
+    public void vibrateForSearchHint() {
+        if (FeatureFlags.ENABLE_SEARCH_HAPTIC_HINT.get() && Utilities.ATLEAST_S
+                && mVibrator.areAllPrimitivesSupported(PRIMITIVE_LOW_TICK)) {
+            LauncherPrefs launcherPrefs = LauncherPrefs.get(mContext);
+            float startScale = launcherPrefs.get(
+                    LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_START_SCALE_PERCENT) / 100f;
+            float endScale = launcherPrefs.get(
+                    LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_END_SCALE_PERCENT) / 100f;
+            int scaleExponent = launcherPrefs.get(
+                    LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_SCALE_EXPONENT);
+            int iterations = launcherPrefs.get(
+                    LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_ITERATIONS);
+            int delayMs = launcherPrefs.get(
+                    LONG_PRESS_NAV_HANDLE_HAPTIC_HINT_DELAY);
+
+            VibrationEffect.Composition composition = VibrationEffect.startComposition();
+            for (int i = 0; i < iterations; i++) {
+                float t = i / (iterations - 1f);
+                float scale = (float) Math.pow((1 - t) * startScale + t * endScale,
+                        scaleExponent);
+                if (i == 0) {
+                    // Adds a delay before the ramp starts
+                    composition.addPrimitive(PRIMITIVE_LOW_TICK, scale,
+                            delayMs);
+                } else {
+                    composition.addPrimitive(PRIMITIVE_LOW_TICK, scale);
+                }
+            }
+
+            vibrate(composition.compose());
+        }
+    }
 }
diff --git a/src/com/android/launcher3/util/WindowBounds.java b/src/com/android/launcher3/util/WindowBounds.java
index 91480e1..84a3e7a 100644
--- a/src/com/android/launcher3/util/WindowBounds.java
+++ b/src/com/android/launcher3/util/WindowBounds.java
@@ -67,7 +67,8 @@
             return false;
         }
         WindowBounds other = (WindowBounds) obj;
-        return other.bounds.equals(bounds) && other.insets.equals(insets);
+        return other.bounds.equals(bounds) && other.insets.equals(insets)
+                && other.rotationHint == rotationHint;
     }
 
     @Override
@@ -84,7 +85,7 @@
      * Returns true if the device is in landscape orientation
      */
     public final boolean isLandscape() {
-        return availableSize.x > availableSize.y;
+        return bounds.width() > bounds.height();
     }
 
     /**
diff --git a/src/com/android/launcher3/util/window/WindowManagerProxy.java b/src/com/android/launcher3/util/window/WindowManagerProxy.java
index 278a37e..51a96c4 100644
--- a/src/com/android/launcher3/util/window/WindowManagerProxy.java
+++ b/src/com/android/launcher3/util/window/WindowManagerProxy.java
@@ -338,6 +338,20 @@
     }
 
     /**
+     * Returns bounds of the display associated with the context, or bounds of DEFAULT_DISPLAY
+     * if the context isn't associated with a display.
+     */
+    public Rect getCurrentBounds(Context displayInfoContext) {
+        Resources res = displayInfoContext.getResources();
+        Configuration config = res.getConfiguration();
+
+        float screenWidth = config.screenWidthDp * res.getDisplayMetrics().density;
+        float screenHeight = config.screenHeightDp * res.getDisplayMetrics().density;
+
+        return new Rect(0, 0, (int) screenWidth, (int) screenHeight);
+    }
+
+    /**
      * Returns rotation of the display associated with the context, or rotation of DEFAULT_DISPLAY
      * if the context isn't associated with a display.
      */
diff --git a/src/com/android/launcher3/views/AccessibilityActionsView.java b/src/com/android/launcher3/views/AccessibilityActionsView.java
index 1d136c3..fcb7c28 100644
--- a/src/com/android/launcher3/views/AccessibilityActionsView.java
+++ b/src/com/android/launcher3/views/AccessibilityActionsView.java
@@ -79,6 +79,7 @@
         }
         Launcher l = Launcher.getLauncher(getContext());
         if (action == R.string.all_apps_button_label) {
+            l.getStatsLogManager().keyboardStateManager().setLaunchedFromA11y(true);
             l.getStateManager().goToState(ALL_APPS);
             return true;
         }
diff --git a/src/com/android/launcher3/views/ActivityContext.java b/src/com/android/launcher3/views/ActivityContext.java
index 84ea871..bef84f7 100644
--- a/src/com/android/launcher3/views/ActivityContext.java
+++ b/src/com/android/launcher3/views/ActivityContext.java
@@ -34,6 +34,7 @@
 import android.content.ContextWrapper;
 import android.content.Intent;
 import android.content.pm.LauncherApps;
+import android.content.res.Configuration;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
@@ -52,6 +53,7 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.core.view.WindowInsetsCompat;
 
 import com.android.launcher3.BubbleTextView;
 import com.android.launcher3.DeviceProfile;
@@ -74,7 +76,6 @@
 import com.android.launcher3.model.data.WorkspaceItemInfo;
 import com.android.launcher3.popup.PopupDataProvider;
 import com.android.launcher3.util.ActivityOptionsWrapper;
-import com.android.launcher3.util.OnboardingPrefs;
 import com.android.launcher3.util.PackageManagerHelper;
 import com.android.launcher3.util.Preconditions;
 import com.android.launcher3.util.RunnableList;
@@ -146,6 +147,15 @@
     }
 
     /**
+     * @return {@code true} if user has selected the first split app and is in the process of
+     *         selecting the second
+     */
+    default boolean isSplitSelectionEnabled() {
+        // Overridden
+        return false;
+    }
+
+    /**
      * The root view to support drag-and-drop and popup support.
      */
     BaseDragLayer getDragLayer();
@@ -222,12 +232,6 @@
      */
     default void applyOverwritesToLogItem(LauncherAtom.ItemInfo.Builder itemInfoBuilder) { }
 
-    /** Onboarding preferences for any onboarding data within this context. */
-    @Nullable
-    default OnboardingPrefs<?> getOnboardingPrefs() {
-        return null;
-    }
-
     /** Returns {@code true} if items are currently being bound within this context. */
     default boolean isBindingItems() {
         return false;
@@ -273,13 +277,19 @@
             final WindowInsetsController wic = root.getWindowInsetsController();
             WindowInsets insets = root.getRootWindowInsets();
             boolean isImeShown = insets != null && insets.isVisible(WindowInsets.Type.ime());
-            if (wic != null && isImeShown) {
-                StatsLogManager slm  = getStatsLogManager();
-                slm.keyboardStateManager().setKeyboardState(HIDE);
+            if (wic != null) {
+                // Only hide the keyboard if it is actually showing.
+                if (isImeShown) {
+                    StatsLogManager slm = getStatsLogManager();
+                    slm.keyboardStateManager().setKeyboardState(HIDE);
 
-                // this method cannot be called cross threads
-                wic.hide(WindowInsets.Type.ime());
-                slm.logger().log(LAUNCHER_ALLAPPS_KEYBOARD_CLOSED);
+                    // this method cannot be called cross threads
+                    wic.hide(WindowInsets.Type.ime());
+                    slm.logger().log(LAUNCHER_ALLAPPS_KEYBOARD_CLOSED);
+                }
+
+                // If the WindowInsetsController is not null, we end here regardless of whether we
+                // hid the keyboard or not.
                 return;
             }
         }
@@ -298,6 +308,33 @@
     }
 
     /**
+     * Returns if the connected keyboard is a hardware keyboard.
+     */
+    default boolean isHardwareKeyboard() {
+        return Configuration.KEYBOARD_QWERTY
+                == ((Context) this).getResources().getConfiguration().keyboard;
+    }
+
+    /**
+     * Returns if the software keyboard is hidden. Hardware keyboards do not display on screen by
+     * default.
+     */
+    default boolean isSoftwareKeyboardHidden() {
+        if (isHardwareKeyboard()) {
+            return true;
+        } else {
+            View dragLayer = getDragLayer();
+            WindowInsets insets = dragLayer.getRootWindowInsets();
+            if (insets == null) {
+                return false;
+            }
+            WindowInsetsCompat insetsCompat =
+                    WindowInsetsCompat.toWindowInsetsCompat(insets, dragLayer);
+            return !insetsCompat.isVisible(WindowInsetsCompat.Type.ime());
+        }
+    }
+
+    /**
      * Sends a pending intent animating from a view.
      *
      * @param v View to animate.
@@ -439,7 +476,18 @@
     }
 
     default CellPosMapper getCellPosMapper() {
-        return CellPosMapper.DEFAULT;
+        DeviceProfile dp = getDeviceProfile();
+        return new CellPosMapper(dp.isVerticalBarLayout(), dp.numShownHotseatIcons);
+    }
+
+    /** Whether bubbles are enabled. */
+    default boolean isBubbleBarEnabled() {
+        return false;
+    }
+
+    /** Whether the bubble bar has bubbles. */
+    default boolean hasBubbles() {
+        return false;
     }
 
     /**
diff --git a/src/com/android/launcher3/views/ArrowTipView.java b/src/com/android/launcher3/views/ArrowTipView.java
index b44dbeb..2f0da03 100644
--- a/src/com/android/launcher3/views/ArrowTipView.java
+++ b/src/com/android/launcher3/views/ArrowTipView.java
@@ -155,7 +155,7 @@
         setOrientation(LinearLayout.VERTICAL);
 
         mArrowView = findViewById(R.id.arrow);
-        updateArrowTipInView();
+        updateArrowTipInView(mIsPointingUp);
         setAlpha(0);
 
         // Create default open animator.
@@ -364,17 +364,18 @@
 
             // Adjust the tooltip vertically.
             @Px int viewHeight = getHeight();
+            boolean isPointingUp = mIsPointingUp;
             if (mIsPointingUp
                     ? (yCoordUpPointingTip + viewHeight > parentViewHeight)
                     : (yCoordDownPointingTip - viewHeight < 0)) {
                 // Flip the view if it exceeds the vertical bounds of screen.
-                mIsPointingUp = !mIsPointingUp;
-                updateArrowTipInView();
+                isPointingUp = !mIsPointingUp;
             }
+            updateArrowTipInView(isPointingUp);
             // Place the tooltip such that its top is at yCoordUpPointingTip if arrow is displayed
             // pointing upwards, otherwise place it such that its bottom is at
             // yCoordDownPointingTip.
-            setY(mIsPointingUp ? yCoordUpPointingTip : yCoordDownPointingTip - viewHeight);
+            setY(isPointingUp ? yCoordUpPointingTip : yCoordDownPointingTip - viewHeight);
 
             // Adjust the arrow's relative position on tooltip to make sure the actual position of
             // arrow's pointed tip is always at arrowXCoord.
@@ -391,10 +392,10 @@
         return this;
     }
 
-    private void updateArrowTipInView() {
+    private void updateArrowTipInView(boolean isPointingUp) {
         ViewGroup.LayoutParams arrowLp = mArrowView.getLayoutParams();
         ShapeDrawable arrowDrawable = new ShapeDrawable(TriangleShape.create(
-                arrowLp.width, arrowLp.height, mIsPointingUp));
+                arrowLp.width, arrowLp.height, isPointingUp));
         Paint arrowPaint = arrowDrawable.getPaint();
         @Px int arrowTipRadius = getContext().getResources()
                 .getDimensionPixelSize(R.dimen.arrow_toast_corner_radius);
@@ -403,7 +404,7 @@
         mArrowView.setBackground(arrowDrawable);
         // Add negative margin so that the rounded corners on base of arrow are not visible.
         removeView(mArrowView);
-        if (mIsPointingUp) {
+        if (isPointingUp) {
             addView(mArrowView, 0);
             ((ViewGroup.MarginLayoutParams) arrowLp).setMargins(0, 0, 0, -1 * arrowTipRadius);
         } else {
diff --git a/src/com/android/launcher3/views/BaseDragLayer.java b/src/com/android/launcher3/views/BaseDragLayer.java
index e4df413..a1cd697 100644
--- a/src/com/android/launcher3/views/BaseDragLayer.java
+++ b/src/com/android/launcher3/views/BaseDragLayer.java
@@ -41,6 +41,7 @@
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.InsettableFrameLayout;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.testing.shared.ResourceUtils;
 import com.android.launcher3.util.MultiPropertyFactory.MultiProperty;
 import com.android.launcher3.util.MultiValueAlpha;
 import com.android.launcher3.util.TouchController;
@@ -559,7 +560,8 @@
             DeviceProfile dp = mActivity.getDeviceProfile();
             if (dp.isTaskbarPresent) {
                 // Ignore taskbar gesture insets to avoid interfering with TouchControllers.
-                gestureInsetBottom = Math.max(0, gestureInsetBottom - dp.taskbarHeight);
+                gestureInsetBottom = ResourceUtils.getNavbarSize(
+                        ResourceUtils.NAVBAR_BOTTOM_GESTURE_SIZE, getResources());
             }
             mSystemGestureRegion.set(
                     Math.max(gestureInsets.left, imeInset.left),
diff --git a/src/com/android/launcher3/views/ClipIconView.java b/src/com/android/launcher3/views/ClipIconView.java
index 87e496e..7737adb 100644
--- a/src/com/android/launcher3/views/ClipIconView.java
+++ b/src/com/android/launcher3/views/ClipIconView.java
@@ -112,7 +112,7 @@
         float scaleY = rect.height() / minSize;
         float scale = Math.max(1f, Math.min(scaleX, scaleY));
 
-        if (Float.isNaN(scale)) {
+        if (Float.isNaN(scale) || Float.isInfinite(scale)) {
             // Views are no longer laid out, do not update.
             return;
         }
diff --git a/src/com/android/launcher3/views/FloatingIconView.java b/src/com/android/launcher3/views/FloatingIconView.java
index 41b98c7..32c70a3 100644
--- a/src/com/android/launcher3/views/FloatingIconView.java
+++ b/src/com/android/launcher3/views/FloatingIconView.java
@@ -18,7 +18,6 @@
 import static android.view.Gravity.LEFT;
 
 import static com.android.app.animation.Interpolators.LINEAR;
-import static com.android.launcher3.Utilities.getBadge;
 import static com.android.launcher3.Utilities.getFullDrawable;
 import static com.android.launcher3.Utilities.mapToRange;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
@@ -36,6 +35,7 @@
 import android.os.CancellationSignal;
 import android.util.AttributeSet;
 import android.util.Log;
+import android.util.Pair;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver.OnGlobalLayoutListener;
@@ -288,28 +288,20 @@
         } else {
             int width = (int) pos.width();
             int height = (int) pos.height();
-            Object[] tmpObjArray = new Object[1];
-            boolean[] outIsIconThemed = new boolean[1];
+            Pair<AdaptiveIconDrawable, Drawable> fullIcon = null;
             if (supportsAdaptiveIcons) {
-                boolean shouldThemeIcon = btvIcon instanceof FastBitmapDrawable
-                        && ((FastBitmapDrawable) btvIcon).isThemed();
-                drawable = getFullDrawable(
-                        l, info, width, height, shouldThemeIcon, tmpObjArray, outIsIconThemed);
-                if (drawable instanceof AdaptiveIconDrawable) {
-                    badge = getBadge(l, info, tmpObjArray[0], outIsIconThemed[0]);
-                } else {
-                    // The drawable we get back is not an adaptive icon, so we need to use the
-                    // BubbleTextView icon that is already legacy treated.
-                    drawable = btvIcon;
-                }
+                boolean shouldThemeIcon = (btvIcon instanceof FastBitmapDrawable fbd)
+                        && fbd.isCreatedForTheme();
+                fullIcon = getFullDrawable(l, info, width, height, shouldThemeIcon);
+            } else if (!(originalView instanceof BubbleTextView)) {
+                fullIcon = getFullDrawable(l, info, width, height, true /* shouldThemeIcon */);
+            }
+
+            if (fullIcon != null) {
+                drawable = fullIcon.first;
+                badge = fullIcon.second;
             } else {
-                if (originalView instanceof BubbleTextView) {
-                    // Similar to DragView, we simply use the BubbleTextView icon here.
-                    drawable = btvIcon;
-                } else {
-                    drawable = getFullDrawable(l, info, width, height, true /* shouldThemeIcon */,
-                            tmpObjArray, outIsIconThemed);
-                }
+                drawable = btvIcon;
             }
         }
 
diff --git a/src/com/android/launcher3/views/OptionsPopupView.java b/src/com/android/launcher3/views/OptionsPopupView.java
index b62f60d..5cdad03 100644
--- a/src/com/android/launcher3/views/OptionsPopupView.java
+++ b/src/com/android/launcher3/views/OptionsPopupView.java
@@ -18,7 +18,6 @@
 import static androidx.core.content.ContextCompat.getColorStateList;
 
 import static com.android.launcher3.LauncherState.EDIT_MODE;
-import static com.android.launcher3.config.FeatureFlags.ENABLE_MATERIAL_U_POPUP;
 import static com.android.launcher3.config.FeatureFlags.MULTI_SELECT_EDIT_MODE;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.IGNORE;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_SETTINGS_BUTTON_TAP_OR_LONGPRESS;
@@ -26,7 +25,6 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.graphics.Color;
 import android.graphics.Rect;
 import android.graphics.RectF;
 import android.graphics.drawable.Drawable;
@@ -149,11 +147,14 @@
 
     @Override
     public void assignMarginsAndBackgrounds(ViewGroup viewGroup) {
-        if (ENABLE_MATERIAL_U_POPUP.get()) {
-            assignMarginsAndBackgrounds(viewGroup,
-                    getColorStateList(getContext(), mColorIds[0]).getDefaultColor());
-        } else {
-            assignMarginsAndBackgrounds(viewGroup, Color.TRANSPARENT);
+        assignMarginsAndBackgrounds(viewGroup,
+                getColorStateList(getContext(), mColorIds[0]).getDefaultColor());
+        // last shortcut doesn't need bottom margin
+        final int count = viewGroup.getChildCount() - 1;
+        for (int i = 0; i < count; i++) {
+            // These are shortcuts and not shortcut containers, but they still need bottom margin
+            MarginLayoutParams mlp = (MarginLayoutParams) viewGroup.getChildAt(i).getLayoutParams();
+            mlp.bottomMargin = mChildContainerMargin;
         }
     }
 
@@ -165,12 +166,16 @@
         return show(activityContext, targetRect, items, shouldAddArrow, 0 /* width */);
     }
 
-    public static <T extends Context & ActivityContext> OptionsPopupView<T> show(
-            ActivityContext activityContext,
+    @Nullable
+    private static <T extends Context & ActivityContext> OptionsPopupView<T> show(
+            @Nullable ActivityContext activityContext,
             RectF targetRect,
             List<OptionItem> items,
             boolean shouldAddArrow,
             int width) {
+        if (activityContext == null) {
+            return null;
+        }
         OptionsPopupView<T> popup = (OptionsPopupView<T>) activityContext.getLayoutInflater()
                 .inflate(R.layout.longpress_options_menu, activityContext.getDragLayer(), false);
         popup.mTargetRect = targetRect;
diff --git a/src/com/android/launcher3/views/Snackbar.java b/src/com/android/launcher3/views/Snackbar.java
index 99040ff..54aa6e4 100644
--- a/src/com/android/launcher3/views/Snackbar.java
+++ b/src/com/android/launcher3/views/Snackbar.java
@@ -66,8 +66,8 @@
     }
 
     /** Show a snackbar with just a label. */
-    public static <T extends Context & ActivityContext> void show(T activity, String labelString,
-            Runnable onDismissed) {
+    public static void show(
+            ActivityContext activity, CharSequence labelString, Runnable onDismissed) {
         show(activity, labelString, NO_ID, onDismissed, null);
     }
 
@@ -76,21 +76,21 @@
             int actionStringResId, Runnable onDismissed, @Nullable Runnable onActionClicked) {
         show(
                 activity,
-                activity.getResources().getString(labelStringResId),
+                activity.getResources().getText(labelStringResId),
                 actionStringResId,
                 onDismissed,
                 onActionClicked);
     }
 
     /** Show a snackbar with a label and action. */
-    public static <T extends Context & ActivityContext> void show(T activity, String labelString,
+    public static void show(ActivityContext activity, CharSequence labelString,
             int actionStringResId, Runnable onDismissed, @Nullable Runnable onActionClicked) {
         closeOpenViews(activity, true, TYPE_SNACKBAR);
-        Snackbar snackbar = new Snackbar(activity, null);
+        Snackbar snackbar = new Snackbar((Context) activity, null);
         // Set some properties here since inflated xml only contains the children.
         snackbar.setOrientation(HORIZONTAL);
         snackbar.setGravity(Gravity.CENTER_VERTICAL);
-        Resources res = activity.getResources();
+        Resources res = snackbar.getResources();
         snackbar.setElevation(res.getDimension(R.dimen.snackbar_elevation));
         int padding = res.getDimensionPixelSize(R.dimen.snackbar_padding);
         snackbar.setPadding(padding, padding, padding, padding);
@@ -143,7 +143,8 @@
             actionView.setVisibility(GONE);
         }
 
-        int totalContentWidth = (int) (labelView.getPaint().measureText(labelString) + actionWidth)
+        int totalContentWidth = (int) (labelView.getPaint().measureText(labelString.toString())
+                    + actionWidth)
                 + labelView.getPaddingRight() + labelView.getPaddingLeft()
                 + padding * 2;
         if (totalContentWidth > params.width) {
@@ -177,7 +178,7 @@
                 .setDuration(SHOW_DURATION_MS)
                 .setInterpolator(Interpolators.ACCELERATE_DECELERATE)
                 .start();
-        int timeout = AccessibilityManagerCompat.getRecommendedTimeoutMillis(activity,
+        int timeout = AccessibilityManagerCompat.getRecommendedTimeoutMillis(snackbar.getContext(),
                 TIMEOUT_DURATION_MS, FLAG_CONTENT_TEXT | FLAG_CONTENT_CONTROLS);
         snackbar.postDelayed(() -> snackbar.close(true), timeout);
     }
diff --git a/src/com/android/launcher3/views/WidgetsEduView.java b/src/com/android/launcher3/views/WidgetsEduView.java
index e70b1cb..40c6115 100644
--- a/src/com/android/launcher3/views/WidgetsEduView.java
+++ b/src/com/android/launcher3/views/WidgetsEduView.java
@@ -20,15 +20,15 @@
 import android.util.AttributeSet;
 import android.view.LayoutInflater;
 
+import com.android.launcher3.BaseActivity;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.Insettable;
-import com.android.launcher3.Launcher;
 import com.android.launcher3.R;
 
 /**
  * Education view about widgets.
  */
-public class WidgetsEduView extends AbstractSlideInView<Launcher> implements Insettable {
+public class WidgetsEduView extends AbstractSlideInView<BaseActivity> implements Insettable {
 
     private static final int DEFAULT_CLOSE_DURATION = 200;
 
@@ -124,10 +124,10 @@
     }
 
     /** Shows widget education dialog. */
-    public static WidgetsEduView showEducationDialog(Launcher launcher) {
-        LayoutInflater layoutInflater = LayoutInflater.from(launcher);
+    public static WidgetsEduView showEducationDialog(BaseActivity activity) {
+        LayoutInflater layoutInflater = LayoutInflater.from(activity);
         WidgetsEduView v = (WidgetsEduView) layoutInflater.inflate(
-                R.layout.widgets_edu, launcher.getDragLayer(), false);
+                R.layout.widgets_edu, activity.getDragLayer(), false);
         v.show();
         return v;
     }
diff --git a/src/com/android/launcher3/widget/BaseWidgetSheet.java b/src/com/android/launcher3/widget/BaseWidgetSheet.java
index dcc86a1..5171fa2 100644
--- a/src/com/android/launcher3/widget/BaseWidgetSheet.java
+++ b/src/com/android/launcher3/widget/BaseWidgetSheet.java
@@ -16,12 +16,12 @@
 package com.android.launcher3.widget;
 
 import static com.android.app.animation.Interpolators.EMPHASIZED;
-import static com.android.launcher3.config.FeatureFlags.LARGE_SCREEN_WIDGET_PICKER;
+import static com.android.launcher3.Flags.enableUnfoldedTwoPanePicker;
+import static com.android.launcher3.LauncherPrefs.WIDGETS_EDUCATION_TIP_SEEN;
 
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Paint;
-import android.graphics.Point;
 import android.graphics.Rect;
 import android.util.AttributeSet;
 import android.view.View;
@@ -29,54 +29,47 @@
 import android.view.View.OnLongClickListener;
 import android.view.WindowInsets;
 import android.view.animation.Interpolator;
-import android.widget.Toast;
 
 import androidx.annotation.Nullable;
 import androidx.annotation.Px;
 import androidx.core.view.ViewCompat;
 
+import com.android.launcher3.BaseActivity;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
-import com.android.launcher3.DragSource;
-import com.android.launcher3.DropTarget.DragObject;
 import com.android.launcher3.Insettable;
 import com.android.launcher3.Launcher;
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
-import com.android.launcher3.dragndrop.DragOptions;
 import com.android.launcher3.popup.PopupDataProvider;
 import com.android.launcher3.testing.TestLogging;
 import com.android.launcher3.testing.shared.TestProtocol;
-import com.android.launcher3.touch.ItemLongClickListener;
 import com.android.launcher3.util.SystemUiController;
 import com.android.launcher3.util.Themes;
 import com.android.launcher3.util.window.WindowManagerProxy;
 import com.android.launcher3.views.AbstractSlideInView;
-import com.android.launcher3.views.ActivityContext;
 import com.android.launcher3.views.ArrowTipView;
 
 /**
  * Base class for various widgets popup
  */
-public abstract class BaseWidgetSheet extends AbstractSlideInView<Launcher>
-        implements OnClickListener, OnLongClickListener, DragSource,
+public abstract class BaseWidgetSheet extends AbstractSlideInView<BaseActivity>
+        implements OnClickListener, OnLongClickListener,
         PopupDataProvider.PopupDataChangeListener, Insettable, OnDeviceProfileChangeListener {
     /** The default number of cells that can fit horizontally in a widget sheet. */
     public static final int DEFAULT_MAX_HORIZONTAL_SPANS = 4;
 
-    protected static final String KEY_WIDGETS_EDUCATION_TIP_SEEN =
-            "launcher.widgets_education_tip_seen";
     protected final Rect mInsets = new Rect();
 
-    /* Touch handling related member variables. */
-    private Toast mWidgetInstructionToast;
-
     @Px protected int mContentHorizontalMargin;
     @Px protected int mWidgetCellHorizontalPadding;
 
     protected int mNavBarScrimHeight;
     private final Paint mNavBarScrimPaint;
 
+    private boolean mDisableNavBarScrim = false;
+
     public BaseWidgetSheet(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
         mContentHorizontalMargin = getResources().getDimensionPixelSize(
@@ -115,36 +108,35 @@
             mNavBarScrimPaint.setColor(navBarScrimColor);
             invalidate();
         }
+        setupNavBarColor();
     }
 
     @Override
     public final void onClick(View v) {
-        Object tag = null;
         if (v instanceof WidgetCell) {
-            tag = v.getTag();
-        } else if (v.getParent() instanceof WidgetCell) {
-            tag = ((WidgetCell) v.getParent()).getTag();
+            mActivityContext.getItemOnClickListener().onClick(v);
+        } else if (v.getParent() instanceof WidgetCell wc) {
+            mActivityContext.getItemOnClickListener().onClick(wc);
         }
-        if (tag instanceof PendingAddShortcutInfo) {
-            mWidgetInstructionToast = showShortcutToast(getContext(), mWidgetInstructionToast);
-        } else {
-            mWidgetInstructionToast = showWidgetToast(getContext(), mWidgetInstructionToast);
-        }
-
     }
 
     @Override
     public boolean onLongClick(View v) {
         TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "Widgets.onLongClick");
         v.cancelLongPress();
-        if (!ItemLongClickListener.canStartDrag(mActivityContext)) return false;
 
+        boolean result;
         if (v instanceof WidgetCell) {
-            return beginDraggingWidget((WidgetCell) v);
-        } else if (v.getParent() instanceof WidgetCell) {
-            return beginDraggingWidget((WidgetCell) v.getParent());
+            result = mActivityContext.getAllAppsItemLongClickListener().onLongClick(v);
+        } else if (v.getParent() instanceof WidgetCell wc) {
+            result = mActivityContext.getAllAppsItemLongClickListener().onLongClick(wc);
+        } else {
+            return true;
         }
-        return true;
+        if (result) {
+            close(true);
+        }
+        return result;
     }
 
     @Override
@@ -158,8 +150,15 @@
         }
     }
 
+    /** Enables or disables the sheet's nav bar scrim. */
+    public void disableNavBarScrim(boolean disable) {
+        mDisableNavBarScrim = disable;
+    }
+
     private int getNavBarScrimHeight(WindowInsets insets) {
-        if (Utilities.ATLEAST_Q) {
+        if (mDisableNavBarScrim) {
+            return 0;
+        } else if (Utilities.ATLEAST_Q) {
             return insets.getTappableElementInsets().bottom;
         } else {
             return insets.getStableInsetBottom();
@@ -193,14 +192,8 @@
         DeviceProfile deviceProfile = mActivityContext.getDeviceProfile();
         int widthUsed;
         if (deviceProfile.isTablet) {
-            int margin = deviceProfile.allAppsLeftRightMargin;
-            if (deviceProfile.isLandscape
-                    && LARGE_SCREEN_WIDGET_PICKER.get()
-                    && !deviceProfile.isTwoPanels) {
-                margin = getResources().getDimensionPixelSize(
-                        R.dimen.widget_picker_landscape_tablet_left_right_margin);
-            }
-            widthUsed = Math.max(2 * margin, 2 * (mInsets.left + mInsets.right));
+            widthUsed = Math.max(2 * getTabletMargin(deviceProfile),
+                    2 * (mInsets.left + mInsets.right));
         } else if (mInsets.bottom > 0) {
             widthUsed = mInsets.left + mInsets.right;
         } else {
@@ -215,39 +208,16 @@
                 MeasureSpec.getSize(heightMeasureSpec));
     }
 
-    private boolean beginDraggingWidget(WidgetCell v) {
-        // Get the widget preview as the drag representation
-        WidgetImageView image = v.getWidgetView();
-
-        // If the ImageView doesn't have a drawable yet, the widget preview hasn't been loaded and
-        // we abort the drag.
-        if (image.getDrawable() == null && v.getAppWidgetHostViewPreview() == null) {
-            return false;
+    private int getTabletMargin(DeviceProfile deviceProfile) {
+        if (deviceProfile.isLandscape && !deviceProfile.isTwoPanels) {
+            return getResources().getDimensionPixelSize(
+                    R.dimen.widget_picker_landscape_tablet_left_right_margin);
         }
-
-        PendingItemDragHelper dragHelper = new PendingItemDragHelper(v);
-        // RemoteViews are being rendered in AppWidgetHostView in WidgetCell. And thus, the scale of
-        // RemoteViews is equivalent to the AppWidgetHostView scale.
-        dragHelper.setRemoteViewsPreview(v.getRemoteViewsPreview(), v.getAppWidgetHostViewScale());
-        dragHelper.setAppWidgetHostViewPreview(v.getAppWidgetHostViewPreview());
-
-        if (image.getDrawable() != null) {
-            int[] loc = new int[2];
-            getPopupContainer().getLocationInDragLayer(image, loc);
-
-            dragHelper.startDrag(image.getBitmapBounds(), image.getDrawable().getIntrinsicWidth(),
-                    image.getWidth(), new Point(loc[0], loc[1]), this, new DragOptions());
-        } else {
-            NavigableAppWidgetHostView preview = v.getAppWidgetHostViewPreview();
-            int[] loc = new int[2];
-            getPopupContainer().getLocationInDragLayer(preview, loc);
-            Rect r = new Rect();
-            preview.getWorkspaceVisualDragBounds(r);
-            dragHelper.startDrag(r, preview.getMeasuredWidth(), preview.getMeasuredWidth(),
-                    new Point(loc[0], loc[1]), this, new DragOptions());
+        if (deviceProfile.isTwoPanels && enableUnfoldedTwoPanePicker()) {
+            return getResources().getDimensionPixelSize(
+                    R.dimen.widget_picker_two_panels_left_right_margin);
         }
-        close(true);
-        return true;
+        return deviceProfile.allAppsLeftRightMargin;
     }
 
     @Override
@@ -256,14 +226,6 @@
                 ? EMPHASIZED : super.getIdleInterpolator();
     }
 
-    //
-    // Drag related handling methods that implement {@link DragSource} interface.
-    //
-
-    @Override
-    public void onDropCompleted(View target, DragObject d, boolean success) { }
-
-
     protected void onCloseComplete() {
         super.onCloseComplete();
         clearNavBarColor();
@@ -275,50 +237,24 @@
     }
 
     protected void setupNavBarColor() {
-        boolean isSheetDark = Themes.getAttrBoolean(getContext(), R.attr.isMainColorDark);
-        getSystemUiController().updateUiState(
-                SystemUiController.UI_STATE_WIDGET_BOTTOM_SHEET,
-                isSheetDark ? SystemUiController.FLAG_DARK_NAV : SystemUiController.FLAG_LIGHT_NAV);
+        boolean isNavBarDark = Themes.getAttrBoolean(getContext(), R.attr.isMainColorDark);
+
+        // In light mode, landscape reverses navbar background color.
+        boolean isPhoneLandscape =
+                !mActivityContext.getDeviceProfile().isTablet && mInsets.bottom == 0;
+        if (!isNavBarDark && isPhoneLandscape) {
+            isNavBarDark = true;
+        }
+
+        getSystemUiController().updateUiState(SystemUiController.UI_STATE_WIDGET_BOTTOM_SHEET,
+                isNavBarDark ? SystemUiController.FLAG_DARK_NAV
+                        : SystemUiController.FLAG_LIGHT_NAV);
     }
 
     protected SystemUiController getSystemUiController() {
         return mActivityContext.getSystemUiController();
     }
 
-    /**
-     * Show Widget tap toast prompting user to drag instead
-     */
-    public static Toast showWidgetToast(Context context, Toast toast) {
-        // Let the user know that they have to long press to add a widget
-        if (toast != null) {
-            toast.cancel();
-        }
-
-        CharSequence msg = Utilities.wrapForTts(
-                context.getText(R.string.long_press_widget_to_add),
-                context.getString(R.string.long_accessible_way_to_add));
-        toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT);
-        toast.show();
-        return toast;
-    }
-
-    /**
-     * Show shortcut tap toast prompting user to drag instead.
-     */
-    private static Toast showShortcutToast(Context context, Toast toast) {
-        // Let the user know that they have to long press to add a widget
-        if (toast != null) {
-            toast.cancel();
-        }
-
-        CharSequence msg = Utilities.wrapForTts(
-                context.getText(R.string.long_press_shortcut_to_add),
-                context.getString(R.string.long_accessible_way_to_add_shortcut));
-        toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT);
-        toast.show();
-        return toast;
-    }
-
     /** Shows education tip on top center of {@code view} if view is laid out. */
     @Nullable
     protected ArrowTipView showEducationTipOnViewIfPossible(@Nullable View view) {
@@ -333,22 +269,22 @@
                         /* arrowXCoord= */coords[0] + view.getWidth() / 2,
                         /* yCoord= */coords[1]);
         if (arrowTipView != null) {
-            mActivityContext.getSharedPrefs().edit()
-                    .putBoolean(KEY_WIDGETS_EDUCATION_TIP_SEEN, true).apply();
+            LauncherPrefs.get(getContext()).put(WIDGETS_EDUCATION_TIP_SEEN, true);
         }
         return arrowTipView;
     }
 
     /** Returns {@code true} if tip has previously been shown on any of {@link BaseWidgetSheet}. */
     protected boolean hasSeenEducationTip() {
-        return mActivityContext.getSharedPrefs().getBoolean(KEY_WIDGETS_EDUCATION_TIP_SEEN, false)
+        return LauncherPrefs.get(getContext()).get(WIDGETS_EDUCATION_TIP_SEEN)
                 || Utilities.isRunningInTestHarness();
     }
 
     @Override
     protected void setTranslationShift(float translationShift) {
         super.setTranslationShift(translationShift);
-        Launcher launcher = ActivityContext.lookupContext(getContext());
-        launcher.onWidgetsTransition(1 - translationShift);
+        if (mActivityContext instanceof Launcher ls) {
+            ls.onWidgetsTransition(1 - translationShift);
+        }
     }
 }
diff --git a/src/com/android/launcher3/widget/DatabaseWidgetPreviewLoader.java b/src/com/android/launcher3/widget/DatabaseWidgetPreviewLoader.java
index 6f74fd9..99485be 100644
--- a/src/com/android/launcher3/widget/DatabaseWidgetPreviewLoader.java
+++ b/src/com/android/launcher3/widget/DatabaseWidgetPreviewLoader.java
@@ -257,8 +257,6 @@
             throw new RuntimeException("Max size is too small for preview");
         }
         return BitmapRenderer.createHardwareBitmap(size, size, c -> {
-            drawBoxWithShadow(c, size, size);
-
             LauncherIcons li = LauncherIcons.obtain(mContext);
             Drawable icon = li.createBadgedIconBitmap(
                     mutateOnMainThread(info.getFullResIcon(
diff --git a/src/com/android/launcher3/widget/DeferredAppWidgetHostView.java b/src/com/android/launcher3/widget/DeferredAppWidgetHostView.java
deleted file mode 100644
index f42142e..0000000
--- a/src/com/android/launcher3/widget/DeferredAppWidgetHostView.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.widget;
-
-import android.appwidget.AppWidgetProviderInfo;
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.text.Layout;
-import android.text.StaticLayout;
-import android.text.TextPaint;
-import android.text.TextUtils;
-import android.util.TypedValue;
-import android.view.View;
-import android.widget.RemoteViews;
-
-import com.android.launcher3.R;
-
-/**
- * A widget host views created while the host has not bind to the system service.
- */
-public class DeferredAppWidgetHostView extends LauncherAppWidgetHostView {
-
-    private final TextPaint mPaint;
-    private Layout mSetupTextLayout;
-
-    public DeferredAppWidgetHostView(Context context) {
-        super(context);
-        setWillNotDraw(false);
-
-        mPaint = new TextPaint();
-        mPaint.setColor(Color.WHITE);
-        mPaint.setTextSize(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX,
-                mLauncher.getDeviceProfile().iconTextSizePx,
-                getResources().getDisplayMetrics()));
-        setBackgroundResource(R.drawable.bg_deferred_app_widget);
-    }
-
-    @Override
-    public void updateAppWidget(RemoteViews remoteViews) {
-        // Not allowed
-    }
-
-    @Override
-    public void addView(View child) {
-        // Not allowed
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-
-        AppWidgetProviderInfo info = getAppWidgetInfo();
-        if (info == null || TextUtils.isEmpty(info.label)) {
-            return;
-        }
-
-        // Use double padding so that there is extra space between background and text if possible.
-        int availableWidth = getMeasuredWidth() - 2 * (getPaddingLeft() + getPaddingRight());
-        if (availableWidth <= 0) {
-            availableWidth = getMeasuredWidth() - (getPaddingLeft() + getPaddingRight());
-        }
-        if (mSetupTextLayout != null && mSetupTextLayout.getText().equals(info.label)
-                && mSetupTextLayout.getWidth() == availableWidth) {
-            return;
-        }
-        mSetupTextLayout = new StaticLayout(info.label, mPaint, availableWidth,
-                Layout.Alignment.ALIGN_CENTER, 1, 0, true);
-    }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        if (mSetupTextLayout != null) {
-            canvas.translate((getWidth() - mSetupTextLayout.getWidth()) / 2,
-                    (getHeight() - mSetupTextLayout.getHeight()) / 2);
-            mSetupTextLayout.draw(canvas);
-        }
-    }
-}
diff --git a/src/com/android/launcher3/widget/LauncherAppWidgetHost.java b/src/com/android/launcher3/widget/LauncherAppWidgetHost.java
index 9c21ea2..b1c477c 100644
--- a/src/com/android/launcher3/widget/LauncherAppWidgetHost.java
+++ b/src/com/android/launcher3/widget/LauncherAppWidgetHost.java
@@ -21,13 +21,22 @@
 import android.appwidget.AppWidgetHost;
 import android.appwidget.AppWidgetProviderInfo;
 import android.content.Context;
+import android.view.accessibility.AccessibilityNodeInfo;
+import android.widget.RemoteViews;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.launcher3.LauncherAppState;
+import com.android.launcher3.util.Executors;
+import com.android.launcher3.util.SafeCloseable;
+import com.android.launcher3.widget.LauncherWidgetHolder.ProviderChangedListener;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+import java.util.WeakHashMap;
 import java.util.function.IntConsumer;
 
 /**
@@ -37,8 +46,7 @@
  */
 class LauncherAppWidgetHost extends AppWidgetHost {
     @NonNull
-    private final ArrayList<LauncherWidgetHolder.ProviderChangedListener>
-            mProviderChangeListeners = new ArrayList<>();
+    private final List<ProviderChangedListener> mProviderChangeListeners;
 
     @NonNull
     private final Context mContext;
@@ -46,33 +54,13 @@
     @Nullable
     private final IntConsumer mAppWidgetRemovedCallback;
 
-    @NonNull
-    private final LauncherWidgetHolder mHolder;
-
     public LauncherAppWidgetHost(@NonNull Context context,
-            @Nullable IntConsumer appWidgetRemovedCallback, @NonNull LauncherWidgetHolder holder) {
+            @Nullable IntConsumer appWidgetRemovedCallback,
+            List<ProviderChangedListener> providerChangeListeners) {
         super(context, APPWIDGET_HOST_ID);
         mContext = context;
         mAppWidgetRemovedCallback = appWidgetRemovedCallback;
-        mHolder = holder;
-    }
-
-    /**
-     * Add a listener that is triggered when the providers of the widgets are changed
-     * @param listener The listener that notifies when the providers changed
-     */
-    public void addProviderChangeListener(
-            @NonNull LauncherWidgetHolder.ProviderChangedListener listener) {
-        mProviderChangeListeners.add(listener);
-    }
-
-    /**
-     * Remove the specified listener from the host
-     * @param listener The listener that is to be removed from the host
-     */
-    public void removeProviderChangeListener(
-            LauncherWidgetHolder.ProviderChangedListener listener) {
-        mProviderChangeListeners.remove(listener);
+        mProviderChangeListeners = providerChangeListeners;
     }
 
     @Override
@@ -89,7 +77,7 @@
     @NonNull
     public LauncherAppWidgetHostView onCreateView(Context context, int appWidgetId,
             AppWidgetProviderInfo appWidget) {
-        return mHolder.onCreateView(context, appWidgetId, appWidget);
+        return new ListenableHostView(context);
     }
 
     /**
@@ -115,7 +103,10 @@
         if (mAppWidgetRemovedCallback == null) {
             return;
         }
-        mAppWidgetRemovedCallback.accept(appWidgetId);
+        // Route the call via model thread, in case it comes while a loader-bind is in progress
+        Executors.MODEL_EXECUTOR.execute(
+                () -> Executors.MAIN_EXECUTOR.execute(
+                        () -> mAppWidgetRemovedCallback.accept(appWidgetId)));
     }
 
     /**
@@ -126,4 +117,36 @@
         super.clearViews();
     }
 
+    public static class ListenableHostView extends LauncherAppWidgetHostView {
+
+        private Set<Runnable> mUpdateListeners = Collections.EMPTY_SET;
+
+        ListenableHostView(Context context) {
+            super(context);
+        }
+
+        @Override
+        public void updateAppWidget(RemoteViews remoteViews) {
+            super.updateAppWidget(remoteViews);
+            mUpdateListeners.forEach(Runnable::run);
+        }
+
+        @Override
+        public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
+            super.onInitializeAccessibilityNodeInfo(info);
+            info.setClassName(LauncherAppWidgetHostView.class.getName());
+        }
+
+        /**
+         * Adds a callback to be run everytime the provided app widget updates.
+         * @return a closable to remove this callback
+         */
+        public SafeCloseable addUpdateListener(Runnable callback) {
+            if (mUpdateListeners == Collections.EMPTY_SET) {
+                mUpdateListeners = Collections.newSetFromMap(new WeakHashMap<>());
+            }
+            mUpdateListeners.add(callback);
+            return () -> mUpdateListeners.remove(callback);
+        }
+    }
 }
diff --git a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java
index 340a61e..e0de269 100644
--- a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java
+++ b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java
@@ -19,31 +19,32 @@
 import android.annotation.TargetApi;
 import android.appwidget.AppWidgetProviderInfo;
 import android.content.Context;
-import android.content.res.Configuration;
 import android.graphics.Rect;
 import android.os.Build;
 import android.os.Handler;
+import android.os.Parcelable;
 import android.os.SystemClock;
 import android.os.Trace;
 import android.util.Log;
+import android.util.SparseArray;
 import android.util.SparseBooleanArray;
 import android.util.SparseIntArray;
 import android.view.MotionEvent;
 import android.view.View;
-import android.view.ViewDebug;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.AdapterView;
 import android.widget.Advanceable;
 import android.widget.RemoteViews;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.launcher3.CheckLongPressHelper;
+import com.android.launcher3.Flags;
 import com.android.launcher3.Launcher;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
-import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.dragndrop.DragLayer;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.model.data.LauncherAppWidgetInfo;
@@ -63,6 +64,8 @@
     private static final long ADVANCE_INTERVAL = 20000;
     private static final long ADVANCE_STAGGER = 250;
 
+    private @Nullable CellChildViewPreLayoutListener mCellChildViewPreLayoutListener;
+
     // Maintains a list of widget ids which are supposed to be auto advanced.
     private static final SparseBooleanArray sAutoAdvanceWidgetIds = new SparseBooleanArray();
     // Maximum duration for which updates can be deferred.
@@ -74,9 +77,6 @@
     private final CheckLongPressHelper mLongPressHelper;
     protected final Launcher mLauncher;
 
-    @ViewDebug.ExportedProperty(category = "launcher")
-    private boolean mReinflateOnConfigChange;
-
     // Maintain the color manager.
     private final LocalColorExtractor mColorExtractor;
 
@@ -95,14 +95,15 @@
 
     private boolean mTrackingWidgetUpdate = false;
 
-    private boolean mIsWidgetCachingDisabled = false;
-
     public LauncherAppWidgetHostView(Context context) {
         super(context);
         mLauncher = Launcher.getLauncher(context);
         mLongPressHelper = new CheckLongPressHelper(this, this);
         setAccessibilityDelegate(mLauncher.getAccessibilityDelegate());
         setBackgroundResource(R.drawable.widget_internal_focus_bg);
+        if (Flags.enableFocusOutline()) {
+            setDefaultFocusHighlightEnabled(false);
+        }
 
         if (Utilities.ATLEAST_Q && Themes.getAttrBoolean(mLauncher, R.attr.isWorkspaceDarkText)) {
             setOnLightBackground(true);
@@ -140,10 +141,6 @@
         }
     }
 
-    public void setIsWidgetCachingDisabled(boolean isWidgetCachingDisabled) {
-        mIsWidgetCachingDisabled = isWidgetCachingDisabled;
-    }
-
     @Override
     @TargetApi(Build.VERSION_CODES.Q)
     public void updateAppWidget(RemoteViews remoteViews) {
@@ -153,35 +150,16 @@
                     TRACE_METHOD_NAME + getAppWidgetInfo().provider, getAppWidgetId());
             mTrackingWidgetUpdate = false;
         }
-        if (FeatureFlags.ENABLE_CACHED_WIDGET.get()
-                && !mIsWidgetCachingDisabled) {
+        if (isDeferringUpdates()) {
             mLastRemoteViews = remoteViews;
-            if (isDeferringUpdates()) {
-                return;
-            }
-        } else {
-            if (isDeferringUpdates()) {
-                mLastRemoteViews = remoteViews;
-                return;
-            }
-            mLastRemoteViews = null;
+            return;
         }
+        mLastRemoteViews = null;
 
         super.updateAppWidget(remoteViews);
 
         // The provider info or the views might have changed.
         checkIfAutoAdvance();
-
-        // It is possible that widgets can receive updates while launcher is not in the foreground.
-        // Consequently, the widgets will be inflated for the orientation of the foreground activity
-        // (framework issue). On resuming, we ensure that any widgets are inflated for the current
-        // orientation.
-        mReinflateOnConfigChange = !isSameOrientation();
-    }
-
-    private boolean isSameOrientation() {
-        return mLauncher.getResources().getConfiguration().orientation ==
-                mLauncher.getOrientation();
     }
 
     private boolean checkScrollableRecursively(ViewGroup viewGroup) {
@@ -335,6 +313,26 @@
         requestLayout();
     }
 
+    /**
+     * Set the pre-layout listener
+     * @param listener The listener to be notified when {@code CellLayout} is to layout this view
+     */
+    public void setCellChildViewPreLayoutListener(
+            @NonNull CellChildViewPreLayoutListener listener) {
+        mCellChildViewPreLayoutListener = listener;
+    }
+
+    /** @return The current cell layout listener */
+    @Nullable
+    public CellChildViewPreLayoutListener getCellChildViewPreLayoutListener() {
+        return mCellChildViewPreLayoutListener;
+    }
+
+    /** Clear the listener for the pre-layout in CellLayout */
+    public void clearCellChildViewPreLayoutListener() {
+        mCellChildViewPreLayoutListener = null;
+    }
+
     @Override
     public void onColorsChanged(SparseIntArray colors) {
         if (isDeferringUpdates()) {
@@ -426,33 +424,6 @@
     }
 
     @Override
-    protected void onConfigurationChanged(Configuration newConfig) {
-        super.onConfigurationChanged(newConfig);
-
-        // Only reinflate when the final configuration is same as the required configuration
-        if (mReinflateOnConfigChange && isSameOrientation()) {
-            mReinflateOnConfigChange = false;
-            reInflate();
-        }
-    }
-
-    public void reInflate() {
-        if (!isAttachedToWindow()) {
-            return;
-        }
-        LauncherAppWidgetInfo info = (LauncherAppWidgetInfo) getTag();
-        if (info == null) {
-            // This occurs when LauncherAppWidgetHostView is used to render a preview layout.
-            return;
-        }
-        // Remove and rebind the current widget (which was inflated in the wrong
-        // orientation), but don't delete it from the database
-        mLauncher.removeItem(this, info, false  /* deleteFromDb */,
-                "widget removed because of configuration change");
-        mLauncher.bindAppWidget(info);
-    }
-
-    @Override
     protected boolean shouldAllowDirectClick() {
         if (getTag() instanceof ItemInfo) {
             ItemInfo item = (ItemInfo) getTag();
@@ -460,4 +431,28 @@
         }
         return false;
     }
+
+    /**
+     * Listener interface to be called when {@code CellLayout} is about to layout this child view
+     */
+    public interface CellChildViewPreLayoutListener {
+        /**
+         * Notify the bound changes to this view on pre-layout
+         * @param v The view which the listener is set for
+         * @param left The new left coordinate of this view
+         * @param top The new top coordinate of this view
+         * @param right The new right coordinate of this view
+         * @param bottom The new bottom coordinate of this view
+         */
+        void notifyBoundChangeOnPreLayout(View v, int left, int top, int right, int bottom);
+    }
+
+    @Override
+    protected void dispatchRestoreInstanceState(SparseArray<Parcelable> container) {
+        try {
+            super.dispatchRestoreInstanceState(container);
+        } catch (Exception e) {
+            Log.i(TAG, "Exception: " + e);
+        }
+    }
 }
diff --git a/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java b/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java
index 10aef9a..ef51d15 100644
--- a/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java
+++ b/src/com/android/launcher3/widget/LauncherAppWidgetProviderInfo.java
@@ -67,7 +67,7 @@
      */
     public int maxSpanY;
 
-    private boolean mIsMinSizeFulfilled;
+    protected boolean mIsMinSizeFulfilled;
 
     public static LauncherAppWidgetProviderInfo fromProviderInfo(Context context,
             AppWidgetProviderInfo info) {
diff --git a/src/com/android/launcher3/widget/LauncherWidgetHolder.java b/src/com/android/launcher3/widget/LauncherWidgetHolder.java
index 6acc83d..23127b3 100644
--- a/src/com/android/launcher3/widget/LauncherWidgetHolder.java
+++ b/src/com/android/launcher3/widget/LauncherWidgetHolder.java
@@ -28,7 +28,6 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.util.SparseArray;
-import android.widget.RemoteViews;
 import android.widget.Toast;
 
 import androidx.annotation.NonNull;
@@ -36,17 +35,19 @@
 
 import com.android.launcher3.BaseActivity;
 import com.android.launcher3.BaseDraggingActivity;
-import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
-import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.model.WidgetsModel;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.testing.TestLogging;
 import com.android.launcher3.testing.shared.TestProtocol;
 import com.android.launcher3.util.ResourceBasedOverride;
+import com.android.launcher3.util.SafeCloseable;
+import com.android.launcher3.widget.LauncherAppWidgetHost.ListenableHostView;
 import com.android.launcher3.widget.custom.CustomWidgetManager;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.function.IntConsumer;
 
 /**
@@ -64,17 +65,14 @@
             FLAG_STATE_IS_NORMAL | FLAG_ACTIVITY_STARTED | FLAG_ACTIVITY_RESUMED;
 
     @NonNull
-    private final Context mContext;
+    protected final Context mContext;
 
     @NonNull
     private final AppWidgetHost mWidgetHost;
 
     @NonNull
-    private final SparseArray<LauncherAppWidgetHostView> mViews = new SparseArray<>();
-    @NonNull
-    private final SparseArray<PendingAppWidgetHostView> mPendingViews = new SparseArray<>();
-    @NonNull
-    private final SparseArray<LauncherAppWidgetHostView> mDeferredViews = new SparseArray<>();
+    protected final SparseArray<LauncherAppWidgetHostView> mViews = new SparseArray<>();
+    protected final List<ProviderChangedListener> mProviderChangedListeners = new ArrayList<>();
 
     protected int mFlags = FLAG_STATE_IS_NORMAL;
 
@@ -91,7 +89,8 @@
 
     protected AppWidgetHost createHost(
             Context context, @Nullable IntConsumer appWidgetRemovedCallback) {
-        return new LauncherAppWidgetHost(context, appWidgetRemovedCallback, this);
+        return new LauncherAppWidgetHost(
+                context, appWidgetRemovedCallback, mProviderChangedListeners);
     }
 
     /**
@@ -121,25 +120,12 @@
      * Update any views which have been deferred because the host was not listening.
      */
     protected void updateDeferredView() {
+        // Update any views which have been deferred because the host was not listening.
         // We go in reverse order and inflate any deferred or cached widget
         for (int i = mViews.size() - 1; i >= 0; i--) {
             LauncherAppWidgetHostView view = mViews.valueAt(i);
-            if (view instanceof DeferredAppWidgetHostView) {
-                view.reInflate();
-            }
-            if (FeatureFlags.ENABLE_CACHED_WIDGET.get()) {
-                final int appWidgetId = mViews.keyAt(i);
-                if (view == mDeferredViews.get(appWidgetId)) {
-                    // If the widget view was deferred, we'll need to call super.createView here
-                    // to make the binder call to system process to fetch cumulative updates to this
-                    // widget, as well as setting up this view for future updates.
-                    mWidgetHost.createView(view.mLauncher, appWidgetId,
-                            view.getAppWidgetInfo());
-                    // At this point #onCreateView should have been called, which in turn returned
-                    // the deferred view. There's no reason to keep the reference anymore, so we
-                    // removed it here.
-                    mDeferredViews.remove(appWidgetId);
-                }
+            if (view instanceof PendingAppWidgetHostView pv) {
+                pv.reInflate();
             }
         }
     }
@@ -173,34 +159,6 @@
     public void deleteAppWidgetId(int appWidgetId) {
         mWidgetHost.deleteAppWidgetId(appWidgetId);
         mViews.remove(appWidgetId);
-        if (FeatureFlags.ENABLE_CACHED_WIDGET.get()) {
-            final LauncherAppState state = LauncherAppState.getInstance(mContext);
-            synchronized (state.mCachedRemoteViews) {
-                state.mCachedRemoteViews.delete(appWidgetId);
-            }
-        }
-    }
-
-    /**
-     * Add the pending view to the host for complete configuration in further steps
-     * @param appWidgetId The ID of the specified app widget
-     * @param view The {@link PendingAppWidgetHostView} of the app widget
-     */
-    public void addPendingView(int appWidgetId, @NonNull PendingAppWidgetHostView view) {
-        mPendingViews.put(appWidgetId, view);
-    }
-
-    /**
-     * @param appWidgetId The app widget id of the specified widget
-     * @return The {@link PendingAppWidgetHostView} of the widget if it exists, null otherwise
-     */
-    @Nullable
-    protected PendingAppWidgetHostView getPendingView(int appWidgetId) {
-        return mPendingViews.get(appWidgetId);
-    }
-
-    protected void removePendingView(int appWidgetId) {
-        mPendingViews.remove(appWidgetId);
     }
 
     /**
@@ -225,18 +183,18 @@
      * Add a listener that is triggered when the providers of the widgets are changed
      * @param listener The listener that notifies when the providers changed
      */
-    public void addProviderChangeListener(@NonNull ProviderChangedListener listener) {
-        LauncherAppWidgetHost tempHost = (LauncherAppWidgetHost) mWidgetHost;
-        tempHost.addProviderChangeListener(listener);
+    public void addProviderChangeListener(
+            @NonNull LauncherWidgetHolder.ProviderChangedListener listener) {
+        MAIN_EXECUTOR.execute(() -> mProviderChangedListeners.add(listener));
     }
 
     /**
      * Remove the specified listener from the host
      * @param listener The listener that is to be removed from the host
      */
-    public void removeProviderChangeListener(ProviderChangedListener listener) {
-        LauncherAppWidgetHost tempHost = (LauncherAppWidgetHost) mWidgetHost;
-        tempHost.removeProviderChangeListener(listener);
+    public void removeProviderChangeListener(
+            LauncherWidgetHolder.ProviderChangedListener listener) {
+        MAIN_EXECUTOR.execute(() -> mProviderChangedListeners.remove(listener));
     }
 
     /**
@@ -319,17 +277,6 @@
         if (WidgetsModel.GO_DISABLE_WIDGETS) {
             return;
         }
-        if (FeatureFlags.ENABLE_CACHED_WIDGET.get()) {
-            // Cache the content from the widgets when Launcher stops listening to widget updates
-            final LauncherAppState state = LauncherAppState.getInstance(mContext);
-            synchronized (state.mCachedRemoteViews) {
-                for (int i = 0; i < mViews.size(); i++) {
-                    final int appWidgetId = mViews.keyAt(i);
-                    final LauncherAppWidgetHostView view = mViews.get(appWidgetId);
-                    state.mCachedRemoteViews.put(appWidgetId, view.mLastRemoteViews);
-                }
-            }
-        }
         mWidgetHost.stopListening();
         setListeningFlag(false);
     }
@@ -351,47 +298,51 @@
     }
 
     /**
+     * Adds a callback to be run everytime the provided app widget updates.
+     * @return a closable to remove this callback
+     */
+    public SafeCloseable addOnUpdateListener(
+            int appWidgetId, LauncherAppWidgetProviderInfo appWidget, Runnable callback) {
+        if (createView(appWidgetId, appWidget) instanceof ListenableHostView lhv) {
+            return lhv.addUpdateListener(callback);
+        }
+        return () -> { };
+    }
+
+    /**
      * Create a view for the specified app widget
-     * @param context The activity context for which the view is created
+     *
      * @param appWidgetId The ID of the widget
-     * @param appWidget The {@link LauncherAppWidgetProviderInfo} of the widget
+     * @param appWidget   The {@link LauncherAppWidgetProviderInfo} of the widget
      * @return A view for the widget
      */
     @NonNull
-    public AppWidgetHostView createView(@NonNull Context context, int appWidgetId,
-            @NonNull LauncherAppWidgetProviderInfo appWidget) {
+    public AppWidgetHostView createView(
+            int appWidgetId, @NonNull LauncherAppWidgetProviderInfo appWidget) {
         if (appWidget.isCustomWidget()) {
-            LauncherAppWidgetHostView lahv = new LauncherAppWidgetHostView(context);
+            LauncherAppWidgetHostView lahv = new LauncherAppWidgetHostView(mContext);
             lahv.setAppWidget(0, appWidget);
-            CustomWidgetManager.INSTANCE.get(context).onViewCreated(lahv);
+            CustomWidgetManager.INSTANCE.get(mContext).onViewCreated(lahv);
             return lahv;
-        } else if ((mFlags & FLAG_LISTENING) == 0) {
+        }
+
+        LauncherAppWidgetHostView view = createViewInternal(appWidgetId, appWidget);
+        mViews.put(appWidgetId, view);
+        return view;
+    }
+
+    @NonNull
+    protected LauncherAppWidgetHostView createViewInternal(
+            int appWidgetId, @NonNull LauncherAppWidgetProviderInfo appWidget) {
+        if ((mFlags & FLAG_LISTENING) == 0) {
             // Since the launcher hasn't started listening to widget updates, we can't simply call
-            // super.createView here because the later will make a binder call to retrieve
+            // host.createView here because the later will make a binder call to retrieve
             // RemoteViews from system process.
-            // TODO: have launcher always listens to widget updates in background so that this
-            //  check can be removed altogether.
-            if (FeatureFlags.ENABLE_CACHED_WIDGET.get()) {
-                final RemoteViews cachedRemoteViews = getCachedRemoteViews(appWidgetId);
-                if (cachedRemoteViews != null) {
-                    // We've found RemoteViews from cache for this widget, so we will instantiate a
-                    // widget host view and populate it with the cached RemoteViews.
-                    final LauncherAppWidgetHostView view = new LauncherAppWidgetHostView(context);
-                    view.setAppWidget(appWidgetId, appWidget);
-                    view.updateAppWidget(cachedRemoteViews);
-                    mDeferredViews.put(appWidgetId, view);
-                    mViews.put(appWidgetId, view);
-                    return view;
-                }
-            }
-            // If cache misses or not enabled, a placeholder for the widget will be returned.
-            DeferredAppWidgetHostView view = new DeferredAppWidgetHostView(context);
-            view.setAppWidget(appWidgetId, appWidget);
-            mViews.put(appWidgetId, view);
-            return view;
+            return new PendingAppWidgetHostView(mContext, appWidgetId, appWidget);
         } else {
             try {
-                return mWidgetHost.createView(context, appWidgetId, appWidget);
+                return (LauncherAppWidgetHostView) mWidgetHost.createView(
+                        mContext, appWidgetId, appWidget);
             } catch (Exception e) {
                 if (!Utilities.isBinderSizeError(e)) {
                     throw new RuntimeException(e);
@@ -402,7 +353,7 @@
                 // will update.
                 LauncherAppWidgetHostView view = mViews.get(appWidgetId);
                 if (view == null) {
-                    view = onCreateView(mContext, appWidgetId, appWidget);
+                    view = new ListenableHostView(mContext);
                 }
                 view.setAppWidget(appWidgetId, appWidget);
                 view.switchToErrorView();
@@ -422,41 +373,11 @@
     }
 
     /**
-     * Called to return a proper view when creating a view
-     * @param context The context for which the widget view is created
-     * @param appWidgetId The ID of the added widget
-     * @param appWidget The provider info of the added widget
-     * @return A view for the specified app widget
-     */
-    @NonNull
-    public LauncherAppWidgetHostView onCreateView(Context context, int appWidgetId,
-            AppWidgetProviderInfo appWidget) {
-        final LauncherAppWidgetHostView view;
-        if (getPendingView(appWidgetId) != null) {
-            view = getPendingView(appWidgetId);
-            removePendingView(appWidgetId);
-        } else if (mDeferredViews.get(appWidgetId) != null) {
-            // In case the widget view is deferred, we will simply return the deferred view as
-            // opposed to instantiate a new instance of LauncherAppWidgetHostView since launcher
-            // already added the former to the workspace.
-            view = mDeferredViews.get(appWidgetId);
-        } else {
-            view = new LauncherAppWidgetHostView(context);
-        }
-        mViews.put(appWidgetId, view);
-        return view;
-    }
-
-    /**
      * Clears all the views from the host
      */
     public void clearViews() {
         LauncherAppWidgetHost tempHost = (LauncherAppWidgetHost) mWidgetHost;
         tempHost.clearViews();
-        if (FeatureFlags.ENABLE_CACHED_WIDGET.get()) {
-            // Clear previously cached content from existing widgets
-            mDeferredViews.clear();
-        }
         mViews.clear();
     }
 
@@ -496,14 +417,6 @@
         return (flags & FLAGS_SHOULD_LISTEN) == FLAGS_SHOULD_LISTEN;
     }
 
-    @Nullable
-    private RemoteViews getCachedRemoteViews(int appWidgetId) {
-        final LauncherAppState state = LauncherAppState.getInstance(mContext);
-        synchronized (state.mCachedRemoteViews) {
-            return state.mCachedRemoteViews.get(appWidgetId);
-        }
-    }
-
     /**
      * Returns the new LauncherWidgetHolder instance
      */
diff --git a/src/com/android/launcher3/widget/PendingAppWidgetHostView.java b/src/com/android/launcher3/widget/PendingAppWidgetHostView.java
index 1c88c4a..25979c2 100644
--- a/src/com/android/launcher3/widget/PendingAppWidgetHostView.java
+++ b/src/com/android/launcher3/widget/PendingAppWidgetHostView.java
@@ -18,17 +18,20 @@
 
 import static com.android.launcher3.graphics.PreloadIconDrawable.newPendingIcon;
 import static com.android.launcher3.icons.FastBitmapDrawable.getDisabledColorFilter;
+import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.PorterDuff;
 import android.graphics.Rect;
+import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.text.Layout;
 import android.text.StaticLayout;
 import android.text.TextPaint;
+import android.text.TextUtils;
 import android.util.SizeF;
 import android.util.TypedValue;
 import android.view.ContextThemeWrapper;
@@ -36,17 +39,18 @@
 import android.view.View.OnClickListener;
 import android.widget.RemoteViews;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.R;
 import com.android.launcher3.icons.FastBitmapDrawable;
-import com.android.launcher3.icons.IconCache;
 import com.android.launcher3.icons.IconCache.ItemInfoUpdateReceiver;
 import com.android.launcher3.model.data.ItemInfoWithIcon;
 import com.android.launcher3.model.data.LauncherAppWidgetInfo;
 import com.android.launcher3.model.data.PackageItemInfo;
-import com.android.launcher3.touch.ItemClickHandler;
+import com.android.launcher3.util.SafeCloseable;
 import com.android.launcher3.util.Themes;
 
 import java.util.List;
@@ -56,11 +60,24 @@
     private static final float SETUP_ICON_SIZE_FACTOR = 2f / 5;
     private static final float MIN_SATUNATION = 0.7f;
 
+    private static final int FLAG_DRAW_SETTINGS = 1;
+    private static final int FLAG_DRAW_ICON = 2;
+    private static final int FLAG_DRAW_LABEL = 4;
+
+    private static final int DEFERRED_ALPHA = 0x77;
+
     private final Rect mRect = new Rect();
-    private OnClickListener mClickListener;
+
+    private final LauncherAppWidgetProviderInfo mAppwidget;
     private final LauncherAppWidgetInfo mInfo;
     private final int mStartState;
     private final boolean mDisabledForSafeMode;
+    private final CharSequence mLabel;
+
+    private OnClickListener mClickListener;
+    private SafeCloseable mOnDetachCleanup;
+
+    private int mDragFlags;
 
     private Drawable mCenterDrawable;
     private Drawable mSettingIconDrawable;
@@ -71,19 +88,9 @@
     private Layout mSetupTextLayout;
 
     public PendingAppWidgetHostView(Context context, LauncherAppWidgetInfo info,
-            IconCache cache, boolean disabledForSafeMode) {
-        super(new ContextThemeWrapper(context, R.style.WidgetContainerTheme));
-
-        mInfo = info;
-        mStartState = info.restoreStatus;
-        mDisabledForSafeMode = disabledForSafeMode;
-
-        mPaint = new TextPaint();
-        mPaint.setColor(Themes.getAttrColor(getContext(), android.R.attr.textColorPrimary));
-        mPaint.setTextSize(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX,
-                mLauncher.getDeviceProfile().iconTextSizePx, getResources().getDisplayMetrics()));
-        setBackgroundResource(R.drawable.pending_widget_bg);
-        setWillNotDraw(false);
+            @Nullable LauncherAppWidgetProviderInfo appWidget) {
+        this(context, info, appWidget,
+                context.getResources().getText(R.string.gadget_complete_setup_text));
 
         super.updateAppWidget(null);
         setOnClickListener(mLauncher.getItemOnClickListener());
@@ -91,22 +98,102 @@
         if (info.pendingItemInfo == null) {
             info.pendingItemInfo = new PackageItemInfo(info.providerName.getPackageName(),
                     info.user);
-            cache.updateIconInBackground(this, info.pendingItemInfo);
+            LauncherAppState.getInstance(context).getIconCache()
+                    .updateIconInBackground(this, info.pendingItemInfo);
         } else {
             reapplyItemInfo(info.pendingItemInfo);
         }
     }
 
+    public PendingAppWidgetHostView(
+            Context context, int appWidgetId, @NonNull LauncherAppWidgetProviderInfo appWidget) {
+        this(context, new LauncherAppWidgetInfo(appWidgetId, appWidget.provider),
+                appWidget, appWidget.label);
+        getBackground().mutate().setAlpha(DEFERRED_ALPHA);
+
+        mCenterDrawable = new ColorDrawable(Color.TRANSPARENT);
+        mDragFlags = FLAG_DRAW_LABEL;
+        mDrawableSizeChanged = true;
+    }
+
+    private PendingAppWidgetHostView(Context context, LauncherAppWidgetInfo info,
+            LauncherAppWidgetProviderInfo appwidget, CharSequence label) {
+        super(new ContextThemeWrapper(context, R.style.WidgetContainerTheme));
+
+        mAppwidget = appwidget;
+        mInfo = info;
+        mStartState = info.restoreStatus;
+        mDisabledForSafeMode = LauncherAppState.getInstance(context).isSafeModeEnabled();
+        mLabel = label;
+
+        mPaint = new TextPaint();
+        mPaint.setColor(Themes.getAttrColor(getContext(), android.R.attr.textColorPrimary));
+        mPaint.setTextSize(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX,
+                mLauncher.getDeviceProfile().iconTextSizePx, getResources().getDisplayMetrics()));
+
+        setWillNotDraw(false);
+        setBackgroundResource(R.drawable.pending_widget_bg);
+    }
+
     @Override
     public void updateAppWidget(RemoteViews remoteViews) {
+        checkIfRestored();
+    }
+
+    private void checkIfRestored() {
         WidgetManagerHelper widgetManagerHelper = new WidgetManagerHelper(getContext());
         if (widgetManagerHelper.isAppWidgetRestored(mInfo.appWidgetId)) {
-            super.updateAppWidget(remoteViews);
-            reInflate();
+            MAIN_EXECUTOR.getHandler().post(this::reInflate);
         }
     }
 
     @Override
+    protected void onAttachedToWindow() {
+        super.onAttachedToWindow();
+
+        if ((mAppwidget != null)
+                && !mInfo.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_NOT_VALID)
+                && mInfo.restoreStatus != LauncherAppWidgetInfo.RESTORE_COMPLETED) {
+            // If the widget is not completely restored, but has a valid ID, then listen of
+            // updates from provider app for potential restore complete.
+            if (mOnDetachCleanup != null) {
+                mOnDetachCleanup.close();
+            }
+            mOnDetachCleanup = mLauncher.getAppWidgetHolder()
+                    .addOnUpdateListener(mInfo.appWidgetId, mAppwidget, this::checkIfRestored);
+            checkIfRestored();
+        }
+    }
+
+    @Override
+    protected void onDetachedFromWindow() {
+        super.onDetachedFromWindow();
+        if (mOnDetachCleanup != null) {
+            mOnDetachCleanup.close();
+            mOnDetachCleanup = null;
+        }
+    }
+
+    /**
+     * Forces the Launcher to reinflate the widget view
+     */
+    public void reInflate() {
+        if (!isAttachedToWindow()) {
+            return;
+        }
+        LauncherAppWidgetInfo info = (LauncherAppWidgetInfo) getTag();
+        if (info == null) {
+            // This occurs when LauncherAppWidgetHostView is used to render a preview layout.
+            return;
+        }
+        // Remove and rebind the current widget (which was inflated in the wrong
+        // orientation), but don't delete it from the database
+        mLauncher.removeItem(this, info, false  /* deleteFromDb */,
+                "widget removed because of configuration change");
+        mLauncher.bindAppWidget(info);
+    }
+
+    @Override
     public void updateAppWidgetSize(Bundle newOptions, int minWidth, int minHeight, int maxWidth,
             int maxHeight) {
         // No-op
@@ -147,7 +234,10 @@
             mCenterDrawable.setCallback(null);
             mCenterDrawable = null;
         }
+        mDragFlags = 0;
         if (info.bitmap.icon != null) {
+            mDragFlags = FLAG_DRAW_ICON;
+
             Drawable widgetCategoryIcon = getWidgetCategoryIcon();
             // The view displays three modes,
             //   1) App icon in the center
@@ -169,6 +259,8 @@
                         : widgetCategoryIcon;
                 mSettingIconDrawable = getResources().getDrawable(R.drawable.ic_setting).mutate();
                 updateSettingColor(info.bitmap.color);
+
+                mDragFlags |= FLAG_DRAW_SETTINGS | FLAG_DRAW_LABEL;
             } else {
                 mCenterDrawable = widgetCategoryIcon == null
                         ? newPendingIcon(getContext(), info)
@@ -239,68 +331,63 @@
         int availableWidth = getWidth() - paddingLeft - paddingRight - 2 * minPadding;
         int availableHeight = getHeight() - paddingTop - paddingBottom - 2 * minPadding;
 
-        if (mSettingIconDrawable == null) {
-            int maxSize = grid.iconSizePx;
-            int size = Math.min(maxSize, Math.min(availableWidth, availableHeight));
+        float iconSize = ((mDragFlags & FLAG_DRAW_ICON) == 0) ? 0
+                : Math.max(0, Math.min(availableWidth, availableHeight));
+        // Use twice the setting size factor, as the setting is drawn at a corner and the
+        // icon is drawn in the center.
+        float settingIconScaleFactor = ((mDragFlags & FLAG_DRAW_SETTINGS) == 0) ? 0
+                : 1 + SETUP_ICON_SIZE_FACTOR * 2;
 
-            mRect.set(0, 0, size, size);
-            mRect.offsetTo((getWidth() - mRect.width()) / 2, (getHeight() - mRect.height()) / 2);
-            mCenterDrawable.setBounds(mRect);
-        } else  {
-            float iconSize = Math.max(0, Math.min(availableWidth, availableHeight));
+        int maxSize = Math.max(availableWidth, availableHeight);
+        if (iconSize * settingIconScaleFactor > maxSize) {
+            // There is an overlap
+            iconSize = maxSize / settingIconScaleFactor;
+        }
 
-            // Use twice the setting size factor, as the setting is drawn at a corner and the
-            // icon is drawn in the center.
-            float settingIconScaleFactor = 1 + SETUP_ICON_SIZE_FACTOR * 2;
-            int maxSize = Math.max(availableWidth, availableHeight);
-            if (iconSize * settingIconScaleFactor > maxSize) {
-                // There is an overlap
-                iconSize = maxSize / settingIconScaleFactor;
+        int actualIconSize = (int) Math.min(iconSize, grid.iconSizePx);
+
+        // Icon top when we do not draw the text
+        int iconTop = (getHeight() - actualIconSize) / 2;
+        mSetupTextLayout = null;
+
+        if (availableWidth > 0 && !TextUtils.isEmpty(mLabel)
+                && ((mDragFlags & FLAG_DRAW_LABEL) != 0)) {
+            // Recreate the setup text.
+            mSetupTextLayout = new StaticLayout(
+                    mLabel, mPaint, availableWidth, Layout.Alignment.ALIGN_CENTER, 1, 0, true);
+            int textHeight = mSetupTextLayout.getHeight();
+
+            // Extra icon size due to the setting icon
+            float minHeightWithText = textHeight + actualIconSize * settingIconScaleFactor
+                    + grid.iconDrawablePaddingPx;
+
+            if (minHeightWithText < availableHeight) {
+                // We can draw the text as well
+                iconTop = (getHeight() - textHeight
+                        - grid.iconDrawablePaddingPx - actualIconSize) / 2;
+
+            } else {
+                // We can't draw the text. Let the iconTop be same as before.
+                mSetupTextLayout = null;
             }
+        }
 
-            int actualIconSize = (int) Math.min(iconSize, grid.iconSizePx);
+        mRect.set(0, 0, actualIconSize, actualIconSize);
+        mRect.offset((getWidth() - actualIconSize) / 2, iconTop);
+        mCenterDrawable.setBounds(mRect);
 
-            // Icon top when we do not draw the text
-            int iconTop = (getHeight() - actualIconSize) / 2;
-            mSetupTextLayout = null;
-
-            if (availableWidth > 0) {
-                // Recreate the setup text.
-                mSetupTextLayout = new StaticLayout(
-                        getResources().getText(R.string.gadget_complete_setup_text), mPaint,
-                        availableWidth, Layout.Alignment.ALIGN_CENTER, 1, 0, true);
-                int textHeight = mSetupTextLayout.getHeight();
-
-                // Extra icon size due to the setting icon
-                float minHeightWithText = textHeight + actualIconSize * settingIconScaleFactor
-                        + grid.iconDrawablePaddingPx;
-
-                if (minHeightWithText < availableHeight) {
-                    // We can draw the text as well
-                    iconTop = (getHeight() - textHeight -
-                            grid.iconDrawablePaddingPx - actualIconSize) / 2;
-
-                } else {
-                    // We can't draw the text. Let the iconTop be same as before.
-                    mSetupTextLayout = null;
-                }
-            }
-
-            mRect.set(0, 0, actualIconSize, actualIconSize);
-            mRect.offset((getWidth() - actualIconSize) / 2, iconTop);
-            mCenterDrawable.setBounds(mRect);
-
+        if (mSettingIconDrawable != null) {
             mRect.left = paddingLeft + minPadding;
             mRect.right = mRect.left + (int) (SETUP_ICON_SIZE_FACTOR * actualIconSize);
             mRect.top = paddingTop + minPadding;
             mRect.bottom = mRect.top + (int) (SETUP_ICON_SIZE_FACTOR * actualIconSize);
             mSettingIconDrawable.setBounds(mRect);
+        }
 
-            if (mSetupTextLayout != null) {
-                // Set up position for dragging the text
-                mRect.left = paddingLeft + minPadding;
-                mRect.top = mCenterDrawable.getBounds().bottom + grid.iconDrawablePaddingPx;
-            }
+        if (mSetupTextLayout != null) {
+            // Set up position for dragging the text
+            mRect.left = paddingLeft + minPadding;
+            mRect.top = mCenterDrawable.getBounds().bottom + grid.iconDrawablePaddingPx;
         }
     }
 
diff --git a/src/com/android/launcher3/widget/WidgetCell.java b/src/com/android/launcher3/widget/WidgetCell.java
index c30342a..8f5e2b6 100644
--- a/src/com/android/launcher3/widget/WidgetCell.java
+++ b/src/com/android/launcher3/widget/WidgetCell.java
@@ -147,6 +147,11 @@
         return mAppWidgetHostViewScale;
     }
 
+    /** Returns the {@link WidgetItem} for this {@link WidgetCell}. */
+    public WidgetItem getWidgetItem() {
+        return mItem;
+    }
+
     /**
      * Called to clear the view and free attached resources. (e.g., {@link Bitmap}
      */
diff --git a/src/com/android/launcher3/widget/WidgetHostViewLoader.java b/src/com/android/launcher3/widget/WidgetHostViewLoader.java
index b18cd47..1cc00ef 100644
--- a/src/com/android/launcher3/widget/WidgetHostViewLoader.java
+++ b/src/com/android/launcher3/widget/WidgetHostViewLoader.java
@@ -1,7 +1,6 @@
 package com.android.launcher3.widget;
 
 import android.appwidget.AppWidgetHostView;
-import android.content.Context;
 import android.os.Bundle;
 import android.os.Handler;
 import android.util.Log;
@@ -117,7 +116,7 @@
                     return;
                 }
                 AppWidgetHostView hostView = mLauncher.getAppWidgetHolder().createView(
-                        (Context) mLauncher, mWidgetLoadingId, pInfo);
+                        mWidgetLoadingId, pInfo);
                 mInfo.boundWidget = hostView;
 
                 // We used up the widget Id in binding the above view.
diff --git a/src/com/android/launcher3/widget/WidgetInflater.kt b/src/com/android/launcher3/widget/WidgetInflater.kt
new file mode 100644
index 0000000..dd50b71
--- /dev/null
+++ b/src/com/android/launcher3/widget/WidgetInflater.kt
@@ -0,0 +1,204 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.widget
+
+import android.content.Context
+import com.android.launcher3.Launcher
+import com.android.launcher3.LauncherAppState
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger.RestoreError
+import com.android.launcher3.logging.FileLog
+import com.android.launcher3.model.WidgetsModel
+import com.android.launcher3.model.data.LauncherAppWidgetInfo
+import com.android.launcher3.qsb.QsbContainerView
+
+/** Utility class for handling widget inflation taking into account all the restore state updates */
+class WidgetInflater(private val context: Context) {
+
+    private val widgetHelper = WidgetManagerHelper(context)
+
+    fun inflateAppWidget(
+        item: LauncherAppWidgetInfo,
+    ): InflationResult {
+        if (item.hasOptionFlag(LauncherAppWidgetInfo.OPTION_SEARCH_WIDGET)) {
+            item.providerName = QsbContainerView.getSearchComponentName(context)
+            if (item.providerName == null) {
+                return InflationResult(
+                    TYPE_DELETE,
+                    reason = "search widget removed because search component cannot be found",
+                    restoreErrorType = RestoreError.NO_SEARCH_WIDGET
+                )
+            }
+        }
+        if (LauncherAppState.INSTANCE.get(context).isSafeModeEnabled) {
+            return InflationResult(TYPE_PENDING)
+        }
+        val appWidgetInfo: LauncherAppWidgetProviderInfo?
+        var removalReason = ""
+        @RestoreError var logReason = RestoreError.APP_NOT_INSTALLED
+        var update = false
+
+        if (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_NOT_VALID)) {
+            // The widget id is not valid. Try to find the widget based on the provider info.
+            appWidgetInfo = widgetHelper.findProvider(item.providerName, item.user)
+            if (appWidgetInfo == null) {
+                if (WidgetsModel.GO_DISABLE_WIDGETS) {
+                    removalReason = "widgets are disabled on go device."
+                    logReason = RestoreError.WIDGETS_DISABLED
+                } else {
+                    removalReason = "WidgetManagerHelper cannot find a provider from provider info."
+                    logReason = RestoreError.MISSING_WIDGET_PROVIDER
+                }
+            } else if (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY)) {
+                // since appWidgetInfo is not null anymore, update the provider status
+                item.restoreStatus =
+                    item.restoreStatus and LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY.inv()
+                update = true
+            }
+        } else {
+            appWidgetInfo =
+                widgetHelper.getLauncherAppWidgetInfo(item.appWidgetId, item.targetComponent)
+            if (appWidgetInfo == null) {
+                if (item.appWidgetId <= LauncherAppWidgetInfo.CUSTOM_WIDGET_ID) {
+                    removalReason = "CustomWidgetManager cannot find provider from that widget id."
+                    logReason = RestoreError.MISSING_INFO
+                } else {
+                    removalReason =
+                        ("AppWidgetManager cannot find provider for that widget id." +
+                            " It could be because AppWidgetService is not available, or the" +
+                            " appWidgetId has not been bound to a the provider yet, or you" +
+                            " don't have access to that appWidgetId.")
+                    logReason = RestoreError.INVALID_WIDGET_ID
+                }
+            }
+        }
+
+        // If the provider is ready, but the widget is not yet restored, try to restore it.
+        if (
+            !item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_PROVIDER_NOT_READY) &&
+                item.restoreStatus != LauncherAppWidgetInfo.RESTORE_COMPLETED
+        ) {
+            if (appWidgetInfo == null) {
+                return InflationResult(
+                    type = TYPE_DELETE,
+                    reason =
+                        "Removing restored widget: id=${item.appWidgetId} belongs to component ${item.providerName} user ${item.user}, as the provider is null and $removalReason",
+                    restoreErrorType = logReason
+                )
+            }
+
+            // If we do not have a valid id, try to bind an id.
+            if (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_NOT_VALID)) {
+                if (!item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_ID_ALLOCATED)) {
+                    // Id has not been allocated yet. Allocate a new id.
+                    LauncherWidgetHolder.newInstance(context).let {
+                        item.appWidgetId = it.allocateAppWidgetId()
+                        it.destroy()
+                    }
+                    item.restoreStatus =
+                        item.restoreStatus or LauncherAppWidgetInfo.FLAG_ID_ALLOCATED
+
+                    // Also try to bind the widget. If the bind fails, the user will be shown
+                    // a click to setup UI, which will ask for the bind permission.
+                    val pendingInfo = PendingAddWidgetInfo(appWidgetInfo, item.sourceContainer)
+                    pendingInfo.spanX = item.spanX
+                    pendingInfo.spanY = item.spanY
+                    pendingInfo.minSpanX = item.minSpanX
+                    pendingInfo.minSpanY = item.minSpanY
+                    var options = pendingInfo.getDefaultSizeOptions(context)
+                    val isDirectConfig =
+                        item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_DIRECT_CONFIG)
+                    if (isDirectConfig && item.bindOptions != null) {
+                        val newOptions = item.bindOptions.extras
+                        if (options != null) {
+                            newOptions!!.putAll(options)
+                        }
+                        options = newOptions
+                    }
+                    val success =
+                        widgetHelper.bindAppWidgetIdIfAllowed(
+                            item.appWidgetId,
+                            appWidgetInfo,
+                            options
+                        )
+
+                    // We tried to bind once. If we were not able to bind, we would need to
+                    // go through the permission dialog, which means we cannot skip the config
+                    // activity.
+                    item.bindOptions = null
+                    item.restoreStatus =
+                        item.restoreStatus and LauncherAppWidgetInfo.FLAG_DIRECT_CONFIG.inv()
+
+                    // Bind succeeded
+                    if (success) {
+                        // If the widget has a configure activity, it is still needs to set it
+                        // up, otherwise the widget is ready to go.
+                        item.restoreStatus =
+                            if ((appWidgetInfo.configure == null) || isDirectConfig)
+                                LauncherAppWidgetInfo.RESTORE_COMPLETED
+                            else LauncherAppWidgetInfo.FLAG_UI_NOT_READY
+                    }
+                    update = true
+                }
+            } else if (
+                (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_UI_NOT_READY) &&
+                    (appWidgetInfo.configure == null))
+            ) {
+                // The widget was marked as UI not ready, but there is no configure activity to
+                // update the UI.
+                item.restoreStatus = LauncherAppWidgetInfo.RESTORE_COMPLETED
+                update = true
+            } else if (
+                (item.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_UI_NOT_READY) &&
+                    appWidgetInfo.configure != null)
+            ) {
+                if (widgetHelper.isAppWidgetRestored(item.appWidgetId)) {
+                    item.restoreStatus = LauncherAppWidgetInfo.RESTORE_COMPLETED
+                    update = true
+                }
+            }
+        }
+
+        if (item.restoreStatus == LauncherAppWidgetInfo.RESTORE_COMPLETED) {
+            // Verify that we own the widget
+            if (appWidgetInfo == null) {
+                FileLog.e(Launcher.TAG, "Removing invalid widget: id=" + item.appWidgetId)
+                return InflationResult(TYPE_DELETE, reason = removalReason)
+            }
+            item.minSpanX = appWidgetInfo.minSpanX
+            item.minSpanY = appWidgetInfo.minSpanY
+            return InflationResult(TYPE_REAL, isUpdate = update, widgetInfo = appWidgetInfo)
+        } else {
+            return InflationResult(TYPE_PENDING, isUpdate = update, widgetInfo = appWidgetInfo)
+        }
+    }
+
+    data class InflationResult(
+        val type: Int,
+        val reason: String? = null,
+        @RestoreError val restoreErrorType: String = RestoreError.APP_NOT_INSTALLED,
+        val isUpdate: Boolean = false,
+        val widgetInfo: LauncherAppWidgetProviderInfo? = null
+    )
+
+    companion object {
+        const val TYPE_DELETE = 0
+
+        const val TYPE_PENDING = 1
+
+        const val TYPE_REAL = 2
+    }
+}
diff --git a/src/com/android/launcher3/widget/WidgetManagerHelper.java b/src/com/android/launcher3/widget/WidgetManagerHelper.java
index 737cdbd..058523b 100644
--- a/src/com/android/launcher3/widget/WidgetManagerHelper.java
+++ b/src/com/android/launcher3/widget/WidgetManagerHelper.java
@@ -57,10 +57,14 @@
     /**
      * @see AppWidgetManager#getAppWidgetInfo(int)
      */
-    public LauncherAppWidgetProviderInfo getLauncherAppWidgetInfo(int appWidgetId) {
+    public LauncherAppWidgetProviderInfo getLauncherAppWidgetInfo(
+            int appWidgetId, ComponentName componentName) {
+
+        // For custom widgets.
         if (appWidgetId <= LauncherAppWidgetInfo.CUSTOM_WIDGET_ID) {
-            return CustomWidgetManager.INSTANCE.get(mContext).getWidgetProvider(appWidgetId);
+            return CustomWidgetManager.INSTANCE.get(mContext).getWidgetProvider(componentName);
         }
+
         AppWidgetProviderInfo info = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
         return info == null ? null : LauncherAppWidgetProviderInfo.fromProviderInfo(mContext, info);
     }
diff --git a/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfo.java b/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfo.java
index 8b3bbce..398b1df 100644
--- a/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfo.java
+++ b/src/com/android/launcher3/widget/custom/CustomAppWidgetProviderInfo.java
@@ -33,14 +33,11 @@
 public class CustomAppWidgetProviderInfo extends LauncherAppWidgetProviderInfo
         implements Parcelable {
 
-    public final int providerId;
-
-    protected CustomAppWidgetProviderInfo(Parcel parcel, boolean readSelf, int providerId) {
+    protected CustomAppWidgetProviderInfo(Parcel parcel, boolean readSelf) {
         super(parcel);
         if (readSelf) {
-            this.providerId = parcel.readInt();
-
-            provider = new ComponentName(parcel.readString(), CLS_CUSTOM_WIDGET_PREFIX + providerId);
+            provider = new ComponentName(parcel.readString(),
+                    CLS_CUSTOM_WIDGET_PREFIX + parcel.readString());
 
             label = parcel.readString();
             initialLayout = parcel.readInt();
@@ -52,13 +49,14 @@
             spanY = parcel.readInt();
             minSpanX = parcel.readInt();
             minSpanY = parcel.readInt();
-        } else {
-            this.providerId = providerId;
         }
     }
 
     @Override
-    public void initSpans(Context context, InvariantDeviceProfile idp) { }
+    public void initSpans(Context context, InvariantDeviceProfile idp) {
+        mIsMinSizeFulfilled = Math.min(spanX, minSpanX) <= idp.numColumns
+                && Math.min(spanY, minSpanY) <= idp.numRows;
+    }
 
     @Override
     public String getLabel(PackageManager packageManager) {
@@ -73,8 +71,8 @@
     @Override
     public void writeToParcel(Parcel out, int flags) {
         super.writeToParcel(out, flags);
-        out.writeInt(providerId);
         out.writeString(provider.getPackageName());
+        out.writeString(provider.getClassName());
 
         out.writeString(label);
         out.writeInt(initialLayout);
@@ -88,12 +86,12 @@
         out.writeInt(minSpanY);
     }
 
-    public static final Parcelable.Creator<CustomAppWidgetProviderInfo> CREATOR
-            = new Parcelable.Creator<CustomAppWidgetProviderInfo>() {
+    public static final Parcelable.Creator<CustomAppWidgetProviderInfo> CREATOR =
+            new Parcelable.Creator<>() {
 
         @Override
         public CustomAppWidgetProviderInfo createFromParcel(Parcel parcel) {
-            return new CustomAppWidgetProviderInfo(parcel, true, 0);
+            return new CustomAppWidgetProviderInfo(parcel, true);
         }
 
         @Override
diff --git a/src/com/android/launcher3/widget/custom/CustomWidgetManager.java b/src/com/android/launcher3/widget/custom/CustomWidgetManager.java
index 2e2a968..2fdf354 100644
--- a/src/com/android/launcher3/widget/custom/CustomWidgetManager.java
+++ b/src/com/android/launcher3/widget/custom/CustomWidgetManager.java
@@ -16,6 +16,8 @@
 
 package com.android.launcher3.widget.custom;
 
+import static com.android.launcher3.config.FeatureFlags.SMARTSPACE_AS_A_WIDGET;
+import static com.android.launcher3.model.data.LauncherAppWidgetInfo.CUSTOM_WIDGET_ID;
 import static com.android.launcher3.widget.LauncherAppWidgetProviderInfo.CLS_CUSTOM_WIDGET_PREFIX;
 
 import android.appwidget.AppWidgetManager;
@@ -24,12 +26,12 @@
 import android.content.Context;
 import android.os.Parcel;
 import android.os.Process;
-import android.util.SparseArray;
+import android.util.Log;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import com.android.launcher3.model.data.LauncherAppWidgetInfo;
+import com.android.launcher3.R;
 import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
 import com.android.launcher3.util.MainThreadInitializedObject;
 import com.android.launcher3.util.PackageUserKey;
@@ -39,7 +41,9 @@
 import com.android.systemui.plugins.CustomWidgetPlugin;
 import com.android.systemui.plugins.PluginListener;
 
+import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.function.Consumer;
 import java.util.stream.Stream;
@@ -52,24 +56,35 @@
     public static final MainThreadInitializedObject<CustomWidgetManager> INSTANCE =
             new MainThreadInitializedObject<>(CustomWidgetManager::new);
 
+    private static final String TAG = "CustomWidgetManager";
+    private static final String PLUGIN_PKG = "android";
     private final Context mContext;
-    /**
-     * auto provider Id is an ever-increasing number that serves as the providerId whenever a new
-     * custom widget has been connected.
-     */
-    private int mAutoProviderId = 0;
-    private final SparseArray<CustomWidgetPlugin> mPlugins;
+    private final HashMap<ComponentName, CustomWidgetPlugin> mPlugins;
     private final List<CustomAppWidgetProviderInfo> mCustomWidgets;
-    private final SparseArray<ComponentName> mWidgetsIdMap;
     private Consumer<PackageUserKey> mWidgetRefreshCallback;
 
     private CustomWidgetManager(Context context) {
         mContext = context;
-        mPlugins = new SparseArray<>();
+        mPlugins = new HashMap<>();
         mCustomWidgets = new ArrayList<>();
-        mWidgetsIdMap = new SparseArray<>();
         PluginManagerWrapper.INSTANCE.get(context)
                 .addPluginListener(this, CustomWidgetPlugin.class, true);
+
+        if (SMARTSPACE_AS_A_WIDGET.get()) {
+            for (String s: context.getResources()
+                    .getStringArray(R.array.custom_widget_providers)) {
+                try {
+                    Class<?> cls = Class.forName(s);
+                    CustomWidgetPlugin plugin = (CustomWidgetPlugin)
+                            cls.getDeclaredConstructor(Context.class).newInstance(context);
+                    onPluginConnected(plugin, context);
+                } catch (ClassNotFoundException | InstantiationException | IllegalAccessException
+                         | ClassCastException | NoSuchMethodException
+                         | InvocationTargetException e) {
+                    Log.e(TAG, "Exception found when trying to add custom widgets: " + e);
+                }
+            }
+        }
     }
 
     @Override
@@ -79,28 +94,23 @@
 
     @Override
     public void onPluginConnected(CustomWidgetPlugin plugin, Context context) {
-        mPlugins.put(mAutoProviderId, plugin);
         List<AppWidgetProviderInfo> providers = AppWidgetManager.getInstance(context)
                 .getInstalledProvidersForProfile(Process.myUserHandle());
         if (providers.isEmpty()) return;
         Parcel parcel = Parcel.obtain();
         providers.get(0).writeToParcel(parcel, 0);
         parcel.setDataPosition(0);
-        CustomAppWidgetProviderInfo info = newInfo(mAutoProviderId, plugin, parcel, context);
+        CustomAppWidgetProviderInfo info = newInfo(plugin, parcel);
         parcel.recycle();
+        mPlugins.put(info.provider, plugin);
         mCustomWidgets.add(info);
-        mWidgetsIdMap.put(mAutoProviderId, info.provider);
-        mWidgetRefreshCallback.accept(null);
-        mAutoProviderId++;
     }
 
     @Override
     public void onPluginDisconnected(CustomWidgetPlugin plugin) {
-        int providerId = findProviderId(plugin);
-        if (providerId == -1) return;
-        mPlugins.remove(providerId);
-        mCustomWidgets.remove(getWidgetProvider(providerId));
-        mWidgetsIdMap.remove(providerId);
+        ComponentName cn = getWidgetProviderComponent(plugin);
+        mPlugins.remove(cn);
+        mCustomWidgets.removeIf(w -> w.getComponent().equals(cn));
     }
 
     /**
@@ -115,7 +125,7 @@
      */
     public void onViewCreated(LauncherAppWidgetHostView view) {
         CustomAppWidgetProviderInfo info = (CustomAppWidgetProviderInfo) view.getAppWidgetInfo();
-        CustomWidgetPlugin plugin = mPlugins.get(info.providerId);
+        CustomWidgetPlugin plugin = mPlugins.get(info.provider);
         if (plugin == null) return;
         plugin.onViewCreated(view);
     }
@@ -129,53 +139,30 @@
     }
 
     /**
-     * Returns the widget id for a specific provider.
-     */
-    public int getWidgetIdForCustomProvider(@NonNull ComponentName provider) {
-        int index = mWidgetsIdMap.indexOfValue(provider);
-        if (index >= 0) {
-            return LauncherAppWidgetInfo.CUSTOM_WIDGET_ID - mWidgetsIdMap.keyAt(index);
-        } else {
-            return AppWidgetManager.INVALID_APPWIDGET_ID;
-        }
-    }
-
-    /**
      * Returns the widget provider in respect to given widget id.
      */
     @Nullable
-    public LauncherAppWidgetProviderInfo getWidgetProvider(int widgetId) {
-        ComponentName cn = mWidgetsIdMap.get(LauncherAppWidgetInfo.CUSTOM_WIDGET_ID - widgetId);
-        for (LauncherAppWidgetProviderInfo info : mCustomWidgets) {
-            if (info.provider.equals(cn)) return info;
-        }
-        return null;
+    public LauncherAppWidgetProviderInfo getWidgetProvider(ComponentName cn) {
+        return mCustomWidgets.stream()
+                .filter(w -> w.getComponent().equals(cn)).findAny().orElse(null);
     }
 
-    private static CustomAppWidgetProviderInfo newInfo(int providerId, CustomWidgetPlugin plugin,
-            Parcel parcel, Context context) {
-        CustomAppWidgetProviderInfo info = new CustomAppWidgetProviderInfo(
-                parcel, false, providerId);
-        info.provider = new ComponentName(
-                context.getPackageName(), CLS_CUSTOM_WIDGET_PREFIX + providerId);
-
-        info.label = plugin.getLabel();
-        info.resizeMode = plugin.getResizeMode();
-
-        info.spanX = plugin.getSpanX();
-        info.spanY = plugin.getSpanY();
-        info.minSpanX = plugin.getMinSpanX();
-        info.minSpanY = plugin.getMinSpanY();
+    private CustomAppWidgetProviderInfo newInfo(CustomWidgetPlugin plugin, Parcel parcel) {
+        CustomAppWidgetProviderInfo info = new CustomAppWidgetProviderInfo(parcel, false);
+        info.provider = getWidgetProviderComponent(plugin);
+        plugin.updateWidgetInfo(info, mContext);
         return info;
     }
 
-    private int findProviderId(CustomWidgetPlugin plugin) {
-        for (int i = 0; i < mPlugins.size(); i++) {
-            int providerId = mPlugins.keyAt(i);
-            if (mPlugins.get(providerId) == plugin) {
-                return providerId;
-            }
-        }
-        return -1;
+    /**
+     * Returns an id to set as the appWidgetId for a custom widget.
+     */
+    public int allocateCustomAppWidgetId(ComponentName componentName) {
+        return CUSTOM_WIDGET_ID - mCustomWidgets.indexOf(getWidgetProvider(componentName));
+    }
+
+    private ComponentName getWidgetProviderComponent(CustomWidgetPlugin plugin) {
+        return new ComponentName(
+                PLUGIN_PKG, CLS_CUSTOM_WIDGET_PREFIX + plugin.getClass().getName());
     }
 }
diff --git a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java
index a4b605c..e9a590b 100644
--- a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java
+++ b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java
@@ -17,14 +17,14 @@
 
 import static android.view.View.MeasureSpec.makeMeasureSpec;
 
+import static com.android.launcher3.Flags.enableUnfoldedTwoPanePicker;
 import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_Y;
-import static com.android.launcher3.config.FeatureFlags.LARGE_SCREEN_WIDGET_PICKER;
+import static com.android.launcher3.LauncherPrefs.WIDGETS_EDUCATION_DIALOG_SEEN;
 import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_WIDGETSTRAY_SEARCHED;
 import static com.android.launcher3.testing.shared.TestProtocol.NORMAL_STATE_ORDINAL;
 
 import android.animation.Animator;
 import android.content.Context;
-import android.content.pm.LauncherApps;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.Rect;
@@ -40,6 +40,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowInsets;
+import android.view.WindowInsetsController;
 import android.view.animation.AnimationUtils;
 import android.view.animation.Interpolator;
 import android.widget.Button;
@@ -54,8 +55,10 @@
 import androidx.recyclerview.widget.DefaultItemAnimator;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.android.launcher3.BaseActivity;
 import com.android.launcher3.DeviceProfile;
-import com.android.launcher3.Launcher;
+import com.android.launcher3.LauncherAppState;
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
 import com.android.launcher3.anim.PendingAnimation;
@@ -69,7 +72,6 @@
 import com.android.launcher3.views.StickyHeaderLayout;
 import com.android.launcher3.views.WidgetsEduView;
 import com.android.launcher3.widget.BaseWidgetSheet;
-import com.android.launcher3.widget.LauncherWidgetHolder.ProviderChangedListener;
 import com.android.launcher3.widget.model.WidgetsListBaseEntry;
 import com.android.launcher3.widget.picker.search.SearchModeListener;
 import com.android.launcher3.widget.picker.search.WidgetsSearchBar;
@@ -86,27 +88,24 @@
  * Popup for showing the full list of available widgets
  */
 public class WidgetsFullSheet extends BaseWidgetSheet
-        implements ProviderChangedListener, OnActivePageChangedListener,
+        implements OnActivePageChangedListener,
         WidgetsRecyclerView.HeaderViewDimensionsProvider, SearchModeListener {
 
     private static final long FADE_IN_DURATION = 150;
     private static final long EDUCATION_TIP_DELAY_MS = 200;
     private static final long EDUCATION_DIALOG_DELAY_MS = 500;
-    private static final float VERTICAL_START_POSITION = 0.3f;
+
     // The widget recommendation table can easily take over the entire screen on devices with small
     // resolution or landscape on phone. This ratio defines the max percentage of content area that
     // the table can display.
     private static final float RECOMMENDATION_TABLE_HEIGHT_RATIO = 0.75f;
-    private static final String KEY_WIDGETS_EDUCATION_DIALOG_SEEN =
-            "launcher.widgets_education_dialog_seen";
 
+    private final UserCache mUserCache;
     private final UserManagerState mUserManagerState = new UserManagerState();
     private final UserHandle mCurrentUser = Process.myUserHandle();
     private final Predicate<WidgetsListBaseEntry> mPrimaryWidgetsFilter =
             entry -> mCurrentUser.equals(entry.mPkgItem.user);
-    private final Predicate<WidgetsListBaseEntry> mWorkWidgetsFilter =
-            entry -> !mCurrentUser.equals(entry.mPkgItem.user)
-                    && !mUserManagerState.isUserQuiet(entry.mPkgItem.user);
+    private final Predicate<WidgetsListBaseEntry> mWorkWidgetsFilter;
     protected final boolean mHasWorkProfile;
     protected boolean mHasRecommendedWidgets;
     protected final SparseArray<AdapterHolder> mAdapters = new SparseArray();
@@ -164,9 +163,7 @@
     private boolean mIsInSearchMode;
     private boolean mIsNoWidgetsViewNeeded;
     @Px private int mMaxSpanPerRow;
-    private DeviceProfile mDeviceProfile;
-
-    private int mOrientation;
+    protected DeviceProfile mDeviceProfile;
 
     protected TextView mNoWidgetsView;
     protected StickyHeaderLayout mSearchScrollView;
@@ -179,20 +176,23 @@
 
     public WidgetsFullSheet(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
-        mDeviceProfile = Launcher.getLauncher(context).getDeviceProfile();
-        mHasWorkProfile = context.getSystemService(LauncherApps.class).getProfiles().size() > 1;
-        mOrientation = context.getResources().getConfiguration().orientation;
+        mDeviceProfile = mActivityContext.getDeviceProfile();
+        mUserCache = UserCache.INSTANCE.get(context);
+        mHasWorkProfile = mUserCache.getUserProfiles()
+                .stream()
+                .anyMatch(user -> mUserCache.getUserInfo(user).isWork());
+        mWorkWidgetsFilter = entry -> mHasWorkProfile
+                && mUserCache.getUserInfo(entry.mPkgItem.user).isWork();
         mAdapters.put(AdapterHolder.PRIMARY, new AdapterHolder(AdapterHolder.PRIMARY));
         mAdapters.put(AdapterHolder.WORK, new AdapterHolder(AdapterHolder.WORK));
         mAdapters.put(AdapterHolder.SEARCH, new AdapterHolder(AdapterHolder.SEARCH));
 
         Resources resources = getResources();
+        mUserManagerState.init(UserCache.INSTANCE.get(context),
+                context.getSystemService(UserManager.class));
         mTabsHeight = mHasWorkProfile
                 ? resources.getDimensionPixelSize(R.dimen.all_apps_header_pill_height)
                 : 0;
-
-        mUserManagerState.init(UserCache.INSTANCE.get(context),
-                context.getSystemService(UserManager.class));
     }
 
     public WidgetsFullSheet(Context context, AttributeSet attrs) {
@@ -310,7 +310,9 @@
         if (adapterHolder.mAdapterType == AdapterHolder.SEARCH) {
             mNoWidgetsView.setText(R.string.no_search_results);
         } else if (adapterHolder.mAdapterType == AdapterHolder.WORK
-                && mUserManagerState.isAnyProfileQuietModeEnabled()
+                && mUserCache.getUserProfiles().stream()
+                .filter(userHandle -> mUserCache.getUserInfo(userHandle).isWork())
+                .anyMatch(mUserManagerState::isUserQuiet)
                 && mActivityContext.getStringCache() != null) {
             mNoWidgetsView.setText(mActivityContext.getStringCache().workProfilePausedTitle);
         } else {
@@ -348,15 +350,14 @@
     @Override
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
-        mActivityContext.getAppWidgetHolder().addProviderChangeListener(this);
-        notifyWidgetProvidersChanged();
+        LauncherAppState.getInstance(mActivityContext).getModel()
+                .refreshAndBindWidgetsAndShortcuts(null);
         onRecommendedWidgetsBound();
     }
 
     @Override
     protected void onDetachedFromWindow() {
         super.onDetachedFromWindow();
-        mActivityContext.getAppWidgetHolder().removeProviderChangeListener(this);
         mAdapters.get(AdapterHolder.PRIMARY).mWidgetsRecyclerView
                 .removeOnAttachStateChangeListener(mBindScrollbarInSearchMode);
         if (mHasWorkProfile) {
@@ -477,11 +478,6 @@
     }
 
     @Override
-    public void notifyWidgetProvidersChanged() {
-        mActivityContext.refreshAndBindWidgetsForPackageUser(null);
-    }
-
-    @Override
     public void onWidgetsBound() {
         if (mIsInSearchMode) {
             return;
@@ -623,7 +619,6 @@
         if (animate) {
             if (getPopupContainer().getInsets().bottom > 0) {
                 mContent.setAlpha(0);
-                setTranslationShift(VERTICAL_START_POSITION);
             }
             setUpOpenAnimation(mActivityContext.getDeviceProfile().bottomSheetOpenDuration);
             Animator animator = mOpenCloseAnimation.getAnimationPlayer();
@@ -677,31 +672,27 @@
     }
 
     /** Shows the {@link WidgetsFullSheet} on the launcher. */
-    public static WidgetsFullSheet show(Launcher launcher, boolean animate) {
-        boolean isTwoPane = LARGE_SCREEN_WIDGET_PICKER.get()
-                && launcher.getDeviceProfile().isTablet
-                && launcher.getDeviceProfile().isLandscape
-                && !launcher.getDeviceProfile().isTwoPanels;
-
-        WidgetsFullSheet sheet;
-        if (isTwoPane) {
-            sheet = (WidgetsTwoPaneSheet) launcher.getLayoutInflater().inflate(
-                    R.layout.widgets_two_pane_sheet,
-                    launcher.getDragLayer(),
-                    false);
-        } else {
-            sheet = (WidgetsFullSheet) launcher.getLayoutInflater().inflate(
-                    R.layout.widgets_full_sheet,
-                    launcher.getDragLayer(),
-                    false);
-        }
-
+    public static WidgetsFullSheet show(BaseActivity activity, boolean animate) {
+        WidgetsFullSheet sheet = (WidgetsFullSheet) activity.getLayoutInflater().inflate(
+                getWidgetSheetId(activity),
+                activity.getDragLayer(),
+                false);
         sheet.attachToContainer();
         sheet.mIsOpen = true;
         sheet.open(animate);
         return sheet;
     }
 
+    private static int getWidgetSheetId(BaseActivity activity) {
+        boolean isTwoPane = (activity.getDeviceProfile().isTablet
+                && activity.getDeviceProfile().isLandscape
+                && !activity.getDeviceProfile().isTwoPanels)
+                // Enables two pane picker for unfolded foldables if the flag is on.
+                || (activity.getDeviceProfile().isTwoPanels && enableUnfoldedTwoPanePicker());
+
+        return isTwoPane ? R.layout.widgets_two_pane_sheet : R.layout.widgets_full_sheet;
+    }
+
     @Override
     public boolean onInterceptTouchEvent(MotionEvent ev) {
         return isTouchOnScrollbar(ev) || super.onInterceptTouchEvent(ev);
@@ -749,7 +740,7 @@
 
     /** Gets the {@link WidgetsRecyclerView} which shows all widgets in {@link WidgetsFullSheet}. */
     @VisibleForTesting
-    public static WidgetsRecyclerView getWidgetsView(Launcher launcher) {
+    public static WidgetsRecyclerView getWidgetsView(BaseActivity launcher) {
         return launcher.findViewById(R.id.primary_widgets_list_view);
     }
 
@@ -792,18 +783,25 @@
         if (mIsInSearchMode) {
             mSearchBar.reset();
         }
+    }
 
-        // Checks the orientation of the screen
-        if (mOrientation != newConfig.orientation) {
-            mOrientation = newConfig.orientation;
-            if (LARGE_SCREEN_WIDGET_PICKER.get()
-                    && mDeviceProfile.isTablet && !mDeviceProfile.isTwoPanels) {
-                handleClose(false);
-                show(Launcher.getLauncher(getContext()), false);
-            } else {
-                reset();
-            }
+    @Override
+    public void onDeviceProfileChanged(DeviceProfile dp) {
+        if (mDeviceProfile.isLandscape != dp.isLandscape && dp.isTablet && !dp.isTwoPanels) {
+            handleClose(false);
+            show(BaseActivity.fromContext(getContext()), false);
+        } else {
+            reset();
         }
+
+        // When folding/unfolding the foldables, we need to switch between the regular widget picker
+        // and the two pane picker, so we rebuild the picker with the correct layout.
+        if (mDeviceProfile.isTwoPanels != dp.isTwoPanels && enableUnfoldedTwoPanePicker()) {
+            handleClose(false);
+            show(BaseActivity.fromContext(getContext()), false);
+        }
+
+        mDeviceProfile = dp;
     }
 
     @Override
@@ -819,7 +817,10 @@
     @Override
     public void onDragStart(boolean start, float startDisplacement) {
         super.onDragStart(start, startDisplacement);
-        getWindowInsetsController().hide(WindowInsets.Type.ime());
+        WindowInsetsController insetsController = getWindowInsetsController();
+        if (insetsController != null) {
+            insetsController.hide(WindowInsets.Type.ime());
+        }
     }
 
     @Nullable private View getViewToShowEducationTip() {
@@ -850,15 +851,13 @@
 
     /** Shows education dialog for widgets. */
     private WidgetsEduView showEducationDialog() {
-        mActivityContext.getSharedPrefs().edit()
-                .putBoolean(KEY_WIDGETS_EDUCATION_DIALOG_SEEN, true).apply();
+        LauncherPrefs.get(getContext()).put(WIDGETS_EDUCATION_DIALOG_SEEN, true);
         return WidgetsEduView.showEducationDialog(mActivityContext);
     }
 
     /** Returns {@code true} if education dialog has previously been shown. */
     protected boolean hasSeenEducationDialog() {
-        return mActivityContext.getSharedPrefs()
-                .getBoolean(KEY_WIDGETS_EDUCATION_DIALOG_SEEN, false)
+        return LauncherPrefs.get(getContext()).get(WIDGETS_EDUCATION_DIALOG_SEEN)
                 || Utilities.isRunningInTestHarness();
     }
 
diff --git a/src/com/android/launcher3/widget/picker/WidgetsTwoPaneSheet.java b/src/com/android/launcher3/widget/picker/WidgetsTwoPaneSheet.java
index d85737b..54c9324 100644
--- a/src/com/android/launcher3/widget/picker/WidgetsTwoPaneSheet.java
+++ b/src/com/android/launcher3/widget/picker/WidgetsTwoPaneSheet.java
@@ -15,7 +15,10 @@
  */
 package com.android.launcher3.widget.picker;
 
+import static com.android.launcher3.Flags.enableUnfoldedTwoPanePicker;
+
 import android.content.Context;
+import android.content.res.Configuration;
 import android.graphics.Outline;
 import android.os.Process;
 import android.util.AttributeSet;
@@ -23,12 +26,15 @@
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewOutlineProvider;
+import android.widget.FrameLayout;
 import android.widget.LinearLayout;
 import android.widget.ScrollView;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Px;
 
 import com.android.launcher3.R;
+import com.android.launcher3.Utilities;
 import com.android.launcher3.model.data.PackageItemInfo;
 import com.android.launcher3.recyclerview.ViewHolderBinder;
 import com.android.launcher3.util.PackageUserKey;
@@ -46,6 +52,8 @@
 
     private static final int PERSONAL_TAB = 0;
     private static final int WORK_TAB = 1;
+    private static final int MINIMUM_WIDTH_LEFT_PANE_FOLDABLE_DP = 268;
+    private static final int MAXIMUM_WIDTH_LEFT_PANE_FOLDABLE_DP = 395;
     private static final String SUGGESTIONS_PACKAGE_NAME = "widgets_list_suggestions_entry";
 
     private LinearLayout mSuggestedWidgetsContainer;
@@ -117,6 +125,32 @@
     }
 
     @Override
+    protected void onConfigurationChanged(Configuration newConfig) {}
+
+    @Override
+    protected void onLayout(boolean changed, int l, int t, int r, int b) {
+        super.onLayout(changed, l, t, r, b);
+        if (changed && mDeviceProfile.isTwoPanels && enableUnfoldedTwoPanePicker()) {
+            LinearLayout layout = mContent.findViewById(R.id.linear_layout_container);
+            FrameLayout leftPane = layout.findViewById(R.id.recycler_view_container);
+            LinearLayout.LayoutParams layoutParams = (LayoutParams) leftPane.getLayoutParams();
+            // Width is 1/3 of the sheet unless it's less than min width or max width
+            int leftPaneWidth = layout.getMeasuredWidth() / 3;
+            @Px int minLeftPaneWidthPx = Utilities.dpToPx(MINIMUM_WIDTH_LEFT_PANE_FOLDABLE_DP);
+            @Px int maxLeftPaneWidthPx = Utilities.dpToPx(MAXIMUM_WIDTH_LEFT_PANE_FOLDABLE_DP);
+            if (leftPaneWidth < minLeftPaneWidthPx) {
+                layoutParams.width = minLeftPaneWidthPx;
+            } else if (leftPaneWidth > maxLeftPaneWidthPx) {
+                layoutParams.width = maxLeftPaneWidthPx;
+            } else {
+                layoutParams.width = 0;
+            }
+            layoutParams.weight = layoutParams.width == 0 ? 0.33F : 0;
+            leftPane.setLayoutParams(layoutParams);
+        }
+    }
+
+    @Override
     public void onRecommendedWidgetsBound() {
         super.onRecommendedWidgetsBound();
 
diff --git a/src/com/android/launcher3/widget/util/WidgetSizes.java b/src/com/android/launcher3/widget/util/WidgetSizes.java
index 7049509..4688359 100644
--- a/src/com/android/launcher3/widget/util/WidgetSizes.java
+++ b/src/com/android/launcher3/widget/util/WidgetSizes.java
@@ -15,8 +15,11 @@
  */
 package com.android.launcher3.widget.util;
 
+import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
+
 import android.appwidget.AppWidgetHostView;
 import android.appwidget.AppWidgetManager;
+import android.appwidget.AppWidgetProviderInfo;
 import android.content.ComponentName;
 import android.content.Context;
 import android.graphics.Point;
@@ -91,20 +94,33 @@
      */
     public static void updateWidgetSizeRanges(AppWidgetHostView widgetView, Context context,
             int spanX, int spanY) {
-        AppWidgetManager widgetManager = AppWidgetManager.getInstance(context);
-        int widgetId = widgetView.getAppWidgetId();
-        if (widgetId <= 0) {
+        updateWidgetSizeRangesAsync(
+                widgetView.getAppWidgetId(), widgetView.getAppWidgetInfo(), context, spanX, spanY);
+    }
+
+    /**
+     * Updates a given {@code widgetId} with size, {@code spanX}, {@code spanY} asynchronously.
+     *
+     * <p>On Android S+, it also updates the given {@code widgetView} with a list of sizes derived
+     * from {@code spanX}, {@code spanY} in all supported device profiles.
+     */
+    public static void updateWidgetSizeRangesAsync(int widgetId,
+            AppWidgetProviderInfo info, Context context, int spanX, int spanY) {
+        if (widgetId <= 0 || info == null) {
             return;
         }
-        Bundle sizeOptions = getWidgetSizeOptions(context, widgetView.getAppWidgetInfo().provider,
-                spanX, spanY);
-        if (sizeOptions.<SizeF>getParcelableArrayList(
-                AppWidgetManager.OPTION_APPWIDGET_SIZES).equals(
-                widgetManager.getAppWidgetOptions(widgetId).<SizeF>getParcelableArrayList(
-                        AppWidgetManager.OPTION_APPWIDGET_SIZES))) {
-            return;
-        }
-        widgetManager.updateAppWidgetOptions(widgetId, sizeOptions);
+
+        UI_HELPER_EXECUTOR.execute(() -> {
+            AppWidgetManager widgetManager = AppWidgetManager.getInstance(context);
+            Bundle sizeOptions = getWidgetSizeOptions(context, info.provider, spanX, spanY);
+            if (sizeOptions.<SizeF>getParcelableArrayList(
+                    AppWidgetManager.OPTION_APPWIDGET_SIZES).equals(
+                    widgetManager.getAppWidgetOptions(widgetId).<SizeF>getParcelableArrayList(
+                            AppWidgetManager.OPTION_APPWIDGET_SIZES))) {
+                return;
+            }
+            widgetManager.updateAppWidgetOptions(widgetId, sizeOptions);
+        });
     }
 
     /**
diff --git a/src_build_config/com/android/launcher3/BuildConfig.java b/src_build_config/com/android/launcher3/BuildConfig.java
index 1f2e0e5..3841969 100644
--- a/src_build_config/com/android/launcher3/BuildConfig.java
+++ b/src_build_config/com/android/launcher3/BuildConfig.java
@@ -27,6 +27,11 @@
     public static final boolean QSB_ON_FIRST_SCREEN = true;
 
     /**
+     * Flag to state if the widget on the top of the first screen should be shown.
+     */
+    public static final boolean WIDGET_ON_FIRST_SCREEN = false;
+
+    /**
      * Flag to control various developer centric features
      */
     public static final boolean IS_DEBUG_DEVICE = false;
diff --git a/src_plugins/com/android/systemui/plugins/CustomWidgetPlugin.java b/src_plugins/com/android/systemui/plugins/CustomWidgetPlugin.java
index 56ebcc5..6452ea2 100644
--- a/src_plugins/com/android/systemui/plugins/CustomWidgetPlugin.java
+++ b/src_plugins/com/android/systemui/plugins/CustomWidgetPlugin.java
@@ -17,6 +17,8 @@
 package com.android.systemui.plugins;
 
 import android.appwidget.AppWidgetHostView;
+import android.appwidget.AppWidgetProviderInfo;
+import android.content.Context;
 
 import com.android.systemui.plugins.annotations.ProvidesInterface;
 
@@ -30,42 +32,23 @@
     int VERSION = 1;
 
     /**
-     * The label to display to the user in the AppWidget picker.
-     */
-    String getLabel();
-
-    /**
-     * The default width of the widget when added to a host, in dp. The widget will get
-     * at least this width, and will often be given more, depending on the host.
-     */
-    int getSpanX();
-
-    /**
-     * The default height of the widget when added to a host, in dp. The widget will get
-     * at least this height, and will often be given more, depending on the host.
-     */
-    int getSpanY();
-
-    /**
-     * Minimum width (in dp) which the widget can be resized to. This field has no effect if it
-     * is greater than minWidth or if horizontal resizing isn't enabled.
-     */
-    int getMinSpanX();
-
-    /**
-     * Minimum height (in dp) which the widget can be resized to. This field has no effect if it
-     * is greater than minHeight or if vertical resizing isn't enabled.
-     */
-    int getMinSpanY();
-
-    /**
-     * The rules by which a widget can be resized.
-     */
-    int getResizeMode();
-
-    /**
      * Notify the plugin that container of the widget has been rendered, where the custom widget
      * can be attached to.
      */
     void onViewCreated(AppWidgetHostView parent);
+
+    /**
+     * Get the UUID for the custom widget.
+     *
+     * @deprecated Not used
+     */
+    @Deprecated
+    default String getId() {
+        return "";
+    }
+
+    /**
+     * Used to modify a widgets' info.
+     */
+    default void updateWidgetInfo(AppWidgetProviderInfo info, Context context) { }
 }
diff --git a/src_plugins/com/android/systemui/plugins/LauncherOverlayPlugin.java b/src_plugins/com/android/systemui/plugins/LauncherOverlayPlugin.java
index 9e22355..32f0216 100644
--- a/src_plugins/com/android/systemui/plugins/LauncherOverlayPlugin.java
+++ b/src_plugins/com/android/systemui/plugins/LauncherOverlayPlugin.java
@@ -18,7 +18,6 @@
 import android.app.Activity;
 
 import com.android.systemui.plugins.annotations.ProvidesInterface;
-import com.android.systemui.plugins.shared.LauncherExterns;
 import com.android.systemui.plugins.shared.LauncherOverlayManager;
 
 /**
@@ -29,6 +28,6 @@
     String ACTION = "com.android.systemui.action.PLUGIN_LAUNCHER_OVERLAY";
     int VERSION = 1;
 
-    LauncherOverlayManager createOverlayManager(Activity activity, LauncherExterns externs);
+    LauncherOverlayManager createOverlayManager(Activity activity);
 
 }
diff --git a/src_plugins/com/android/systemui/plugins/shared/LauncherExterns.java b/src_plugins/com/android/systemui/plugins/shared/LauncherExterns.java
deleted file mode 100644
index 173b454..0000000
--- a/src_plugins/com/android/systemui/plugins/shared/LauncherExterns.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.plugins.shared;
-
-import android.content.SharedPreferences;
-
-import com.android.systemui.plugins.shared.LauncherOverlayManager.LauncherOverlay;
-
-/**
- * This interface defines the set of methods that the Launcher activity exposes. Methods
- * here should be safe to call from classes outside of com.android.launcher3.*
- */
-public interface LauncherExterns {
-
-    /**
-     * Returns the shared main preference
-     */
-    SharedPreferences getSharedPrefs();
-
-    /**
-     * Returns the device specific preference
-     */
-    SharedPreferences getDevicePrefs();
-
-    /**
-     * Sets the overlay on the target activity
-     */
-    void setLauncherOverlay(LauncherOverlay overlay);
-}
diff --git a/src_plugins/com/android/systemui/plugins/shared/LauncherOverlayManager.java b/src_plugins/com/android/systemui/plugins/shared/LauncherOverlayManager.java
index 582ab23..54cc0bc 100644
--- a/src_plugins/com/android/systemui/plugins/shared/LauncherOverlayManager.java
+++ b/src_plugins/com/android/systemui/plugins/shared/LauncherOverlayManager.java
@@ -15,16 +15,12 @@
  */
 package com.android.systemui.plugins.shared;
 
-import android.app.Activity;
-import android.app.Application;
-import android.os.Bundle;
-
 import java.io.PrintWriter;
 
 /**
  * Interface to control the overlay on Launcher
  */
-public interface LauncherOverlayManager extends Application.ActivityLifecycleCallbacks {
+public interface LauncherOverlayManager {
 
     default void onDeviceProvideChanged() { }
 
@@ -41,30 +37,15 @@
 
     default void hideOverlay(int duration) { }
 
-    default boolean startSearch(byte[] config, Bundle extras) {
-        return false;
-    }
+    default void onActivityStarted() { }
 
-    @Override
-    default void onActivityCreated(Activity activity, Bundle bundle) { }
+    default void onActivityResumed() { }
 
-    @Override
-    default void onActivityStarted(Activity activity) { }
+    default void onActivityPaused() { }
 
-    @Override
-    default void onActivityResumed(Activity activity) { }
+    default void onActivityStopped() { }
 
-    @Override
-    default void onActivityPaused(Activity activity) { }
-
-    @Override
-    default void onActivityStopped(Activity activity) { }
-
-    @Override
-    default void onActivitySaveInstanceState(Activity activity, Bundle bundle) { }
-
-    @Override
-    default void onActivityDestroyed(Activity activity) { }
+    default void onActivityDestroyed() { }
 
     interface LauncherOverlay {
 
diff --git a/src_shortcuts_overrides/com/android/launcher3/model/LauncherBinder.java b/src_shortcuts_overrides/com/android/launcher3/model/LauncherBinder.java
index e1a5f24..7e73ab5 100644
--- a/src_shortcuts_overrides/com/android/launcher3/model/LauncherBinder.java
+++ b/src_shortcuts_overrides/com/android/launcher3/model/LauncherBinder.java
@@ -51,4 +51,9 @@
                 mBgDataModel.widgetsModel.getWidgetsListForPicker(mApp.getContext());
         executeCallbacksTask(c -> c.bindAllWidgets(widgets), mUiExecutor);
     }
+
+    @Override
+    public void bindSmartspaceWidget() {
+        executeCallbacksTask(c -> c.bindSmartspaceWidget(), mUiExecutor);
+    }
 }
diff --git a/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java b/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java
index 2f16065..4c5bfd8 100644
--- a/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java
+++ b/src_shortcuts_overrides/com/android/launcher3/model/WidgetsModel.java
@@ -70,6 +70,34 @@
     private final Map<PackageItemInfo, List<WidgetItem>> mWidgetsList = new HashMap<>();
 
     /**
+     * Returns a list of {@link WidgetsListBaseEntry} filtered using given widget item filter. All
+     * {@link WidgetItem}s in a single row are sorted (based on label and user), but the overall
+     * list of {@link WidgetsListBaseEntry}s is not sorted.
+     *
+     * @see com.android.launcher3.widget.picker.WidgetsListAdapter#setWidgets(List)
+     */
+    public synchronized ArrayList<WidgetsListBaseEntry> getFilteredWidgetsListForPicker(
+            Context context,
+            Predicate<WidgetItem> widgetItemFilter) {
+        ArrayList<WidgetsListBaseEntry> result = new ArrayList<>();
+        AlphabeticIndexCompat indexer = new AlphabeticIndexCompat(context);
+
+        for (Map.Entry<PackageItemInfo, List<WidgetItem>> entry : mWidgetsList.entrySet()) {
+            PackageItemInfo pkgItem = entry.getKey();
+            List<WidgetItem> widgetItems = entry.getValue()
+                    .stream()
+                    .filter(widgetItemFilter).toList();
+            if (!widgetItems.isEmpty()) {
+                String sectionName = (pkgItem.title == null) ? "" :
+                        indexer.computeSectionName(pkgItem.title);
+                result.add(WidgetsListHeaderEntry.create(pkgItem, sectionName, widgetItems));
+                result.add(new WidgetsListContentEntry(pkgItem, sectionName, widgetItems));
+            }
+        }
+        return result;
+    }
+
+    /**
      * Returns a list of {@link WidgetsListBaseEntry}. All {@link WidgetItem} in a single row
      * are sorted (based on label and user), but the overall list of
      * {@link WidgetsListBaseEntry}s is not sorted.
@@ -77,18 +105,8 @@
      * @see com.android.launcher3.widget.picker.WidgetsListAdapter#setWidgets(List)
      */
     public synchronized ArrayList<WidgetsListBaseEntry> getWidgetsListForPicker(Context context) {
-        ArrayList<WidgetsListBaseEntry> result = new ArrayList<>();
-        AlphabeticIndexCompat indexer = new AlphabeticIndexCompat(context);
-
-        for (Map.Entry<PackageItemInfo, List<WidgetItem>> entry : mWidgetsList.entrySet()) {
-            PackageItemInfo pkgItem = entry.getKey();
-            List<WidgetItem> widgetItems = entry.getValue();
-            String sectionName = (pkgItem.title == null) ? "" :
-                    indexer.computeSectionName(pkgItem.title);
-            result.add(WidgetsListHeaderEntry.create(pkgItem, sectionName, widgetItems));
-            result.add(new WidgetsListContentEntry(pkgItem, sectionName, widgetItems));
-        }
-        return result;
+        // return all items
+        return getFilteredWidgetsListForPicker(context, /*widgetItemFilter=*/ item -> true);
     }
 
     /** Returns a mapping of packages to their widgets without static shortcuts. */
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java b/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java
index 599a591..b9f9ac5 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java
+++ b/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java
@@ -19,12 +19,21 @@
 import android.app.ActivityOptions;
 import android.app.Person;
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.LauncherActivityInfo;
 import android.content.pm.ShortcutInfo;
+import android.graphics.drawable.ColorDrawable;
+import android.net.Uri;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.ArrayMap;
 
 import com.android.launcher3.Utilities;
+import com.android.launcher3.util.UserIconInfo;
 
+import java.util.ArrayList;
 import java.util.Collections;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -48,4 +57,65 @@
     public static ActivityOptions createFadeOutAnimOptions(Context context) {
         return ActivityOptions.makeCustomAnimation(context, 0, android.R.anim.fade_out);
     }
+
+    /**
+     * Returns a map of all users on the device to their corresponding UI properties
+     */
+    public static Map<UserHandle, UserIconInfo> queryAllUsers(Context context) {
+        UserManager um = context.getSystemService(UserManager.class);
+        Map<UserHandle, UserIconInfo> users = new ArrayMap<>();
+        List<UserHandle> usersActual = um.getUserProfiles();
+        if (usersActual != null) {
+            for (UserHandle user : usersActual) {
+                long serial = um.getSerialNumberForUser(user);
+
+                // Simple check to check if the provided user is work profile
+                // TODO: Migrate to a better platform API
+                NoopDrawable d = new NoopDrawable();
+                boolean isWork = (d != context.getPackageManager().getUserBadgedIcon(d, user));
+                UserIconInfo info = new UserIconInfo(
+                        user,
+                        isWork ? UserIconInfo.TYPE_WORK : UserIconInfo.TYPE_MAIN,
+                        serial);
+                users.put(user, info);
+            }
+        }
+        return users;
+    }
+
+    /**
+     * Returns the list of the system packages that are installed at user creation.
+     * An empty list denotes that all system packages are installed for that user at creation.
+     */
+    public static List<String> getPreInstalledSystemPackages(Context context, UserHandle user) {
+        return new ArrayList<>();
+    }
+
+    /**
+     * Returns an intent which can be used to start the App Market activity (Installer
+     * Activity).
+     */
+    public static Intent getAppMarketActivityIntent(Context context, String packageName,
+            UserHandle user) {
+        return new Intent(Intent.ACTION_VIEW)
+                .setData(new Uri.Builder()
+                        .scheme("market")
+                        .authority("details")
+                        .appendQueryParameter("id", packageName)
+                        .build())
+                .putExtra(Intent.EXTRA_REFERRER, new Uri.Builder().scheme("android-app")
+                        .authority(context.getPackageName()).build());
+    }
+
+    private static class NoopDrawable extends ColorDrawable {
+        @Override
+        public int getIntrinsicHeight() {
+            return 1;
+        }
+
+        @Override
+        public int getIntrinsicWidth() {
+            return 1;
+        }
+    }
 }
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java b/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsUI.java
similarity index 75%
rename from src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
rename to src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsUI.java
index 68843f2..6afa446 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
+++ b/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsUI.java
@@ -15,8 +15,13 @@
  */
 package com.android.launcher3.uioverrides.flags;
 
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceFragmentCompat;
+
 /**
  * Place holder class for developer options.
  */
-public class DeveloperOptionsFragment {
+public class DeveloperOptionsUI {
+
+    public DeveloperOptionsUI(PreferenceFragmentCompat fragment, PreferenceCategory flags) { }
 }
diff --git a/tests/Android.bp b/tests/Android.bp
index 5a52440..dd0ba9e 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -29,6 +29,30 @@
     ],
 }
 
+// Source code used for screenshot tests
+filegroup {
+    name: "launcher-image-tests-src",
+    srcs: [
+      "src/com/android/launcher3/celllayout/board/*.java",
+      "src/com/android/launcher3/celllayout/board/*.kt",
+      "src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java",
+      "src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
+      "src/com/android/launcher3/ui/PortraitLandscapeRunner.java",
+      "src/com/android/launcher3/ui/TestViewHelpers.java",
+      "src/com/android/launcher3/util/LauncherLayoutBuilder.java",
+      "src/com/android/launcher3/util/ModelTestExtensions.kt",
+      "src/com/android/launcher3/util/TestConstants.java",
+      "src/com/android/launcher3/util/TestUtil.java",
+      "src/com/android/launcher3/util/Wait.java",
+      "src/com/android/launcher3/util/WidgetUtils.java",
+      "src/com/android/launcher3/util/rule/*.java",
+      "src/com/android/launcher3/util/rule/*.kt",
+      "src/com/android/launcher3/util/viewcapture_analysis/*.java",
+      "src/com/android/launcher3/testcomponent/*.java",
+      "src/com/android/launcher3/testcomponent/*.kt",
+    ],
+}
+
 // Source code used for non-quickstep tests
 filegroup {
     name: "launcher-non-quickstep-tests-src",
@@ -42,10 +66,18 @@
 filegroup {
     name: "launcher-oop-tests-src",
     srcs: [
+      "src/com/android/launcher3/allapps/TaplOpenCloseAllAppsTest.java",
+      "src/com/android/launcher3/allapps/TaplAllAppsIconsWorkingTest.java",
+      "src/com/android/launcher3/appiconmenu/TaplAppIconMenuTest.java",
+      "src/com/android/launcher3/dragging/TaplDragTest.java",
+      "src/com/android/launcher3/dragging/TaplUninstallRemoveTest.java",
       "src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
       "src/com/android/launcher3/ui/PortraitLandscapeRunner.java",
-      "src/com/android/launcher3/ui/TaplTestsLauncher3.java",
+      "src/com/android/launcher3/ui/TaplTestsLauncher3Test.java",
+      "src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java",
+      "src/com/android/launcher3/ui/workspace/TaplWorkspaceTest.java",
       "src/com/android/launcher3/util/LauncherLayoutBuilder.java",
+      "src/com/android/launcher3/util/TestConstants.java",
       "src/com/android/launcher3/util/TestUtil.java",
       "src/com/android/launcher3/util/Wait.java",
       "src/com/android/launcher3/util/WidgetUtils.java",
@@ -54,8 +86,8 @@
       "src/com/android/launcher3/util/rule/SamplerRule.java",
       "src/com/android/launcher3/util/rule/ScreenRecordRule.java",
       "src/com/android/launcher3/util/rule/ShellCommandRule.java",
+      "src/com/android/launcher3/util/rule/TestIsolationRule.java",
       "src/com/android/launcher3/util/rule/TestStabilityRule.java",
-      "src/com/android/launcher3/util/rule/TISBindRule.java",
       "src/com/android/launcher3/util/viewcapture_analysis/*.java",
       "src/com/android/launcher3/testcomponent/BaseTestingActivity.java",
       "src/com/android/launcher3/testcomponent/OtherBaseTestingActivity.java",
@@ -73,6 +105,7 @@
     asset_dirs: ["assets"],
     resource_dirs: ["res"],
     static_libs: [
+        "flag-junit-base",
         "launcher-aosp-tapl",
         "androidx.test.core",
         "androidx.test.runner",
@@ -82,11 +115,14 @@
         "androidx.test.espresso.contrib",
         "androidx.test.espresso.intents",
         "androidx.test.uiautomator_uiautomator",
-        "mockito-target-inline-minus-junit4",
+        "mockito-kotlin2",
+        "mockito-target-extended-minus-junit4",
         "launcher_log_protos_lite",
-        "truth-prebuilt",
+        "truth",
         "platform-test-rules",
         "testables",
+        "com_android_launcher3_flags_lib",
+        "com_android_wm_shell_flags_lib",
     ],
     manifest: "AndroidManifest-common.xml",
     platform_apis: true,
@@ -103,12 +139,16 @@
         ":launcher-tests-src",
         ":launcher-non-quickstep-tests-src",
     ],
-    static_libs: ["Launcher3TestLib"],
+    static_libs: [
+        "Launcher3TestLib",
+        "com_android_launcher3_flags_lib",
+    ],
     libs: [
         "android.test.base",
         "android.test.runner",
         "android.test.mock",
     ],
+    // Libraries used by mockito inline extended
     jni_libs: [
         "libdexmakerjvmtiagent",
         "libstaticjvmtiagent",
@@ -134,3 +174,77 @@
     sdk_version: "current",
     min_sdk_version: min_launcher3_sdk_version,
  }
+
+filegroup {
+    name: "launcher-testing-helpers",
+    srcs: [
+      "src/**/*.java",
+      "src/**/*.kt",
+      "src/com/android/launcher3/ui/AbstractLauncherUiTest.java",
+      "tapl/com/android/launcher3/tapl/*.java",
+      "tapl/com/android/launcher3/tapl/*.kt",
+    ],
+    exclude_srcs: [
+        // Test classes
+        "src/**/*Test.java",
+        "src/**/*Test.kt",
+    ],
+}
+
+android_library {
+    name: "Launcher3Lib",
+    srcs: [
+        ":launcher-src",
+        ":launcher-src_shortcuts_overrides",
+        ":launcher-src_ui_overrides",
+    ],
+    static_libs: [
+        "Launcher3CommonDepsLib",
+    ],
+}
+
+android_robolectric_test {
+    enabled: true,
+    name: "Launcher3RoboTests",
+    srcs: [
+        "src/com/android/launcher3/util/*.java",
+        "src/com/android/launcher3/util/*.kt",
+
+        // Test util classes
+        ":launcher-testing-helpers",
+        ":launcher-testing-shared",
+    ],
+    exclude_srcs: [
+        "src/com/android/launcher3/util/CellContentDimensionsTest.kt", // Failing - b/316553889
+
+        // requires modification to work with inline mock maker
+        "src/com/android/launcher3/util/rule/StaticMockitoRule.java",
+
+        // requires kotlin mockito
+        "src/com/android/launcher3/util/LockedUserStateTest.kt",
+        "src/com/android/launcher3/util/DisplayControllerTest.kt",
+    ],
+    java_resource_dirs: ["config"],
+    static_libs: [
+        "flag-junit-base",
+        "com_android_launcher3_flags_lib",
+        "com_android_wm_shell_flags_lib",
+        "androidx.test.uiautomator_uiautomator",
+        "androidx.core_core-animation-testing",
+        "androidx.test.ext.junit",
+        "inline-mockito-robolectric-prebuilt",
+        "platform-parametric-runner-lib",
+        "testables",
+        "Launcher3TestResources",
+        "SystemUISharedLib",
+        "launcher-testing-shared",
+    ],
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+        "android.test.mock",
+        "truth",
+    ],
+    instrumentation_for: "Launcher3",
+    upstream: true,
+}
diff --git a/tests/AndroidManifest-common.xml b/tests/AndroidManifest-common.xml
index ee151bb..e5e3354 100644
--- a/tests/AndroidManifest-common.xml
+++ b/tests/AndroidManifest-common.xml
@@ -42,18 +42,7 @@
         </receiver>
 
         <receiver
-            android:name="com.android.launcher3.testcomponent.AppWidgetNoConfigLarge"
-            android:exported="true"
-            android:label="No Config Large">
-            <intent-filter>
-                <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
-            </intent-filter>
-            <meta-data android:name="android.appwidget.provider"
-                android:resource="@xml/appwidget_no_config_large"/>
-        </receiver>
-
-        <receiver
-            android:name="com.android.launcher3.testcomponent.AppWdigetHidden"
+            android:name="com.android.launcher3.testcomponent.AppWidgetHidden"
             android:exported="true"
             android:label="Hidden widget">
             <intent-filter>
@@ -84,7 +73,7 @@
                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
             </intent-filter>
             <meta-data android:name="android.appwidget.provider"
-                android:resource="@xml/appwidget_no_config"/>
+                android:resource="@xml/appwidget_no_config_large"/>
         </receiver>
 
         <receiver
@@ -160,7 +149,8 @@
             android:name="com.android.launcher3.testcomponent.BaseTestingActivity"
             android:label="LauncherTestApp"
             android:exported="true"
-            android:taskAffinity="com.android.launcher3.testcomponent.Affinity1">
+            android:taskAffinity="com.android.launcher3.testcomponent.Affinity1"
+            android:theme="@style/Theme.TestActivities">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.LAUNCHER"/>
@@ -354,6 +344,24 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity-alias>
+        <activity-alias android:name="AAAActivity"
+            android:label="AAA"
+            android:exported="true"
+            android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.LAUNCHER"/>
+            </intent-filter>
+        </activity-alias>
+        <activity-alias android:name="ZZZActivity"
+            android:label="ZZZ"
+            android:exported="true"
+            android:targetActivity="com.android.launcher3.testcomponent.BaseTestingActivity">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.LAUNCHER"/>
+            </intent-filter>
+        </activity-alias>
 
         <!-- [b/197780098] Disable eager initialization of Jetpack libraries. -->
         <provider
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index 5cf96c8..2596b75 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -23,6 +23,14 @@
 
     <application android:debuggable="true">
         <uses-library android:name="android.test.runner" />
+
+        <receiver android:name="com.android.launcher3.compat.PromiseIconUiTest$UnarchiveBroadcastReceiver"
+                  android:enabled="true"
+                  android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.UNARCHIVE_PACKAGE"/>
+            </intent-filter>
+        </receiver>
     </application>
 
     <instrumentation
diff --git a/tests/Launcher3Tests.xml b/tests/Launcher3Tests.xml
index 3fff622..0aed1e1 100644
--- a/tests/Launcher3Tests.xml
+++ b/tests/Launcher3Tests.xml
@@ -46,5 +46,6 @@
     <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
         <option name="package" value="com.android.launcher3.tests" />
         <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
+        <option name="instrumentation-arg" key="waitForActivitiesToComplete" value="false" />
     </test>
 </configuration>
diff --git a/tests/OWNERS b/tests/OWNERS
index 6b8643c..b5ee7d7 100644
--- a/tests/OWNERS
+++ b/tests/OWNERS
@@ -3,3 +3,4 @@
 sunnygoyal@google.com
 winsonc@google.com
 hyunyoungs@google.com
+mateuszc@google.com
diff --git a/tests/assets/ReorderWidgets/full_reorder_case b/tests/assets/ReorderWidgets/full_reorder_case
index 33ebaae..850e4fd 100644
--- a/tests/assets/ReorderWidgets/full_reorder_case
+++ b/tests/assets/ReorderWidgets/full_reorder_case
@@ -20,7 +20,7 @@
 bbmm
 iimm
 iiaa
-arguments: 0 3
+arguments: 0 2
 board: 4x4
 xxxx
 bbii
diff --git a/tests/assets/ReorderWidgets/simple_reorder_case b/tests/assets/ReorderWidgets/simple_reorder_case
index f5eb7b6..2c50ce4 100644
--- a/tests/assets/ReorderWidgets/simple_reorder_case
+++ b/tests/assets/ReorderWidgets/simple_reorder_case
@@ -34,7 +34,7 @@
 --mm
 --mm
 ----
-arguments: 3 3
+arguments: 2 2
 board: 4x4
 xxxx
 ----
diff --git a/tests/assets/databases/v30_workspace_items.sql b/tests/assets/databases/v30_workspace_items.sql
new file mode 100644
index 0000000..fcf5788
--- /dev/null
+++ b/tests/assets/databases/v30_workspace_items.sql
@@ -0,0 +1,5 @@
+DROP TABLE IF EXISTS 'favorites';
+CREATE TABLE favorites (_id INTEGER PRIMARY KEY,title TEXT,intent TEXT,container INTEGER,screen INTEGER,cellX INTEGER,cellY INTEGER,spanX INTEGER,spanY INTEGER,itemType INTEGER,appWidgetId INTEGER NOT NULL DEFAULT -1,iconPackage TEXT,iconResource TEXT,icon BLOB,appWidgetProvider TEXT,modified INTEGER NOT NULL DEFAULT 0,restored INTEGER NOT NULL DEFAULT 0,profileId INTEGER DEFAULT 0,rank INTEGER NOT NULL DEFAULT 0,options INTEGER NOT NULL DEFAULT 0,appWidgetSource INTEGER NOT NULL DEFAULT -1);
+INSERT INTO 'favorites' VALUES(1,'Phone','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.dialer/.extensions.GoogleDialtactsActivity;end',-101,0,0,0,1,1,0,-1,"iconPackage1","iconResource1",NULL,NULL,0,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(2,'Messages','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.messaging/.ui.ConversationListActivity;end',-101,1,1,0,1,1,0,-1,"iconPackage2","iconResource2",NULL,NULL,0,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(3,'Play Store','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.vending/.AssetBrowserActivity;end',-101,2,2,0,1,1,0,-1,"iconPackage3","iconResource3",NULL,NULL,0,0,0,0,0,-1);
\ No newline at end of file
diff --git a/tests/assets/databases/workspace_items.sql b/tests/assets/databases/workspace_items.sql
new file mode 100644
index 0000000..68f7d50
--- /dev/null
+++ b/tests/assets/databases/workspace_items.sql
@@ -0,0 +1,79 @@
+DROP TABLE IF EXISTS 'favorites';
+CREATE TABLE favorites (_id INTEGER PRIMARY KEY,title TEXT,intent TEXT,container INTEGER,screen INTEGER,cellX INTEGER,cellY INTEGER,spanX INTEGER,spanY INTEGER,itemType INTEGER,appWidgetId INTEGER NOT NULL DEFAULT -1,icon BLOB,appWidgetProvider TEXT,modified INTEGER NOT NULL DEFAULT 0,restored INTEGER NOT NULL DEFAULT 0,profileId INTEGER DEFAULT 0,rank INTEGER NOT NULL DEFAULT 0,options INTEGER NOT NULL DEFAULT 0,appWidgetSource INTEGER NOT NULL DEFAULT -1);
+INSERT INTO 'favorites' VALUES(1,'Phone','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.dialer/.extensions.GoogleDialtactsActivity;end',-101,0,0,0,1,1,0,-1,NULL,NULL,0,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(2,'Messages','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.messaging/.ui.ConversationListActivity;end',-101,1,1,0,1,1,0,-1,NULL,NULL,0,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(3,'Play Store','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.vending/.AssetBrowserActivity;end',-101,2,2,0,1,1,0,-1,NULL,NULL,0,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(4,'Chrome','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.chrome/com.google.android.apps.chrome.Main;end',-101,3,3,0,1,1,0,-1,NULL,NULL,0,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(6,'Settings','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.settings/.Settings;end',-100,0,0,1,1,1,0,-1,X'',NULL,1693590010654,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(7,'Drive','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.docs/.app.NewMainProxyActivity;end',-100,0,1,2,1,1,0,-1,X'',NULL,1693589533751,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(8,'Better Bug','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.internal.betterbug/com.google.android.apps.betterbug.bugslist.BugsListActivity;end',16,0,0,0,1,1,0,-1,X'',NULL,1693589597917,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(9,'Flag Flipper','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.theflippinapp/.MainActivity;end',-100,0,3,2,1,1,0,-1,X'',NULL,1693589546863,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(10,NULL,NULL,-100,0,1,3,3,2,4,3,NULL,'com.google.android.apps.docs/com.google.android.apps.docs.drive.widget.suggestion.SuggestionAppWidgetProvider',1693589554018,0,0,0,0,-112);
+INSERT INTO 'favorites' VALUES(11,'Scan','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.apps.docs;component=com.google.android.apps.docs/.app.NewMainProxyActivity;S.shortcut_id=launcher_shortcut_scan;end',-100,0,0,3,1,1,6,-1,X'',NULL,1693589559601,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(12,'Upload','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.apps.docs;component=com.google.android.apps.docs/.app.NewMainProxyActivity;S.shortcut_id=launcher_shortcut_upload;end',-100,0,0,4,1,1,6,-1,X'',NULL,1693589576040,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(13,'Search','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.apps.docs;component=com.google.android.apps.docs/.app.NewMainProxyActivity;S.shortcut_id=launcher_shortcut_search;end',-100,0,4,4,1,1,6,-1,X'',NULL,1693589582487,0,0,2,0,-1);
+INSERT INTO 'favorites' VALUES(15,'BluetoothCompanionApp','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.bluetooth.companion/.MainActivity;end',-100,0,1,1,1,1,0,-1,X'',NULL,1693589594115,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(16,'Better Bug',NULL,-100,0,3,1,1,1,2,-1,NULL,NULL,1693589600675,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(17,'Better Bug','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.internal.betterbug/com.google.android.apps.betterbug.bugslist.BugsListActivity;end',16,0,1,0,1,1,0,-1,X'',NULL,1693589597936,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(18,'Better Bug','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.internal.betterbug/com.google.android.apps.betterbug.bugslist.BugsListActivity;end',16,0,0,1,1,1,0,-1,X'',NULL,1693589603123,0,0,2,0,-1);
+INSERT INTO 'favorites' VALUES(19,'Incognito Tab','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.android.chrome;component=com.android.chrome/com.google.android.apps.chrome.Main;S.shortcut_id=dynamic-new-incognito-tab-shortcut;end',-100,0,2,2,1,1,6,-1,X'',NULL,1693589609963,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(20,NULL,NULL,-100,1,0,0,3,2,4,5,NULL,'com.google.android.deskclock/com.android.alarmclock.AnalogAppWidgetProvider',1693589630235,0,0,0,0,-112);
+INSERT INTO 'favorites' VALUES(21,NULL,NULL,-100,1,1,3,2,2,4,6,NULL,'com.android.chrome/org.chromium.chrome.browser.quickactionsearchwidget.QuickActionSearchWidgetProvider$QuickActionSearchWidgetProviderDino',1693589677239,0,0,0,0,-112);
+INSERT INTO 'favorites' VALUES(22,'New tab','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.android.chrome;component=com.android.chrome/com.google.android.apps.chrome.Main;S.shortcut_id=new-tab-shortcut;end',36,0,0,0,1,1,6,-1,X'',NULL,1693589694253,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(25,'Selfie','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.GoogleCamera;component=com.google.android.GoogleCamera/com.android.camera.CameraLauncher;S.shortcut_id=selfie;end',33,0,0,0,1,1,6,-1,X'',NULL,1693589686832,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(26,'Calculator','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.calculator/com.android.calculator2.Calculator;end',-100,1,4,2,1,1,0,-1,X'',NULL,1693589656954,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(27,'Calendar','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.calendar/com.android.calendar.AllInOneActivity;end',-100,1,4,0,1,1,0,-1,X'',NULL,1693589660516,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(28,'New event','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.calendar;component=com.google.android.calendar/com.android.calendar.AllInOneActivity;S.shortcut_id=launcher_shortcuts_shortcut_new_event;end',38,0,0,0,1,1,6,-1,X'',NULL,1693589698615,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(29,'New task','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.calendar;component=com.google.android.calendar/com.android.calendar.AllInOneActivity;S.shortcut_id=launcher_shortcuts_shortcut_create_task;end',-100,1,0,4,1,1,6,-1,X'',NULL,1693589677243,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(30,'Contacts','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.contacts/com.android.contacts.activities.PeopleActivity;end',-100,1,4,1,1,1,0,-1,X'',NULL,1693589671550,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(31,'Alex Eaves','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.contacts;component=com.google.android.contacts/com.android.contacts.activities.PeopleActivity;S.shortcut_id=822i60c772551678bd93;end',-100,1,4,3,1,1,6,-1,X'',NULL,1693589681873,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(32,'Add contact','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.contacts;component=com.google.android.contacts/com.android.contacts.activities.PeopleActivity;S.shortcut_id=shortcut-add-contact;end',-100,1,3,3,1,1,6,-1,X'',NULL,1693589681880,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(33,'Call',NULL,-100,1,3,2,1,1,2,-1,NULL,NULL,1693589687263,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(34,'Contacts','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.contacts/com.android.contacts.activities.PeopleActivity;end',33,0,1,0,1,1,0,-1,X'',NULL,1693589686853,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(35,'Gmail','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.gm/.ConversationListActivityGmail;end',33,0,0,1,1,1,0,-1,X'',NULL,1693589690561,0,0,2,0,-1);
+INSERT INTO 'favorites' VALUES(36,'Files',NULL,-100,1,3,1,1,1,2,-1,NULL,NULL,1693589706696,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(37,'Files','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.nbu.files/.home.HomeActivity;end',36,0,1,0,1,1,0,-1,X'',NULL,1693589694261,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(38,NULL,NULL,-100,1,0,3,1,1,2,-1,NULL,NULL,1693589698611,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(39,'Scan','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.apps.docs;component=com.google.android.apps.docs/.app.NewMainProxyActivity;S.shortcut_id=launcher_shortcut_scan;end',38,0,1,0,1,1,6,-1,X'',NULL,1693589698621,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(40,'Search','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.apps.docs;component=com.google.android.apps.docs/.app.NewMainProxyActivity;S.shortcut_id=launcher_shortcut_search;end',-100,1,3,4,1,1,6,-1,X'',NULL,1693589702696,0,0,2,0,-1);
+INSERT INTO 'favorites' VALUES(41,'Upload','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.apps.docs;component=com.google.android.apps.docs/.app.NewMainProxyActivity;S.shortcut_id=launcher_shortcut_upload;end',-100,1,1,2,1,1,6,-1,X'',NULL,1693589706711,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(42,'Camera Obfuscator','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.internal.camera.imageobfuscator/.activities.MainActivity;end',-100,1,3,0,1,1,0,-1,X'',NULL,1693589710458,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(43,'Files','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.nbu.files/.home.HomeActivity;end',45,0,0,0,1,1,0,-1,X'',NULL,1693589727388,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(44,'Flag Flipper','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.theflippinapp/.MainActivity;end',-100,2,1,0,1,1,0,-1,X'',NULL,1693589724756,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(45,NULL,NULL,-100,2,0,0,1,1,2,-1,NULL,NULL,1693589727385,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(46,'Flag Flipper','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.theflippinapp/.MainActivity;end',45,0,1,0,1,1,0,-1,X'',NULL,1693589727398,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(47,'Gmail','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.gm/.ConversationListActivityGmail;end',-100,2,2,0,1,1,0,-1,X'',NULL,1693589730037,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(48,'Compose','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.gm;component=com.google.android.gm/.ConversationListActivityGmail;S.shortcut_id=manifest_compose_shortcut;end',-100,2,3,0,1,1,6,-1,X'',NULL,1693589733121,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(49,NULL,NULL,-100,2,0,1,3,2,4,7,NULL,'com.google.android.gm/com.google.android.gm.widget.GmailWidgetProvider',1693589740752,0,0,0,0,-112);
+INSERT INTO 'favorites' VALUES(50,NULL,NULL,-100,3,1,0,4,5,4,8,NULL,'com.google.android.calendar/com.google.android.calendar.widgetmonth.MonthViewWidgetProvider',1693589746495,0,0,0,0,-111);
+INSERT INTO 'favorites' VALUES(54,'Maps','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.maps/com.google.android.maps.MapsActivity;end',-100,2,3,2,1,1,0,-1,X'',NULL,1693589785990,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(55,'Productivity',NULL,-100,2,3,4,1,1,2,-1,NULL,NULL,1693589797590,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(56,'Work','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.apps.maps;component=com.google.android.apps.maps/com.google.android.maps.MapsActivity;S.shortcut_id=manifest_work;end',55,0,1,0,1,1,6,-1,X'',NULL,1693589789538,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(57,'Home','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.apps.maps;component=com.google.android.apps.maps/com.google.android.maps.MapsActivity;S.shortcut_id=manifest_home;end',-100,2,3,1,1,1,6,-1,X'',NULL,1693589793825,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(58,'Gyotaku','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.internal.gyotaku/.Launcher;end',-100,2,3,3,1,1,0,-1,X'',NULL,1693589797615,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(60,'Phone','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.dialer/.extensions.GoogleDialtactsActivity;end',-100,2,4,3,1,1,0,-1,X'',NULL,1693589805582,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(61,'Photos','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.photos/.home.HomeActivity;end',-100,2,4,4,1,1,0,-1,X'',NULL,1693589809050,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(63,'Pixel Logger',NULL,-100,3,0,3,1,1,2,-1,NULL,NULL,1693589820775,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(65,'Pixel Tips','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.tips/.TipsMain;end',-100,3,0,4,1,1,0,-1,X'',NULL,1693589823832,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(66,'Play Store','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.vending/.AssetBrowserActivity;end',-100,3,0,1,1,1,0,-1,X'',NULL,1693589834647,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(67,NULL,NULL,-100,4,2,0,3,2,4,10,NULL,'com.google.android.apps.youtube.music/com.google.android.apps.youtube.music.player.widget.gm3.FreeformMusicWidgetProvider',1693589842256,0,0,0,0,-112);
+INSERT INTO 'favorites' VALUES(68,NULL,NULL,-100,4,0,2,4,3,4,11,NULL,'com.google.android.apps.youtube.music/com.google.android.apps.youtube.music.player.widget.gm3.FreeformMusicWidgetProvider',1693589854706,0,0,0,0,-112);
+INSERT INTO 'favorites' VALUES(69,'YouTube','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.youtube/.app.honeycomb.Shell%24HomeActivity;end',-100,4,4,4,1,1,0,-1,X'',NULL,1693589859008,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(70,'Explore','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.youtube;component=com.google.android.youtube/.app.honeycomb.Shell%24HomeActivity;S.shortcut_id=explore-shortcut;end',-100,4,4,3,1,1,6,-1,X'',NULL,1693589867283,0,0,3,0,-1);
+INSERT INTO 'favorites' VALUES(71,'Search','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.youtube;component=com.google.android.youtube/.app.honeycomb.Shell%24HomeActivity;S.shortcut_id=search-shortcut;end',-100,4,4,2,1,1,6,-1,X'',NULL,1693589871989,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(72,'Shorts','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.youtube;component=com.google.android.youtube/.app.honeycomb.Shell%24HomeActivity;S.shortcut_id=shorts-shortcut;end',-100,4,0,1,1,1,6,-1,X'',NULL,1693589882256,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(73,'Subscriptions','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.google.android.youtube;component=com.google.android.youtube/.app.honeycomb.Shell%24HomeActivity;S.shortcut_id=subscriptions-shortcut;end',-100,4,0,0,1,1,6,-1,X'',NULL,1693589888244,0,0,2,0,-1);
+INSERT INTO 'favorites' VALUES(74,'Safety','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.safetyhub/.LauncherActivity;end',-100,4,1,1,1,1,0,-1,X'',NULL,1693589891720,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(75,'Wi‑Fi','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.android.settings;component=com.android.settings/.Settings;S.shortcut_id=manifest-shortcut-wifi;end',-100,5,2,0,1,1,6,-1,X'',NULL,1693589897994,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(76,'Data usage','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.android.settings;component=com.android.settings/.Settings;S.shortcut_id=manifest-shortcut-data-usage;end',-100,5,3,1,1,1,6,-1,X'',NULL,1693589904331,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(77,'Battery','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.android.settings;component=com.android.settings/.Settings;S.shortcut_id=manifest-shortcut-battery;end',-100,5,1,2,1,1,6,-1,X'',NULL,1693589907795,0,0,2,0,-1);
+INSERT INTO 'favorites' VALUES(78,'Internet','#Intent;action=android.intent.action.MAIN;category=com.android.launcher3.DEEP_SHORTCUT;launchFlags=0x10200000;package=com.android.settings;component=com.android.settings/.Settings;S.shortcut_id=component-shortcut-com.android.settings%2F.Settings%24NetworkProviderSettingsActivity;end',-100,5,2,1,1,1,6,-1,X'',NULL,1693589914187,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(79,'Safety','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.safetyhub/.LauncherActivity;end',-100,5,2,3,1,1,0,-1,X'',NULL,1693589917447,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(80,'Recorder','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.recorder/.ui.recordings.MainActivity;end',-100,5,0,4,1,1,0,-1,X'',NULL,1693589920866,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(81,'Maps','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.apps.maps/com.google.android.maps.MapsActivity;end',82,0,0,0,1,1,0,-1,X'',NULL,1693589929103,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(82,NULL,NULL,-100,5,3,3,1,1,2,-1,NULL,NULL,1693589929099,0,0,0,0,-1);
+INSERT INTO 'favorites' VALUES(83,'Flag Flipper','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.theflippinapp/.MainActivity;end',82,0,1,0,1,1,0,-1,X'',NULL,1693589929134,0,0,1,0,-1);
+INSERT INTO 'favorites' VALUES(84,'Gmail','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.gm/.ConversationListActivityGmail;end',82,0,2,0,1,1,0,-1,X'',NULL,1693589938320,0,0,2,0,-1);
+INSERT INTO 'favorites' VALUES(85,'Google','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.googlequicksearchbox/.SearchActivity;end',82,0,0,1,1,1,0,-1,X'',NULL,1693589938321,0,0,3,0,-1);
+INSERT INTO 'favorites' VALUES(86,'Calendar','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.calendar/com.android.calendar.AllInOneActivity;end',82,0,1,1,1,1,0,-1,X'',NULL,1693589938316,0,0,4,0,-1);
+INSERT INTO 'favorites' VALUES(87,'Chrome','#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.chrome/com.google.android.apps.chrome.Main;end',82,0,2,1,1,1,0,-1,X'',NULL,1693589941181,0,0,5,0,-1);
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait.txt
new file mode 100644
index 0000000..18752e9
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.625 px
+	isTablet:false
+	isPhone:true
+	transposeLayoutWithOrientation:true
+	isGestureMode:true
+	isLandscape:false
+	isMultiWindowMode:false
+	isTwoPanels:false
+	isLeftRightSplit:false
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 1080.0px (411.42856dp)
+	heightPx: 2400.0px (914.2857dp)
+	availableWidthPx: 1080.0px (411.42856dp)
+	availableHeightPx: 2219.0px (845.3333dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 118.0px (44.95238dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 63.0px (24.0dp)
+	aspectRatio:2.2222223
+	isResponsiveGrid:false
+	isScalableGrid:false
+	inv.numRows: 5
+	inv.numColumns: 5
+	inv.numSearchContainerColumns: 5
+	minCellSize: PointF(0.0, 0.0)dp
+	cellWidthPx: 159.0px (60.57143dp)
+	cellHeightPx: 229.0px (87.2381dp)
+	getCellSize().x: 207.0px (78.85714dp)
+	getCellSize().y: 383.0px (145.90475dp)
+	cellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)
+	cellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)
+	cellLayoutPaddingPx.left: 21.0px (8.0dp)
+	cellLayoutPaddingPx.top: 28.0px (10.666667dp)
+	cellLayoutPaddingPx.right: 21.0px (8.0dp)
+	cellLayoutPaddingPx.bottom: 28.0px (10.666667dp)
+	iconSizePx: 147.0px (56.0dp)
+	iconTextSizePx: 38.0px (14.476191dp)
+	iconDrawablePaddingPx: 12.0px (4.571429dp)
+	numFolderRows: 4
+	numFolderColumns: 4
+	folderCellWidthPx: 195.0px (74.28571dp)
+	folderCellHeightPx: 230.0px (87.61905dp)
+	folderChildIconSizePx: 147.0px (56.0dp)
+	folderChildTextSizePx: 38.0px (14.476191dp)
+	folderChildDrawablePaddingPx: 4.0px (1.5238096dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 21.0px (8.0dp)
+	folderTopPadding: 63.0px (24.0dp)
+	folderFooterHeight: 147.0px (56.0dp)
+	bottomSheetTopPadding: 146.0px (55.61905dp)
+	bottomSheetOpenDuration: 267
+	bottomSheetCloseDuration: 267
+	bottomSheetWorkspaceScale: 1.0
+	bottomSheetDepth: 0.0
+	allAppsShiftRange: 788.0px (300.1905dp)
+	allAppsOpenDuration: 600
+	allAppsCloseDuration: 300
+	allAppsIconSizePx: 147.0px (56.0dp)
+	allAppsIconTextSizePx: 38.0px (14.476191dp)
+	allAppsIconDrawablePaddingPx: 21.0px (8.0dp)
+	allAppsCellHeightPx: 366.0px (139.42857dp)
+	allAppsCellWidthPx: 189.0px (72.0dp)
+	allAppsBorderSpacePxX: 42.0px (16.0dp)
+	allAppsBorderSpacePxY: 42.0px (16.0dp)
+	numShownAllAppsColumns: 5
+	allAppsPadding.top: 0.0px (0.0dp)
+	allAppsPadding.left: 0.0px (0.0dp)
+	allAppsPadding.right: 0.0px (0.0dp)
+	allAppsLeftRightMargin: 0.0px (0.0dp)
+	hotseatBarSizePx: 273.0px (104.0dp)
+	inv.hotseatColumnSpan: 5
+	hotseatCellHeightPx: 166.0px (63.238094dp)
+	hotseatBarBottomSpacePx: 126.0px (48.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 200.0px (76.190475dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 107.0px (40.761906dp)
+	getHotseatLayoutPadding(context).left: 21.0px (8.0dp)
+	getHotseatLayoutPadding(context).right: 21.0px (8.0dp)
+	numShownHotseatIcons: 5
+	hotseatBorderSpace: 0.0px (0.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 0.0px (0.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:false
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)
+	workspacePadding.left: 0.0px (0.0dp)
+	workspacePadding.top: 0.0px (0.0dp)
+	workspacePadding.right: 0.0px (0.0dp)
+	workspacePadding.bottom: 245.0px (93.333336dp)
+	iconScale: 1.0px (0.3809524dp)
+	cellScaleToFit : 1.0px (0.3809524dp)
+	extraSpace: 773.0px (294.4762dp)
+	unscaled extraSpace: 773.0px (294.4762dp)
+	maxEmptySpace: 0.0px (0.0dp)
+	workspaceTopPadding: 0.0px (0.0dp)
+	workspaceBottomPadding: 0.0px (0.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 63.0px (24.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 84.0px (32.0dp)
+	dropTargetBarSizePx: 147.0px (56.0dp)
+	dropTargetBarBottomMarginPx: 42.0px (16.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 391.0px (148.95238dp)
+	getCellLayoutSpringLoadShrunkBottom(): 1927.0px (734.0952dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.7781155px (0.29642496dp)
+	getCellLayoutHeight(): 1974.0px (752.0dp)
+	getCellLayoutWidth(): 1080.0px (411.42856dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait3Button.txt
new file mode 100644
index 0000000..c0de8d8
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/phonePortrait3Button.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.625 px
+	isTablet:false
+	isPhone:true
+	transposeLayoutWithOrientation:true
+	isGestureMode:false
+	isLandscape:false
+	isMultiWindowMode:false
+	isTwoPanels:false
+	isLeftRightSplit:false
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 1080.0px (411.42856dp)
+	heightPx: 2400.0px (914.2857dp)
+	availableWidthPx: 1080.0px (411.42856dp)
+	availableHeightPx: 2156.0px (821.3333dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 118.0px (44.95238dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 126.0px (48.0dp)
+	aspectRatio:2.2222223
+	isResponsiveGrid:false
+	isScalableGrid:false
+	inv.numRows: 5
+	inv.numColumns: 5
+	inv.numSearchContainerColumns: 5
+	minCellSize: PointF(0.0, 0.0)dp
+	cellWidthPx: 159.0px (60.57143dp)
+	cellHeightPx: 229.0px (87.2381dp)
+	getCellSize().x: 207.0px (78.85714dp)
+	getCellSize().y: 379.0px (144.38095dp)
+	cellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)
+	cellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)
+	cellLayoutPaddingPx.left: 21.0px (8.0dp)
+	cellLayoutPaddingPx.top: 28.0px (10.666667dp)
+	cellLayoutPaddingPx.right: 21.0px (8.0dp)
+	cellLayoutPaddingPx.bottom: 28.0px (10.666667dp)
+	iconSizePx: 147.0px (56.0dp)
+	iconTextSizePx: 38.0px (14.476191dp)
+	iconDrawablePaddingPx: 12.0px (4.571429dp)
+	numFolderRows: 4
+	numFolderColumns: 4
+	folderCellWidthPx: 195.0px (74.28571dp)
+	folderCellHeightPx: 230.0px (87.61905dp)
+	folderChildIconSizePx: 147.0px (56.0dp)
+	folderChildTextSizePx: 38.0px (14.476191dp)
+	folderChildDrawablePaddingPx: 4.0px (1.5238096dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 21.0px (8.0dp)
+	folderTopPadding: 63.0px (24.0dp)
+	folderFooterHeight: 147.0px (56.0dp)
+	bottomSheetTopPadding: 146.0px (55.61905dp)
+	bottomSheetOpenDuration: 267
+	bottomSheetCloseDuration: 267
+	bottomSheetWorkspaceScale: 1.0
+	bottomSheetDepth: 0.0
+	allAppsShiftRange: 788.0px (300.1905dp)
+	allAppsOpenDuration: 600
+	allAppsCloseDuration: 300
+	allAppsIconSizePx: 147.0px (56.0dp)
+	allAppsIconTextSizePx: 38.0px (14.476191dp)
+	allAppsIconDrawablePaddingPx: 21.0px (8.0dp)
+	allAppsCellHeightPx: 366.0px (139.42857dp)
+	allAppsCellWidthPx: 189.0px (72.0dp)
+	allAppsBorderSpacePxX: 42.0px (16.0dp)
+	allAppsBorderSpacePxY: 42.0px (16.0dp)
+	numShownAllAppsColumns: 5
+	allAppsPadding.top: 0.0px (0.0dp)
+	allAppsPadding.left: 0.0px (0.0dp)
+	allAppsPadding.right: 0.0px (0.0dp)
+	allAppsLeftRightMargin: 0.0px (0.0dp)
+	hotseatBarSizePx: 294.0px (112.0dp)
+	inv.hotseatColumnSpan: 5
+	hotseatCellHeightPx: 166.0px (63.238094dp)
+	hotseatBarBottomSpacePx: 147.0px (56.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 200.0px (76.190475dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 128.0px (48.761906dp)
+	getHotseatLayoutPadding(context).left: 21.0px (8.0dp)
+	getHotseatLayoutPadding(context).right: 21.0px (8.0dp)
+	numShownHotseatIcons: 5
+	hotseatBorderSpace: 0.0px (0.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 0.0px (0.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:false
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)
+	workspacePadding.left: 0.0px (0.0dp)
+	workspacePadding.top: 0.0px (0.0dp)
+	workspacePadding.right: 0.0px (0.0dp)
+	workspacePadding.bottom: 203.0px (77.333336dp)
+	iconScale: 1.0px (0.3809524dp)
+	cellScaleToFit : 1.0px (0.3809524dp)
+	extraSpace: 752.0px (286.4762dp)
+	unscaled extraSpace: 752.0px (286.4762dp)
+	maxEmptySpace: 0.0px (0.0dp)
+	workspaceTopPadding: 0.0px (0.0dp)
+	workspaceBottomPadding: 0.0px (0.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 126.0px (48.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 84.0px (32.0dp)
+	dropTargetBarSizePx: 147.0px (56.0dp)
+	dropTargetBarBottomMarginPx: 42.0px (16.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 391.0px (148.95238dp)
+	getCellLayoutSpringLoadShrunkBottom(): 1906.0px (726.0952dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.77572966px (0.29551607dp)
+	getCellLayoutHeight(): 1953.0px (744.0dp)
+	getCellLayoutWidth(): 1080.0px (411.42856dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar.txt
new file mode 100644
index 0000000..920ba6f
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.625 px
+	isTablet:false
+	isPhone:true
+	transposeLayoutWithOrientation:true
+	isGestureMode:true
+	isLandscape:true
+	isMultiWindowMode:false
+	isTwoPanels:false
+	isLeftRightSplit:true
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 2400.0px (914.2857dp)
+	heightPx: 1080.0px (411.42856dp)
+	availableWidthPx: 2282.0px (869.3333dp)
+	availableHeightPx: 943.0px (359.2381dp)
+	mInsets.left: 118.0px (44.95238dp)
+	mInsets.top: 74.0px (28.190475dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 63.0px (24.0dp)
+	aspectRatio:2.2222223
+	isResponsiveGrid:false
+	isScalableGrid:false
+	inv.numRows: 5
+	inv.numColumns: 5
+	inv.numSearchContainerColumns: 5
+	minCellSize: PointF(0.0, 0.0)dp
+	cellWidthPx: 152.0px (57.904762dp)
+	cellHeightPx: 166.0px (63.238094dp)
+	getCellSize().x: 393.0px (149.71428dp)
+	getCellSize().y: 180.0px (68.57143dp)
+	cellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)
+	cellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)
+	cellLayoutPaddingPx.left: 53.0px (20.190475dp)
+	cellLayoutPaddingPx.top: 0.0px (0.0dp)
+	cellLayoutPaddingPx.right: 53.0px (20.190475dp)
+	cellLayoutPaddingPx.bottom: 40.0px (15.238095dp)
+	iconSizePx: 147.0px (56.0dp)
+	iconTextSizePx: 0.0px (0.0dp)
+	iconDrawablePaddingPx: 0.0px (0.0dp)
+	numFolderRows: 4
+	numFolderColumns: 4
+	folderCellWidthPx: 163.0px (62.095238dp)
+	folderCellHeightPx: 192.0px (73.14286dp)
+	folderChildIconSizePx: 123.0px (46.857143dp)
+	folderChildTextSizePx: 32.0px (12.190476dp)
+	folderChildDrawablePaddingPx: 3.0px (1.1428572dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 21.0px (8.0dp)
+	folderTopPadding: 53.0px (20.190475dp)
+	folderFooterHeight: 123.0px (46.857143dp)
+	bottomSheetTopPadding: 114.0px (43.42857dp)
+	bottomSheetOpenDuration: 267
+	bottomSheetCloseDuration: 267
+	bottomSheetWorkspaceScale: 1.0
+	bottomSheetDepth: 0.0
+	allAppsShiftRange: 788.0px (300.1905dp)
+	allAppsOpenDuration: 600
+	allAppsCloseDuration: 300
+	allAppsIconSizePx: 147.0px (56.0dp)
+	allAppsIconTextSizePx: 38.0px (14.476191dp)
+	allAppsIconDrawablePaddingPx: 21.0px (8.0dp)
+	allAppsCellHeightPx: 372.0px (141.71428dp)
+	allAppsCellWidthPx: 189.0px (72.0dp)
+	allAppsBorderSpacePxX: 42.0px (16.0dp)
+	allAppsBorderSpacePxY: 42.0px (16.0dp)
+	numShownAllAppsColumns: 5
+	allAppsPadding.top: 0.0px (0.0dp)
+	allAppsPadding.left: 0.0px (0.0dp)
+	allAppsPadding.right: 0.0px (0.0dp)
+	allAppsLeftRightMargin: 0.0px (0.0dp)
+	hotseatBarSizePx: 252.0px (96.0dp)
+	inv.hotseatColumnSpan: 5
+	hotseatCellHeightPx: 166.0px (63.238094dp)
+	hotseatBarBottomSpacePx: 0.0px (0.0dp)
+	mHotseatBarEdgePaddingPx: 63.0px (24.0dp)
+	mHotseatBarWorkspaceSpacePx: 42.0px (16.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 118.0px (44.95238dp)
+	getHotseatLayoutPadding(context).top: 64.0px (24.380953dp)
+	getHotseatLayoutPadding(context).bottom: 112.0px (42.666668dp)
+	getHotseatLayoutPadding(context).left: 42.0px (16.0dp)
+	getHotseatLayoutPadding(context).right: 63.0px (24.0dp)
+	numShownHotseatIcons: 5
+	hotseatBorderSpace: 0.0px (0.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 0.0px (0.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:false
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 0.0px (0.0dp)
+	workspacePadding.left: 10.0px (3.8095238dp)
+	workspacePadding.top: 0.0px (0.0dp)
+	workspacePadding.right: 199.0px (75.809525dp)
+	workspacePadding.bottom: 0.0px (0.0dp)
+	iconScale: 1.0px (0.3809524dp)
+	cellScaleToFit : 1.0px (0.3809524dp)
+	extraSpace: 73.0px (27.809525dp)
+	unscaled extraSpace: 73.0px (27.809525dp)
+	maxEmptySpace: 0.0px (0.0dp)
+	workspaceTopPadding: 0.0px (0.0dp)
+	workspaceBottomPadding: 0.0px (0.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 63.0px (24.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 16.0px (6.095238dp)
+	dropTargetBarSizePx: 95.0px (36.190475dp)
+	dropTargetBarBottomMarginPx: 16.0px (6.095238dp)
+	getCellLayoutSpringLoadShrunkTop(): 201.0px (76.57143dp)
+	getCellLayoutSpringLoadShrunkBottom(): 952.0px (362.66666dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.79639447px (0.30338836dp)
+	getCellLayoutHeight(): 943.0px (359.2381dp)
+	getCellLayoutWidth(): 2073.0px (789.7143dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar3Button.txt
new file mode 100644
index 0000000..65460ec
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/phoneVerticalBar3Button.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.625 px
+	isTablet:false
+	isPhone:true
+	transposeLayoutWithOrientation:true
+	isGestureMode:false
+	isLandscape:true
+	isMultiWindowMode:false
+	isTwoPanels:false
+	isLeftRightSplit:true
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 2400.0px (914.2857dp)
+	heightPx: 1080.0px (411.42856dp)
+	availableWidthPx: 2156.0px (821.3333dp)
+	availableHeightPx: 1006.0px (383.2381dp)
+	mInsets.left: 118.0px (44.95238dp)
+	mInsets.top: 74.0px (28.190475dp)
+	mInsets.right: 126.0px (48.0dp)
+	mInsets.bottom: 0.0px (0.0dp)
+	aspectRatio:2.2222223
+	isResponsiveGrid:false
+	isScalableGrid:false
+	inv.numRows: 5
+	inv.numColumns: 5
+	inv.numSearchContainerColumns: 5
+	minCellSize: PointF(0.0, 0.0)dp
+	cellWidthPx: 152.0px (57.904762dp)
+	cellHeightPx: 166.0px (63.238094dp)
+	getCellSize().x: 368.0px (140.19048dp)
+	getCellSize().y: 193.0px (73.52381dp)
+	cellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)
+	cellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)
+	cellLayoutPaddingPx.left: 53.0px (20.190475dp)
+	cellLayoutPaddingPx.top: 0.0px (0.0dp)
+	cellLayoutPaddingPx.right: 53.0px (20.190475dp)
+	cellLayoutPaddingPx.bottom: 40.0px (15.238095dp)
+	iconSizePx: 147.0px (56.0dp)
+	iconTextSizePx: 0.0px (0.0dp)
+	iconDrawablePaddingPx: 0.0px (0.0dp)
+	numFolderRows: 4
+	numFolderColumns: 4
+	folderCellWidthPx: 173.0px (65.90476dp)
+	folderCellHeightPx: 205.0px (78.09524dp)
+	folderChildIconSizePx: 131.0px (49.904762dp)
+	folderChildTextSizePx: 34.0px (12.952381dp)
+	folderChildDrawablePaddingPx: 4.0px (1.5238096dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 21.0px (8.0dp)
+	folderTopPadding: 56.0px (21.333334dp)
+	folderFooterHeight: 131.0px (49.904762dp)
+	bottomSheetTopPadding: 114.0px (43.42857dp)
+	bottomSheetOpenDuration: 267
+	bottomSheetCloseDuration: 267
+	bottomSheetWorkspaceScale: 1.0
+	bottomSheetDepth: 0.0
+	allAppsShiftRange: 788.0px (300.1905dp)
+	allAppsOpenDuration: 600
+	allAppsCloseDuration: 300
+	allAppsIconSizePx: 147.0px (56.0dp)
+	allAppsIconTextSizePx: 38.0px (14.476191dp)
+	allAppsIconDrawablePaddingPx: 21.0px (8.0dp)
+	allAppsCellHeightPx: 372.0px (141.71428dp)
+	allAppsCellWidthPx: 189.0px (72.0dp)
+	allAppsBorderSpacePxX: 42.0px (16.0dp)
+	allAppsBorderSpacePxY: 42.0px (16.0dp)
+	numShownAllAppsColumns: 5
+	allAppsPadding.top: 0.0px (0.0dp)
+	allAppsPadding.left: 0.0px (0.0dp)
+	allAppsPadding.right: 0.0px (0.0dp)
+	allAppsLeftRightMargin: 0.0px (0.0dp)
+	hotseatBarSizePx: 252.0px (96.0dp)
+	inv.hotseatColumnSpan: 5
+	hotseatCellHeightPx: 166.0px (63.238094dp)
+	hotseatBarBottomSpacePx: 0.0px (0.0dp)
+	mHotseatBarEdgePaddingPx: 63.0px (24.0dp)
+	mHotseatBarWorkspaceSpacePx: 42.0px (16.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 118.0px (44.95238dp)
+	getHotseatLayoutPadding(context).top: 64.0px (24.380953dp)
+	getHotseatLayoutPadding(context).bottom: 49.0px (18.666666dp)
+	getHotseatLayoutPadding(context).left: 42.0px (16.0dp)
+	getHotseatLayoutPadding(context).right: 189.0px (72.0dp)
+	numShownHotseatIcons: 5
+	hotseatBorderSpace: 0.0px (0.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 0.0px (0.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:false
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 0.0px (0.0dp)
+	workspacePadding.left: 10.0px (3.8095238dp)
+	workspacePadding.top: 0.0px (0.0dp)
+	workspacePadding.right: 199.0px (75.809525dp)
+	workspacePadding.bottom: 0.0px (0.0dp)
+	iconScale: 1.0px (0.3809524dp)
+	cellScaleToFit : 1.0px (0.3809524dp)
+	extraSpace: 136.0px (51.809525dp)
+	unscaled extraSpace: 136.0px (51.809525dp)
+	maxEmptySpace: 0.0px (0.0dp)
+	workspaceTopPadding: 0.0px (0.0dp)
+	workspaceBottomPadding: 0.0px (0.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 0.0px (0.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 16.0px (6.095238dp)
+	dropTargetBarSizePx: 95.0px (36.190475dp)
+	dropTargetBarBottomMarginPx: 16.0px (6.095238dp)
+	getCellLayoutSpringLoadShrunkTop(): 201.0px (76.57143dp)
+	getCellLayoutSpringLoadShrunkBottom(): 1008.0px (384.0dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.8021869px (0.305595dp)
+	getCellLayoutHeight(): 1006.0px (383.2381dp)
+	getCellLayoutWidth(): 1947.0px (741.7143dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape.txt
new file mode 100644
index 0000000..92caf23
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.0 px
+	isTablet:true
+	isPhone:false
+	transposeLayoutWithOrientation:false
+	isGestureMode:true
+	isLandscape:true
+	isMultiWindowMode:false
+	isTwoPanels:false
+	isLeftRightSplit:true
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 2560.0px (1280.0dp)
+	heightPx: 1600.0px (800.0dp)
+	availableWidthPx: 2560.0px (1280.0dp)
+	availableHeightPx: 1496.0px (748.0dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 104.0px (52.0dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 0.0px (0.0dp)
+	aspectRatio:1.6
+	isResponsiveGrid:false
+	isScalableGrid:true
+	inv.numRows: 5
+	inv.numColumns: 6
+	inv.numSearchContainerColumns: 3
+	minCellSize: PointF(120.0, 104.0)dp
+	cellWidthPx: 240.0px (120.0dp)
+	cellHeightPx: 208.0px (104.0dp)
+	getCellSize().x: 240.0px (120.0dp)
+	getCellSize().y: 208.0px (104.0dp)
+	cellLayoutBorderSpacePx Horizontal: 128.0px (64.0dp)
+	cellLayoutBorderSpacePx Vertical: 32.0px (16.0dp)
+	cellLayoutPaddingPx.left: 59.0px (29.5dp)
+	cellLayoutPaddingPx.top: 25.0px (12.5dp)
+	cellLayoutPaddingPx.right: 59.0px (29.5dp)
+	cellLayoutPaddingPx.bottom: 59.0px (29.5dp)
+	iconSizePx: 120.0px (60.0dp)
+	iconTextSizePx: 28.0px (14.0dp)
+	iconDrawablePaddingPx: 9.0px (4.5dp)
+	numFolderRows: 3
+	numFolderColumns: 3
+	folderCellWidthPx: 240.0px (120.0dp)
+	folderCellHeightPx: 208.0px (104.0dp)
+	folderChildIconSizePx: 120.0px (60.0dp)
+	folderChildTextSizePx: 28.0px (14.0dp)
+	folderChildDrawablePaddingPx: 11.0px (5.5dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 0.0px (0.0dp)
+	folderTopPadding: 48.0px (24.0dp)
+	folderFooterHeight: 112.0px (56.0dp)
+	bottomSheetTopPadding: 104.0px (52.0dp)
+	bottomSheetOpenDuration: 500
+	bottomSheetCloseDuration: 500
+	bottomSheetWorkspaceScale: 0.97
+	bottomSheetDepth: 0.0
+	allAppsShiftRange: 1600.0px (800.0dp)
+	allAppsOpenDuration: 500
+	allAppsCloseDuration: 500
+	allAppsIconSizePx: 120.0px (60.0dp)
+	allAppsIconTextSizePx: 28.0px (14.0dp)
+	allAppsIconDrawablePaddingPx: 9.0px (4.5dp)
+	allAppsCellHeightPx: 322.0px (161.0dp)
+	allAppsCellWidthPx: 252.0px (126.0dp)
+	allAppsBorderSpacePxX: 32.0px (16.0dp)
+	allAppsBorderSpacePxY: 32.0px (16.0dp)
+	numShownAllAppsColumns: 6
+	allAppsPadding.top: 104.0px (52.0dp)
+	allAppsPadding.left: 32.0px (16.0dp)
+	allAppsPadding.right: 32.0px (16.0dp)
+	allAppsLeftRightMargin: 412.0px (206.0dp)
+	hotseatBarSizePx: 200.0px (100.0dp)
+	inv.hotseatColumnSpan: 4
+	hotseatCellHeightPx: 135.0px (67.5dp)
+	hotseatBarBottomSpacePx: 80.0px (40.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 128.0px (64.0dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 65.0px (32.5dp)
+	getHotseatLayoutPadding(context).left: 668.0px (334.0dp)
+	getHotseatLayoutPadding(context).right: 668.0px (334.0dp)
+	numShownHotseatIcons: 6
+	hotseatBorderSpace: 100.0px (50.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 1214.0px (607.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:true
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 240.0px (120.0dp)
+	workspacePadding.left: 181.0px (90.5dp)
+	workspacePadding.top: 0.0px (0.0dp)
+	workspacePadding.right: 181.0px (90.5dp)
+	workspacePadding.bottom: 244.0px (122.0dp)
+	iconScale: 1.0px (0.5dp)
+	cellScaleToFit : 1.0px (0.5dp)
+	extraSpace: 80.0px (40.0dp)
+	unscaled extraSpace: 80.0px (40.0dp)
+	maxEmptySpace: 200.0px (100.0dp)
+	workspaceTopPadding: 25.0px (12.5dp)
+	workspaceBottomPadding: 55.0px (27.5dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 0.0px (0.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 0.0px (0.0dp)
+	dropTargetBarSizePx: 144.0px (72.0dp)
+	dropTargetBarBottomMarginPx: 64.0px (32.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 312.0px (156.0dp)
+	getCellLayoutSpringLoadShrunkBottom(): 1272.0px (636.0dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.76677316px (0.38338658dp)
+	getCellLayoutHeight(): 1252.0px (626.0dp)
+	getCellLayoutWidth(): 2198.0px (1099.0dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape3Button.txt
new file mode 100644
index 0000000..3815fa9
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletLandscape3Button.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.0 px
+	isTablet:true
+	isPhone:false
+	transposeLayoutWithOrientation:false
+	isGestureMode:false
+	isLandscape:true
+	isMultiWindowMode:false
+	isTwoPanels:false
+	isLeftRightSplit:true
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 2560.0px (1280.0dp)
+	heightPx: 1600.0px (800.0dp)
+	availableWidthPx: 2560.0px (1280.0dp)
+	availableHeightPx: 1496.0px (748.0dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 104.0px (52.0dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 0.0px (0.0dp)
+	aspectRatio:1.6
+	isResponsiveGrid:false
+	isScalableGrid:true
+	inv.numRows: 5
+	inv.numColumns: 6
+	inv.numSearchContainerColumns: 3
+	minCellSize: PointF(120.0, 104.0)dp
+	cellWidthPx: 240.0px (120.0dp)
+	cellHeightPx: 208.0px (104.0dp)
+	getCellSize().x: 240.0px (120.0dp)
+	getCellSize().y: 208.0px (104.0dp)
+	cellLayoutBorderSpacePx Horizontal: 128.0px (64.0dp)
+	cellLayoutBorderSpacePx Vertical: 32.0px (16.0dp)
+	cellLayoutPaddingPx.left: 59.0px (29.5dp)
+	cellLayoutPaddingPx.top: 25.0px (12.5dp)
+	cellLayoutPaddingPx.right: 59.0px (29.5dp)
+	cellLayoutPaddingPx.bottom: 59.0px (29.5dp)
+	iconSizePx: 120.0px (60.0dp)
+	iconTextSizePx: 28.0px (14.0dp)
+	iconDrawablePaddingPx: 9.0px (4.5dp)
+	numFolderRows: 3
+	numFolderColumns: 3
+	folderCellWidthPx: 240.0px (120.0dp)
+	folderCellHeightPx: 208.0px (104.0dp)
+	folderChildIconSizePx: 120.0px (60.0dp)
+	folderChildTextSizePx: 28.0px (14.0dp)
+	folderChildDrawablePaddingPx: 11.0px (5.5dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 0.0px (0.0dp)
+	folderTopPadding: 48.0px (24.0dp)
+	folderFooterHeight: 112.0px (56.0dp)
+	bottomSheetTopPadding: 104.0px (52.0dp)
+	bottomSheetOpenDuration: 500
+	bottomSheetCloseDuration: 500
+	bottomSheetWorkspaceScale: 0.97
+	bottomSheetDepth: 0.0
+	allAppsShiftRange: 1600.0px (800.0dp)
+	allAppsOpenDuration: 500
+	allAppsCloseDuration: 500
+	allAppsIconSizePx: 120.0px (60.0dp)
+	allAppsIconTextSizePx: 28.0px (14.0dp)
+	allAppsIconDrawablePaddingPx: 9.0px (4.5dp)
+	allAppsCellHeightPx: 322.0px (161.0dp)
+	allAppsCellWidthPx: 252.0px (126.0dp)
+	allAppsBorderSpacePxX: 32.0px (16.0dp)
+	allAppsBorderSpacePxY: 32.0px (16.0dp)
+	numShownAllAppsColumns: 6
+	allAppsPadding.top: 104.0px (52.0dp)
+	allAppsPadding.left: 32.0px (16.0dp)
+	allAppsPadding.right: 32.0px (16.0dp)
+	allAppsLeftRightMargin: 412.0px (206.0dp)
+	hotseatBarSizePx: 200.0px (100.0dp)
+	inv.hotseatColumnSpan: 4
+	hotseatCellHeightPx: 135.0px (67.5dp)
+	hotseatBarBottomSpacePx: 80.0px (40.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 128.0px (64.0dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 65.0px (32.5dp)
+	getHotseatLayoutPadding(context).left: 668.0px (334.0dp)
+	getHotseatLayoutPadding(context).right: 668.0px (334.0dp)
+	numShownHotseatIcons: 6
+	hotseatBorderSpace: 100.0px (50.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 1214.0px (607.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:true
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 240.0px (120.0dp)
+	workspacePadding.left: 181.0px (90.5dp)
+	workspacePadding.top: 0.0px (0.0dp)
+	workspacePadding.right: 181.0px (90.5dp)
+	workspacePadding.bottom: 244.0px (122.0dp)
+	iconScale: 1.0px (0.5dp)
+	cellScaleToFit : 1.0px (0.5dp)
+	extraSpace: 80.0px (40.0dp)
+	unscaled extraSpace: 80.0px (40.0dp)
+	maxEmptySpace: 200.0px (100.0dp)
+	workspaceTopPadding: 25.0px (12.5dp)
+	workspaceBottomPadding: 55.0px (27.5dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 0.0px (0.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 0.0px (0.0dp)
+	dropTargetBarSizePx: 144.0px (72.0dp)
+	dropTargetBarBottomMarginPx: 64.0px (32.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 312.0px (156.0dp)
+	getCellLayoutSpringLoadShrunkBottom(): 1272.0px (636.0dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.76677316px (0.38338658dp)
+	getCellLayoutHeight(): 1252.0px (626.0dp)
+	getCellLayoutWidth(): 2198.0px (1099.0dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait.txt
new file mode 100644
index 0000000..7e0f316
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.0 px
+	isTablet:true
+	isPhone:false
+	transposeLayoutWithOrientation:false
+	isGestureMode:true
+	isLandscape:false
+	isMultiWindowMode:false
+	isTwoPanels:false
+	isLeftRightSplit:false
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 1600.0px (800.0dp)
+	heightPx: 2560.0px (1280.0dp)
+	availableWidthPx: 1600.0px (800.0dp)
+	availableHeightPx: 2456.0px (1228.0dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 104.0px (52.0dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 0.0px (0.0dp)
+	aspectRatio:1.6
+	isResponsiveGrid:false
+	isScalableGrid:true
+	inv.numRows: 5
+	inv.numColumns: 6
+	inv.numSearchContainerColumns: 3
+	minCellSize: PointF(102.0, 120.0)dp
+	cellWidthPx: 204.0px (102.0dp)
+	cellHeightPx: 240.0px (120.0dp)
+	getCellSize().x: 204.0px (102.0dp)
+	getCellSize().y: 240.0px (120.0dp)
+	cellLayoutBorderSpacePx Horizontal: 32.0px (16.0dp)
+	cellLayoutBorderSpacePx Vertical: 128.0px (64.0dp)
+	cellLayoutPaddingPx.left: 72.0px (36.0dp)
+	cellLayoutPaddingPx.top: 72.0px (36.0dp)
+	cellLayoutPaddingPx.right: 72.0px (36.0dp)
+	cellLayoutPaddingPx.bottom: 72.0px (36.0dp)
+	iconSizePx: 120.0px (60.0dp)
+	iconTextSizePx: 28.0px (14.0dp)
+	iconDrawablePaddingPx: 9.0px (4.5dp)
+	numFolderRows: 3
+	numFolderColumns: 3
+	folderCellWidthPx: 204.0px (102.0dp)
+	folderCellHeightPx: 240.0px (120.0dp)
+	folderChildIconSizePx: 120.0px (60.0dp)
+	folderChildTextSizePx: 28.0px (14.0dp)
+	folderChildDrawablePaddingPx: 22.0px (11.0dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 0.0px (0.0dp)
+	folderTopPadding: 48.0px (24.0dp)
+	folderFooterHeight: 112.0px (56.0dp)
+	bottomSheetTopPadding: 704.0px (352.0dp)
+	bottomSheetOpenDuration: 500
+	bottomSheetCloseDuration: 500
+	bottomSheetWorkspaceScale: 0.97
+	bottomSheetDepth: 0.0
+	allAppsShiftRange: 2560.0px (1280.0dp)
+	allAppsOpenDuration: 500
+	allAppsCloseDuration: 500
+	allAppsIconSizePx: 120.0px (60.0dp)
+	allAppsIconTextSizePx: 28.0px (14.0dp)
+	allAppsIconDrawablePaddingPx: 9.0px (4.5dp)
+	allAppsCellHeightPx: 354.0px (177.0dp)
+	allAppsCellWidthPx: 192.0px (96.0dp)
+	allAppsBorderSpacePxX: 16.0px (8.0dp)
+	allAppsBorderSpacePxY: 32.0px (16.0dp)
+	numShownAllAppsColumns: 6
+	allAppsPadding.top: 104.0px (52.0dp)
+	allAppsPadding.left: 32.0px (16.0dp)
+	allAppsPadding.right: 32.0px (16.0dp)
+	allAppsLeftRightMargin: 152.0px (76.0dp)
+	hotseatBarSizePx: 272.0px (136.0dp)
+	inv.hotseatColumnSpan: 6
+	hotseatCellHeightPx: 135.0px (67.5dp)
+	hotseatBarBottomSpacePx: 152.0px (76.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 216.0px (108.0dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 137.0px (68.5dp)
+	getHotseatLayoutPadding(context).left: 150.0px (75.0dp)
+	getHotseatLayoutPadding(context).right: 150.0px (75.0dp)
+	numShownHotseatIcons: 6
+	hotseatBorderSpace: 116.0px (58.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 1290.0px (645.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:true
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 108.0px (54.0dp)
+	workspacePadding.left: 36.0px (18.0dp)
+	workspacePadding.top: 132.0px (66.0dp)
+	workspacePadding.right: 36.0px (18.0dp)
+	workspacePadding.bottom: 468.0px (234.0dp)
+	iconScale: 1.0px (0.5dp)
+	cellScaleToFit : 1.0px (0.5dp)
+	extraSpace: 424.0px (212.0dp)
+	unscaled extraSpace: 424.0px (212.0dp)
+	maxEmptySpace: 19998.0px (9999.0dp)
+	workspaceTopPadding: 204.0px (102.0dp)
+	workspaceBottomPadding: 220.0px (110.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 0.0px (0.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 220.0px (110.0dp)
+	dropTargetBarSizePx: 144.0px (72.0dp)
+	dropTargetBarBottomMarginPx: 96.0px (48.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 564.0px (282.0dp)
+	getCellLayoutSpringLoadShrunkBottom(): 2072.0px (1036.0dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.8125px (0.40625dp)
+	getCellLayoutHeight(): 1856.0px (928.0dp)
+	getCellLayoutWidth(): 1528.0px (764.0dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait3Button.txt
new file mode 100644
index 0000000..58c3890
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/tabletPortrait3Button.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.0 px
+	isTablet:true
+	isPhone:false
+	transposeLayoutWithOrientation:false
+	isGestureMode:false
+	isLandscape:false
+	isMultiWindowMode:false
+	isTwoPanels:false
+	isLeftRightSplit:false
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 1600.0px (800.0dp)
+	heightPx: 2560.0px (1280.0dp)
+	availableWidthPx: 1600.0px (800.0dp)
+	availableHeightPx: 2456.0px (1228.0dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 104.0px (52.0dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 0.0px (0.0dp)
+	aspectRatio:1.6
+	isResponsiveGrid:false
+	isScalableGrid:true
+	inv.numRows: 5
+	inv.numColumns: 6
+	inv.numSearchContainerColumns: 3
+	minCellSize: PointF(102.0, 120.0)dp
+	cellWidthPx: 204.0px (102.0dp)
+	cellHeightPx: 240.0px (120.0dp)
+	getCellSize().x: 204.0px (102.0dp)
+	getCellSize().y: 240.0px (120.0dp)
+	cellLayoutBorderSpacePx Horizontal: 32.0px (16.0dp)
+	cellLayoutBorderSpacePx Vertical: 128.0px (64.0dp)
+	cellLayoutPaddingPx.left: 72.0px (36.0dp)
+	cellLayoutPaddingPx.top: 72.0px (36.0dp)
+	cellLayoutPaddingPx.right: 72.0px (36.0dp)
+	cellLayoutPaddingPx.bottom: 72.0px (36.0dp)
+	iconSizePx: 120.0px (60.0dp)
+	iconTextSizePx: 28.0px (14.0dp)
+	iconDrawablePaddingPx: 9.0px (4.5dp)
+	numFolderRows: 3
+	numFolderColumns: 3
+	folderCellWidthPx: 204.0px (102.0dp)
+	folderCellHeightPx: 240.0px (120.0dp)
+	folderChildIconSizePx: 120.0px (60.0dp)
+	folderChildTextSizePx: 28.0px (14.0dp)
+	folderChildDrawablePaddingPx: 22.0px (11.0dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 0.0px (0.0dp)
+	folderTopPadding: 48.0px (24.0dp)
+	folderFooterHeight: 112.0px (56.0dp)
+	bottomSheetTopPadding: 704.0px (352.0dp)
+	bottomSheetOpenDuration: 500
+	bottomSheetCloseDuration: 500
+	bottomSheetWorkspaceScale: 0.97
+	bottomSheetDepth: 0.0
+	allAppsShiftRange: 2560.0px (1280.0dp)
+	allAppsOpenDuration: 500
+	allAppsCloseDuration: 500
+	allAppsIconSizePx: 120.0px (60.0dp)
+	allAppsIconTextSizePx: 28.0px (14.0dp)
+	allAppsIconDrawablePaddingPx: 9.0px (4.5dp)
+	allAppsCellHeightPx: 354.0px (177.0dp)
+	allAppsCellWidthPx: 192.0px (96.0dp)
+	allAppsBorderSpacePxX: 16.0px (8.0dp)
+	allAppsBorderSpacePxY: 32.0px (16.0dp)
+	numShownAllAppsColumns: 6
+	allAppsPadding.top: 104.0px (52.0dp)
+	allAppsPadding.left: 32.0px (16.0dp)
+	allAppsPadding.right: 32.0px (16.0dp)
+	allAppsLeftRightMargin: 152.0px (76.0dp)
+	hotseatBarSizePx: 272.0px (136.0dp)
+	inv.hotseatColumnSpan: 6
+	hotseatCellHeightPx: 135.0px (67.5dp)
+	hotseatBarBottomSpacePx: 152.0px (76.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 216.0px (108.0dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 137.0px (68.5dp)
+	getHotseatLayoutPadding(context).left: 150.0px (75.0dp)
+	getHotseatLayoutPadding(context).right: 150.0px (75.0dp)
+	numShownHotseatIcons: 6
+	hotseatBorderSpace: 116.0px (58.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 1290.0px (645.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:true
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 108.0px (54.0dp)
+	workspacePadding.left: 36.0px (18.0dp)
+	workspacePadding.top: 132.0px (66.0dp)
+	workspacePadding.right: 36.0px (18.0dp)
+	workspacePadding.bottom: 468.0px (234.0dp)
+	iconScale: 1.0px (0.5dp)
+	cellScaleToFit : 1.0px (0.5dp)
+	extraSpace: 424.0px (212.0dp)
+	unscaled extraSpace: 424.0px (212.0dp)
+	maxEmptySpace: 19998.0px (9999.0dp)
+	workspaceTopPadding: 204.0px (102.0dp)
+	workspaceBottomPadding: 220.0px (110.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 0.0px (0.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 220.0px (110.0dp)
+	dropTargetBarSizePx: 144.0px (72.0dp)
+	dropTargetBarBottomMarginPx: 96.0px (48.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 564.0px (282.0dp)
+	getCellLayoutSpringLoadShrunkBottom(): 2072.0px (1036.0dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.8125px (0.40625dp)
+	getCellLayoutHeight(): 1856.0px (928.0dp)
+	getCellLayoutWidth(): 1528.0px (764.0dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape.txt
new file mode 100644
index 0000000..1e363a2
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.625 px
+	isTablet:true
+	isPhone:false
+	transposeLayoutWithOrientation:false
+	isGestureMode:true
+	isLandscape:true
+	isMultiWindowMode:false
+	isTwoPanels:true
+	isLeftRightSplit:true
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 2208.0px (841.1429dp)
+	heightPx: 1840.0px (700.9524dp)
+	availableWidthPx: 2208.0px (841.1429dp)
+	availableHeightPx: 1730.0px (659.0476dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 110.0px (41.904762dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 0.0px (0.0dp)
+	aspectRatio:1.2
+	isResponsiveGrid:false
+	isScalableGrid:false
+	inv.numRows: 4
+	inv.numColumns: 4
+	inv.numSearchContainerColumns: 4
+	minCellSize: PointF(0.0, 0.0)dp
+	cellWidthPx: 154.0px (58.666668dp)
+	cellHeightPx: 218.0px (83.04762dp)
+	getCellSize().x: 270.0px (102.85714dp)
+	getCellSize().y: 342.0px (130.28572dp)
+	cellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)
+	cellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)
+	cellLayoutPaddingPx.left: 0.0px (0.0dp)
+	cellLayoutPaddingPx.top: 0.0px (0.0dp)
+	cellLayoutPaddingPx.right: 0.0px (0.0dp)
+	cellLayoutPaddingPx.bottom: 0.0px (0.0dp)
+	iconSizePx: 141.0px (53.714287dp)
+	iconTextSizePx: 34.0px (12.952381dp)
+	iconDrawablePaddingPx: 13.0px (4.952381dp)
+	numFolderRows: 3
+	numFolderColumns: 4
+	folderCellWidthPx: 189.0px (72.0dp)
+	folderCellHeightPx: 219.0px (83.42857dp)
+	folderChildIconSizePx: 141.0px (53.714287dp)
+	folderChildTextSizePx: 34.0px (12.952381dp)
+	folderChildDrawablePaddingPx: 5.0px (1.9047619dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 21.0px (8.0dp)
+	folderTopPadding: 63.0px (24.0dp)
+	folderFooterHeight: 147.0px (56.0dp)
+	bottomSheetTopPadding: 110.0px (41.904762dp)
+	bottomSheetOpenDuration: 500
+	bottomSheetCloseDuration: 500
+	bottomSheetWorkspaceScale: 0.97
+	bottomSheetDepth: 1.0
+	allAppsShiftRange: 1840.0px (700.9524dp)
+	allAppsOpenDuration: 500
+	allAppsCloseDuration: 500
+	allAppsIconSizePx: 141.0px (53.714287dp)
+	allAppsIconTextSizePx: 34.0px (12.952381dp)
+	allAppsIconDrawablePaddingPx: 21.0px (8.0dp)
+	allAppsCellHeightPx: 361.0px (137.5238dp)
+	allAppsCellWidthPx: 183.0px (69.71429dp)
+	allAppsBorderSpacePxX: 42.0px (16.0dp)
+	allAppsBorderSpacePxY: 42.0px (16.0dp)
+	numShownAllAppsColumns: 8
+	allAppsPadding.top: 110.0px (41.904762dp)
+	allAppsPadding.left: 42.0px (16.0dp)
+	allAppsPadding.right: 42.0px (16.0dp)
+	allAppsLeftRightMargin: 183.0px (69.71429dp)
+	hotseatBarSizePx: 267.0px (101.71429dp)
+	inv.hotseatColumnSpan: 4
+	hotseatCellHeightPx: 159.0px (60.57143dp)
+	hotseatBarBottomSpacePx: 126.0px (48.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 116.0px (44.190475dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)
+	getHotseatLayoutPadding(context).left: 113.0px (43.04762dp)
+	getHotseatLayoutPadding(context).right: 113.0px (43.04762dp)
+	numShownHotseatIcons: 6
+	hotseatBorderSpace: 0.0px (0.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 0.0px (0.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:true
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)
+	workspacePadding.left: 21.0px (8.0dp)
+	workspacePadding.top: 30.0px (11.428572dp)
+	workspacePadding.right: 21.0px (8.0dp)
+	workspacePadding.bottom: 330.0px (125.71429dp)
+	iconScale: 1.0px (0.3809524dp)
+	cellScaleToFit : 1.0px (0.3809524dp)
+	extraSpace: 498.0px (189.71428dp)
+	unscaled extraSpace: 498.0px (189.71428dp)
+	maxEmptySpace: 0.0px (0.0dp)
+	workspaceTopPadding: 0.0px (0.0dp)
+	workspaceBottomPadding: 0.0px (0.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 0.0px (0.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 0.0px (0.0dp)
+	dropTargetBarSizePx: 147.0px (56.0dp)
+	dropTargetBarBottomMarginPx: 42.0px (16.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 299.0px (113.90476dp)
+	getCellLayoutSpringLoadShrunkBottom(): 1457.0px (555.0476dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.8452555px (0.32200208dp)
+	getCellLayoutHeight(): 1370.0px (521.9048dp)
+	getCellLayoutWidth(): 1083.0px (412.57144dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape3Button.txt
new file mode 100644
index 0000000..617b54b
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelLandscape3Button.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.625 px
+	isTablet:true
+	isPhone:false
+	transposeLayoutWithOrientation:false
+	isGestureMode:false
+	isLandscape:true
+	isMultiWindowMode:false
+	isTwoPanels:true
+	isLeftRightSplit:true
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 2208.0px (841.1429dp)
+	heightPx: 1840.0px (700.9524dp)
+	availableWidthPx: 2208.0px (841.1429dp)
+	availableHeightPx: 1730.0px (659.0476dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 110.0px (41.904762dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 0.0px (0.0dp)
+	aspectRatio:1.2
+	isResponsiveGrid:false
+	isScalableGrid:false
+	inv.numRows: 4
+	inv.numColumns: 4
+	inv.numSearchContainerColumns: 4
+	minCellSize: PointF(0.0, 0.0)dp
+	cellWidthPx: 154.0px (58.666668dp)
+	cellHeightPx: 218.0px (83.04762dp)
+	getCellSize().x: 270.0px (102.85714dp)
+	getCellSize().y: 342.0px (130.28572dp)
+	cellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)
+	cellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)
+	cellLayoutPaddingPx.left: 0.0px (0.0dp)
+	cellLayoutPaddingPx.top: 0.0px (0.0dp)
+	cellLayoutPaddingPx.right: 0.0px (0.0dp)
+	cellLayoutPaddingPx.bottom: 0.0px (0.0dp)
+	iconSizePx: 141.0px (53.714287dp)
+	iconTextSizePx: 34.0px (12.952381dp)
+	iconDrawablePaddingPx: 13.0px (4.952381dp)
+	numFolderRows: 3
+	numFolderColumns: 4
+	folderCellWidthPx: 189.0px (72.0dp)
+	folderCellHeightPx: 219.0px (83.42857dp)
+	folderChildIconSizePx: 141.0px (53.714287dp)
+	folderChildTextSizePx: 34.0px (12.952381dp)
+	folderChildDrawablePaddingPx: 5.0px (1.9047619dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 21.0px (8.0dp)
+	folderTopPadding: 63.0px (24.0dp)
+	folderFooterHeight: 147.0px (56.0dp)
+	bottomSheetTopPadding: 110.0px (41.904762dp)
+	bottomSheetOpenDuration: 500
+	bottomSheetCloseDuration: 500
+	bottomSheetWorkspaceScale: 0.97
+	bottomSheetDepth: 1.0
+	allAppsShiftRange: 1840.0px (700.9524dp)
+	allAppsOpenDuration: 500
+	allAppsCloseDuration: 500
+	allAppsIconSizePx: 141.0px (53.714287dp)
+	allAppsIconTextSizePx: 34.0px (12.952381dp)
+	allAppsIconDrawablePaddingPx: 21.0px (8.0dp)
+	allAppsCellHeightPx: 361.0px (137.5238dp)
+	allAppsCellWidthPx: 183.0px (69.71429dp)
+	allAppsBorderSpacePxX: 42.0px (16.0dp)
+	allAppsBorderSpacePxY: 42.0px (16.0dp)
+	numShownAllAppsColumns: 8
+	allAppsPadding.top: 110.0px (41.904762dp)
+	allAppsPadding.left: 42.0px (16.0dp)
+	allAppsPadding.right: 42.0px (16.0dp)
+	allAppsLeftRightMargin: 183.0px (69.71429dp)
+	hotseatBarSizePx: 267.0px (101.71429dp)
+	inv.hotseatColumnSpan: 4
+	hotseatCellHeightPx: 159.0px (60.57143dp)
+	hotseatBarBottomSpacePx: 126.0px (48.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 116.0px (44.190475dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)
+	getHotseatLayoutPadding(context).left: 113.0px (43.04762dp)
+	getHotseatLayoutPadding(context).right: 113.0px (43.04762dp)
+	numShownHotseatIcons: 6
+	hotseatBorderSpace: 0.0px (0.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 0.0px (0.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:true
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)
+	workspacePadding.left: 21.0px (8.0dp)
+	workspacePadding.top: 30.0px (11.428572dp)
+	workspacePadding.right: 21.0px (8.0dp)
+	workspacePadding.bottom: 330.0px (125.71429dp)
+	iconScale: 1.0px (0.3809524dp)
+	cellScaleToFit : 1.0px (0.3809524dp)
+	extraSpace: 498.0px (189.71428dp)
+	unscaled extraSpace: 498.0px (189.71428dp)
+	maxEmptySpace: 0.0px (0.0dp)
+	workspaceTopPadding: 0.0px (0.0dp)
+	workspaceBottomPadding: 0.0px (0.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 0.0px (0.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 0.0px (0.0dp)
+	dropTargetBarSizePx: 147.0px (56.0dp)
+	dropTargetBarBottomMarginPx: 42.0px (16.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 299.0px (113.90476dp)
+	getCellLayoutSpringLoadShrunkBottom(): 1457.0px (555.0476dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.8452555px (0.32200208dp)
+	getCellLayoutHeight(): 1370.0px (521.9048dp)
+	getCellLayoutWidth(): 1083.0px (412.57144dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait.txt
new file mode 100644
index 0000000..483b5e7
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.625 px
+	isTablet:true
+	isPhone:false
+	transposeLayoutWithOrientation:false
+	isGestureMode:true
+	isLandscape:false
+	isMultiWindowMode:false
+	isTwoPanels:true
+	isLeftRightSplit:false
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 1840.0px (700.9524dp)
+	heightPx: 2208.0px (841.1429dp)
+	availableWidthPx: 1840.0px (700.9524dp)
+	availableHeightPx: 2075.0px (790.4762dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 133.0px (50.666668dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 0.0px (0.0dp)
+	aspectRatio:1.2
+	isResponsiveGrid:false
+	isScalableGrid:false
+	inv.numRows: 4
+	inv.numColumns: 4
+	inv.numSearchContainerColumns: 4
+	minCellSize: PointF(0.0, 0.0)dp
+	cellWidthPx: 154.0px (58.666668dp)
+	cellHeightPx: 218.0px (83.04762dp)
+	getCellSize().x: 224.0px (85.333336dp)
+	getCellSize().y: 430.0px (163.80952dp)
+	cellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)
+	cellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)
+	cellLayoutPaddingPx.left: 0.0px (0.0dp)
+	cellLayoutPaddingPx.top: 0.0px (0.0dp)
+	cellLayoutPaddingPx.right: 0.0px (0.0dp)
+	cellLayoutPaddingPx.bottom: 0.0px (0.0dp)
+	iconSizePx: 141.0px (53.714287dp)
+	iconTextSizePx: 34.0px (12.952381dp)
+	iconDrawablePaddingPx: 13.0px (4.952381dp)
+	numFolderRows: 3
+	numFolderColumns: 4
+	folderCellWidthPx: 189.0px (72.0dp)
+	folderCellHeightPx: 219.0px (83.42857dp)
+	folderChildIconSizePx: 141.0px (53.714287dp)
+	folderChildTextSizePx: 34.0px (12.952381dp)
+	folderChildDrawablePaddingPx: 5.0px (1.9047619dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 21.0px (8.0dp)
+	folderTopPadding: 63.0px (24.0dp)
+	folderFooterHeight: 147.0px (56.0dp)
+	bottomSheetTopPadding: 133.0px (50.666668dp)
+	bottomSheetOpenDuration: 500
+	bottomSheetCloseDuration: 500
+	bottomSheetWorkspaceScale: 0.97
+	bottomSheetDepth: 1.0
+	allAppsShiftRange: 2208.0px (841.1429dp)
+	allAppsOpenDuration: 500
+	allAppsCloseDuration: 500
+	allAppsIconSizePx: 141.0px (53.714287dp)
+	allAppsIconTextSizePx: 34.0px (12.952381dp)
+	allAppsIconDrawablePaddingPx: 21.0px (8.0dp)
+	allAppsCellHeightPx: 361.0px (137.5238dp)
+	allAppsCellWidthPx: 183.0px (69.71429dp)
+	allAppsBorderSpacePxX: 42.0px (16.0dp)
+	allAppsBorderSpacePxY: 42.0px (16.0dp)
+	numShownAllAppsColumns: 8
+	allAppsPadding.top: 133.0px (50.666668dp)
+	allAppsPadding.left: 42.0px (16.0dp)
+	allAppsPadding.right: 42.0px (16.0dp)
+	allAppsLeftRightMargin: 1.0px (0.3809524dp)
+	hotseatBarSizePx: 267.0px (101.71429dp)
+	inv.hotseatColumnSpan: 4
+	hotseatCellHeightPx: 159.0px (60.57143dp)
+	hotseatBarBottomSpacePx: 126.0px (48.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 171.0px (65.14286dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)
+	getHotseatLayoutPadding(context).left: 98.0px (37.333332dp)
+	getHotseatLayoutPadding(context).right: 98.0px (37.333332dp)
+	numShownHotseatIcons: 6
+	hotseatBorderSpace: 0.0px (0.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 0.0px (0.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:true
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)
+	workspacePadding.left: 21.0px (8.0dp)
+	workspacePadding.top: 24.0px (9.142858dp)
+	workspacePadding.right: 21.0px (8.0dp)
+	workspacePadding.bottom: 330.0px (125.71429dp)
+	iconScale: 1.0px (0.3809524dp)
+	cellScaleToFit : 1.0px (0.3809524dp)
+	extraSpace: 849.0px (323.42856dp)
+	unscaled extraSpace: 849.0px (323.42856dp)
+	maxEmptySpace: 0.0px (0.0dp)
+	workspaceTopPadding: 0.0px (0.0dp)
+	workspaceBottomPadding: 0.0px (0.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 0.0px (0.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 168.0px (64.0dp)
+	dropTargetBarSizePx: 147.0px (56.0dp)
+	dropTargetBarBottomMarginPx: 42.0px (16.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 490.0px (186.66667dp)
+	getCellLayoutSpringLoadShrunkBottom(): 1770.0px (674.2857dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.7437536px (0.2833347dp)
+	getCellLayoutHeight(): 1721.0px (655.619dp)
+	getCellLayoutWidth(): 899.0px (342.4762dp)
diff --git a/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait3Button.txt b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait3Button.txt
new file mode 100644
index 0000000..8d0640c
--- /dev/null
+++ b/tests/assets/dumpTests/DeviceProfileDumpTest/twoPanelPortrait3Button.txt
@@ -0,0 +1,130 @@
+DeviceProfile:
+	1 dp = 2.625 px
+	isTablet:true
+	isPhone:false
+	transposeLayoutWithOrientation:false
+	isGestureMode:false
+	isLandscape:false
+	isMultiWindowMode:false
+	isTwoPanels:true
+	isLeftRightSplit:false
+	windowX: 0.0px (0.0dp)
+	windowY: 0.0px (0.0dp)
+	widthPx: 1840.0px (700.9524dp)
+	heightPx: 2208.0px (841.1429dp)
+	availableWidthPx: 1840.0px (700.9524dp)
+	availableHeightPx: 2075.0px (790.4762dp)
+	mInsets.left: 0.0px (0.0dp)
+	mInsets.top: 133.0px (50.666668dp)
+	mInsets.right: 0.0px (0.0dp)
+	mInsets.bottom: 0.0px (0.0dp)
+	aspectRatio:1.2
+	isResponsiveGrid:false
+	isScalableGrid:false
+	inv.numRows: 4
+	inv.numColumns: 4
+	inv.numSearchContainerColumns: 4
+	minCellSize: PointF(0.0, 0.0)dp
+	cellWidthPx: 154.0px (58.666668dp)
+	cellHeightPx: 218.0px (83.04762dp)
+	getCellSize().x: 224.0px (85.333336dp)
+	getCellSize().y: 430.0px (163.80952dp)
+	cellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)
+	cellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)
+	cellLayoutPaddingPx.left: 0.0px (0.0dp)
+	cellLayoutPaddingPx.top: 0.0px (0.0dp)
+	cellLayoutPaddingPx.right: 0.0px (0.0dp)
+	cellLayoutPaddingPx.bottom: 0.0px (0.0dp)
+	iconSizePx: 141.0px (53.714287dp)
+	iconTextSizePx: 34.0px (12.952381dp)
+	iconDrawablePaddingPx: 13.0px (4.952381dp)
+	numFolderRows: 3
+	numFolderColumns: 4
+	folderCellWidthPx: 189.0px (72.0dp)
+	folderCellHeightPx: 219.0px (83.42857dp)
+	folderChildIconSizePx: 141.0px (53.714287dp)
+	folderChildTextSizePx: 34.0px (12.952381dp)
+	folderChildDrawablePaddingPx: 5.0px (1.9047619dp)
+	folderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)
+	folderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)
+	folderContentPaddingLeftRight: 21.0px (8.0dp)
+	folderTopPadding: 63.0px (24.0dp)
+	folderFooterHeight: 147.0px (56.0dp)
+	bottomSheetTopPadding: 133.0px (50.666668dp)
+	bottomSheetOpenDuration: 500
+	bottomSheetCloseDuration: 500
+	bottomSheetWorkspaceScale: 0.97
+	bottomSheetDepth: 1.0
+	allAppsShiftRange: 2208.0px (841.1429dp)
+	allAppsOpenDuration: 500
+	allAppsCloseDuration: 500
+	allAppsIconSizePx: 141.0px (53.714287dp)
+	allAppsIconTextSizePx: 34.0px (12.952381dp)
+	allAppsIconDrawablePaddingPx: 21.0px (8.0dp)
+	allAppsCellHeightPx: 361.0px (137.5238dp)
+	allAppsCellWidthPx: 183.0px (69.71429dp)
+	allAppsBorderSpacePxX: 42.0px (16.0dp)
+	allAppsBorderSpacePxY: 42.0px (16.0dp)
+	numShownAllAppsColumns: 8
+	allAppsPadding.top: 133.0px (50.666668dp)
+	allAppsPadding.left: 42.0px (16.0dp)
+	allAppsPadding.right: 42.0px (16.0dp)
+	allAppsLeftRightMargin: 1.0px (0.3809524dp)
+	hotseatBarSizePx: 267.0px (101.71429dp)
+	inv.hotseatColumnSpan: 4
+	hotseatCellHeightPx: 159.0px (60.57143dp)
+	hotseatBarBottomSpacePx: 126.0px (48.0dp)
+	mHotseatBarEdgePaddingPx: 0.0px (0.0dp)
+	mHotseatBarWorkspaceSpacePx: 0.0px (0.0dp)
+	hotseatBarEndOffset: 0.0px (0.0dp)
+	hotseatQsbSpace: 0.0px (0.0dp)
+	hotseatQsbHeight: 0.0px (0.0dp)
+	springLoadedHotseatBarTopMarginPx: 171.0px (65.14286dp)
+	getHotseatLayoutPadding(context).top: 0.0px (0.0dp)
+	getHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)
+	getHotseatLayoutPadding(context).left: 98.0px (37.333332dp)
+	getHotseatLayoutPadding(context).right: 98.0px (37.333332dp)
+	numShownHotseatIcons: 6
+	hotseatBorderSpace: 0.0px (0.0dp)
+	isQsbInline: false
+	hotseatQsbWidth: 0.0px (0.0dp)
+	isTaskbarPresent:false
+	isTaskbarPresentInApps:true
+	taskbarHeight: 0.0px (0.0dp)
+	stashedTaskbarHeight: 0.0px (0.0dp)
+	taskbarBottomMargin: 0.0px (0.0dp)
+	taskbarIconSize: 0.0px (0.0dp)
+	desiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)
+	workspacePadding.left: 21.0px (8.0dp)
+	workspacePadding.top: 24.0px (9.142858dp)
+	workspacePadding.right: 21.0px (8.0dp)
+	workspacePadding.bottom: 330.0px (125.71429dp)
+	iconScale: 1.0px (0.3809524dp)
+	cellScaleToFit : 1.0px (0.3809524dp)
+	extraSpace: 849.0px (323.42856dp)
+	unscaled extraSpace: 849.0px (323.42856dp)
+	maxEmptySpace: 0.0px (0.0dp)
+	workspaceTopPadding: 0.0px (0.0dp)
+	workspaceBottomPadding: 0.0px (0.0dp)
+	overviewTaskMarginPx: 0.0px (0.0dp)
+	overviewTaskIconSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)
+	overviewTaskIconAppChipMenuDrawableSizePx: 0.0px (0.0dp)
+	overviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)
+	overviewActionsTopMarginPx: 0.0px (0.0dp)
+	overviewActionsHeight: 0.0px (0.0dp)
+	overviewActionsClaimedSpaceBelow: 0.0px (0.0dp)
+	overviewActionsButtonSpacing: 0.0px (0.0dp)
+	overviewPageSpacing: 0.0px (0.0dp)
+	overviewRowSpacing: 0.0px (0.0dp)
+	overviewGridSideMargin: 0.0px (0.0dp)
+	dropTargetBarTopMarginPx: 168.0px (64.0dp)
+	dropTargetBarSizePx: 147.0px (56.0dp)
+	dropTargetBarBottomMarginPx: 42.0px (16.0dp)
+	getCellLayoutSpringLoadShrunkTop(): 490.0px (186.66667dp)
+	getCellLayoutSpringLoadShrunkBottom(): 1770.0px (674.2857dp)
+	workspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)
+	getWorkspaceSpringLoadScale(): 0.7437536px (0.2833347dp)
+	getCellLayoutHeight(): 1721.0px (655.619dp)
+	getCellLayoutWidth(): 899.0px (342.4762dp)
diff --git a/tests/config/robolectric.properties b/tests/config/robolectric.properties
new file mode 100644
index 0000000..fab7251
--- /dev/null
+++ b/tests/config/robolectric.properties
@@ -0,0 +1 @@
+sdk=NEWEST_SDK
diff --git a/tests/res/values/attrs.xml b/tests/res/values/attrs.xml
index e5ee064..2a7a346 100644
--- a/tests/res/values/attrs.xml
+++ b/tests/res/values/attrs.xml
@@ -19,25 +19,29 @@
 <resources>
     <!--  Responsive grids attributes  -->
     <declare-styleable name="ResponsiveSpec">
-        <attr name="specType" format="integer">
+        <attr name="dimensionType" format="integer">
             <enum name="height" value="0" />
             <enum name="width" value="1" />
         </attr>
         <attr name="maxAvailableSize" format="dimension" />
     </declare-styleable>
 
+    <declare-styleable name="ResponsiveSpecGroup">
+        <attr name="maxAspectRatio" format="float" />
+    </declare-styleable>
+
     <declare-styleable name="WorkspaceSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="FolderSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
     <declare-styleable name="AllAppsSpec">
-        <attr name="specType" />
+        <attr name="dimensionType" />
         <attr name="maxAvailableSize" />
     </declare-styleable>
 
diff --git a/tests/res/values/styles.xml b/tests/res/values/styles.xml
new file mode 100644
index 0000000..1e1a2cd
--- /dev/null
+++ b/tests/res/values/styles.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<resources>
+    <style name="Theme.TestActivities" parent="@android:style/Theme.DeviceDefault.DayNight">
+        <!-- Hardcoded ActionBar height to avoid changes while emulating -->
+        <!-- (56dp - default for handheld) -->
+        <item name="android:actionBarSize">168px</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/tests/res/xml/invalid_all_apps_file_case_1.xml b/tests/res/xml/invalid_all_apps_file_case_1.xml
index 6fd35b1..d89e675 100644
--- a/tests/res/xml/invalid_all_apps_file_case_1.xml
+++ b/tests/res/xml/invalid_all_apps_file_case_1.xml
@@ -14,23 +14,24 @@
   ~ limitations under the License.
   -->
 <allAppsSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <allAppsSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <!--  missing startPadding  -->
-        <endPadding launcher:fixedSize="0dp" />
-        <gutter launcher:matchWorkspace="true" />
-        <cellSize launcher:matchWorkspace="true" />
-    </allAppsSpec>
+    <specs launcher:maxAspectRatio="10">
+        <allAppsSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <!--  missing startPadding  -->
+            <endPadding launcher:fixedSize="0dp" />
+            <gutter launcher:matchWorkspace="true" />
+            <cellSize launcher:matchWorkspace="true" />
+        </allAppsSpec>
 
-    <allAppsSpec
-        launcher:specType="width"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:matchWorkspace="true" />
-        <endPadding launcher:matchWorkspace="true" />
-        <gutter launcher:matchWorkspace="true" />
-        <cellSize launcher:matchWorkspace="true" />
-    </allAppsSpec>
-
+        <allAppsSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:matchWorkspace="true" />
+            <endPadding launcher:matchWorkspace="true" />
+            <gutter launcher:matchWorkspace="true" />
+            <cellSize launcher:matchWorkspace="true" />
+        </allAppsSpec>
+    </specs>
 </allAppsSpecs>
 
diff --git a/tests/res/xml/invalid_all_apps_file_case_2.xml b/tests/res/xml/invalid_all_apps_file_case_2.xml
index de9c1ac..d5540f2 100644
--- a/tests/res/xml/invalid_all_apps_file_case_2.xml
+++ b/tests/res/xml/invalid_all_apps_file_case_2.xml
@@ -14,25 +14,26 @@
   ~ limitations under the License.
   -->
 <allAppsSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <allAppsSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="0dp" />
-        <endPadding launcher:fixedSize="0dp" />
-        <!--  more than 1 value in one tag -->
-        <gutter
-            launcher:matchWorkspace="true"
-            launcher:fixedSize="16dp" />
-        <cellSize launcher:matchWorkspace="true" />
-    </allAppsSpec>
+    <specs launcher:maxAspectRatio="10">
+        <allAppsSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="0dp" />
+            <!--  more than 1 value in one tag -->
+            <gutter
+                launcher:matchWorkspace="true"
+                launcher:fixedSize="16dp" />
+            <cellSize launcher:matchWorkspace="true" />
+        </allAppsSpec>
 
-    <allAppsSpec
-        launcher:specType="width"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:matchWorkspace="true" />
-        <endPadding launcher:matchWorkspace="true" />
-        <gutter launcher:matchWorkspace="true" />
-        <cellSize launcher:matchWorkspace="true" />
-    </allAppsSpec>
-
+        <allAppsSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:matchWorkspace="true" />
+            <endPadding launcher:matchWorkspace="true" />
+            <gutter launcher:matchWorkspace="true" />
+            <cellSize launcher:matchWorkspace="true" />
+        </allAppsSpec>
+    </specs>
 </allAppsSpecs>
\ No newline at end of file
diff --git a/tests/res/xml/invalid_all_apps_file_case_3.xml b/tests/res/xml/invalid_all_apps_file_case_3.xml
index 7af0af4..75c2172 100644
--- a/tests/res/xml/invalid_all_apps_file_case_3.xml
+++ b/tests/res/xml/invalid_all_apps_file_case_3.xml
@@ -14,24 +14,25 @@
   ~ limitations under the License.
   -->
 <allAppsSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <allAppsSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="0dp" />
-        <endPadding launcher:fixedSize="0dp" />
-        <gutter launcher:matchWorkspace="true" />
-        <!--  value bigger than 1 -->
-        <cellSize launcher:ofRemainderSpace="1.001" />
-    </allAppsSpec>
+    <specs launcher:maxAspectRatio="10">
+        <allAppsSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="0dp" />
+            <gutter launcher:matchWorkspace="true" />
+            <!--  value bigger than 1 -->
+            <cellSize launcher:ofRemainderSpace="1.001" />
+        </allAppsSpec>
 
-    <allAppsSpec
-        launcher:specType="width"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:matchWorkspace="true" />
-        <endPadding launcher:matchWorkspace="true" />
-        <gutter launcher:matchWorkspace="true" />
-        <cellSize launcher:matchWorkspace="true" />
-    </allAppsSpec>
-
+        <allAppsSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:matchWorkspace="true" />
+            <endPadding launcher:matchWorkspace="true" />
+            <gutter launcher:matchWorkspace="true" />
+            <cellSize launcher:matchWorkspace="true" />
+        </allAppsSpec>
+    </specs>
 </allAppsSpecs>
 
diff --git a/tests/res/xml/invalid_cell_specs_1.xml b/tests/res/xml/invalid_cell_specs_1.xml
new file mode 100644
index 0000000..1e54771
--- /dev/null
+++ b/tests/res/xml/invalid_cell_specs_1.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid: only fixedSize attribute is allowed -->
+<cellSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <!-- portrait -->
+    <specs launcher:maxAspectRatio="1.0">
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:ofAvailableSpace="0.0125" />
+            <iconSize launcher:fixedSize="48dp" />
+            <iconTextSize launcher:fixedSize="12sp" />
+        </cellSpec>
+    </specs>
+    <!-- landscape -->
+    <specs launcher:maxAspectRatio="10">
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:fixedSize="0dp" />
+            <iconSize launcher:ofAvailableSpace="0.0125" />
+            <iconTextSize launcher:fixedSize="0sp" />
+        </cellSpec>
+    </specs>
+</cellSpecs>
\ No newline at end of file
diff --git a/tests/res/xml/invalid_cell_specs_2.xml b/tests/res/xml/invalid_cell_specs_2.xml
new file mode 100644
index 0000000..6edfda0
--- /dev/null
+++ b/tests/res/xml/invalid_cell_specs_2.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid: dimension type should be height -->
+<cellSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <!-- portrait -->
+    <specs launcher:maxAspectRatio="1.0">
+        <cellSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:fixedSize="8dp" />
+            <iconSize launcher:fixedSize="48dp" />
+            <iconTextSize launcher:fixedSize="12sp" />
+        </cellSpec>
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:fixedSize="8dp" />
+            <iconSize launcher:fixedSize="48dp" />
+            <iconTextSize launcher:fixedSize="12sp" />
+        </cellSpec>
+    </specs>
+    <!-- landscape -->
+    <specs launcher:maxAspectRatio="10">
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:fixedSize="0dp" />
+            <iconSize launcher:fixedSize="52dp" />
+            <iconTextSize launcher:fixedSize="0sp" />
+        </cellSpec>
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:fixedSize="0dp" />
+            <iconSize launcher:fixedSize="52dp" />
+            <iconTextSize launcher:fixedSize="0sp" />
+        </cellSpec>
+        <cellSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:fixedSize="0dp" />
+            <iconSize launcher:fixedSize="52dp" />
+            <iconTextSize launcher:fixedSize="0sp" />
+        </cellSpec>
+    </specs>
+</cellSpecs>
\ No newline at end of file
diff --git a/tests/res/xml/invalid_cell_specs_3.xml b/tests/res/xml/invalid_cell_specs_3.xml
new file mode 100644
index 0000000..8f8e42b
--- /dev/null
+++ b/tests/res/xml/invalid_cell_specs_3.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid: total fixedSize > maxAvailableSize -->
+<cellSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <!-- portrait -->
+    <specs launcher:maxAspectRatio="1.0">
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:ofAvailableSpace="0.0125" />
+            <iconSize launcher:fixedSize="48dp" />
+            <iconTextSize launcher:fixedSize="12sp" />
+        </cellSpec>
+    </specs>
+    <!-- landscape -->
+    <specs launcher:maxAspectRatio="10">
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:fixedSize="9999dp" />
+            <iconSize launcher:ofAvailableSpace="0.0125" />
+            <iconTextSize launcher:fixedSize="1dp" />
+        </cellSpec>
+    </specs>
+</cellSpecs>
\ No newline at end of file
diff --git a/tests/res/xml/invalid_folders_specs_1.xml b/tests/res/xml/invalid_folders_specs_1.xml
index 0864249..6583d62 100644
--- a/tests/res/xml/invalid_folders_specs_1.xml
+++ b/tests/res/xml/invalid_folders_specs_1.xml
@@ -16,25 +16,27 @@
 
 <!-- Tablet - 6x5 portrait -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
-        <!--  missing startPadding  -->
-        <endPadding launcher:fixedSize="16dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:matchWorkspace="true" />
-    </folderSpec>
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="16dp" />
-        <endPadding launcher:fixedSize="16dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="102dp" />
-    </folderSpec>
+    <specs launcher:maxAspectRatio="10">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
+            <!--  missing startPadding  -->
+            <endPadding launcher:fixedSize="16dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:matchWorkspace="true" />
+        </folderSpec>
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="16dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="102dp" />
+        </folderSpec>
 
-    <!-- Height spec is fixed -->
-    <folderSpec launcher:specType="height" launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="24dp" />
-        <!-- mapped to footer height size -->
-        <endPadding launcher:fixedSize="64dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="104dp" />
-    </folderSpec>
+        <!-- Height spec is fixed -->
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="24dp" />
+            <!-- mapped to footer height size -->
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </folderSpec>
+    </specs>
 </folderSpecs>
diff --git a/tests/res/xml/invalid_folders_specs_2.xml b/tests/res/xml/invalid_folders_specs_2.xml
index 0b7dd62..95ac856 100644
--- a/tests/res/xml/invalid_folders_specs_2.xml
+++ b/tests/res/xml/invalid_folders_specs_2.xml
@@ -16,28 +16,30 @@
 
 <!-- Tablet - 6x5 portrait -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
-        <startPadding launcher:fixedSize="16dp" />
-        <endPadding launcher:fixedSize="16dp" />
-        <!--  more than 1 value in one tag -->
-        <gutter
-            launcher:ofAvailableSpace="0.0125"
-            launcher:fixedSize="16dp" />
-        <cellSize launcher:matchWorkspace="true" />
-    </folderSpec>
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="16dp" />
-        <endPadding launcher:fixedSize="16dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="102dp" />
-    </folderSpec>
+    <specs launcher:maxAspectRatio="10">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="16dp" />
+            <!--  more than 1 value in one tag -->
+            <gutter
+                launcher:ofAvailableSpace="0.0125"
+                launcher:fixedSize="16dp" />
+            <cellSize launcher:matchWorkspace="true" />
+        </folderSpec>
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="16dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="102dp" />
+        </folderSpec>
 
-    <!-- Height spec is fixed -->
-    <folderSpec launcher:specType="height" launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="24dp" />
-        <!-- mapped to footer height size -->
-        <endPadding launcher:fixedSize="64dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="104dp" />
-    </folderSpec>
+        <!-- Height spec is fixed -->
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="24dp" />
+            <!-- mapped to footer height size -->
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </folderSpec>
+    </specs>
 </folderSpecs>
diff --git a/tests/res/xml/invalid_folders_specs_3.xml b/tests/res/xml/invalid_folders_specs_3.xml
index 83fd3e1..f71040d 100644
--- a/tests/res/xml/invalid_folders_specs_3.xml
+++ b/tests/res/xml/invalid_folders_specs_3.xml
@@ -16,26 +16,28 @@
 
 <!-- Tablet - 6x5 portrait - More the one value first gutter -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
-        <startPadding launcher:fixedSize="16dp" />
-        <endPadding launcher:fixedSize="16dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <!--  value bigger than 1 -->
-        <cellSize launcher:ofRemainderSpace="1.001" />
-    </folderSpec>
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="16dp" />
-        <endPadding launcher:fixedSize="16dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="102dp" />
-    </folderSpec>
+    <specs launcher:maxAspectRatio="10">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="16dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <!--  value bigger than 1 -->
+            <cellSize launcher:ofRemainderSpace="1.001" />
+        </folderSpec>
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="16dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="102dp" />
+        </folderSpec>
 
-    <!-- Height spec is fixed -->
-    <folderSpec launcher:specType="height" launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="24dp" />
-        <!-- mapped to footer height size -->
-        <endPadding launcher:fixedSize="64dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="104dp" />
-    </folderSpec>
+        <!-- Height spec is fixed -->
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="24dp" />
+            <!-- mapped to footer height size -->
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </folderSpec>
+    </specs>
 </folderSpecs>
diff --git a/tests/res/xml/invalid_folders_specs_4.xml b/tests/res/xml/invalid_folders_specs_4.xml
index 2d8c730..24b8ef6 100644
--- a/tests/res/xml/invalid_folders_specs_4.xml
+++ b/tests/res/xml/invalid_folders_specs_4.xml
@@ -15,10 +15,12 @@
   -->
 <!-- missing height spec -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
-        <startPadding launcher:fixedSize="16dp" />
-        <endPadding launcher:fixedSize="16dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:matchWorkspace="true" />
-    </folderSpec>
+    <specs launcher:maxAspectRatio="10">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="16dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:matchWorkspace="true" />
+        </folderSpec>
+    </specs>
 </folderSpecs>
diff --git a/tests/res/xml/invalid_folders_specs_5.xml b/tests/res/xml/invalid_folders_specs_5.xml
index b4f1f4d..6d6f577 100644
--- a/tests/res/xml/invalid_folders_specs_5.xml
+++ b/tests/res/xml/invalid_folders_specs_5.xml
@@ -15,19 +15,21 @@
   -->
 <!-- missing breakpoints > 800dp -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
-        <startPadding launcher:fixedSize="16dp" />
-        <endPadding launcher:fixedSize="16dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:matchWorkspace="true" />
-    </folderSpec>
+    <specs launcher:maxAspectRatio="10">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="16dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:matchWorkspace="true" />
+        </folderSpec>
 
-    <!-- Height spec is fixed -->
-    <folderSpec launcher:specType="height" launcher:maxAvailableSize="800dp">
-        <startPadding launcher:fixedSize="24dp" />
-        <!-- mapped to footer height size -->
-        <endPadding launcher:fixedSize="64dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="104dp" />
-    </folderSpec>
+        <!-- Height spec is fixed -->
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="800dp">
+            <startPadding launcher:fixedSize="24dp" />
+            <!-- mapped to footer height size -->
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </folderSpec>
+    </specs>
 </folderSpecs>
diff --git a/tests/res/xml/invalid_hotseat_file_case_1.xml b/tests/res/xml/invalid_hotseat_file_case_1.xml
index fcbc5ea..8e0ce2c 100644
--- a/tests/res/xml/invalid_hotseat_file_case_1.xml
+++ b/tests/res/xml/invalid_hotseat_file_case_1.xml
@@ -14,17 +14,19 @@
   ~ limitations under the License.
   -->
 <hotseatSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <hotseatSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="847dp">
+            <hotseatQsbSpace launcher:ofAvailableSpace="1" />
+            <edgePadding launcher:fixedSize="36dp" />
+        </hotseatSpec>
 
-    <hotseatSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="847dp">
-        <hotseatQsbSpace launcher:ofAvailableSpace="1" />
-    </hotseatSpec>
-
-    <hotseatSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <hotseatQsbSpace launcher:fixedSize="36dp" />
-    </hotseatSpec>
-
+        <hotseatSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <hotseatQsbSpace launcher:fixedSize="36dp" />
+            <edgePadding launcher:fixedSize="36dp" />
+        </hotseatSpec>
+    </specs>
 </hotseatSpecs>
\ No newline at end of file
diff --git a/tests/res/xml/invalid_hotseat_file_case_2.xml b/tests/res/xml/invalid_hotseat_file_case_2.xml
new file mode 100644
index 0000000..fbf40ef
--- /dev/null
+++ b/tests/res/xml/invalid_hotseat_file_case_2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid: total fixed size > maxAvailableSize -->
+<hotseatSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <hotseatSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="847dp">
+            <hotseatQsbSpace launcher:fixedSize="845dp" />
+            <edgePadding launcher:fixedSize="36dp" />
+        </hotseatSpec>
+
+        <hotseatSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <hotseatQsbSpace launcher:fixedSize="36dp" />
+            <edgePadding launcher:fixedSize="36dp" />
+        </hotseatSpec>
+    </specs>
+</hotseatSpecs>
\ No newline at end of file
diff --git a/tests/res/xml/invalid_responsive_spec_1.xml b/tests/res/xml/invalid_responsive_spec_1.xml
new file mode 100644
index 0000000..7845d1e
--- /dev/null
+++ b/tests/res/xml/invalid_responsive_spec_1.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid file - missing groups (specs) with aspect ratio -->
+<workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <workspaceSpec
+        launcher:maxAvailableSize="9999dp"
+        launcher:dimensionType="height">
+        <cellSize launcher:fixedSize="104dp" />
+        <endPadding launcher:ofRemainderSpace="1" />
+        <gutter launcher:fixedSize="16dp" />
+        <startPadding launcher:fixedSize="8dp" />
+    </workspaceSpec>
+
+    <workspaceSpec
+        launcher:maxAvailableSize="9999dp"
+        launcher:dimensionType="width">
+        <cellSize launcher:ofRemainderSpace="1" />
+        <endPadding launcher:fixedSize="22dp" />
+        <gutter launcher:fixedSize="16dp" />
+        <startPadding launcher:fixedSize="22dp" />
+    </workspaceSpec>
+</workspaceSpecs>
diff --git a/tests/res/xml/invalid_responsive_spec_2.xml b/tests/res/xml/invalid_responsive_spec_2.xml
new file mode 100644
index 0000000..ae30bb9
--- /dev/null
+++ b/tests/res/xml/invalid_responsive_spec_2.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid file - groups (specs) applied only for half of the specs  -->
+<workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:maxAvailableSize="9999dp"
+            launcher:dimensionType="height">
+            <cellSize launcher:fixedSize="104dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <startPadding launcher:fixedSize="8dp" />
+        </workspaceSpec>
+
+        <workspaceSpec
+            launcher:maxAvailableSize="9999dp"
+            launcher:dimensionType="width">
+            <cellSize launcher:ofRemainderSpace="1" />
+            <endPadding launcher:fixedSize="22dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <startPadding launcher:fixedSize="22dp" />
+        </workspaceSpec>
+    </specs>
+
+    <workspaceSpec
+        launcher:maxAvailableSize="9999dp"
+        launcher:dimensionType="width">
+        <cellSize launcher:ofRemainderSpace="1" />
+        <endPadding launcher:fixedSize="22dp" />
+        <gutter launcher:fixedSize="16dp" />
+        <startPadding launcher:fixedSize="22dp" />
+    </workspaceSpec>
+    <workspaceSpec
+        launcher:maxAvailableSize="9999dp"
+        launcher:dimensionType="height">
+        <cellSize launcher:fixedSize="104dp" />
+        <endPadding launcher:ofRemainderSpace="1" />
+        <gutter launcher:fixedSize="16dp" />
+        <startPadding launcher:fixedSize="8dp" />
+    </workspaceSpec>
+</workspaceSpecs>
diff --git a/tests/res/xml/invalid_responsive_spec_3.xml b/tests/res/xml/invalid_responsive_spec_3.xml
new file mode 100644
index 0000000..37fee06
--- /dev/null
+++ b/tests/res/xml/invalid_responsive_spec_3.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid file - aspect ratio = 0 (it must be bigger than zero) -->
+<workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:maxAvailableSize="9999dp"
+            launcher:dimensionType="height">
+            <cellSize launcher:fixedSize="104dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <startPadding launcher:fixedSize="8dp" />
+        </workspaceSpec>
+
+        <workspaceSpec
+            launcher:maxAvailableSize="9999dp"
+            launcher:dimensionType="width">
+            <cellSize launcher:ofRemainderSpace="0.25" />
+            <endPadding launcher:fixedSize="22dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <startPadding launcher:fixedSize="22dp" />
+        </workspaceSpec>
+    </specs>
+
+    <specs launcher:maxAspectRatio="0">
+        <workspaceSpec
+            launcher:maxAvailableSize="9999dp"
+            launcher:dimensionType="height">
+            <cellSize launcher:fixedSize="104dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <startPadding launcher:fixedSize="8dp" />
+        </workspaceSpec>
+
+        <workspaceSpec
+            launcher:maxAvailableSize="9999dp"
+            launcher:dimensionType="width">
+            <cellSize launcher:ofRemainderSpace="0.25" />
+            <endPadding launcher:fixedSize="22dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <startPadding launcher:fixedSize="22dp" />
+        </workspaceSpec>
+    </specs>
+
+</workspaceSpecs>
diff --git a/tests/res/xml/invalid_responsive_spec_4.xml b/tests/res/xml/invalid_responsive_spec_4.xml
new file mode 100644
index 0000000..e9d510e
--- /dev/null
+++ b/tests/res/xml/invalid_responsive_spec_4.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid file - remainder space > 1 (it must be lower or equal 1) -->
+<workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="34dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+
+        <!-- Height spec -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="371dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="24dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+
+        <!-- Width spec -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="716dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="36dp" />
+            <endPadding launcher:fixedSize="80dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="602dp">
+            <startPadding launcher:ofRemainderSpace=".5" />
+            <endPadding launcher:ofRemainderSpace=".5" />
+            <gutter launcher:ofRemainderSpace="0.01" />
+            <cellSize launcher:fixedSize="80dp" />
+        </workspaceSpec>
+    </specs>
+
+    <!-- specs from land/handheld_workspace_spec_4x4.xml -->
+    <specs launcher:maxAspectRatio="12">
+        <!-- Height spec -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="2dp" />
+            <endPadding launcher:fixedSize="2dp" />
+            <gutter launcher:fixedSize="8dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+
+        <!-- Width spec -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="1dp" />
+            <endPadding launcher:fixedSize="1dp" />
+            <gutter launcher:fixedSize="8dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+    </specs>
+
+    <specs launcher:maxAspectRatio="1.05">
+        <!-- 584 grid height + 28 remainder space -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="612dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="8dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <!-- 584 grid height -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="584dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="32dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofAvailableSpace="0.15808" />
+        </workspaceSpec>
+
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="22dp" />
+            <endPadding launcher:fixedSize="22dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+    </specs>
+</workspaceSpecs>
diff --git a/tests/res/xml/invalid_responsive_spec_5.xml b/tests/res/xml/invalid_responsive_spec_5.xml
new file mode 100644
index 0000000..584df35
--- /dev/null
+++ b/tests/res/xml/invalid_responsive_spec_5.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid file - available space > 1 (it must be lower or equal 1) -->
+<workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="34dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+
+        <!-- Height spec -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="371dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="24dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+
+        <!-- Width spec -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="716dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="36dp" />
+            <endPadding launcher:fixedSize="80dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="602dp">
+            <startPadding launcher:ofAvailableSpace=".5" />
+            <endPadding launcher:ofAvailableSpace=".5" />
+            <gutter launcher:ofAvailableSpace="0.01" />
+            <cellSize launcher:fixedSize="80dp" />
+        </workspaceSpec>
+    </specs>
+
+    <!-- specs from land/handheld_workspace_spec_4x4.xml -->
+    <specs launcher:maxAspectRatio="12">
+        <!-- Height spec -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="2dp" />
+            <endPadding launcher:fixedSize="2dp" />
+            <gutter launcher:fixedSize="8dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+
+        <!-- Width spec -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="1dp" />
+            <endPadding launcher:fixedSize="1dp" />
+            <gutter launcher:fixedSize="8dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+    </specs>
+
+    <specs launcher:maxAspectRatio="1.05">
+        <!-- 584 grid height + 28 remainder space -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="612dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="8dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <!-- 584 grid height -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="584dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="32dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofAvailableSpace="0.15808" />
+        </workspaceSpec>
+
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="22dp" />
+            <endPadding launcher:fixedSize="22dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+    </specs>
+</workspaceSpecs>
diff --git a/tests/res/xml/invalid_responsive_spec_6.xml b/tests/res/xml/invalid_responsive_spec_6.xml
new file mode 100644
index 0000000..9711efb
--- /dev/null
+++ b/tests/res/xml/invalid_responsive_spec_6.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<!-- invalid file - fixed size < maxAvailableSize (it must be lower or equal 1) -->
+<workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="34dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+
+        <!-- Height spec -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="371dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="24dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+
+        <!-- Width spec -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="716dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="36dp" />
+            <endPadding launcher:fixedSize="80dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="602dp">
+            <startPadding launcher:fixedSize="200dp" />
+            <endPadding launcher:fixedSize="200dp" />
+            <gutter launcher:fixedSize="150dp" />
+            <cellSize launcher:fixedSize="80dp" />
+        </workspaceSpec>
+    </specs>
+
+    <!-- specs from land/handheld_workspace_spec_4x4.xml -->
+    <specs launcher:maxAspectRatio="12">
+        <!-- Height spec -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="2dp" />
+            <endPadding launcher:fixedSize="2dp" />
+            <gutter launcher:fixedSize="8dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+
+        <!-- Width spec -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="1dp" />
+            <endPadding launcher:fixedSize="1dp" />
+            <gutter launcher:fixedSize="8dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+    </specs>
+
+    <specs launcher:maxAspectRatio="1.05">
+        <!-- 584 grid height + 28 remainder space -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="612dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="8dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <!-- 584 grid height -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="584dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="32dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofAvailableSpace="0.15808" />
+        </workspaceSpec>
+
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="22dp" />
+            <endPadding launcher:fixedSize="22dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofRemainderSpace="0.25" />
+        </workspaceSpec>
+    </specs>
+</workspaceSpecs>
diff --git a/tests/res/xml/invalid_workspace_file_case_1.xml b/tests/res/xml/invalid_workspace_file_case_1.xml
index 0be704b..7a234d1 100644
--- a/tests/res/xml/invalid_workspace_file_case_1.xml
+++ b/tests/res/xml/invalid_workspace_file_case_1.xml
@@ -15,42 +15,44 @@
   -->
 
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="648dp">
-        <!--  missing startPadding  -->
-        <endPadding
-            launcher:ofAvailableSpace="0.05" />
-        <gutter
-            launcher:fixedSize="16dp" />
-        <cellSize
-            launcher:ofRemainderSpace="0.2" />
-    </workspaceSpec>
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="648dp">
+            <!--  missing startPadding  -->
+            <endPadding
+                launcher:ofAvailableSpace="0.05" />
+            <gutter
+                launcher:fixedSize="16dp" />
+            <cellSize
+                launcher:ofRemainderSpace="0.2" />
+        </workspaceSpec>
 
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding
-            launcher:ofAvailableSpace="0.0306" />
-        <endPadding
-            launcher:ofAvailableSpace="0.068" />
-        <gutter
-            launcher:fixedSize="16dp" />
-        <cellSize
-            launcher:ofRemainderSpace="0.2" />
-    </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding
+                launcher:ofAvailableSpace="0.0306" />
+            <endPadding
+                launcher:ofAvailableSpace="0.068" />
+            <gutter
+                launcher:fixedSize="16dp" />
+            <cellSize
+                launcher:ofRemainderSpace="0.2" />
+        </workspaceSpec>
 
-    <!-- Width spec is always the same -->
-    <workspaceSpec
-        launcher:specType="width"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding
-            launcher:ofRemainderSpace="0.21436227" />
-        <endPadding
-            launcher:ofRemainderSpace="0.21436227" />
-        <gutter
-            launcher:ofRemainderSpace="0.11425509" />
-        <cellSize
-            launcher:fixedSize="120dp" />
-    </workspaceSpec>
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding
+                launcher:ofRemainderSpace="0.21436227" />
+            <endPadding
+                launcher:ofRemainderSpace="0.21436227" />
+            <gutter
+                launcher:ofRemainderSpace="0.11425509" />
+            <cellSize
+                launcher:fixedSize="120dp" />
+        </workspaceSpec>
+    </specs>
 </workspaceSpecs>
diff --git a/tests/res/xml/invalid_workspace_file_case_2.xml b/tests/res/xml/invalid_workspace_file_case_2.xml
index 5a37d97..6638285 100644
--- a/tests/res/xml/invalid_workspace_file_case_2.xml
+++ b/tests/res/xml/invalid_workspace_file_case_2.xml
@@ -15,45 +15,47 @@
   -->
 
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="648dp">
-        <startPadding
-            launcher:ofAvailableSpace="0.0125" />
-        <endPadding
-            launcher:ofAvailableSpace="0.05" />
-        <!--  more than 1 value in one tag -->
-        <gutter
-            launcher:ofAvailableSpace="0.0125"
-            launcher:fixedSize="16dp" />
-        <cellSize
-            launcher:ofRemainderSpace="0.2" />
-    </workspaceSpec>
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="648dp">
+            <startPadding
+                launcher:ofAvailableSpace="0.0125" />
+            <endPadding
+                launcher:ofAvailableSpace="0.05" />
+            <!--  more than 1 value in one tag -->
+            <gutter
+                launcher:ofAvailableSpace="0.0125"
+                launcher:fixedSize="16dp" />
+            <cellSize
+                launcher:ofRemainderSpace="0.2" />
+        </workspaceSpec>
 
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding
-            launcher:ofAvailableSpace="0.0306" />
-        <endPadding
-            launcher:ofAvailableSpace="0.068" />
-        <gutter
-            launcher:fixedSize="16dp" />
-        <cellSize
-            launcher:ofRemainderSpace="0.2" />
-    </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding
+                launcher:ofAvailableSpace="0.0306" />
+            <endPadding
+                launcher:ofAvailableSpace="0.068" />
+            <gutter
+                launcher:fixedSize="16dp" />
+            <cellSize
+                launcher:ofRemainderSpace="0.2" />
+        </workspaceSpec>
 
-    <!-- Width spec is always the same -->
-    <workspaceSpec
-        launcher:specType="width"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding
-            launcher:ofRemainderSpace="0.21436227" />
-        <endPadding
-            launcher:ofRemainderSpace="0.21436227" />
-        <gutter
-            launcher:ofRemainderSpace="0.11425509" />
-        <cellSize
-            launcher:fixedSize="120dp" />
-    </workspaceSpec>
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding
+                launcher:ofRemainderSpace="0.21436227" />
+            <endPadding
+                launcher:ofRemainderSpace="0.21436227" />
+            <gutter
+                launcher:ofRemainderSpace="0.11425509" />
+            <cellSize
+                launcher:fixedSize="120dp" />
+        </workspaceSpec>
+    </specs>
 </workspaceSpecs>
diff --git a/tests/res/xml/invalid_workspace_file_case_3.xml b/tests/res/xml/invalid_workspace_file_case_3.xml
index 3e68edb..cb3e63f 100644
--- a/tests/res/xml/invalid_workspace_file_case_3.xml
+++ b/tests/res/xml/invalid_workspace_file_case_3.xml
@@ -15,44 +15,46 @@
   -->
 
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="648dp">
-        <startPadding
-            launcher:ofAvailableSpace="0.0125" />
-        <endPadding
-            launcher:ofAvailableSpace="0.05" />
-        <gutter
-            launcher:fixedSize="16dp" />
-        <!--  value bigger than 1 -->
-        <cellSize
-            launcher:ofRemainderSpace="1.001" />
-    </workspaceSpec>
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="648dp">
+            <startPadding
+                launcher:ofAvailableSpace="0.0125" />
+            <endPadding
+                launcher:ofAvailableSpace="0.05" />
+            <gutter
+                launcher:fixedSize="16dp" />
+            <!--  value bigger than 1 -->
+            <cellSize
+                launcher:ofRemainderSpace="1.001" />
+        </workspaceSpec>
 
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding
-            launcher:ofAvailableSpace="0.0306" />
-        <endPadding
-            launcher:ofAvailableSpace="0.068" />
-        <gutter
-            launcher:fixedSize="16dp" />
-        <cellSize
-            launcher:ofRemainderSpace="0.2" />
-    </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding
+                launcher:ofAvailableSpace="0.0306" />
+            <endPadding
+                launcher:ofAvailableSpace="0.068" />
+            <gutter
+                launcher:fixedSize="16dp" />
+            <cellSize
+                launcher:ofRemainderSpace="0.2" />
+        </workspaceSpec>
 
-    <!-- Width spec is always the same -->
-    <workspaceSpec
-        launcher:specType="width"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding
-            launcher:ofRemainderSpace="0.21436227" />
-        <endPadding
-            launcher:ofRemainderSpace="0.21436227" />
-        <gutter
-            launcher:ofRemainderSpace="0.11425509" />
-        <cellSize
-            launcher:fixedSize="120dp" />
-    </workspaceSpec>
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding
+                launcher:ofRemainderSpace="0.21436227" />
+            <endPadding
+                launcher:ofRemainderSpace="0.21436227" />
+            <gutter
+                launcher:ofRemainderSpace="0.11425509" />
+            <cellSize
+                launcher:fixedSize="120dp" />
+        </workspaceSpec>
+    </specs>
 </workspaceSpecs>
diff --git a/tests/res/xml/invalid_workspace_file_case_4.xml b/tests/res/xml/invalid_workspace_file_case_4.xml
index 9e74c85..901278d 100644
--- a/tests/res/xml/invalid_workspace_file_case_4.xml
+++ b/tests/res/xml/invalid_workspace_file_case_4.xml
@@ -15,44 +15,46 @@
   -->
 
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="648dp">
-        <startPadding
-            launcher:ofAvailableSpace="0.0125" />
-        <endPadding
-            launcher:ofAvailableSpace="0.05" />
-        <!--  value in workspace spec using matchWorkspace -->
-        <gutter
-            launcher:matchWorkspace="true" />
-        <cellSize
-            launcher:ofRemainderSpace="0.2" />
-    </workspaceSpec>
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="648dp">
+            <startPadding
+                launcher:ofAvailableSpace="0.0125" />
+            <endPadding
+                launcher:ofAvailableSpace="0.05" />
+            <!--  value in workspace spec using matchWorkspace -->
+            <gutter
+                launcher:matchWorkspace="true" />
+            <cellSize
+                launcher:ofRemainderSpace="0.2" />
+        </workspaceSpec>
 
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding
-            launcher:ofAvailableSpace="0.0306" />
-        <endPadding
-            launcher:ofAvailableSpace="0.068" />
-        <gutter
-            launcher:fixedSize="16dp" />
-        <cellSize
-            launcher:ofRemainderSpace="0.2" />
-    </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding
+                launcher:ofAvailableSpace="0.0306" />
+            <endPadding
+                launcher:ofAvailableSpace="0.068" />
+            <gutter
+                launcher:fixedSize="16dp" />
+            <cellSize
+                launcher:ofRemainderSpace="0.2" />
+        </workspaceSpec>
 
-    <!-- Width spec is always the same -->
-    <workspaceSpec
-        launcher:specType="width"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding
-            launcher:ofRemainderSpace="0.21436227" />
-        <endPadding
-            launcher:ofRemainderSpace="0.21436227" />
-        <gutter
-            launcher:ofRemainderSpace="0.11425509" />
-        <cellSize
-            launcher:fixedSize="120dp" />
-    </workspaceSpec>
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding
+                launcher:ofRemainderSpace="0.21436227" />
+            <endPadding
+                launcher:ofRemainderSpace="0.21436227" />
+            <gutter
+                launcher:ofRemainderSpace="0.11425509" />
+            <cellSize
+                launcher:fixedSize="120dp" />
+        </workspaceSpec>
+    </specs>
 </workspaceSpecs>
diff --git a/tests/res/xml/valid_all_apps_file.xml b/tests/res/xml/valid_all_apps_file.xml
index 0be55d1..33ea9b6 100644
--- a/tests/res/xml/valid_all_apps_file.xml
+++ b/tests/res/xml/valid_all_apps_file.xml
@@ -15,22 +15,23 @@
   -->
 
 <allAppsSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <allAppsSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="0dp" />
-        <endPadding launcher:fixedSize="0dp" />
-        <gutter launcher:matchWorkspace="true" />
-        <cellSize launcher:matchWorkspace="true" />
-    </allAppsSpec>
+    <specs launcher:maxAspectRatio="10">
+        <allAppsSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="0dp" />
+            <gutter launcher:matchWorkspace="true" />
+            <cellSize launcher:matchWorkspace="true" />
+        </allAppsSpec>
 
-    <allAppsSpec
-        launcher:specType="width"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:matchWorkspace="true" />
-        <endPadding launcher:matchWorkspace="true" />
-        <gutter launcher:matchWorkspace="true" />
-        <cellSize launcher:matchWorkspace="true" />
-    </allAppsSpec>
-
+        <allAppsSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:matchWorkspace="true" />
+            <endPadding launcher:matchWorkspace="true" />
+            <gutter launcher:matchWorkspace="true" />
+            <cellSize launcher:matchWorkspace="true" />
+        </allAppsSpec>
+    </specs>
 </allAppsSpecs>
diff --git a/tests/res/xml/valid_cell_specs_file.xml b/tests/res/xml/valid_cell_specs_file.xml
new file mode 100644
index 0000000..7a5f03f
--- /dev/null
+++ b/tests/res/xml/valid_cell_specs_file.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<cellSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <!-- portrait -->
+    <specs launcher:maxAspectRatio="1.0">
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="606dp">
+            <iconDrawablePadding launcher:fixedSize="8dp" />
+            <iconSize launcher:fixedSize="48dp" />
+            <iconTextSize launcher:fixedSize="12sp" />
+        </cellSpec>
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:fixedSize="11dp" />
+            <iconSize launcher:fixedSize="52dp" />
+            <iconTextSize launcher:fixedSize="12sp" />
+        </cellSpec>
+    </specs>
+    <!-- landscape -->
+    <specs launcher:maxAspectRatio="10">
+        <cellSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <iconDrawablePadding launcher:fixedSize="0dp" />
+            <iconSize launcher:fixedSize="52dp" />
+            <iconTextSize launcher:fixedSize="0sp" />
+        </cellSpec>
+    </specs>
+</cellSpecs>
\ No newline at end of file
diff --git a/tests/res/xml/valid_folders_specs.xml b/tests/res/xml/valid_folders_specs.xml
index 0c45544..ecff9b8 100644
--- a/tests/res/xml/valid_folders_specs.xml
+++ b/tests/res/xml/valid_folders_specs.xml
@@ -14,25 +14,27 @@
   ~ limitations under the License.
   -->
 <folderSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="800dp">
-        <startPadding launcher:fixedSize="16dp" />
-        <endPadding launcher:fixedSize="16dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:matchWorkspace="true" />
-    </folderSpec>
-    <folderSpec launcher:specType="width" launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="16dp" />
-        <endPadding launcher:fixedSize="16dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="102dp" />
-    </folderSpec>
+    <specs launcher:maxAspectRatio="10">
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="800dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="16dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:matchWorkspace="true" />
+        </folderSpec>
+        <folderSpec launcher:dimensionType="width" launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="16dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="102dp" />
+        </folderSpec>
 
-    <!-- Height spec is fixed -->
-    <folderSpec launcher:specType="height" launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="24dp" />
-        <!-- mapped to footer height size -->
-        <endPadding launcher:fixedSize="64dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:matchWorkspace="true" />
-    </folderSpec>
+        <!-- Height spec is fixed -->
+        <folderSpec launcher:dimensionType="height" launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="24dp" />
+            <!-- mapped to footer height size -->
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:matchWorkspace="true" />
+        </folderSpec>
+    </specs>
 </folderSpecs>
diff --git a/tests/res/xml/valid_hotseat_file.xml b/tests/res/xml/valid_hotseat_file.xml
index c7f52e8..65c1d8b 100644
--- a/tests/res/xml/valid_hotseat_file.xml
+++ b/tests/res/xml/valid_hotseat_file.xml
@@ -14,17 +14,19 @@
   ~ limitations under the License.
   -->
 <hotseatSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <hotseatSpec
+            launcher:maxAvailableSize="847dp"
+            launcher:dimensionType="height">
+            <hotseatQsbSpace launcher:fixedSize="24dp" />
+            <edgePadding launcher:fixedSize="48dp" />
+        </hotseatSpec>
 
-    <hotseatSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="847dp">
-        <hotseatQsbSpace launcher:fixedSize="24dp" />
-    </hotseatSpec>
-
-    <hotseatSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <hotseatQsbSpace launcher:fixedSize="36dp" />
-    </hotseatSpec>
-
+        <hotseatSpec
+            launcher:maxAvailableSize="9999dp"
+            launcher:dimensionType="height">
+            <hotseatQsbSpace launcher:fixedSize="36dp" />
+            <edgePadding launcher:fixedSize="48dp" />
+        </hotseatSpec>
+    </specs>
 </hotseatSpecs>
\ No newline at end of file
diff --git a/tests/res/xml/valid_hotseat_land_file.xml b/tests/res/xml/valid_hotseat_land_file.xml
new file mode 100644
index 0000000..f67adad
--- /dev/null
+++ b/tests/res/xml/valid_hotseat_land_file.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<hotseatSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <hotseatSpec
+            launcher:maxAvailableSize="743dp"
+            launcher:dimensionType="width">
+            <hotseatQsbSpace launcher:fixedSize="0dp" />
+            <edgePadding launcher:fixedSize="48dp" />
+        </hotseatSpec>
+
+        <hotseatSpec
+            launcher:maxAvailableSize="9999dp"
+            launcher:dimensionType="width">
+            <hotseatQsbSpace launcher:fixedSize="0dp" />
+            <edgePadding launcher:fixedSize="64dp" />
+        </hotseatSpec>
+    </specs>
+</hotseatSpecs>
\ No newline at end of file
diff --git a/tests/res/xml/valid_responsive_spec_unsorted.xml b/tests/res/xml/valid_responsive_spec_unsorted.xml
new file mode 100644
index 0000000..8676f48
--- /dev/null
+++ b/tests/res/xml/valid_responsive_spec_unsorted.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="10">
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="34dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+
+        <!-- Height spec -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="371dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="24dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+
+        <!-- Width spec -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="716dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="36dp" />
+            <endPadding launcher:fixedSize="80dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="602dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="36dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+    </specs>
+
+    <!-- specs from land/handheld_workspace_spec_4x4.xml -->
+    <specs launcher:maxAspectRatio="12">
+        <!-- Height spec -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="2dp" />
+            <endPadding launcher:fixedSize="2dp" />
+            <gutter launcher:fixedSize="8dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+
+        <!-- Width spec -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="1dp" />
+            <endPadding launcher:fixedSize="1dp" />
+            <gutter launcher:fixedSize="8dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+    </specs>
+
+    <specs launcher:maxAspectRatio="1.05">
+        <!-- 584 grid height + 28 remainder space -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="612dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="8dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <!-- 584 grid height -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="584dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="32dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofAvailableSpace="0.15808" />
+        </workspaceSpec>
+
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="22dp" />
+            <endPadding launcher:fixedSize="22dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+    </specs>
+</workspaceSpecs>
diff --git a/tests/res/xml/valid_workspace_file.xml b/tests/res/xml/valid_workspace_file.xml
index 1f97314..dc9963a 100644
--- a/tests/res/xml/valid_workspace_file.xml
+++ b/tests/res/xml/valid_workspace_file.xml
@@ -15,45 +15,93 @@
   -->
 
 <workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
-    <!-- 584 grid height -->
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="584dp">
-        <startPadding launcher:fixedSize="0dp" />
-        <endPadding launcher:fixedSize="32dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:ofAvailableSpace="0.15808" />
-    </workspaceSpec>
+    <specs launcher:maxAspectRatio="1.05">
+        <!-- 584 grid height -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="584dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="32dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofAvailableSpace="0.15808" />
+        </workspaceSpec>
 
-    <!-- 584 grid height + 28 remainder space -->
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="612dp">
-        <startPadding launcher:fixedSize="0dp" />
-        <endPadding launcher:ofRemainderSpace="1" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="104dp" />
-    </workspaceSpec>
+        <!-- 584 grid height + 28 remainder space -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="612dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
 
-    <workspaceSpec
-        launcher:specType="height"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="8dp" />
-        <endPadding launcher:ofRemainderSpace="1" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:fixedSize="104dp" />
-    </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="8dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
 
-    <!--  TODO(b/241386436): other specs here for height ...  -->
+        <!--  TODO(b/241386436): other specs here for height ...  -->
 
-    <!-- Width spec is always the same -->
-    <workspaceSpec
-        launcher:specType="width"
-        launcher:maxAvailableSize="9999dp">
-        <startPadding launcher:fixedSize="22dp" />
-        <endPadding launcher:fixedSize="22dp" />
-        <gutter launcher:fixedSize="16dp" />
-        <cellSize launcher:ofRemainderSpace="0.25" />
-    </workspaceSpec>
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="22dp" />
+            <endPadding launcher:fixedSize="22dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+    </specs>
 
+    <!-- specs from land/handheld_workspace_spec_4x4.xml -->
+    <specs launcher:maxAspectRatio="99999">
+        <!-- Height spec -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="371dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="24dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="34dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+
+        <!-- Width spec -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="602dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="36dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="716dp">
+            <startPadding launcher:fixedSize="16dp" />
+            <endPadding launcher:fixedSize="64dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="36dp" />
+            <endPadding launcher:fixedSize="80dp" />
+            <gutter launcher:fixedSize="12dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+    </specs>
 </workspaceSpecs>
diff --git a/tests/res/xml/valid_workspace_unsorted_file.xml b/tests/res/xml/valid_workspace_unsorted_file.xml
new file mode 100644
index 0000000..f783e9f
--- /dev/null
+++ b/tests/res/xml/valid_workspace_unsorted_file.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<workspaceSpecs xmlns:launcher="http://schemas.android.com/apk/res-auto">
+    <specs launcher:maxAspectRatio="1.05">
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="8dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <!-- 584 grid height -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="584dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:fixedSize="32dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofAvailableSpace="0.15808" />
+        </workspaceSpec>
+
+        <!-- 584 grid height + 28 remainder space -->
+        <workspaceSpec
+            launcher:dimensionType="height"
+            launcher:maxAvailableSize="612dp">
+            <startPadding launcher:fixedSize="0dp" />
+            <endPadding launcher:ofRemainderSpace="1" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:fixedSize="104dp" />
+        </workspaceSpec>
+
+        <!-- Width spec is always the same -->
+        <workspaceSpec
+            launcher:dimensionType="width"
+            launcher:maxAvailableSize="9999dp">
+            <startPadding launcher:fixedSize="22dp" />
+            <endPadding launcher:fixedSize="22dp" />
+            <gutter launcher:fixedSize="16dp" />
+            <cellSize launcher:ofRemainderSpace="1" />
+        </workspaceSpec>
+    </specs>
+</workspaceSpecs>
diff --git a/tests/shared/com/android/launcher3/testing/OWNERS b/tests/shared/com/android/launcher3/testing/OWNERS
new file mode 100644
index 0000000..a818d5e
--- /dev/null
+++ b/tests/shared/com/android/launcher3/testing/OWNERS
@@ -0,0 +1,5 @@
+vadimt@google.com
+sunnygoyal@google.com
+winsonc@google.com
+hyunyoungs@google.com
+mateuszc@google.com
\ No newline at end of file
diff --git a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
index 825b3dc..3e188e6 100644
--- a/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
+++ b/tests/shared/com/android/launcher3/testing/shared/TestProtocol.java
@@ -28,6 +28,10 @@
     public static final String PAUSE_DETECTED_MESSAGE = "TAPL_PAUSE_DETECTED";
     public static final String DISMISS_ANIMATION_ENDS_MESSAGE = "TAPL_DISMISS_ANIMATION_ENDS";
     public static final String FOLDER_OPENED_MESSAGE = "TAPL_FOLDER_OPENED";
+    public static final String SEARCH_RESULT_COMPLETE = "SEARCH_RESULT_COMPLETE";
+    public static final String LAUNCHER_ACTIVITY_STOPPED_MESSAGE = "TAPL_LAUNCHER_ACTIVITY_STOPPED";
+    public static final String WALLPAPER_OPEN_ANIMATION_FINISHED_MESSAGE =
+            "TAPL_WALLPAPER_OPEN_ANIMATION_FINISHED";
     public static final int NORMAL_STATE_ORDINAL = 0;
     public static final int SPRING_LOADED_STATE_ORDINAL = 1;
     public static final int OVERVIEW_STATE_ORDINAL = 2;
@@ -84,16 +88,17 @@
     public static final String REQUEST_ICON_HEIGHT =
             "icon-height";
     public static final String REQUEST_IS_LAUNCHER_INITIALIZED = "is-launcher-initialized";
+    public static final String REQUEST_IS_LAUNCHER_LAUNCHER_ACTIVITY_STARTED =
+            "is-launcher-activity-started";
     public static final String REQUEST_FREEZE_APP_LIST = "freeze-app-list";
     public static final String REQUEST_UNFREEZE_APP_LIST = "unfreeze-app-list";
-    public static final String REQUEST_ENABLE_MANUAL_TASKBAR_STASHING = "enable-taskbar-stashing";
-    public static final String REQUEST_DISABLE_MANUAL_TASKBAR_STASHING = "disable-taskbar-stashing";
     public static final String REQUEST_ENABLE_BLOCK_TIMEOUT = "enable-block-timeout";
     public static final String REQUEST_DISABLE_BLOCK_TIMEOUT = "disable-block-timeout";
     public static final String REQUEST_ENABLE_TRANSIENT_TASKBAR = "enable-transient-taskbar";
     public static final String REQUEST_DISABLE_TRANSIENT_TASKBAR = "disable-transient-taskbar";
+    public static final String REQUEST_IS_TRANSIENT_TASKBAR = "is-transient-taskbar";
     public static final String REQUEST_UNSTASH_TASKBAR_IF_STASHED = "unstash-taskbar-if-stashed";
-    public static final String REQUEST_STASHED_TASKBAR_HEIGHT = "stashed-taskbar-height";
+    public static final String REQUEST_TASKBAR_FROM_NAV_THRESHOLD = "taskbar-from-nav-threshold";
     public static final String REQUEST_STASHED_TASKBAR_SCALE = "taskbar-stash-handle-scale";
     public static final String REQUEST_RECREATE_TASKBAR = "recreate-taskbar";
     public static final String REQUEST_APP_LIST_FREEZE_FLAGS = "app-list-freeze-flags";
@@ -102,6 +107,7 @@
     public static final String REQUEST_WIDGETS_SCROLL_Y = "widgets-scroll-y";
     public static final String REQUEST_TARGET_INSETS = "target-insets";
     public static final String REQUEST_WINDOW_INSETS = "window-insets";
+    public static final String REQUEST_SYSTEM_GESTURE_REGION = "gesture-region";
     public static final String REQUEST_PID = "pid";
     public static final String REQUEST_FORCE_GC = "gc";
     public static final String REQUEST_RECENT_TASKS_LIST = "recent-tasks-list";
@@ -113,6 +119,7 @@
     public static final String REQUEST_CLEAR_DATA = "clear-data";
     public static final String REQUEST_HOTSEAT_ICON_NAMES = "get-hotseat-icon-names";
     public static final String REQUEST_IS_TABLET = "is-tablet";
+    public static final String REQUEST_NUM_ALL_APPS_COLUMNS = "num-all-apps-columns";
     public static final String REQUEST_IS_TWO_PANELS = "is-two-panel";
     public static final String REQUEST_START_DRAG_THRESHOLD = "start-drag-threshold";
     public static final String REQUEST_SHELL_DRAG_READY = "shell-drag-ready";
@@ -124,6 +131,7 @@
             "taskbar-all-apps-top-padding";
     public static final String REQUEST_ALL_APPS_TOP_PADDING = "all-apps-top-padding";
     public static final String REQUEST_ALL_APPS_BOTTOM_PADDING = "all-apps-bottom-padding";
+    public static final String REQUEST_REFRESH_OVERVIEW_TARGET = "refresh-overview-target";
 
     public static final String REQUEST_WORKSPACE_CELL_LAYOUT_SIZE = "workspace-cell-layout-size";
     public static final String REQUEST_WORKSPACE_CELL_CENTER = "workspace-cell-center";
@@ -139,6 +147,8 @@
     public static final String REQUEST_GET_GRID_TASK_SIZE_RECT_FOR_TABLET =
             "get-grid-task-size-rect-for-tablet";
     public static final String REQUEST_GET_OVERVIEW_PAGE_SPACING = "get-overview-page-spacing";
+    public static final String REQUEST_GET_OVERVIEW_CURRENT_PAGE_INDEX =
+            "get-overview-current-page-index";
     public static final String REQUEST_ENABLE_ROTATION = "enable_rotation";
     public static final String REQUEST_ENABLE_SUGGESTION = "enable-suggestion";
     public static final String REQUEST_MODEL_QUEUE_CLEARED = "model-queue-cleared";
@@ -152,13 +162,11 @@
     public static final String REQUEST_MOCK_SENSOR_ROTATION = "mock-sensor-rotation";
 
     public static final String PERMANENT_DIAG_TAG = "TaplTarget";
+    public static final String TWO_NEXUS_LAUNCHER_ACTIVITY_WHILE_UNLOCKING = "b/273347463";
     public static final String TWO_TASKBAR_LONG_CLICKS = "b/262282528";
-    public static final String FLAKY_QUICK_SWITCH_TO_PREVIOUS_APP = "b/286084688";
     public static final String ICON_MISSING = "b/282963545";
-    public static final String LAUNCH_SPLIT_PAIR = "b/288939273";
-
     public static final String OVERVIEW_OVER_HOME = "b/279059025";
-    public static final String INCORRECT_HOME_STATE = "b/293191790";
+
     public static final String REQUEST_EMULATE_DISPLAY = "emulate-display";
     public static final String REQUEST_STOP_EMULATE_DISPLAY = "stop-emulate-display";
     public static final String REQUEST_IS_EMULATE_DISPLAY_RUNNING = "is-emulate-display-running";
@@ -166,6 +174,9 @@
 
     public static final String REQUEST_FLAG_ENABLE_GRID_ONLY_OVERVIEW = "enable-grid-only-overview";
 
+    public static final String REQUEST_UNSTASH_BUBBLE_BAR_IF_STASHED =
+            "unstash-bubble-bar-if-stashed";
+
     /** Logs {@link Log#d(String, String)} if {@link #sDebugTracing} is true. */
     public static void testLogD(String tag, String message) {
         if (!sDebugTracing) {
diff --git a/tests/src/com/android/launcher3/AbstractDeviceProfileTest.kt b/tests/src/com/android/launcher3/AbstractDeviceProfileTest.kt
index dd79ca8..d44ccf5 100644
--- a/tests/src/com/android/launcher3/AbstractDeviceProfileTest.kt
+++ b/tests/src/com/android/launcher3/AbstractDeviceProfileTest.kt
@@ -17,28 +17,34 @@
 
 import android.content.Context
 import android.content.res.Configuration
+import android.content.res.Resources
 import android.graphics.Point
 import android.graphics.Rect
 import android.util.DisplayMetrics
 import android.view.Surface
 import androidx.test.core.app.ApplicationProvider
+import androidx.test.platform.app.InstrumentationRegistry
 import com.android.launcher3.testing.shared.ResourceUtils
 import com.android.launcher3.util.DisplayController
+import com.android.launcher3.util.MainThreadInitializedObject.SandboxContext
 import com.android.launcher3.util.NavigationMode
 import com.android.launcher3.util.WindowBounds
+import com.android.launcher3.util.rule.TestStabilityRule
 import com.android.launcher3.util.window.CachedDisplayInfo
 import com.android.launcher3.util.window.WindowManagerProxy
+import com.android.wm.shell.Flags
+import com.google.common.truth.Truth
 import java.io.BufferedReader
 import java.io.File
 import java.io.PrintWriter
 import java.io.StringWriter
 import kotlin.math.max
 import kotlin.math.min
-import org.junit.After
-import org.junit.Before
-import org.mockito.ArgumentMatchers
-import org.mockito.Mockito.mock
-import org.mockito.Mockito.`when` as whenever
+import org.junit.Rule
+import org.mockito.kotlin.any
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.whenever
 
 /**
  * This is an abstract class for DeviceProfile tests that create an InvariantDeviceProfile based on
@@ -47,27 +53,20 @@
  * For an implementation that mocks InvariantDeviceProfile, use [FakeInvariantDeviceProfileTest]
  */
 abstract class AbstractDeviceProfileTest {
-    protected var context: Context? = null
+    protected val testContext: Context = InstrumentationRegistry.getInstrumentation().context
+    protected lateinit var context: SandboxContext
     protected open val runningContext: Context = ApplicationProvider.getApplicationContext()
-    private var displayController: DisplayController = mock(DisplayController::class.java)
-    private var windowManagerProxy: WindowManagerProxy = mock(WindowManagerProxy::class.java)
-    private lateinit var originalDisplayController: DisplayController
-    private lateinit var originalWindowManagerProxy: WindowManagerProxy
-
-    @Before
-    open fun setUp() {
-        val appContext: Context = ApplicationProvider.getApplicationContext()
-        originalWindowManagerProxy = WindowManagerProxy.INSTANCE.get(appContext)
-        originalDisplayController = DisplayController.INSTANCE.get(appContext)
-        WindowManagerProxy.INSTANCE.initializeForTesting(windowManagerProxy)
-        DisplayController.INSTANCE.initializeForTesting(displayController)
+    private val displayController: DisplayController = mock()
+    private val windowManagerProxy: WindowManagerProxy = mock()
+    private val launcherPrefs: LauncherPrefs = mock()
+    private val allowLeftRightSplitInPortrait: Boolean = initAllowLeftRightSplitInPortrait()
+    fun initAllowLeftRightSplitInPortrait() : Boolean {
+        val res = Resources.getSystem();
+        val resId = res.getIdentifier("config_leftRightSplitInPortrait", "bool", "android")
+        return Flags.enableLeftRightSplitInPortrait() && resId > 0 && res.getBoolean(resId)
     }
 
-    @After
-    open fun tearDown() {
-        WindowManagerProxy.INSTANCE.initializeForTesting(originalWindowManagerProxy)
-        DisplayController.INSTANCE.initializeForTesting(originalDisplayController)
-    }
+    @Rule @JvmField val testStabilityRule = TestStabilityRule()
 
     class DeviceSpec(
         val naturalSize: Pair<Int, Int>,
@@ -283,11 +282,11 @@
     ) {
         val windowsBounds = perDisplayBoundsCache[displayInfo]!!
         val realBounds = windowsBounds[rotation]
-        whenever(windowManagerProxy.getDisplayInfo(ArgumentMatchers.any())).thenReturn(displayInfo)
-        whenever(windowManagerProxy.getRealBounds(ArgumentMatchers.any(), ArgumentMatchers.any()))
-            .thenReturn(realBounds)
-        whenever(windowManagerProxy.getRotation(ArgumentMatchers.any())).thenReturn(rotation)
-        whenever(windowManagerProxy.getNavigationMode(ArgumentMatchers.any()))
+        whenever(windowManagerProxy.getDisplayInfo(any())).thenReturn(displayInfo)
+        whenever(windowManagerProxy.getRealBounds(any(), any())).thenReturn(realBounds)
+        whenever(windowManagerProxy.getCurrentBounds(any())).thenReturn(realBounds.bounds)
+        whenever(windowManagerProxy.getRotation(any())).thenReturn(rotation)
+        whenever(windowManagerProxy.getNavigationMode(any()))
             .thenReturn(
                 if (isGestureMode) NavigationMode.NO_BUTTON else NavigationMode.THREE_BUTTONS
             )
@@ -300,11 +299,41 @@
                 screenHeightDp = (realBounds.bounds.height() / density).toInt()
                 smallestScreenWidthDp = min(screenWidthDp, screenHeightDp)
             }
-        context = runningContext.createConfigurationContext(config)
+        val configurationContext = runningContext.createConfigurationContext(config)
+        context =
+            SandboxContext(
+                configurationContext,
+                DisplayController.INSTANCE,
+                WindowManagerProxy.INSTANCE,
+                LauncherPrefs.INSTANCE
+            )
+        context.putObject(DisplayController.INSTANCE, displayController)
+        context.putObject(WindowManagerProxy.INSTANCE, windowManagerProxy)
+        context.putObject(LauncherPrefs.INSTANCE, launcherPrefs)
 
-        val info = DisplayController.Info(context, windowManagerProxy, perDisplayBoundsCache)
+        whenever(launcherPrefs.get(LauncherPrefs.TASKBAR_PINNING)).thenReturn(false)
+        val info = spy(DisplayController.Info(context, windowManagerProxy, perDisplayBoundsCache))
         whenever(displayController.info).thenReturn(info)
-        whenever(displayController.isTransientTaskbar).thenReturn(isGestureMode)
+        whenever(info.isTransientTaskbar).thenReturn(isGestureMode)
+    }
+
+    /** Asserts that the given device profile matches a previously dumped device profile state. */
+    protected fun assertDump(dp: DeviceProfile, folderName: String, filename: String) {
+        val dump = dump(context!!, dp, "${folderName}_$filename.txt")
+        var expected = readDumpFromAssets(testContext, "$folderName/$filename.txt")
+
+        // TODO(b/315230497): We don't currently have device-specific device profile dumps, so just
+        //  update the result before we do the comparison
+        if (allowLeftRightSplitInPortrait) {
+            val isLeftRightSplitInPortrait = when {
+                allowLeftRightSplitInPortrait && dp.isTablet -> !dp.isLandscape
+                else -> dp.isLandscape
+            }
+            expected = expected.replace(Regex("isLeftRightSplit:\\w+"),
+                    "isLeftRightSplit:$isLeftRightSplitInPortrait")
+        }
+
+        Truth.assertThat(dump).isEqualTo(expected)
     }
 
     /** Create a new dump of DeviceProfile, saves to a file in the device and returns it */
diff --git a/tests/src/com/android/launcher3/AppWidgetsRestoredReceiverTest.kt b/tests/src/com/android/launcher3/AppWidgetsRestoredReceiverTest.kt
new file mode 100644
index 0000000..21abab4
--- /dev/null
+++ b/tests/src/com/android/launcher3/AppWidgetsRestoredReceiverTest.kt
@@ -0,0 +1,171 @@
+package com.android.launcher3
+
+import android.appwidget.AppWidgetManager.ACTION_APPWIDGET_DELETED
+import android.appwidget.AppWidgetManager.ACTION_APPWIDGET_HOST_RESTORED
+import android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_IDS
+import android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_OLD_IDS
+import android.appwidget.AppWidgetManager.EXTRA_HOST_ID
+import android.content.Intent
+import android.platform.uiautomator_helpers.DeviceHelpers
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.launcher3.LauncherPrefs.Companion.APP_WIDGET_IDS
+import com.android.launcher3.LauncherPrefs.Companion.OLD_APP_WIDGET_IDS
+import com.android.launcher3.util.IntArray
+import com.android.launcher3.util.LauncherModelHelper.TEST_PACKAGE
+import com.android.launcher3.widget.LauncherWidgetHolder.APPWIDGET_HOST_ID
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/** Tests for [AppWidgetsRestoredReceiver] */
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class AppWidgetsRestoredReceiverTest {
+    private lateinit var launcherPrefs: LauncherPrefs
+    private lateinit var receiverUnderTest: AppWidgetsRestoredReceiver
+
+    @Before
+    fun setup() {
+        launcherPrefs = LauncherPrefs(DeviceHelpers.context)
+        receiverUnderTest = AppWidgetsRestoredReceiver()
+    }
+
+    @After
+    fun tearDown() {
+        launcherPrefs.remove(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)
+    }
+
+    @Test
+    fun `When AppWidgetsRestoredReceiver gets valid broadcast it sets old and new app widget ids`() {
+        // Given
+        val oldIds = intArrayOf(1, 2, 10)
+        val newIds = intArrayOf(10, 11, 12)
+        val expectedOldIds = IntArray.wrap(*oldIds).toConcatString()
+        val expectedNewIds = IntArray.wrap(*newIds).toConcatString()
+        val intent =
+            Intent().apply {
+                component = null
+                `package` = TEST_PACKAGE
+                action = ACTION_APPWIDGET_HOST_RESTORED
+                putExtra(EXTRA_APPWIDGET_OLD_IDS, oldIds)
+                putExtra(EXTRA_APPWIDGET_IDS, newIds)
+                putExtra(EXTRA_HOST_ID, APPWIDGET_HOST_ID)
+            }
+
+        // When
+        receiverUnderTest.onReceive(DeviceHelpers.context, intent)
+
+        // Then
+        assertThat(launcherPrefs.get(OLD_APP_WIDGET_IDS)).isEqualTo(expectedOldIds)
+        assertThat(launcherPrefs.get(APP_WIDGET_IDS)).isEqualTo(expectedNewIds)
+    }
+
+    @Test
+    fun `AppWidgetsRestoredReceiver does not set widget ids when Intent action is invalid`() {
+        // Given
+        val oldIds = intArrayOf(1, 2, 10)
+        val newIds = intArrayOf(10, 11, 12)
+        val intent =
+            Intent().apply {
+                component = null
+                `package` = TEST_PACKAGE
+                action = ACTION_APPWIDGET_DELETED
+                putExtra(EXTRA_APPWIDGET_OLD_IDS, oldIds)
+                putExtra(EXTRA_APPWIDGET_IDS, newIds)
+                putExtra(EXTRA_HOST_ID, APPWIDGET_HOST_ID)
+            }
+
+        // When
+        receiverUnderTest.onReceive(DeviceHelpers.context, intent)
+
+        // Then
+        assertThat(launcherPrefs.has(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)).isFalse()
+    }
+
+    @Test
+    fun `AppWidgetsRestoredReceiver does not set widget ids when Intent host id is not Launcher`() {
+        // Given
+        val oldIds = intArrayOf(1, 2, 10)
+        val newIds = intArrayOf(10, 11, 12)
+        val intent =
+            Intent().apply {
+                component = null
+                `package` = TEST_PACKAGE
+                action = ACTION_APPWIDGET_HOST_RESTORED
+                putExtra(EXTRA_APPWIDGET_OLD_IDS, oldIds)
+                putExtra(EXTRA_APPWIDGET_IDS, newIds)
+                putExtra(EXTRA_HOST_ID, 999999999)
+            }
+
+        // When
+        receiverUnderTest.onReceive(DeviceHelpers.context, intent)
+
+        // Then
+        assertThat(launcherPrefs.has(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)).isFalse()
+    }
+
+    @Test
+    fun `AppWidgetsRestoredReceiver does not set ids when new and old ids differ in length`() {
+        // Given
+        val oldIds = intArrayOf(10)
+        val newIds = intArrayOf(10, 11, 12)
+        val intent =
+            Intent().apply {
+                component = null
+                `package` = TEST_PACKAGE
+                action = ACTION_APPWIDGET_HOST_RESTORED
+                putExtra(EXTRA_APPWIDGET_OLD_IDS, oldIds)
+                putExtra(EXTRA_APPWIDGET_IDS, newIds)
+                putExtra(EXTRA_HOST_ID, APPWIDGET_HOST_ID)
+            }
+
+        // When
+        receiverUnderTest.onReceive(DeviceHelpers.context, intent)
+
+        // Then
+        assertThat(launcherPrefs.has(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)).isFalse()
+    }
+
+    @Test
+    fun `AppWidgetsRestoredReceiver does not set widget ids when old ids not set`() {
+        // Given
+        val newIds = intArrayOf(10, 11, 12)
+        val intent =
+            Intent().apply {
+                component = null
+                `package` = TEST_PACKAGE
+                action = ACTION_APPWIDGET_HOST_RESTORED
+                putExtra(EXTRA_APPWIDGET_IDS, newIds)
+                putExtra(EXTRA_HOST_ID, APPWIDGET_HOST_ID)
+            }
+
+        // When
+        receiverUnderTest.onReceive(DeviceHelpers.context, intent)
+
+        // Then
+        assertThat(launcherPrefs.has(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)).isFalse()
+    }
+
+    @Test
+    fun `AppWidgetsRestoredReceiver does not set widget ids when new ids not set`() {
+        // Given
+        val oldIds = intArrayOf(10, 11, 12)
+        val intent =
+            Intent().apply {
+                component = null
+                `package` = TEST_PACKAGE
+                action = ACTION_APPWIDGET_HOST_RESTORED
+                putExtra(EXTRA_APPWIDGET_OLD_IDS, oldIds)
+                putExtra(EXTRA_HOST_ID, APPWIDGET_HOST_ID)
+            }
+
+        // When
+        receiverUnderTest.onReceive(DeviceHelpers.context, intent)
+
+        // Then
+        assertThat(launcherPrefs.has(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)).isFalse()
+    }
+}
diff --git a/tests/src/com/android/launcher3/DeleteDropTargetTest.kt b/tests/src/com/android/launcher3/DeleteDropTargetTest.kt
index bcfb90b..46e66e4 100644
--- a/tests/src/com/android/launcher3/DeleteDropTargetTest.kt
+++ b/tests/src/com/android/launcher3/DeleteDropTargetTest.kt
@@ -32,9 +32,9 @@
         buttonDropTarget.setTextMultiLine(false)
 
         // No space for text
-        assertThat(buttonDropTarget.isTextClippedVertically(30)).isTrue()
+        assertThat(buttonDropTarget.isTextClippedVertically(1)).isTrue()
 
         // A lot of space for text so the text should not be clipped
-        assertThat(buttonDropTarget.isTextClippedVertically(100)).isFalse()
+        assertThat(buttonDropTarget.isTextClippedVertically(1000)).isFalse()
     }
 }
diff --git a/tests/src/com/android/launcher3/FakeInvariantDeviceProfileTest.kt b/tests/src/com/android/launcher3/FakeInvariantDeviceProfileTest.kt
index c22cf40..30b5663 100644
--- a/tests/src/com/android/launcher3/FakeInvariantDeviceProfileTest.kt
+++ b/tests/src/com/android/launcher3/FakeInvariantDeviceProfileTest.kt
@@ -27,9 +27,9 @@
 import java.io.PrintWriter
 import java.io.StringWriter
 import org.junit.Before
-import org.mockito.ArgumentMatchers.any
-import org.mockito.Mockito.mock
-import org.mockito.Mockito.`when` as whenever
+import org.mockito.kotlin.any
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
 
 /**
  * This is an abstract class for DeviceProfile tests that don't need the real Context and mock an
@@ -41,12 +41,13 @@
 
     protected var context: Context? = null
     protected var inv: InvariantDeviceProfile? = null
-    protected var info: Info = mock(Info::class.java)
+    protected val info: Info = mock()
     protected var windowBounds: WindowBounds? = null
     protected var isMultiWindowMode: Boolean = false
     protected var transposeLayoutWithOrientation: Boolean = false
     protected var useTwoPanels: Boolean = false
     protected var isGestureMode: Boolean = true
+    protected var isTransientTaskbar: Boolean = true
 
     @Before
     fun setUp() {
@@ -68,7 +69,8 @@
             useTwoPanels,
             isGestureMode,
             DEFAULT_PROVIDER,
-            DEFAULT_DIMENSION_PROVIDER
+            DEFAULT_DIMENSION_PROVIDER,
+            isTransientTaskbar,
         )
 
     protected fun initializeVarsForPhone(
@@ -93,6 +95,7 @@
         whenever(info.smallestSizeDp(any())).thenReturn(411f)
 
         this.isGestureMode = isGestureMode
+        this.isTransientTaskbar = false
         transposeLayoutWithOrientation = true
 
         inv =
@@ -118,8 +121,8 @@
                     listOf(PointF(16f, 16f), PointF(16f, 16f), PointF(16f, 16f), PointF(16f, 16f))
                         .toTypedArray()
 
-                numFolderRows = 3
-                numFolderColumns = 3
+                numFolderRows = intArrayOf(3, 3, 3, 3)
+                numFolderColumns = intArrayOf(3, 3, 3, 3)
                 folderStyle = R.style.FolderStyleDefault
 
                 inlineNavButtonsEndSpacing = R.dimen.taskbar_button_margin_split
@@ -175,6 +178,7 @@
         whenever(info.smallestSizeDp(any())).thenReturn(800f)
 
         this.isGestureMode = isGestureMode
+        this.isTransientTaskbar = true
         useTwoPanels = false
 
         inv =
@@ -200,8 +204,8 @@
                     listOf(PointF(16f, 64f), PointF(64f, 16f), PointF(16f, 64f), PointF(16f, 64f))
                         .toTypedArray()
 
-                numFolderRows = 3
-                numFolderColumns = 3
+                numFolderRows = intArrayOf(3, 3, 3, 3)
+                numFolderColumns = intArrayOf(3, 3, 3, 3)
                 folderStyle = R.style.FolderStyleDefault
 
                 inlineNavButtonsEndSpacing = R.dimen.taskbar_button_margin_6_5
@@ -258,6 +262,7 @@
         whenever(info.smallestSizeDp(any())).thenReturn(700f)
 
         this.isGestureMode = isGestureMode
+        this.isTransientTaskbar = true
         useTwoPanels = true
 
         inv =
@@ -283,8 +288,8 @@
                     listOf(PointF(16f, 16f), PointF(16f, 16f), PointF(16f, 20f), PointF(20f, 20f))
                         .toTypedArray()
 
-                numFolderRows = 3
-                numFolderColumns = 3
+                numFolderRows = intArrayOf(3, 3, 3, 3)
+                numFolderColumns = intArrayOf(3, 3, 3, 3)
                 folderStyle = R.style.FolderStyleDefault
 
                 inlineNavButtonsEndSpacing = R.dimen.taskbar_button_margin_split
diff --git a/tests/src/com/android/launcher3/LauncherPrefsTest.kt b/tests/src/com/android/launcher3/LauncherPrefsTest.kt
index d59e02a..88a430b 100644
--- a/tests/src/com/android/launcher3/LauncherPrefsTest.kt
+++ b/tests/src/com/android/launcher3/LauncherPrefsTest.kt
@@ -33,7 +33,8 @@
 private val TEST_BOOLEAN_ITEM = LauncherPrefs.nonRestorableItem("1", false)
 private val TEST_STRING_ITEM = LauncherPrefs.nonRestorableItem("2", "( ͡❛ ͜ʖ ͡❛)")
 private val TEST_INT_ITEM = LauncherPrefs.nonRestorableItem("3", -1)
-private val TEST_CONTEXTUAL_ITEM = ContextualItem("4", true, { true }, false, Boolean::class.java)
+private val TEST_CONTEXTUAL_ITEM =
+    ContextualItem("4", true, { true }, EncryptionType.ENCRYPTED, Boolean::class.java)
 
 private const val TEST_DEFAULT_VALUE = "default"
 private const val TEST_PREF_KEY = "test_pref_key"
@@ -51,13 +52,13 @@
         @BeforeClass
         @JvmStatic
         fun setup() {
-            isBootAwareStartupDataEnabled = true
+            moveStartupDataToDeviceProtectedStorageIsEnabled = true
         }
 
         @AfterClass
         @JvmStatic
         fun teardown() {
-            isBootAwareStartupDataEnabled = false
+            moveStartupDataToDeviceProtectedStorageIsEnabled = false
         }
     }
 
@@ -203,7 +204,11 @@
     @Test
     fun put_bootAwareItem_updatesDeviceProtectedStorage() {
         val bootAwareItem =
-            LauncherPrefs.backedUpItem(TEST_PREF_KEY, TEST_DEFAULT_VALUE, isBootAware = true)
+            LauncherPrefs.backedUpItem(
+                TEST_PREF_KEY,
+                TEST_DEFAULT_VALUE,
+                EncryptionType.DEVICE_PROTECTED
+            )
 
         val bootAwarePrefs: SharedPreferences =
             context
@@ -220,7 +225,11 @@
     @Test
     fun put_bootAwareItem_updatesEncryptedStorage() {
         val bootAwareItem =
-            LauncherPrefs.backedUpItem(TEST_PREF_KEY, TEST_DEFAULT_VALUE, isBootAware = true)
+            LauncherPrefs.backedUpItem(
+                TEST_PREF_KEY,
+                TEST_DEFAULT_VALUE,
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
 
         val encryptedPrefs: SharedPreferences =
             context.getSharedPreferences(bootAwareItem.sharedPrefFile, Context.MODE_PRIVATE)
@@ -235,7 +244,11 @@
     @Test
     fun remove_bootAwareItem_removesFromDeviceProtectedStorage() {
         val bootAwareItem =
-            LauncherPrefs.backedUpItem(TEST_PREF_KEY, TEST_DEFAULT_VALUE, isBootAware = true)
+            LauncherPrefs.backedUpItem(
+                TEST_PREF_KEY,
+                TEST_DEFAULT_VALUE,
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
 
         val bootAwarePrefs: SharedPreferences =
             context
@@ -254,7 +267,11 @@
     @Test
     fun remove_bootAwareItem_removesFromEncryptedStorage() {
         val bootAwareItem =
-            LauncherPrefs.backedUpItem(TEST_PREF_KEY, TEST_DEFAULT_VALUE, isBootAware = true)
+            LauncherPrefs.backedUpItem(
+                TEST_PREF_KEY,
+                TEST_DEFAULT_VALUE,
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
 
         val encryptedPrefs: SharedPreferences =
             context.getSharedPreferences(bootAwareItem.sharedPrefFile, Context.MODE_PRIVATE)
@@ -271,7 +288,11 @@
     @Test
     fun migrate_bootAwareItemsToDeviceProtectedStorage_worksAsIntended() {
         val bootAwareItem =
-            LauncherPrefs.backedUpItem(TEST_PREF_KEY, TEST_DEFAULT_VALUE, isBootAware = true)
+            LauncherPrefs.backedUpItem(
+                TEST_PREF_KEY,
+                TEST_DEFAULT_VALUE,
+                EncryptionType.MOVE_TO_DEVICE_PROTECTED
+            )
         launcherPrefs.removeSync(bootAwareItem)
 
         val bootAwarePrefs: SharedPreferences =
@@ -303,7 +324,7 @@
             LauncherPrefs.backedUpItem(
                 TEST_PREF_KEY + "_",
                 TEST_DEFAULT_VALUE + "_",
-                isBootAware = false
+                EncryptionType.ENCRYPTED
             )
 
         val bootAwarePrefs: SharedPreferences =
diff --git a/tests/src/com/android/launcher3/allapps/AlphabeticalAppsListTest.java b/tests/src/com/android/launcher3/allapps/AlphabeticalAppsListTest.java
new file mode 100644
index 0000000..3068785
--- /dev/null
+++ b/tests/src/com/android/launcher3/allapps/AlphabeticalAppsListTest.java
@@ -0,0 +1,309 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.allapps;
+
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+
+import static com.android.launcher3.allapps.BaseAllAppsAdapter.VIEW_TYPE_PRIVATE_SPACE_HEADER;
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_LEFT;
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_BOTTOM_RIGHT;
+import static com.android.launcher3.allapps.SectionDecorationInfo.ROUND_NOTHING;
+import static com.android.launcher3.allapps.UserProfileManager.STATE_DISABLED;
+import static com.android.launcher3.allapps.UserProfileManager.STATE_ENABLED;
+import static com.android.launcher3.allapps.UserProfileManager.STATE_TRANSITION;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.AdditionalAnswers.answer;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Process;
+import android.os.UserHandle;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.launcher3.Flags;
+import com.android.launcher3.model.data.AppInfo;
+import com.android.launcher3.util.ActivityContextWrapper;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Stream;
+
+@RunWith(AndroidJUnit4.class)
+public class AlphabeticalAppsListTest {
+
+    private static final UserHandle MAIN_HANDLE = Process.myUserHandle();
+    private static final UserHandle PRIVATE_HANDLE = new UserHandle(11);
+
+    private static final int PRIVATE_SPACE_HEADER_ITEM_COUNT = 1;
+    private static final int MAIN_USER_APP_COUNT = 2;
+    private static final int PRIVATE_USER_APP_COUNT = 1;
+    private static final int NUM_APP_COLS = 4;
+    private static final int NUM_APP_ROWS = 3;
+
+    private AlphabeticalAppsList<?> mAlphabeticalAppsList;
+    @Mock
+    private AllAppsStore<?> mAllAppsStore;
+    @Mock
+    private PrivateProfileManager mPrivateProfileManager;
+    private Context mContext;
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule =
+            new SetFlagsRule(SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = new ActivityContextWrapper(getApplicationContext());
+        when(mPrivateProfileManager.getItemInfoMatcher()).thenReturn(info ->
+                info != null && info.user.equals(PRIVATE_HANDLE));
+        mAlphabeticalAppsList = new AlphabeticalAppsList<>(mContext, mAllAppsStore,
+                null, mPrivateProfileManager);
+        mAlphabeticalAppsList.setNumAppsPerRowAllApps(NUM_APP_COLS);
+    }
+
+    @Test
+    public void privateProfileEnabled_allPrivateProfileViewsArePresent() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVATE_SPACE);
+        when(mAllAppsStore.getApps()).thenReturn(createAppInfoListForMainAndPrivateUser());
+        when(mPrivateProfileManager.addPrivateSpaceHeader(any()))
+                .thenAnswer(answer(this::addPrivateSpaceHeader));
+        when(mPrivateProfileManager.getCurrentState()).thenReturn(STATE_ENABLED);
+
+        mAlphabeticalAppsList.updateItemFilter(info -> info != null
+                && info.user.equals(MAIN_HANDLE));
+
+        assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT
+                + PRIVATE_USER_APP_COUNT, mAlphabeticalAppsList.getAdapterItems().size());
+        assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT,
+                mAlphabeticalAppsList.getAdapterItems().stream().filter(item ->
+                        item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size());
+        assertEquals(PRIVATE_USER_APP_COUNT,
+                mAlphabeticalAppsList.getAdapterItems().stream().filter(item ->
+                        item.itemInfo != null
+                                && item.itemInfo.user.equals(PRIVATE_HANDLE)).toList().size());
+    }
+
+    @Test
+    public void privateProfileDisabled_onlyPrivateProfileHeaderViewIsPresent() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVATE_SPACE);
+        when(mAllAppsStore.getApps()).thenReturn(createAppInfoListForMainAndPrivateUser());
+        when(mPrivateProfileManager.addPrivateSpaceHeader(any()))
+                .thenAnswer(answer(this::addPrivateSpaceHeader));
+        when(mPrivateProfileManager.getCurrentState()).thenReturn(STATE_DISABLED);
+
+        mAlphabeticalAppsList.updateItemFilter(info -> info != null
+                && info.user.equals(MAIN_HANDLE));
+
+        assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT,
+                mAlphabeticalAppsList.getAdapterItems().size());
+        assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList
+                .getAdapterItems().stream().filter(item ->
+                        item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size());
+        assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item ->
+                item.itemInfo != null
+                        && item.itemInfo.user.equals(PRIVATE_HANDLE)).toList().size());
+    }
+
+    @Test
+    public void privateProfileTransitioning_onlyPrivateProfileHeaderViewIsPresent() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVATE_SPACE);
+        when(mAllAppsStore.getApps()).thenReturn(createAppInfoListForMainAndPrivateUser());
+        when(mPrivateProfileManager.addPrivateSpaceHeader(any()))
+                .thenAnswer(answer(this::addPrivateSpaceHeader));
+        when(mPrivateProfileManager.getCurrentState()).thenReturn(STATE_TRANSITION);
+
+        mAlphabeticalAppsList.updateItemFilter(info -> info != null
+                && info.user.equals(MAIN_HANDLE));
+
+        assertEquals(MAIN_USER_APP_COUNT + PRIVATE_SPACE_HEADER_ITEM_COUNT,
+                mAlphabeticalAppsList.getAdapterItems().size());
+        assertEquals(PRIVATE_SPACE_HEADER_ITEM_COUNT, mAlphabeticalAppsList
+                .getAdapterItems().stream().filter(item ->
+                        item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size());
+        assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item ->
+                item.itemInfo != null
+                        && item.itemInfo.user.equals(PRIVATE_HANDLE)).toList().size());
+    }
+
+    @Test
+    public void privateProfileHidden_noPrivateProfileViewIsPresent() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVATE_SPACE);
+        when(mAllAppsStore.getApps()).thenReturn(createAppInfoListForMainAndPrivateUser());
+        when(mPrivateProfileManager.isPrivateSpaceHidden()).thenReturn(true);
+
+        mAlphabeticalAppsList.updateItemFilter(info -> info != null
+                && info.user.equals(MAIN_HANDLE));
+
+        assertEquals(MAIN_USER_APP_COUNT, mAlphabeticalAppsList.getAdapterItems().size());
+        assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item ->
+                item.viewType == VIEW_TYPE_PRIVATE_SPACE_HEADER).toList().size());
+        assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item ->
+                item.itemInfo != null
+                        && item.itemInfo.user.equals(PRIVATE_HANDLE)).toList().size());
+    }
+
+    @Test
+    public void privateProfileNotPresent_onlyMainUserViewsArePresent() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVATE_SPACE);
+        when(mAllAppsStore.getApps()).thenReturn(createAppInfoListForMainUser());
+
+        mAlphabeticalAppsList.updateItemFilter(info -> info != null
+                && info.user.equals(MAIN_HANDLE));
+
+        assertEquals(2, mAlphabeticalAppsList.getAdapterItems().size());
+        assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item ->
+                        item.itemInfo != null
+                                && item.itemInfo.itemType == VIEW_TYPE_PRIVATE_SPACE_HEADER)
+                .toList().size());
+        assertEquals(0, mAlphabeticalAppsList.getAdapterItems().stream().filter(item ->
+                        item.itemInfo != null && item.itemInfo.user.equals(PRIVATE_HANDLE))
+                .toList().size());
+    }
+
+    @Test
+    public void getRoundRegions_whenIndexIsMiddleOfLastRow_roundNothing() {
+        int index = 3;
+
+        int roundRegions = mAlphabeticalAppsList.getRoundRegions(index,
+                NUM_APP_COLS * NUM_APP_ROWS);
+
+        assertEquals(ROUND_NOTHING, roundRegions);
+    }
+
+    @Test
+    public void getRoundRegions_whenIndexIsInEndOfLastRow_roundBottomRight() {
+        int index = 11;
+
+        int roundRegions = mAlphabeticalAppsList.getRoundRegions(index,
+                NUM_APP_COLS * NUM_APP_ROWS);
+
+        assertEquals(ROUND_BOTTOM_RIGHT, roundRegions);
+    }
+
+    @Test
+    public void getRoundRegions_whenIndexIsInBeginningOfLastRow_roundBottomLeft() {
+        int index = 8;
+
+        int roundRegions = mAlphabeticalAppsList.getRoundRegions(index,
+                NUM_APP_COLS * NUM_APP_ROWS);
+
+        assertEquals(ROUND_BOTTOM_LEFT, roundRegions);
+    }
+
+    @Test
+    public void getRoundRegions_whenIndexIsInMiddleOfLastRow_roundNothing() {
+        int index = 9;
+
+        int roundRegions = mAlphabeticalAppsList.getRoundRegions(index,
+                NUM_APP_COLS * NUM_APP_ROWS);
+
+        assertEquals(ROUND_NOTHING, roundRegions);
+    }
+
+    @Test
+    public void getRoundRegions_whenIndexIsInMiddleRow_roundNothing() {
+        int index = 5;
+
+        int roundRegions = mAlphabeticalAppsList.getRoundRegions(index,
+                NUM_APP_COLS * NUM_APP_ROWS);
+
+        assertEquals(ROUND_NOTHING, roundRegions);
+    }
+
+    @Test
+    public void getRoundRegions_whenIndexIsInBeginningOfTopRow_roundNothing() {
+        int index = 0;
+
+        int roundRegions = mAlphabeticalAppsList.getRoundRegions(index,
+                NUM_APP_COLS * NUM_APP_ROWS);
+
+        assertEquals(ROUND_NOTHING, roundRegions);
+    }
+
+    @Test
+    public void getRoundRegions_whenIndexIsInLastOfTopRow_roundNothing() {
+        int index = 3;
+
+        int roundRegions = mAlphabeticalAppsList.getRoundRegions(index,
+                NUM_APP_COLS * NUM_APP_ROWS);
+
+        assertEquals(ROUND_NOTHING, roundRegions);
+    }
+
+    @Test
+    public void getRoundRegions_whenIndexIsInMiddleOfLastRowLastItem_roundBottomRight() {
+        int index = 9;
+
+        int roundRegions = mAlphabeticalAppsList.getRoundRegions(index, index+1);
+
+        assertEquals(ROUND_BOTTOM_RIGHT, roundRegions);
+    }
+
+    @Test
+    public void getRoundRegions_whenIndexIsInBeginningOfLastRowLastItem_roundBottomRight() {
+        int index = 8;
+
+        int roundRegions = mAlphabeticalAppsList.getRoundRegions(index, index+1);
+
+        assertEquals(ROUND_BOTTOM_RIGHT | ROUND_BOTTOM_LEFT, roundRegions);
+    }
+
+    private int addPrivateSpaceHeader(List<BaseAllAppsAdapter.AdapterItem> adapterItemList) {
+        adapterItemList.add(new BaseAllAppsAdapter.AdapterItem(VIEW_TYPE_PRIVATE_SPACE_HEADER));
+        return adapterItemList.size();
+    }
+
+    private AppInfo[] createAppInfoListForMainUser() {
+        ComponentName gmailComponentName = new ComponentName(mContext,
+                "com.android.launcher3.tests.Activity" + "Gmail");
+        AppInfo gmailAppInfo = new
+                AppInfo(gmailComponentName, "Gmail", MAIN_HANDLE, new Intent());
+        ComponentName driveComponentName = new ComponentName(mContext,
+                "com.android.launcher3.tests.Activity" + "Drive");
+        AppInfo driveAppInfo = new
+                AppInfo(driveComponentName, "Drive", MAIN_HANDLE, new Intent());
+        return new AppInfo[]{gmailAppInfo, driveAppInfo};
+    }
+
+    private AppInfo[] createAppInfoListForPrivateUser() {
+        ComponentName privateMessengercomponentName = new ComponentName(mContext,
+                "com.android.launcher3.tests.Activity" + "PrivateMessenger");
+        AppInfo privateMessengerAppInfo = new AppInfo(privateMessengercomponentName,
+                "Private Messenger", PRIVATE_HANDLE, new Intent());
+        return new AppInfo[]{privateMessengerAppInfo};
+    }
+
+    private AppInfo[] createAppInfoListForMainAndPrivateUser() {
+        return Stream.concat(Arrays.stream(createAppInfoListForMainUser()),
+                Arrays.stream(createAppInfoListForPrivateUser())).toArray(AppInfo[]::new);
+    }
+
+}
diff --git a/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java b/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java
new file mode 100644
index 0000000..f4a2906
--- /dev/null
+++ b/tests/src/com/android/launcher3/allapps/PrivateProfileManagerTest.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.allapps;
+
+import static com.android.launcher3.allapps.UserProfileManager.STATE_DISABLED;
+import static com.android.launcher3.allapps.UserProfileManager.STATE_ENABLED;
+import static com.android.launcher3.model.BgDataModel.Callbacks.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED;
+import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
+import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
+import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.Process;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.launcher3.logging.StatsLogManager;
+import com.android.launcher3.pm.UserCache;
+import com.android.launcher3.util.UserIconInfo;
+import com.android.launcher3.util.rule.TestStabilityRule;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Arrays;
+
+@RunWith(AndroidJUnit4.class)
+public class PrivateProfileManagerTest {
+
+    private static final UserHandle MAIN_HANDLE = Process.myUserHandle();
+    private static final UserHandle PRIVATE_HANDLE = new UserHandle(11);
+    private static final UserIconInfo MAIN_ICON_INFO =
+            new UserIconInfo(MAIN_HANDLE, UserIconInfo.TYPE_MAIN);
+    private static final UserIconInfo PRIVATE_ICON_INFO =
+            new UserIconInfo(PRIVATE_HANDLE, UserIconInfo.TYPE_PRIVATE);
+    private static final String SAFETY_CENTER_INTENT = Intent.ACTION_SAFETY_CENTER;
+    private static final String PS_SETTINGS_FRAGMENT_KEY = ":settings:fragment_args_key";
+    private static final String PS_SETTINGS_FRAGMENT_VALUE = "AndroidPrivateSpace_personal";
+
+    private PrivateProfileManager mPrivateProfileManager;
+    @Mock
+    private ActivityAllAppsContainerView mActivityAllAppsContainerView;
+    @Mock
+    private StatsLogManager mStatsLogManager;
+    @Mock
+    private UserCache mUserCache;
+    @Mock
+    private UserManager mUserManager;
+    @Mock
+    private Context mContext;
+    @Mock
+    private AllAppsStore mAllAppsStore;
+    @Mock
+    private PackageManager mPackageManager;
+
+    private boolean mRunnableCalled = false;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        when(mUserCache.getUserProfiles())
+                .thenReturn(Arrays.asList(MAIN_HANDLE, PRIVATE_HANDLE));
+        when(mUserCache.getUserInfo(Process.myUserHandle())).thenReturn(MAIN_ICON_INFO);
+        when(mUserCache.getUserInfo(PRIVATE_HANDLE)).thenReturn(PRIVATE_ICON_INFO);
+        when(mActivityAllAppsContainerView.getContext()).thenReturn(mContext);
+        when(mActivityAllAppsContainerView.getAppsStore()).thenReturn(mAllAppsStore);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.resolveActivity(any(), any())).thenReturn(new ResolveInfo());
+        mPrivateProfileManager = new PrivateProfileManager(mUserManager,
+                mActivityAllAppsContainerView, mStatsLogManager, mUserCache);
+    }
+
+    @Test
+    public void lockPrivateProfile_requestsQuietModeAsTrue() throws Exception {
+        when(mAllAppsStore.hasModelFlag(FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED)).thenReturn(false);
+
+        mPrivateProfileManager.lockPrivateProfile();
+
+        awaitTasksCompleted();
+        Mockito.verify(mUserManager).requestQuietModeEnabled(true, PRIVATE_HANDLE);
+    }
+
+    @Test
+    public void unlockPrivateProfile_requestsQuietModeAsFalse() throws Exception {
+        when(mAllAppsStore.hasModelFlag(FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED)).thenReturn(true);
+
+        mPrivateProfileManager.unlockPrivateProfile(() -> {});
+
+        awaitTasksCompleted();
+        Mockito.verify(mUserManager).requestQuietModeEnabled(false, PRIVATE_HANDLE);
+    }
+
+    @Test
+    public void quietModeFlagPresent_privateSpaceIsResetToDisabled() {
+        PrivateProfileManager privateProfileManager = spy(mPrivateProfileManager);
+        doNothing().when(privateProfileManager).resetPrivateSpaceDecorator(anyInt());
+        when(mAllAppsStore.hasModelFlag(FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED))
+                .thenReturn(false, true);
+
+        // In first call the state should be disabled.
+        privateProfileManager.reset();
+        assertEquals(STATE_ENABLED, privateProfileManager.getCurrentState());
+
+        // In the next call the state should be disabled.
+        privateProfileManager.reset();
+        assertEquals(STATE_DISABLED, privateProfileManager.getCurrentState());
+    }
+
+    @Test
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/320703862
+    public void transitioningToUnlocked_resetCallsPendingRunnable() throws Exception {
+        PrivateProfileManager privateProfileManager = spy(mPrivateProfileManager);
+        doNothing().when(privateProfileManager).resetPrivateSpaceDecorator(anyInt());
+        when(mAllAppsStore.hasModelFlag(FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED))
+                .thenReturn(false);
+        when(privateProfileManager.getCurrentState()).thenReturn(STATE_DISABLED);
+        mRunnableCalled = false;
+
+        privateProfileManager.unlockPrivateProfile(this::testRunnable);
+        privateProfileManager.reset();
+
+        awaitTasksCompleted();
+        Mockito.verify(privateProfileManager).applyUnlockRunnable();
+        assertTrue(mRunnableCalled);
+    }
+
+    @Test
+    public void openPrivateSpaceSettings_triggersSecurityAndPrivacyIntent() {
+        Intent expectedIntent = new Intent(SAFETY_CENTER_INTENT);
+        expectedIntent.putExtra(PS_SETTINGS_FRAGMENT_KEY, PS_SETTINGS_FRAGMENT_VALUE);
+        ArgumentCaptor<Intent> acIntent = ArgumentCaptor.forClass(Intent.class);
+
+        mPrivateProfileManager.openPrivateSpaceSettings();
+
+        Mockito.verify(mContext).startActivity(acIntent.capture());
+        Intent actualIntent = acIntent.getValue();
+        assertEquals(expectedIntent.getAction(), actualIntent.getAction());
+        assertEquals(expectedIntent.getStringExtra(PS_SETTINGS_FRAGMENT_KEY),
+                actualIntent.getStringExtra(PS_SETTINGS_FRAGMENT_KEY));
+    }
+
+    private static void awaitTasksCompleted() throws Exception {
+        UI_HELPER_EXECUTOR.submit(() -> null).get();
+    }
+
+    private void testRunnable() {
+        mRunnableCalled = true;
+    }
+}
diff --git a/tests/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewControllerTest.java b/tests/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewControllerTest.java
new file mode 100644
index 0000000..92fff49
--- /dev/null
+++ b/tests/src/com/android/launcher3/allapps/PrivateSpaceHeaderViewControllerTest.java
@@ -0,0 +1,232 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.allapps;
+
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+
+import static com.android.launcher3.allapps.UserProfileManager.STATE_DISABLED;
+import static com.android.launcher3.allapps.UserProfileManager.STATE_ENABLED;
+import static com.android.launcher3.allapps.UserProfileManager.STATE_TRANSITION;
+import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.launcher3.R;
+import com.android.launcher3.util.ActivityContextWrapper;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class PrivateSpaceHeaderViewControllerTest {
+
+    private static final int CONTAINER_HEADER_ELEMENT_COUNT = 1;
+    private static final int LOCK_UNLOCK_BUTTON_COUNT = 1;
+    private static final int PS_SETTINGS_BUTTON_COUNT_VISIBLE = 1;
+    private static final int PS_SETTINGS_BUTTON_COUNT_INVISIBLE = 0;
+    private static final int PS_TRANSITION_IMAGE_COUNT = 1;
+
+    private Context mContext;
+    private LayoutInflater mLayoutInflater;
+    private PrivateSpaceHeaderViewController mPsHeaderViewController;
+    private RelativeLayout mPsHeaderLayout;
+    @Mock
+    private PrivateProfileManager mPrivateProfileManager;
+    @Mock
+    private ActivityAllAppsContainerView mAllApps;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = new ActivityContextWrapper(getApplicationContext());
+        mLayoutInflater = LayoutInflater.from(getApplicationContext());
+        mPsHeaderViewController = new PrivateSpaceHeaderViewController(mAllApps,
+                mPrivateProfileManager);
+        mPsHeaderLayout = (RelativeLayout) mLayoutInflater.inflate(R.layout.private_space_header,
+                null);
+    }
+
+    @Test
+    public void privateProfileDisabled_psHeaderContainsLockedView() throws Exception {
+        Bitmap unlockButton = getBitmap(mContext.getDrawable(R.drawable.bg_ps_unlock_button));
+        when(mPrivateProfileManager.getCurrentState()).thenReturn(STATE_DISABLED);
+
+        mPsHeaderViewController.addPrivateSpaceHeaderViewElements(mPsHeaderLayout);
+        awaitTasksCompleted();
+
+        int totalContainerHeaderView = 0;
+        int totalLockUnlockButtonView = 0;
+        for (int i = 0; i < mPsHeaderLayout.getChildCount(); i++) {
+            View view = mPsHeaderLayout.getChildAt(i);
+            if (view.getId() == R.id.ps_container_header) {
+                totalContainerHeaderView += 1;
+                assertEquals(View.VISIBLE, view.getVisibility());
+            } else if (view.getId() == R.id.ps_lock_unlock_button
+                    && view instanceof ImageView imageView) {
+                totalLockUnlockButtonView += 1;
+                assertEquals(View.VISIBLE, view.getVisibility());
+                getBitmap(imageView.getDrawable()).sameAs(unlockButton);
+            } else {
+                assertEquals(View.GONE, view.getVisibility());
+            }
+        }
+        assertEquals(CONTAINER_HEADER_ELEMENT_COUNT, totalContainerHeaderView);
+        assertEquals(LOCK_UNLOCK_BUTTON_COUNT, totalLockUnlockButtonView);
+    }
+
+    @Test
+    public void privateProfileEnabled_psHeaderContainsUnlockedView() throws Exception {
+        Bitmap lockImage = getBitmap(mContext.getDrawable(R.drawable.bg_ps_lock_button));
+        Bitmap settingsImage = getBitmap(mContext.getDrawable(R.drawable.bg_ps_settings_button));
+        when(mPrivateProfileManager.getCurrentState()).thenReturn(STATE_ENABLED);
+        when(mPrivateProfileManager.isPrivateSpaceSettingsAvailable()).thenReturn(true);
+
+        mPsHeaderViewController.addPrivateSpaceHeaderViewElements(mPsHeaderLayout);
+        awaitTasksCompleted();
+
+        int totalContainerHeaderView = 0;
+        int totalLockUnlockButtonView = 0;
+        int totalSettingsImageView = 0;
+        for (int i = 0; i < mPsHeaderLayout.getChildCount(); i++) {
+            View view = mPsHeaderLayout.getChildAt(i);
+            if (view.getId() == R.id.ps_container_header) {
+                totalContainerHeaderView += 1;
+                assertEquals(View.VISIBLE, view.getVisibility());
+            } else if (view.getId() == R.id.ps_lock_unlock_button
+                    && view instanceof ImageView imageView) {
+                totalLockUnlockButtonView += 1;
+                assertEquals(View.VISIBLE, view.getVisibility());
+                getBitmap(imageView.getDrawable()).sameAs(lockImage);
+            } else if (view.getId() == R.id.ps_settings_button
+                    && view instanceof ImageView imageView) {
+                totalSettingsImageView += 1;
+                assertEquals(View.VISIBLE, view.getVisibility());
+                getBitmap(imageView.getDrawable()).sameAs(settingsImage);
+            } else {
+                assertEquals(View.GONE, view.getVisibility());
+            }
+        }
+        assertEquals(CONTAINER_HEADER_ELEMENT_COUNT, totalContainerHeaderView);
+        assertEquals(LOCK_UNLOCK_BUTTON_COUNT, totalLockUnlockButtonView);
+        assertEquals(PS_SETTINGS_BUTTON_COUNT_VISIBLE, totalSettingsImageView);
+    }
+
+    @Test
+    public void privateProfileEnabledAndNoSettingsIntent_psHeaderContainsUnlockedView()
+            throws Exception {
+        Bitmap lockImage = getBitmap(mContext.getDrawable(R.drawable.bg_ps_lock_button));
+        when(mPrivateProfileManager.getCurrentState()).thenReturn(STATE_ENABLED);
+        when(mPrivateProfileManager.isPrivateSpaceSettingsAvailable()).thenReturn(false);
+
+        mPsHeaderViewController.addPrivateSpaceHeaderViewElements(mPsHeaderLayout);
+        awaitTasksCompleted();
+
+        int totalContainerHeaderView = 0;
+        int totalLockUnlockButtonView = 0;
+        int totalSettingsImageView = 0;
+        for (int i = 0; i < mPsHeaderLayout.getChildCount(); i++) {
+            View view = mPsHeaderLayout.getChildAt(i);
+            if (view.getId() == R.id.ps_container_header) {
+                totalContainerHeaderView += 1;
+                assertEquals(View.VISIBLE, view.getVisibility());
+            } else if (view.getId() == R.id.ps_lock_unlock_button
+                    && view instanceof ImageView imageView) {
+                totalLockUnlockButtonView += 1;
+                assertEquals(View.VISIBLE, view.getVisibility());
+                getBitmap(imageView.getDrawable()).sameAs(lockImage);
+            } else {
+                assertEquals(View.GONE, view.getVisibility());
+            }
+        }
+        assertEquals(CONTAINER_HEADER_ELEMENT_COUNT, totalContainerHeaderView);
+        assertEquals(LOCK_UNLOCK_BUTTON_COUNT, totalLockUnlockButtonView);
+        assertEquals(PS_SETTINGS_BUTTON_COUNT_INVISIBLE, totalSettingsImageView);
+    }
+
+    @Test
+    public void privateProfileTransitioning_psHeaderContainsTransitionView() throws Exception {
+        Bitmap transitionImage = getBitmap(mContext.getDrawable(R.drawable.bg_ps_transition_image));
+        when(mPrivateProfileManager.getCurrentState()).thenReturn(STATE_TRANSITION);
+
+        mPsHeaderViewController.addPrivateSpaceHeaderViewElements(mPsHeaderLayout);
+        awaitTasksCompleted();
+
+        int totalContainerHeaderView = 0;
+        int totalLockUnlockButtonView = 0;
+        for (int i = 0; i < mPsHeaderLayout.getChildCount(); i++) {
+            View view = mPsHeaderLayout.getChildAt(i);
+            if (view.getId() == R.id.ps_container_header) {
+                totalContainerHeaderView += 1;
+                assertEquals(View.VISIBLE, view.getVisibility());
+            } else if (view.getId() == R.id.ps_transition_image
+                    && view instanceof ImageView imageView) {
+                totalLockUnlockButtonView += 1;
+                assertEquals(View.VISIBLE, view.getVisibility());
+                getBitmap(imageView.getDrawable()).sameAs(transitionImage);
+            } else {
+                assertEquals(View.GONE, view.getVisibility());
+            }
+        }
+        assertEquals(CONTAINER_HEADER_ELEMENT_COUNT, totalContainerHeaderView);
+        assertEquals(PS_TRANSITION_IMAGE_COUNT, totalLockUnlockButtonView);
+    }
+
+    private Bitmap getBitmap(Drawable drawable) {
+        Bitmap result;
+        if (drawable instanceof BitmapDrawable) {
+            result = ((BitmapDrawable) drawable).getBitmap();
+        } else {
+            int width = drawable.getIntrinsicWidth();
+            int height = drawable.getIntrinsicHeight();
+            // Some drawables have no intrinsic width - e.g. solid colours.
+            if (width <= 0) {
+                width = 1;
+            }
+            if (height <= 0) {
+                height = 1;
+            }
+
+            result = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
+            Canvas canvas = new Canvas(result);
+            drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
+            drawable.draw(canvas);
+        }
+        return result;
+    }
+
+    private static void awaitTasksCompleted() throws Exception {
+        UI_HELPER_EXECUTOR.submit(() -> null).get();
+    }
+}
diff --git a/tests/src/com/android/launcher3/allapps/TaplAllAppsIconsWorkingTest.java b/tests/src/com/android/launcher3/allapps/TaplAllAppsIconsWorkingTest.java
new file mode 100644
index 0000000..27a2c75
--- /dev/null
+++ b/tests/src/com/android/launcher3/allapps/TaplAllAppsIconsWorkingTest.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.allapps;
+
+import static com.android.launcher3.ui.AbstractLauncherUiTest.initialize;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import com.android.launcher3.LauncherState;
+import com.android.launcher3.tapl.AppIcon;
+import com.android.launcher3.tapl.HomeAllApps;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * The test runs in Out of process (Oop) and in process.
+ * Makes sure the basic behaviors of Icons on AllApps are working.
+ */
+public class TaplAllAppsIconsWorkingTest extends AbstractLauncherUiTest {
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    /**
+     * Makes sure we can launch an icon from All apps
+     */
+    @Test
+    @PortraitLandscape
+    public void testAppIconLaunchFromAllAppsFromHome() {
+        final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
+        assertTrue("Launcher internal state is not All Apps",
+                isInState(() -> LauncherState.ALL_APPS));
+
+        allApps.freeze();
+        try {
+            final AppIcon app = allApps.getAppIcon("TestActivity7");
+            assertNotNull("AppIcon.launch returned null", app.launch(getAppPackageName()));
+            executeOnLauncher(launcher -> assertTrue(
+                    "Launcher activity is the top activity; expecting another activity to be the "
+                            + "top one",
+                    isInLaunchedApp(launcher)));
+        } finally {
+            allApps.unfreeze();
+        }
+    }
+}
diff --git a/tests/src/com/android/launcher3/allapps/TaplKeyboardFocusTest.java b/tests/src/com/android/launcher3/allapps/TaplKeyboardFocusTest.java
new file mode 100644
index 0000000..ee32e97
--- /dev/null
+++ b/tests/src/com/android/launcher3/allapps/TaplKeyboardFocusTest.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.allapps;
+
+import static com.android.launcher3.ui.AbstractLauncherUiTest.initialize;
+import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
+import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import android.view.KeyEvent;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+
+import com.android.launcher3.LauncherState;
+import com.android.launcher3.tapl.HomeAllApps;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.util.rule.TestStabilityRule;
+import com.android.launcher3.views.ActivityContext;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class TaplKeyboardFocusTest extends AbstractLauncherUiTest {
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    @Test
+    public void testAllAppsFocusApp() {
+        final HomeAllApps allApps = mLauncher.goHome().switchToAllApps();
+        assertTrue("Launcher internal state is not All Apps",
+                isInState(() -> LauncherState.ALL_APPS));
+        allApps.freeze();
+        try {
+            mLauncher.pressAndHoldKeyCode(KeyEvent.KEYCODE_DPAD_DOWN, 0);
+            executeOnLauncher(launcher -> assertNotNull("No focused child.",
+                    launcher.getAppsView().getActiveRecyclerView().getApps().getFocusedChild()));
+        } finally {
+            allApps.unfreeze();
+        }
+    }
+
+    @Test
+    public void testAllAppsExitSearchAndFocusApp() {
+        final HomeAllApps allApps = mLauncher.goHome().switchToAllApps();
+        assertTrue("Launcher internal state is not All Apps",
+                isInState(() -> LauncherState.ALL_APPS));
+        allApps.freeze();
+        try {
+            executeOnLauncher(launcher -> launcher.getAppsView().getSearchView().requestFocus());
+            waitForLauncherCondition("Search view does not have focus.",
+                    launcher -> launcher.getAppsView().getSearchView().hasFocus());
+
+            mLauncher.pressAndHoldKeyCode(KeyEvent.KEYCODE_DPAD_DOWN, 0);
+            executeOnLauncher(launcher -> assertNotNull("No focused child.",
+                    launcher.getAppsView().getActiveRecyclerView().getApps().getFocusedChild()));
+        } finally {
+            allApps.unfreeze();
+        }
+    }
+
+    @Test
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/311410127
+    public void testAllAppsExitSearchAndFocusSearchResults() {
+        final HomeAllApps allApps = mLauncher.goHome().switchToAllApps();
+        assertTrue("Launcher internal state is not All Apps",
+                isInState(() -> LauncherState.ALL_APPS));
+        allApps.freeze();
+        try {
+            executeOnLauncher(launcher -> launcher.getAppsView().getSearchView().requestFocus());
+            waitForLauncherCondition("Search view does not have focus.",
+                    launcher -> launcher.getAppsView().getSearchView().hasFocus());
+
+            mLauncher.pressAndHoldKeyCode(KeyEvent.KEYCODE_C, 0);
+            waitForLauncherCondition("Search view not active.",
+                    launcher -> launcher.getAppsView().getActiveRecyclerView()
+                            instanceof SearchRecyclerView);
+            mLauncher.unpressKeyCode(KeyEvent.KEYCODE_C, 0);
+
+            executeOnLauncher(launcher -> launcher.getAppsView().getSearchUiManager().getEditText()
+                    .hideKeyboard(/* clearFocus= */ false));
+            waitForLauncherCondition("Keyboard still visible.",
+                    ActivityContext::isSoftwareKeyboardHidden);
+
+            mLauncher.pressAndHoldKeyCode(KeyEvent.KEYCODE_DPAD_DOWN, 0);
+            mLauncher.unpressKeyCode(KeyEvent.KEYCODE_DPAD_DOWN, 0);
+            waitForLauncherCondition("No focused child", launcher ->
+                    launcher.getAppsView().getActiveRecyclerView().getApps().getFocusedChild()
+                            != null);
+        } finally {
+            allApps.unfreeze();
+        }
+    }
+}
diff --git a/tests/src/com/android/launcher3/allapps/TaplOpenCloseAllAppsTest.java b/tests/src/com/android/launcher3/allapps/TaplOpenCloseAllAppsTest.java
new file mode 100644
index 0000000..da0beb1
--- /dev/null
+++ b/tests/src/com/android/launcher3/allapps/TaplOpenCloseAllAppsTest.java
@@ -0,0 +1,227 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.allapps;
+
+import static com.android.launcher3.util.TestUtil.expectFail;
+import static com.android.launcher3.ui.AbstractLauncherUiTest.initialize;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeFalse;
+import static org.junit.Assume.assumeTrue;
+
+import android.content.Intent;
+import android.platform.test.annotations.PlatinumTest;
+
+import androidx.test.filters.FlakyTest;
+import androidx.test.platform.app.InstrumentationRegistry;
+
+import com.android.launcher3.LauncherState;
+import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.tapl.AllApps;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test that we can open and close the all apps in multiple situations.
+ * The test runs in Out of process (Oop) and in process.
+ */
+public class TaplOpenCloseAllAppsTest extends AbstractLauncherUiTest {
+
+    public static final String READ_DEVICE_CONFIG_PERMISSION =
+            "android.permission.READ_DEVICE_CONFIG";
+
+    /**
+     * Calls static method initialize
+     */
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    /**
+     * Make sure we can go home after pressing the context menu on an Icon on the AllApps.
+     */
+    @Test
+    public void testPressHomeOnAllAppsContextMenu() {
+        final AllApps allApps = mLauncher.getWorkspace().switchToAllApps();
+        allApps.freeze();
+        try {
+            allApps.getAppIcon("TestActivity7").openMenu();
+        } finally {
+            allApps.unfreeze();
+        }
+        mLauncher.goHome();
+    }
+
+    /**
+     * Make sure we can open AllApps from the Workspace.
+     */
+    @Test
+    @PortraitLandscape
+    public void testWorkspaceSwitchToAllApps() {
+        assertNotNull("switchToAllApps() returned null",
+                mLauncher.getWorkspace().switchToAllApps());
+        assertTrue("Launcher internal state is not All Apps",
+                isInState(() -> LauncherState.ALL_APPS));
+    }
+
+    /**
+     * Make sure we can go to Workspace from AllApps
+     */
+    @Test
+    @PortraitLandscape
+    public void testAllAppsSwitchToWorkspace() {
+        assertNotNull("switchToWorkspace() returned null",
+                mLauncher.getWorkspace().switchToAllApps()
+                        .switchToWorkspace(/* swipeDown= */ true));
+        assertTrue("Launcher internal state is not Workspace",
+                isInState(() -> LauncherState.NORMAL));
+    }
+
+    /**
+     * Make sure the swipe up gesture can take us back to the workspace from AllApps
+     */
+    @PlatinumTest(focusArea = "launcher")
+    @Test
+    @PortraitLandscape
+    public void testAllAppsSwipeUpToWorkspace() {
+        assertNotNull("testAllAppsSwipeUpToWorkspace() returned null",
+                mLauncher.getWorkspace().switchToAllApps()
+                        .switchToWorkspace(/* swipeDown= */ false));
+        assertTrue("Launcher internal state is not Workspace",
+                isInState(() -> LauncherState.NORMAL));
+    }
+
+    /**
+     * Make sure we can go to the Workspace from AllApps on tablets by tapping on the background.
+     */
+    @Test
+    @PortraitLandscape
+    public void testAllAppsDeadzoneForTablet() {
+        assumeTrue(mLauncher.isTablet());
+
+        mLauncher.getWorkspace().switchToAllApps().dismissByTappingOutsideForTablet(
+                true /* tapRight */);
+        mLauncher.getWorkspace().switchToAllApps().dismissByTappingOutsideForTablet(
+                false /* tapRight */);
+    }
+
+    /**
+     * Make sure that AllApps closes when pressing the home button
+     */
+    @Test
+    @PortraitLandscape
+    @PlatinumTest(focusArea = "launcher")
+    public void testAllAppsFromHome() {
+        // Test opening all apps
+        assertNotNull("switchToAllApps() returned null",
+                mLauncher.getWorkspace().switchToAllApps());
+
+        runAllAppsTest(mLauncher.getAllApps());
+
+        // Testing pressHome.
+        assertTrue("Launcher internal state is not All Apps",
+                isInState(() -> LauncherState.ALL_APPS));
+        assertNotNull("pressHome returned null", mLauncher.goHome());
+        assertTrue("Launcher internal state is not Home",
+                isInState(() -> LauncherState.NORMAL));
+        assertNotNull("getHome returned null", mLauncher.getWorkspace());
+    }
+
+    /**
+     * Makes sure the state of AllApps is correct.
+     */
+    public void runAllAppsTest(AllApps allApps) {
+        allApps.freeze();
+        try {
+            assertNotNull("allApps parameter is null", allApps);
+
+            assertTrue(
+                    "Launcher internal state is not All Apps",
+                    isInState(() -> LauncherState.ALL_APPS));
+
+            // Test flinging forward and backward.
+            executeOnLauncher(launcher -> assertEquals(
+                    "All Apps started in already scrolled state", 0,
+                    getAllAppsScroll(launcher)));
+
+            allApps.flingForward();
+            assertTrue("Launcher internal state is not All Apps",
+                    isInState(() -> LauncherState.ALL_APPS));
+            final Integer flingForwardY = getFromLauncher(
+                    launcher -> getAllAppsScroll(launcher));
+            executeOnLauncher(
+                    launcher -> assertTrue("flingForward() didn't scroll App Apps",
+                            flingForwardY > 0));
+
+            allApps.flingBackward();
+            assertTrue(
+                    "Launcher internal state is not All Apps",
+                    isInState(() -> LauncherState.ALL_APPS));
+            final Integer flingBackwardY = getFromLauncher(
+                    launcher -> getAllAppsScroll(launcher));
+            executeOnLauncher(launcher -> assertTrue("flingBackward() didn't scroll App Apps",
+                    flingBackwardY < flingForwardY));
+
+            // Test scrolling down to the end of the app list.
+            assertNotNull("All apps: can't find YouTube", allApps.getAppIcon("ZZZ"));
+            // Test scrolling up to the beginning oof the app list.
+            assertNotNull("All apps: can't find Camera", allApps.getAppIcon("AAA"));
+            // Test failing to find a non-existing app.
+            final AllApps allAppsFinal = allApps;
+            expectFail("All apps: could find a non-existing app",
+                    () -> allAppsFinal.getAppIcon("NO APP"));
+
+            assertTrue(
+                    "Launcher internal state is not All Apps",
+                    isInState(() -> LauncherState.ALL_APPS));
+        } finally {
+            allApps.unfreeze();
+        }
+    }
+
+    /**
+     * Makes sure that when pressing back when AllApps is open we go back to the Home screen.
+     */
+    @FlakyTest(bugId = 256615483)
+    @Test
+    @PortraitLandscape
+    public void testPressBackFromAllAppsToHome() {
+        InstrumentationRegistry.getInstrumentation().getUiAutomation().adoptShellPermissionIdentity(
+                READ_DEVICE_CONFIG_PERMISSION);
+        assumeFalse(FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get());
+        mLauncher
+                .getWorkspace()
+                .switchToAllApps()
+                .pressBackToWorkspace();
+        waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
+        startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR));
+        mLauncher.getLaunchedAppState().pressBackToWorkspace();
+        waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
+    }
+
+    @Test
+    public void testDismissAllAppsWithEscKey() {
+        mLauncher.goHome().switchToAllApps().dismissByEscKey();
+        waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
+    }
+}
diff --git a/tests/src/com/android/launcher3/appiconmenu/TaplAppIconMenuTest.java b/tests/src/com/android/launcher3/appiconmenu/TaplAppIconMenuTest.java
new file mode 100644
index 0000000..a1f2cef
--- /dev/null
+++ b/tests/src/com/android/launcher3/appiconmenu/TaplAppIconMenuTest.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.appiconmenu;
+
+import static com.android.launcher3.util.TestConstants.AppNames.TEST_APP_NAME;
+import static com.android.launcher3.ui.AbstractLauncherUiTest.initialize;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import android.platform.test.annotations.PlatinumTest;
+
+import com.android.launcher3.Launcher;
+import com.android.launcher3.popup.ArrowPopup;
+import com.android.launcher3.tapl.AllApps;
+import com.android.launcher3.tapl.AppIconMenu;
+import com.android.launcher3.tapl.AppIconMenuItem;
+import com.android.launcher3.tapl.HomeAllApps;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * This test run in both Out of process (Oop) and in-process (Ipc).
+ * Tests the AppIconMenu (the menu that appears when you long press an app icon) and also make sure
+ * we can launch a shortcut from it.
+ */
+public class TaplAppIconMenuTest extends AbstractLauncherUiTest {
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    private boolean isOptionsPopupVisible(Launcher launcher) {
+        final ArrowPopup<?> popup = launcher.getOptionsPopup();
+        return popup != null && popup.isShown();
+    }
+
+    /**
+     * Open All apps then open the AppIconMenu then launch a shortcut from the menu and make sure it
+     * launches.
+     */
+    @Test
+    @PortraitLandscape
+    @PlatinumTest(focusArea = "launcher")
+    public void testLaunchMenuItem() {
+        final AllApps allApps = mLauncher.getWorkspace().switchToAllApps();
+        allApps.freeze();
+        try {
+            final AppIconMenu menu = allApps.getAppIcon(TEST_APP_NAME).openDeepShortcutMenu();
+
+            executeOnLauncher(
+                    launcher -> assertTrue("Launcher internal state didn't switch to Showing Menu",
+                            isOptionsPopupVisible(launcher)));
+
+            final AppIconMenuItem menuItem = menu.getMenuItem(1);
+            assertEquals("Wrong menu item", "Shortcut 2", menuItem.getText());
+            menuItem.launch(getAppPackageName());
+        } finally {
+            allApps.unfreeze();
+        }
+    }
+
+    /**
+     * Drag icon from AllApps to the workspace and then open the AppIconMenu and launch a shortcut
+     * from it.
+     */
+    @PlatinumTest(focusArea = "launcher")
+    @Test
+    public void testLaunchHomeScreenMenuItem() {
+        // Drag the test app icon to home screen and open short cut menu from the icon
+        final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
+        allApps.freeze();
+        try {
+            allApps.getAppIcon(TEST_APP_NAME).dragToWorkspace(false, false);
+            final AppIconMenu menu = mLauncher.getWorkspace().getWorkspaceAppIcon(
+                    TEST_APP_NAME).openDeepShortcutMenu();
+
+            executeOnLauncher(
+                    launcher -> assertTrue("Launcher internal state didn't switch to Showing Menu",
+                            isOptionsPopupVisible(launcher)));
+
+            final AppIconMenuItem menuItem = menu.getMenuItem(1);
+            assertEquals("Wrong menu item", "Shortcut 2", menuItem.getText());
+            menuItem.launch(getAppPackageName());
+        } finally {
+            allApps.unfreeze();
+        }
+    }
+}
diff --git a/tests/src/com/android/launcher3/celllayout/CellLayoutTestUtils.java b/tests/src/com/android/launcher3/celllayout/CellLayoutTestUtils.java
index 86a7bd3..d8ae74b 100644
--- a/tests/src/com/android/launcher3/celllayout/CellLayoutTestUtils.java
+++ b/tests/src/com/android/launcher3/celllayout/CellLayoutTestUtils.java
@@ -21,6 +21,7 @@
 
 import com.android.launcher3.CellLayout;
 import com.android.launcher3.Launcher;
+import com.android.launcher3.celllayout.board.CellLayoutBoard;
 import com.android.launcher3.views.DoubleShadowBubbleTextView;
 
 import java.util.ArrayList;
@@ -60,9 +61,7 @@
     }
 
     public static CellLayoutBoard viewsToBoard(List<View> views, int width, int height) {
-        CellLayoutBoard board = new CellLayoutBoard();
-        board.mWidth = width;
-        board.mHeight = height;
+        CellLayoutBoard board = new CellLayoutBoard(width, height);
 
         for (View callView : views) {
             CellLayoutLayoutParams params = (CellLayoutLayoutParams) callView.getLayoutParams();
diff --git a/tests/src/com/android/launcher3/celllayout/CellPosMapperTest.java b/tests/src/com/android/launcher3/celllayout/CellPosMapperTest.java
index 29efb18..b8bf362 100644
--- a/tests/src/com/android/launcher3/celllayout/CellPosMapperTest.java
+++ b/tests/src/com/android/launcher3/celllayout/CellPosMapperTest.java
@@ -39,44 +39,46 @@
 
     @Test
     public void testMapModelToPresenter_default() {
-        assertThat(CellPosMapper.DEFAULT.mapModelToPresenter(
+        CellPosMapper mapper = CellPosMapper.DEFAULT;
+        assertThat(mapper.mapModelToPresenter(
                 createInfo(0, 0, 0, CONTAINER_DESKTOP))).isEqualTo(new CellPos(0, 0, 0));
-        assertThat(CellPosMapper.DEFAULT.mapModelToPresenter(
+        assertThat(mapper.mapModelToPresenter(
                 createInfo(0, 0, 1, CONTAINER_DESKTOP))).isEqualTo(new CellPos(0, 0, 1));
-        assertThat(CellPosMapper.DEFAULT.mapModelToPresenter(
+        assertThat(mapper.mapModelToPresenter(
                 createInfo(5, 0, 1, CONTAINER_DESKTOP))).isEqualTo(new CellPos(5, 0, 1));
-        assertThat(CellPosMapper.DEFAULT.mapModelToPresenter(
+        assertThat(mapper.mapModelToPresenter(
                 createInfo(5, 0, 0, CONTAINER_DESKTOP))).isEqualTo(new CellPos(5, 0, 0));
 
-        assertThat(CellPosMapper.DEFAULT.mapModelToPresenter(
+        assertThat(mapper.mapModelToPresenter(
                 createInfo(0, 0, 0, CONTAINER_HOTSEAT))).isEqualTo(new CellPos(0, 0, 0));
-        assertThat(CellPosMapper.DEFAULT.mapModelToPresenter(
+        assertThat(mapper.mapModelToPresenter(
                 createInfo(0, 0, 1, CONTAINER_HOTSEAT))).isEqualTo(new CellPos(0, 0, 1));
-        assertThat(CellPosMapper.DEFAULT.mapModelToPresenter(
+        assertThat(mapper.mapModelToPresenter(
                 createInfo(5, 0, 1, CONTAINER_HOTSEAT))).isEqualTo(new CellPos(5, 0, 1));
-        assertThat(CellPosMapper.DEFAULT.mapModelToPresenter(
+        assertThat(mapper.mapModelToPresenter(
                 createInfo(5, 0, 0, CONTAINER_HOTSEAT))).isEqualTo(new CellPos(5, 0, 0));
     }
 
     @Test
     public void testMapPresenterToModel_default() {
-        assertThat(CellPosMapper.DEFAULT.mapPresenterToModel(
+        CellPosMapper mapper = CellPosMapper.DEFAULT;
+        assertThat(mapper.mapPresenterToModel(
                 0, 0, 0, CONTAINER_DESKTOP)).isEqualTo(new CellPos(0, 0, 0));
-        assertThat(CellPosMapper.DEFAULT.mapPresenterToModel(
+        assertThat(mapper.mapPresenterToModel(
                 0, 0, 1, CONTAINER_DESKTOP)).isEqualTo(new CellPos(0, 0, 1));
-        assertThat(CellPosMapper.DEFAULT.mapPresenterToModel(
+        assertThat(mapper.mapPresenterToModel(
                 5, 0, 1, CONTAINER_DESKTOP)).isEqualTo(new CellPos(5, 0, 1));
-        assertThat(CellPosMapper.DEFAULT.mapPresenterToModel(
+        assertThat(mapper.mapPresenterToModel(
                 5, 0, 0, CONTAINER_DESKTOP)).isEqualTo(new CellPos(5, 0, 0));
 
-        assertThat(CellPosMapper.DEFAULT.mapPresenterToModel(
+        assertThat(mapper.mapPresenterToModel(
                 0, 0, 0, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 0, 0));
-        assertThat(CellPosMapper.DEFAULT.mapPresenterToModel(
-                0, 0, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 0, 1));
-        assertThat(CellPosMapper.DEFAULT.mapPresenterToModel(
-                5, 0, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(5, 0, 1));
-        assertThat(CellPosMapper.DEFAULT.mapPresenterToModel(
-                5, 0, 0, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(5, 0, 0));
+        assertThat(mapper.mapPresenterToModel(
+                0, 0, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 0, 0));
+        assertThat(mapper.mapPresenterToModel(
+                5, 0, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(5, 0, 5));
+        assertThat(mapper.mapPresenterToModel(
+                5, 0, 0, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(5, 0, 5));
     }
 
     @Test
@@ -116,11 +118,33 @@
         assertThat(mapper.mapPresenterToModel(
                 0, 0, 0, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 0, 0));
         assertThat(mapper.mapPresenterToModel(
-                0, 0, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 0, 1));
+                0, 0, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 0, 0));
         assertThat(mapper.mapPresenterToModel(
-                5, 0, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(5, 0, 1));
+                5, 0, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(5, 0, 5));
         assertThat(mapper.mapPresenterToModel(
-                5, 0, 0, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(5, 0, 0));
+                5, 0, 0, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(5, 0, 5));
+    }
+
+    @Test
+    public void testMapPresenterToModel_VerticalHotseat() {
+        CellPosMapper mapper = new CellPosMapper(true, 6);
+        assertThat(mapper.mapPresenterToModel(
+                0, 0, 0, CONTAINER_DESKTOP)).isEqualTo(new CellPos(0, 0, 0));
+        assertThat(mapper.mapPresenterToModel(
+                0, 0, 1, CONTAINER_DESKTOP)).isEqualTo(new CellPos(0, 0, 1));
+        assertThat(mapper.mapPresenterToModel(
+                5, 0, 1, CONTAINER_DESKTOP)).isEqualTo(new CellPos(5, 0, 1));
+        assertThat(mapper.mapPresenterToModel(
+                5, 0, 0, CONTAINER_DESKTOP)).isEqualTo(new CellPos(5, 0, 0));
+
+        assertThat(mapper.mapPresenterToModel(
+                0, 0, 0, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 0, 5));
+        assertThat(mapper.mapPresenterToModel(
+                0, 0, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 0, 5));
+        assertThat(mapper.mapPresenterToModel(
+                0, 5, 1, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 5, 0));
+        assertThat(mapper.mapPresenterToModel(
+                0, 5, 0, CONTAINER_HOTSEAT)).isEqualTo(new CellPos(0, 5, 0));
     }
 
     private ItemInfo createInfo(int cellX, int cellY, int screen, int container) {
diff --git a/tests/src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java b/tests/src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java
index bf7a21c..dbb2715 100644
--- a/tests/src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java
+++ b/tests/src/com/android/launcher3/celllayout/FavoriteItemsTransaction.java
@@ -29,13 +29,13 @@
 import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.LauncherModel;
 import com.android.launcher3.LauncherSettings;
-import com.android.launcher3.model.BgDataModel.Callbacks;
 import com.android.launcher3.model.ModelDbController;
 import com.android.launcher3.model.data.FolderInfo;
 import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.provider.LauncherDbUtils.SQLiteTransaction;
 import com.android.launcher3.tapl.LauncherInstrumentation;
 import com.android.launcher3.util.ContentWriter;
+import com.android.launcher3.util.ModelTestExtensions;
 
 import java.util.ArrayList;
 import java.util.function.Supplier;
@@ -60,12 +60,11 @@
     public void commit() {
         LauncherModel model = LauncherAppState.getInstance(mContext).getModel();
         // Load the model once so that there is no pending migration:
-        loadModelSync(model);
-
+        ModelTestExtensions.INSTANCE.loadModelSync(model);
         runOnExecutorSync(MODEL_EXECUTOR, () -> {
             ModelDbController controller = model.getModelDbController();
             // Migrate any previous data so that the DB state is correct
-            controller.tryMigrateDB();
+            controller.tryMigrateDB(null /* restoreEventLogger */);
 
             // Create DB again to load fresh data
             controller.createEmptyDB();
@@ -105,16 +104,7 @@
 
         // Reload model
         runOnExecutorSync(MAIN_EXECUTOR, model::forceReload);
-        loadModelSync(model);
-    }
-
-    private void loadModelSync(LauncherModel model) {
-        Callbacks mockCb = new Callbacks() { };
-        runOnExecutorSync(MAIN_EXECUTOR, () -> model.addCallbacksAndLoad(mockCb));
-        runOnExecutorSync(MODEL_EXECUTOR, () -> { });
-
-        runOnExecutorSync(MAIN_EXECUTOR, () -> { });
-        runOnExecutorSync(MAIN_EXECUTOR, () -> model.removeCallbacks(mockCb));
+        ModelTestExtensions.INSTANCE.loadModelSync(model);
     }
 
     /**
diff --git a/tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTest.java b/tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTest.java
index 91a0634..e1af774 100644
--- a/tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTest.java
+++ b/tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTest.java
@@ -22,7 +22,7 @@
 
 import android.content.Context;
 import android.graphics.Point;
-import android.graphics.Rect;
+import android.util.Log;
 import android.view.View;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -31,6 +31,13 @@
 import com.android.launcher3.CellLayout;
 import com.android.launcher3.DeviceProfile;
 import com.android.launcher3.InvariantDeviceProfile;
+import com.android.launcher3.MultipageCellLayout;
+import com.android.launcher3.celllayout.board.CellLayoutBoard;
+import com.android.launcher3.celllayout.board.IconPoint;
+import com.android.launcher3.celllayout.board.PermutedBoardComparator;
+import com.android.launcher3.celllayout.board.WidgetRect;
+import com.android.launcher3.celllayout.testgenerator.RandomBoardGenerator;
+import com.android.launcher3.celllayout.testgenerator.RandomMultiBoardGenerator;
 import com.android.launcher3.util.ActivityContextWrapper;
 import com.android.launcher3.views.DoubleShadowBubbleTextView;
 
@@ -50,10 +57,25 @@
 @SmallTest
 @RunWith(AndroidJUnit4.class)
 public class ReorderAlgorithmUnitTest {
+
+    private static final String TAG = "ReorderAlgorithmUnitTest";
+    private static final char MAIN_WIDGET_TYPE = 'z';
+
+    // There is nothing special about this numbers, the random seed is just to be able to reproduce
+    // the test cases and the height and width is a random number similar to what users expect on
+    // their devices
+    private static final int SEED = 897;
+    private static final int MAX_BOARD_SIZE = 13;
+
+    private static final int TOTAL_OF_CASES_GENERATED = 300;
     private Context mApplicationContext;
 
     private int mPrevNumColumns, mPrevNumRows;
 
+    /**
+     * This test reads existing test cases and makes sure the CellLayout produces the same
+     * output for each of them for a given input.
+     */
     @Test
     public void testAllCases() throws IOException {
         List<ReorderAlgorithmUnitTestCase> testCases = getTestCases(
@@ -62,7 +84,7 @@
         List<Integer> failingCases = new ArrayList<>();
         for (int i = 0; i < testCases.size(); i++) {
             try {
-                evaluateTestCase(testCases.get(i));
+                evaluateTestCase(testCases.get(i), false);
             } catch (AssertionError e) {
                 e.printStackTrace();
                 failingCases.add(i);
@@ -72,6 +94,47 @@
                 failingCases.size());
     }
 
+    /**
+     * This test generates random CellLayout configurations and then try to reorder it and makes
+     * sure the result is a valid board meaning it didn't remove any widget or icon.
+     */
+    @Test
+    public void generateValidTests() {
+        Random generator = new Random(SEED);
+        mApplicationContext = new ActivityContextWrapper(getApplicationContext());
+        for (int i = 0; i < TOTAL_OF_CASES_GENERATED; i++) {
+            // Using a new seed so that we can replicate the same test cases.
+            int seed = generator.nextInt();
+            Log.d(TAG, "Seed = " + seed);
+            ReorderAlgorithmUnitTestCase testCase = generateRandomTestCase(
+                    new RandomBoardGenerator(new Random(seed))
+            );
+            Log.d(TAG, "testCase = " + testCase);
+            assertTrue("invalid case " + i,
+                    validateIntegrity(testCase.startBoard, testCase.endBoard, testCase));
+        }
+    }
+
+    /**
+     * Same as above but testing the Multipage CellLayout.
+     */
+    @Test
+    public void generateValidTests_Multi() {
+        Random generator = new Random(SEED);
+        mApplicationContext = new ActivityContextWrapper(getApplicationContext());
+        for (int i = 0; i < TOTAL_OF_CASES_GENERATED; i++) {
+            // Using a new seed so that we can replicate the same test cases.
+            int seed = generator.nextInt();
+            Log.d(TAG, "Seed = " + seed);
+            ReorderAlgorithmUnitTestCase testCase = generateRandomTestCase(
+                    new RandomMultiBoardGenerator(new Random(seed))
+            );
+            Log.d(TAG, "testCase = " + testCase);
+            assertTrue("invalid case " + i,
+                    validateIntegrity(testCase.startBoard, testCase.endBoard, testCase));
+        }
+    }
+
     private void addViewInCellLayout(CellLayout cellLayout, int cellX, int cellY, int spanX,
             int spanY, boolean isWidget) {
         View cell = isWidget ? new View(mApplicationContext) : new DoubleShadowBubbleTextView(
@@ -81,15 +144,16 @@
                 (CellLayoutLayoutParams) cell.getLayoutParams(), true);
     }
 
-    public CellLayout createCellLayout(int width, int height) {
+    public CellLayout createCellLayout(int width, int height, boolean isMulti) {
         Context c = mApplicationContext;
         DeviceProfile dp = InvariantDeviceProfile.INSTANCE.get(c).getDeviceProfile(c).copy(c);
         // modify the device profile.
-        dp.inv.numColumns = width;
+        dp.inv.numColumns = isMulti ? width / 2 : width;
         dp.inv.numRows = height;
         dp.cellLayoutBorderSpacePx = new Point(0, 0);
 
-        CellLayout cl = new CellLayout(getWrappedContext(c, dp));
+        CellLayout cl = isMulti ? new MultipageCellLayout(getWrappedContext(c, dp))
+                : new CellLayout(getWrappedContext(c, dp));
         // I put a very large number for width and height so that all the items can fit, it doesn't
         // need to be exact, just bigger than the sum of cell border
         cl.measure(View.MeasureSpec.makeMeasureSpec(10000, View.MeasureSpec.EXACTLY),
@@ -105,52 +169,78 @@
         };
     }
 
-    public CellLayout.ItemConfiguration solve(CellLayoutBoard board, int x, int y, int spanX,
-            int spanY, int minSpanX, int minSpanY) {
-        CellLayout cl = createCellLayout(board.getWidth(), board.getHeight());
+    public ItemConfiguration solve(CellLayoutBoard board, int x, int y, int spanX,
+            int spanY, int minSpanX, int minSpanY, boolean isMulti) {
+        CellLayout cl = createCellLayout(board.getWidth(), board.getHeight(), isMulti);
 
         // The views have to be sorted or the result can vary
         board.getIcons()
                 .stream()
-                .map(CellLayoutBoard.IconPoint::getCoord)
+                .map(IconPoint::getCoord)
                 .sorted(Comparator.comparing(p -> ((Point) p).x).thenComparing(p -> ((Point) p).y))
                 .forEach(p -> addViewInCellLayout(cl, p.x, p.y, 1, 1, false));
-        board.getWidgets().stream()
-                .sorted(Comparator.comparing(CellLayoutBoard.WidgetRect::getCellX)
-                        .thenComparing(CellLayoutBoard.WidgetRect::getCellY))
-                .forEach(widget -> addViewInCellLayout(cl, widget.getCellX(), widget.getCellY(),
-                        widget.getSpanX(), widget.getSpanY(), true));
+        board.getWidgets()
+                .stream()
+                .sorted(Comparator
+                        .comparing(WidgetRect::getCellX)
+                        .thenComparing(WidgetRect::getCellY)
+                ).forEach(
+                        widget -> addViewInCellLayout(cl, widget.getCellX(), widget.getCellY(),
+                                widget.getSpanX(), widget.getSpanY(), true)
+                );
 
         int[] testCaseXYinPixels = new int[2];
         cl.regionToCenterPoint(x, y, spanX, spanY, testCaseXYinPixels);
-        CellLayout.ItemConfiguration solution = cl.createReorderAlgorithm().calculateReorder(
-                testCaseXYinPixels[0], testCaseXYinPixels[1], minSpanX, minSpanY, spanX, spanY,
-                null);
+        ItemConfiguration configuration = new ItemConfiguration();
+        cl.copyCurrentStateToSolution(configuration);
+        ItemConfiguration solution = cl.createReorderAlgorithm()
+                .calculateReorder(
+                        new ReorderParameters(
+                                testCaseXYinPixels[0],
+                                testCaseXYinPixels[1],
+                                spanX,
+                                spanY,
+                                minSpanX,
+                                minSpanY,
+                                null,
+                                configuration
+                        )
+                );
         if (solution == null) {
-            solution = new CellLayout.ItemConfiguration();
+            solution = new ItemConfiguration();
+            solution.isSolution = false;
+        }
+        if (!solution.isSolution) {
+            cl.copyCurrentStateToSolution(solution);
+            if (cl instanceof MultipageCellLayout) {
+                solution =
+                        ((MultipageCellLayout) cl).createReorderAlgorithm().removeSeamFromSolution(
+                                solution);
+            }
             solution.isSolution = false;
         }
         return solution;
     }
 
-    public CellLayoutBoard boardFromSolution(CellLayout.ItemConfiguration solution, int width,
+    public CellLayoutBoard boardFromSolution(ItemConfiguration solution, int width,
             int height) {
         // Update the views with solution value
         solution.map.forEach((key, val) -> key.setLayoutParams(
                 new CellLayoutLayoutParams(val.cellX, val.cellY, val.spanX, val.spanY)));
         CellLayoutBoard board = CellLayoutTestUtils.viewsToBoard(
                 new ArrayList<>(solution.map.keySet()), width, height);
-        board.addWidget(solution.cellX, solution.cellY, solution.spanX, solution.spanY,
-                'z');
+        if (solution.isSolution) {
+            board.addWidget(solution.cellX, solution.cellY, solution.spanX, solution.spanY,
+                    MAIN_WIDGET_TYPE);
+        }
         return board;
     }
 
-    public void evaluateTestCase(ReorderAlgorithmUnitTestCase testCase) {
-        CellLayout.ItemConfiguration solution = solve(testCase.startBoard, testCase.x,
-                testCase.y, testCase.spanX, testCase.spanY, testCase.minSpanX,
-                testCase.minSpanY);
-        assertEquals("should be a valid solution", solution.isSolution,
-                testCase.isValidSolution);
+    public void evaluateTestCase(ReorderAlgorithmUnitTestCase testCase, boolean isMultiCellLayout) {
+        ItemConfiguration solution = solve(testCase.startBoard, testCase.x, testCase.y,
+                testCase.spanX, testCase.spanY, testCase.minSpanX, testCase.minSpanY,
+                isMultiCellLayout);
+        assertEquals("should be a valid solution", solution.isSolution, testCase.isValidSolution);
         if (testCase.isValidSolution) {
             CellLayoutBoard finishBoard = boardFromSolution(solution,
                     testCase.startBoard.getWidth(), testCase.startBoard.getHeight());
@@ -175,36 +265,35 @@
         dp.inv.numRows = mPrevNumRows;
     }
 
-    @SuppressWarnings("UnusedMethod")
-    /**
-     * Utility function used to generate all the test cases
-     */
-    private ReorderAlgorithmUnitTestCase generateRandomTestCase() {
+    private ReorderAlgorithmUnitTestCase generateRandomTestCase(
+            RandomBoardGenerator boardGenerator) {
         ReorderAlgorithmUnitTestCase testCase = new ReorderAlgorithmUnitTestCase();
 
-        int width = getRandom(3, 8);
-        int height = getRandom(3, 8);
+        boolean isMultiCellLayout = boardGenerator instanceof RandomMultiBoardGenerator;
 
-        int targetWidth = getRandom(1, width - 2);
-        int targetHeight = getRandom(1, height - 2);
+        int width = isMultiCellLayout
+                ? boardGenerator.getRandom(3, MAX_BOARD_SIZE / 2) * 2
+                : boardGenerator.getRandom(3, MAX_BOARD_SIZE);
+        int height = boardGenerator.getRandom(3, MAX_BOARD_SIZE);
 
-        int minTargetWidth = getRandom(1, targetWidth);
-        int minTargetHeight = getRandom(1, targetHeight);
+        int targetWidth = boardGenerator.getRandom(1, width - 2);
+        int targetHeight = boardGenerator.getRandom(1, height - 2);
 
-        int x = getRandom(0, width - targetWidth);
-        int y = getRandom(0, height - targetHeight);
+        int minTargetWidth = boardGenerator.getRandom(1, targetWidth);
+        int minTargetHeight = boardGenerator.getRandom(1, targetHeight);
 
-        CellLayoutBoard board = generateBoard(new CellLayoutBoard(width, height),
-                new Rect(0, 0, width, height), targetWidth * targetHeight);
+        int x = boardGenerator.getRandom(0, width - targetWidth);
+        int y = boardGenerator.getRandom(0, height - targetHeight);
 
-        CellLayout.ItemConfiguration solution = solve(board, x, y, targetWidth, targetHeight,
-                minTargetWidth, minTargetHeight);
+        CellLayoutBoard board = boardGenerator.generateBoard(width, height,
+                targetWidth * targetHeight);
 
-        CellLayoutBoard finishBoard = solution.isSolution ? boardFromSolution(solution,
-                board.getWidth(), board.getHeight()) : new CellLayoutBoard(board.getWidth(),
+        ItemConfiguration solution = solve(board, x, y, targetWidth, targetHeight,
+                minTargetWidth, minTargetHeight, isMultiCellLayout);
+
+        CellLayoutBoard finishBoard = boardFromSolution(solution, board.getWidth(),
                 board.getHeight());
 
-
         testCase.startBoard = board;
         testCase.endBoard = finishBoard;
         testCase.isValidSolution = solution.isSolution;
@@ -219,39 +308,24 @@
         return testCase;
     }
 
-    private int getRandom(int start, int end) {
-        int random = end == 0 ? 0 : new Random().nextInt(end);
-        return start + random;
-    }
-
-    private CellLayoutBoard generateBoard(CellLayoutBoard board, Rect area,
-            int emptySpaces) {
-        if (area.height() * area.width() <= 0) return board;
-
-        int width = getRandom(1, area.width() - 1);
-        int height = getRandom(1, area.height() - 1);
-
-        int x = area.left + getRandom(0, area.width() - width);
-        int y = area.top + getRandom(0, area.height() - height);
-
-        if (emptySpaces > 0) {
-            emptySpaces -= width * height;
-        } else if (width * height > 1) {
-            board.addWidget(x, y, width, height);
-        } else {
-            board.addIcon(x, y);
+    /**
+     * Makes sure the final solution has valid integrity meaning that the number and sizes of
+     * widgets is the expect and there are no missing widgets.
+     */
+    public boolean validateIntegrity(CellLayoutBoard startBoard, CellLayoutBoard finishBoard,
+            ReorderAlgorithmUnitTestCase testCase) {
+        if (!testCase.isValidSolution) {
+            // if we couldn't place the widget then the solution should be identical to the board
+            return startBoard.compareTo(finishBoard) == 0;
         }
-
-        generateBoard(board,
-                new Rect(area.left, area.top, area.right, y), emptySpaces);
-        generateBoard(board,
-                new Rect(area.left, y, x, area.bottom), emptySpaces);
-        generateBoard(board,
-                new Rect(x, y + height, area.right, area.bottom), emptySpaces);
-        generateBoard(board,
-                new Rect(x + width, y, area.right, y + height), emptySpaces);
-
-        return board;
+        WidgetRect addedWidget = finishBoard.getWidgetOfType(MAIN_WIDGET_TYPE);
+        finishBoard.removeItem(MAIN_WIDGET_TYPE);
+        Comparator<CellLayoutBoard> comparator = new PermutedBoardComparator();
+        if (comparator.compare(startBoard, finishBoard) != 0) {
+            return false;
+        }
+        return addedWidget.getSpanX() >= testCase.minSpanX
+                && addedWidget.getSpanY() >= testCase.minSpanY;
     }
 
     private static List<ReorderAlgorithmUnitTestCase> getTestCases(String testPath)
diff --git a/tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTestCase.java b/tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTestCase.java
index 4274130..3dc5030 100644
--- a/tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTestCase.java
+++ b/tests/src/com/android/launcher3/celllayout/ReorderAlgorithmUnitTestCase.java
@@ -15,6 +15,8 @@
  */
 package com.android.launcher3.celllayout;
 
+import com.android.launcher3.celllayout.board.CellLayoutBoard;
+
 import java.util.Iterator;
 
 /**
diff --git a/tests/src/com/android/launcher3/celllayout/ReorderTestCase.java b/tests/src/com/android/launcher3/celllayout/ReorderTestCase.java
index ed84a60..0c1403f 100644
--- a/tests/src/com/android/launcher3/celllayout/ReorderTestCase.java
+++ b/tests/src/com/android/launcher3/celllayout/ReorderTestCase.java
@@ -17,6 +17,8 @@
 
 import android.graphics.Point;
 
+import com.android.launcher3.celllayout.board.CellLayoutBoard;
+
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
diff --git a/tests/src/com/android/launcher3/celllayout/ReorderWidgets.java b/tests/src/com/android/launcher3/celllayout/TaplReorderWidgetsTest.java
similarity index 91%
rename from tests/src/com/android/launcher3/celllayout/ReorderWidgets.java
rename to tests/src/com/android/launcher3/celllayout/TaplReorderWidgetsTest.java
index 00d7ce6..8bdcd03 100644
--- a/tests/src/com/android/launcher3/celllayout/ReorderWidgets.java
+++ b/tests/src/com/android/launcher3/celllayout/TaplReorderWidgetsTest.java
@@ -15,6 +15,8 @@
  */
 package com.android.launcher3.celllayout;
 
+import static android.platform.uiautomator_helpers.DeviceHelpers.getContext;
+
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
@@ -28,13 +30,18 @@
 import androidx.test.filters.SmallTest;
 
 import com.android.launcher3.InvariantDeviceProfile;
+import com.android.launcher3.LauncherAppState;
 import com.android.launcher3.MultipageCellLayout;
+import com.android.launcher3.celllayout.board.CellLayoutBoard;
+import com.android.launcher3.celllayout.board.TestWorkspaceBuilder;
+import com.android.launcher3.celllayout.board.WidgetRect;
 import com.android.launcher3.tapl.Widget;
 import com.android.launcher3.tapl.WidgetResizeFrame;
 import com.android.launcher3.ui.AbstractLauncherUiTest;
-import com.android.launcher3.ui.TaplTestsLauncher3;
+import com.android.launcher3.util.ModelTestExtensions;
 import com.android.launcher3.util.rule.ShellCommandRule;
 
+import org.junit.After;
 import org.junit.Assert;
 import org.junit.Assume;
 import org.junit.Before;
@@ -51,12 +58,12 @@
 
 @SmallTest
 @RunWith(AndroidJUnit4.class)
-public class ReorderWidgets extends AbstractLauncherUiTest {
+public class TaplReorderWidgetsTest extends AbstractLauncherUiTest {
 
     @Rule
     public ShellCommandRule mGrantWidgetRule = ShellCommandRule.grantWidgetBind();
 
-    private static final String TAG = ReorderWidgets.class.getSimpleName();
+    private static final String TAG = TaplReorderWidgetsTest.class.getSimpleName();
 
     private static final List<String> FOLDABLE_GRIDS = List.of("normal", "practical", "reasonable");
 
@@ -65,7 +72,14 @@
     @Before
     public void setup() throws Throwable {
         mWorkspaceBuilder = new TestWorkspaceBuilder(mTargetContext);
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
+    }
+
+    @After
+    public void tearDown() {
+        ModelTestExtensions.INSTANCE.clearModelDb(
+                LauncherAppState.getInstance(getContext()).getModel()
+        );
     }
 
     /**
@@ -106,12 +120,12 @@
         return getFromLauncher(CellLayoutTestUtils::workspaceToBoards);
     }
 
-    private CellLayoutBoard.WidgetRect getWidgetClosestTo(Point point) {
+    private WidgetRect getWidgetClosestTo(Point point) {
         ArrayList<CellLayoutBoard> workspaceBoards = workspaceToBoards();
         int maxDistance = 9999;
-        CellLayoutBoard.WidgetRect bestRect = null;
+        WidgetRect bestRect = null;
         for (int i = 0; i < workspaceBoards.get(0).getWidgets().size(); i++) {
-            CellLayoutBoard.WidgetRect widget = workspaceBoards.get(0).getWidgets().get(i);
+            WidgetRect widget = workspaceBoards.get(0).getWidgets().get(i);
             if (widget.getCellX() == 0 && widget.getCellY() == 0) {
                 continue;
             }
@@ -134,7 +148,7 @@
      * underlying code does different things in that case
      */
     private void triggerWidgetResize(ReorderTestCase testCase) {
-        CellLayoutBoard.WidgetRect widgetRect = getWidgetClosestTo(testCase.moveMainTo);
+        WidgetRect widgetRect = getWidgetClosestTo(testCase.moveMainTo);
         if (widgetRect == null) {
             // Some test doesn't have a widget in the final position, in those cases we will ignore
             // them
@@ -148,7 +162,7 @@
     }
 
     private void runTestCase(ReorderTestCase testCase) {
-        CellLayoutBoard.WidgetRect mainWidgetCellPos = CellLayoutBoard.getMainFromList(
+        WidgetRect mainWidgetCellPos = CellLayoutBoard.getMainFromList(
                 testCase.mStart);
 
         FavoriteItemsTransaction transaction =
diff --git a/tests/src/com/android/launcher3/celllayout/TestBoardWidget.java b/tests/src/com/android/launcher3/celllayout/TestBoardWidget.java
deleted file mode 100644
index 7f9aa95..0000000
--- a/tests/src/com/android/launcher3/celllayout/TestBoardWidget.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.launcher3.celllayout;
-
-import android.graphics.Rect;
-
-public class TestBoardWidget {
-    public char mType;
-    public Rect mBounds;
-
-    TestBoardWidget(char type, Rect bounds) {
-        this.mType = type;
-        this.mBounds = bounds;
-    }
-
-    int getSpanX() {
-        return mBounds.right - mBounds.left + 1;
-    }
-
-    int getSpanY() {
-        return mBounds.top - mBounds.bottom + 1;
-    }
-
-    int getCellX() {
-        return mBounds.left;
-    }
-
-    int getCellY() {
-        return mBounds.bottom;
-    }
-
-    boolean shouldIgnore() {
-        return this.mType == 'x';
-    }
-}
diff --git a/tests/src/com/android/launcher3/celllayout/CellLayoutBoard.java b/tests/src/com/android/launcher3/celllayout/board/CellLayoutBoard.java
similarity index 69%
rename from tests/src/com/android/launcher3/celllayout/CellLayoutBoard.java
rename to tests/src/com/android/launcher3/celllayout/board/CellLayoutBoard.java
index ff667e6..dbbdcf5 100644
--- a/tests/src/com/android/launcher3/celllayout/CellLayoutBoard.java
+++ b/tests/src/com/android/launcher3/celllayout/board/CellLayoutBoard.java
@@ -13,13 +13,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.celllayout;
+package com.android.launcher3.celllayout.board;
 
 import android.graphics.Point;
 import android.graphics.Rect;
 
+import androidx.annotation.NonNull;
+
 import java.util.ArrayDeque;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -31,172 +34,13 @@
 
 public class CellLayoutBoard implements Comparable<CellLayoutBoard> {
 
-    private boolean intersects(Rect r1, Rect r2) {
-        // If one rectangle is on left side of other
-        if (r1.left > r2.right || r2.left > r1.right) {
-            return false;
-        }
-
-        // If one rectangle is above other
-        if (r1.bottom > r2.top || r2.bottom > r1.top) {
-            return false;
-        }
-
-        return true;
-    }
-
-    private boolean overlapsWithIgnored(Set<Rect> ignoredRectangles, Rect rect) {
-        for (Rect ignoredRect : ignoredRectangles) {
-            // Using the built in intersects doesn't work because it doesn't account for area 0
-            if (intersects(ignoredRect, rect)) {
-                return true;
-            }
-        }
-        return false;
-    }
+    public static final Comparator<CellLayoutBoard> COMPARATOR = new IdenticalBoardComparator();
 
     @Override
-    public int compareTo(CellLayoutBoard cellLayoutBoard) {
-        // to be equal they need to have the same number of widgets and the same dimensions
-        // their order can be different
-        Set<Rect> widgetsSet = new HashSet<>();
-        Set<Rect> ignoredRectangles = new HashSet<>();
-        for (WidgetRect rect : mWidgetsRects) {
-            if (rect.shouldIgnore()) {
-                ignoredRectangles.add(rect.mBounds);
-            } else {
-                widgetsSet.add(rect.mBounds);
-            }
-        }
-        for (WidgetRect rect : cellLayoutBoard.mWidgetsRects) {
-            // ignore rectangles overlapping with the area marked by x
-            if (overlapsWithIgnored(ignoredRectangles, rect.mBounds)) {
-                continue;
-            }
-            if (!widgetsSet.contains(rect.mBounds)) {
-                return -1;
-            }
-            widgetsSet.remove(rect.mBounds);
-        }
-        if (!widgetsSet.isEmpty()) {
-            return 1;
-        }
-
-        // to be equal they need to have the same number of icons their order can be different
-        Set<Point> iconsSet = new HashSet<>();
-        mIconPoints.forEach(icon -> iconsSet.add(icon.getCoord()));
-        for (IconPoint icon : cellLayoutBoard.mIconPoints) {
-            if (!iconsSet.contains(icon.getCoord())) {
-                return -1;
-            }
-            iconsSet.remove(icon.getCoord());
-        }
-        if (!iconsSet.isEmpty()) {
-            return 1;
-        }
-        return 0;
+    public int compareTo(@NonNull CellLayoutBoard cellLayoutBoard) {
+        return COMPARATOR.compare(this, cellLayoutBoard);
     }
 
-    public static class CellType {
-        // The cells marked by this will be filled by 1x1 widgets and will be ignored when
-        // validating
-        public static final char IGNORE = 'x';
-        // The cells marked by this will be filled by app icons
-        public static final char ICON = 'i';
-        // The cells marked by FOLDER will be filled by folders with 27 app icons inside
-        public static final char FOLDER = 'Z';
-        // Empty space
-        public static final char EMPTY = '-';
-        // Widget that will be saved as "main widget" for easier retrieval
-        public static final char MAIN_WIDGET = 'm';
-        // Everything else will be consider a widget
-    }
-
-    public static class WidgetRect {
-        public char mType;
-        public Rect mBounds;
-
-        WidgetRect(char type, Rect bounds) {
-            this.mType = type;
-            this.mBounds = bounds;
-        }
-
-        int getSpanX() {
-            return mBounds.right - mBounds.left + 1;
-        }
-
-        int getSpanY() {
-            return mBounds.top - mBounds.bottom + 1;
-        }
-
-        int getCellX() {
-            return mBounds.left;
-        }
-
-        int getCellY() {
-            return mBounds.bottom;
-        }
-
-        boolean shouldIgnore() {
-            return this.mType == CellType.IGNORE;
-        }
-
-        boolean contains(int x, int y) {
-            return mBounds.contains(x, y);
-        }
-
-        @Override
-        public String toString() {
-            return "WidgetRect type = " + mType + " x = " + getCellX() + " | y " + getCellY()
-                    + " xs = " + getSpanX() + " ys = " + getSpanY();
-        }
-    }
-
-    public static class IconPoint {
-        public Point coord;
-        public char mType;
-
-        public IconPoint(Point coord, char type) {
-            this.coord = coord;
-            mType = type;
-        }
-
-        public char getType() {
-            return mType;
-        }
-
-        public void setType(char type) {
-            mType = type;
-        }
-
-        public Point getCoord() {
-            return coord;
-        }
-
-        public void setCoord(Point coord) {
-            this.coord = coord;
-        }
-    }
-
-    public static class FolderPoint {
-        public Point coord;
-        public char mType;
-
-        public FolderPoint(Point coord, char type) {
-            this.coord = coord;
-            mType = type;
-        }
-
-        /**
-         * [A-Z]: Represents a folder and number of icons in the folder is represented by
-         * the order of letter in the alphabet, A=2, B=3, C=4 ... etc.
-         */
-        public int getNumberIconsInside() {
-            return (mType - 'A') + 2;
-        }
-    }
-
-
     private HashSet<Character> mUsedWidgetTypes = new HashSet<>();
 
     static final int INFINITE = 99999;
@@ -213,7 +57,7 @@
 
     int mWidth, mHeight;
 
-    CellLayoutBoard() {
+    public CellLayoutBoard() {
         for (int x = 0; x < mWidget.length; x++) {
             for (int y = 0; y < mWidget[0].length; y++) {
                 mWidget[x][y] = CellType.EMPTY;
@@ -221,8 +65,8 @@
         }
     }
 
-    CellLayoutBoard(int width, int height) {
-        mWidget = new char[width][height];
+    public CellLayoutBoard(int width, int height) {
+        mWidget = new char[width + 1][height + 1];
         this.mWidth = width;
         this.mHeight = height;
         for (int x = 0; x < mWidget.length; x++) {
@@ -238,6 +82,15 @@
         return isXInRect && isYInRect;
     }
 
+    public WidgetRect getWidgetAt(Point p) {
+        return getWidgetAt(p.x, p.y);
+    }
+
+    public WidgetRect getWidgetOfType(char type) {
+        return mWidgetsRects.stream()
+                .filter(widgetRect -> widgetRect.mType == type).findFirst().orElse(null);
+    }
+
     public WidgetRect getWidgetAt(int x, int y) {
         return mWidgetsRects.stream()
                 .filter(widgetRect -> pointInsideRect(x, y, widgetRect)).findFirst().orElse(null);
@@ -264,8 +117,8 @@
     }
 
     private void removeWidgetFromBoard(WidgetRect widget) {
-        for (int xi = widget.mBounds.left; xi < widget.mBounds.right; xi++) {
-            for (int yi = widget.mBounds.top; yi < widget.mBounds.bottom; yi++) {
+        for (int xi = widget.mBounds.left; xi <= widget.mBounds.right; xi++) {
+            for (int yi = widget.mBounds.bottom; yi <= widget.mBounds.top; yi++) {
                 mWidget[xi][yi] = '-';
             }
         }
@@ -306,7 +159,7 @@
     private void removeOverlappingItems(Point p) {
         // Remove overlapping widgets and remove them from the board
         mWidgetsRects = mWidgetsRects.stream().filter(widget -> {
-            if (widget.mBounds.contains(p.x, p.y)) {
+            if (IdenticalBoardComparator.Companion.touchesPoint(widget.mBounds, p)) {
                 removeWidgetFromBoard(widget);
                 return false;
             }
@@ -336,8 +189,9 @@
     }
 
     private char getNextWidgetType() {
-        for (char type = 'a'; type <= 'z'; type++) {
-            if (type == 'i') continue;
+        for (char type = 'a'; type < 'z'; type++) {
+            if (type == CellType.ICON) continue;
+            if (type == CellType.IGNORE) continue;
             if (mUsedWidgetTypes.contains(type)) continue;
             mUsedWidgetTypes.add(type);
             return type;
@@ -357,6 +211,17 @@
         }
     }
 
+    public void removeItem(char type) {
+        mWidgetsRects.stream()
+                .filter(widgetRect -> widgetRect.mType == type)
+                .forEach(widgetRect -> removeOverlappingItems(
+                        new Point(widgetRect.getCellX(), widgetRect.getCellY())));
+    }
+
+    public void removeItem(Point p) {
+        removeOverlappingItems(p);
+    }
+
     public void addWidget(int x, int y, int spanX, int spanY) {
         addWidget(x, y, spanX, spanY, getNextWidgetType());
     }
@@ -506,8 +371,8 @@
         s.append("\n");
         maxX = Math.min(maxX, mWidget.length);
         maxY = Math.min(maxY, mWidget[0].length);
-        for (int y = 0; y < maxY; y++) {
-            for (int x = 0; x < maxX; x++) {
+        for (int y = 0; y <= maxY; y++) {
+            for (int x = 0; x <= maxX; x++) {
                 s.append(mWidget[x][y]);
             }
             s.append('\n');
diff --git a/tests/src/com/android/launcher3/celllayout/board/CellType.java b/tests/src/com/android/launcher3/celllayout/board/CellType.java
new file mode 100644
index 0000000..49c146b
--- /dev/null
+++ b/tests/src/com/android/launcher3/celllayout/board/CellType.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.celllayout.board;
+
+public class CellType {
+    // The cells marked by this will be filled by 1x1 widgets and will be ignored when
+    // validating
+    public static final char IGNORE = 'x';
+    // The cells marked by this will be filled by app icons
+    public static final char ICON = 'i';
+    // The cells marked by FOLDER will be filled by folders with 27 app icons inside
+    public static final char FOLDER = 'Z';
+    // Empty space
+    public static final char EMPTY = '-';
+    // Widget that will be saved as "main widget" for easier retrieval
+    public static final char MAIN_WIDGET = 'm';
+    // Everything else will be consider a widget
+}
diff --git a/tests/src/com/android/launcher3/celllayout/TestBoardAppIcon.java b/tests/src/com/android/launcher3/celllayout/board/FolderPoint.java
similarity index 62%
copy from tests/src/com/android/launcher3/celllayout/TestBoardAppIcon.java
copy to tests/src/com/android/launcher3/celllayout/board/FolderPoint.java
index 04604d7..39ba434 100644
--- a/tests/src/com/android/launcher3/celllayout/TestBoardAppIcon.java
+++ b/tests/src/com/android/launcher3/celllayout/board/FolderPoint.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2022 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,32 +13,25 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.celllayout;
+
+package com.android.launcher3.celllayout.board;
 
 import android.graphics.Point;
 
-public class TestBoardAppIcon {
+public class FolderPoint {
     public Point coord;
     public char mType;
 
-    public TestBoardAppIcon(Point coord, char type) {
+    public FolderPoint(Point coord, char type) {
         this.coord = coord;
         mType = type;
     }
 
-    public char getType() {
-        return mType;
-    }
-
-    public void setType(char type) {
-        mType = type;
-    }
-
-    public Point getCoord() {
-        return coord;
-    }
-
-    public void setCoord(Point coord) {
-        this.coord = coord;
+    /**
+     * [A-Z]: Represents a folder and number of icons in the folder is represented by
+     * the order of letter in the alphabet, A=2, B=3, C=4 ... etc.
+     */
+    public int getNumberIconsInside() {
+        return (mType - 'A') + 2;
     }
 }
diff --git a/tests/src/com/android/launcher3/celllayout/TestBoardAppIcon.java b/tests/src/com/android/launcher3/celllayout/board/IconPoint.java
similarity index 83%
rename from tests/src/com/android/launcher3/celllayout/TestBoardAppIcon.java
rename to tests/src/com/android/launcher3/celllayout/board/IconPoint.java
index 04604d7..d3d2970 100644
--- a/tests/src/com/android/launcher3/celllayout/TestBoardAppIcon.java
+++ b/tests/src/com/android/launcher3/celllayout/board/IconPoint.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2022 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,15 +13,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.celllayout;
+
+package com.android.launcher3.celllayout.board;
 
 import android.graphics.Point;
 
-public class TestBoardAppIcon {
+public class IconPoint {
     public Point coord;
     public char mType;
 
-    public TestBoardAppIcon(Point coord, char type) {
+    public IconPoint(Point coord, char type) {
         this.coord = coord;
         mType = type;
     }
diff --git a/tests/src/com/android/launcher3/celllayout/board/IdenticalBoardComparator.kt b/tests/src/com/android/launcher3/celllayout/board/IdenticalBoardComparator.kt
new file mode 100644
index 0000000..a4a420c
--- /dev/null
+++ b/tests/src/com/android/launcher3/celllayout/board/IdenticalBoardComparator.kt
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.celllayout.board
+
+import android.graphics.Point
+import android.graphics.Rect
+
+/**
+ * Compares two [CellLayoutBoard] and returns 0 if they are identical, meaning they have the same
+ * widget and icons in the same place, they can be different letters tough.
+ */
+class IdenticalBoardComparator : Comparator<CellLayoutBoard> {
+
+    /** Converts a list of WidgetRect into a map of the count of different widget.bounds */
+    private fun widgetsToBoundsMap(widgets: List<WidgetRect>) =
+        widgets.groupingBy { it.mBounds }.eachCount()
+
+    /** Converts a list of IconPoint into a map of the count of different icon.coord */
+    private fun iconsToPosCountMap(widgets: List<IconPoint>) =
+        widgets.groupingBy { it.getCoord() }.eachCount()
+
+    override fun compare(
+        cellLayoutBoard: CellLayoutBoard,
+        otherCellLayoutBoard: CellLayoutBoard
+    ): Int {
+        // to be equal they need to have the same number of widgets and the same dimensions
+        // their order can be different
+        val widgetsMap: Map<Rect, Int> =
+            widgetsToBoundsMap(cellLayoutBoard.widgets.filter { !it.shouldIgnore() })
+        val ignoredRectangles: Map<Rect, Int> =
+            widgetsToBoundsMap(cellLayoutBoard.widgets.filter { it.shouldIgnore() })
+
+        val otherWidgetMap: Map<Rect, Int> =
+            widgetsToBoundsMap(
+                otherCellLayoutBoard.widgets
+                    .filter { !it.shouldIgnore() }
+                    .filter { !overlapsWithIgnored(ignoredRectangles, it.mBounds) }
+            )
+
+        if (widgetsMap != otherWidgetMap) {
+            return -1
+        }
+
+        // to be equal they need to have the same number of icons their order can be different
+        return if (
+            iconsToPosCountMap(cellLayoutBoard.icons) ==
+                iconsToPosCountMap(otherCellLayoutBoard.icons)
+        ) {
+            0
+        } else {
+            1
+        }
+    }
+
+    private fun overlapsWithIgnored(ignoredRectangles: Map<Rect, Int>, rect: Rect): Boolean {
+        for (ignoredRect in ignoredRectangles.keys) {
+            // Using the built in intersects doesn't work because it doesn't account for area 0
+            if (touches(ignoredRect, rect)) {
+                return true
+            }
+        }
+        return false
+    }
+
+    companion object {
+        /**
+         * Similar function to {@link Rect#intersects} but this one returns true if the rectangles
+         * are intersecting or touching whereas {@link Rect#intersects} doesn't return true when
+         * they are touching.
+         */
+        fun touches(r1: Rect, r2: Rect): Boolean {
+            // If one rectangle is on left side of other
+            return if (r1.left > r2.right || r2.left > r1.right) {
+                false
+            } else r1.bottom <= r2.top && r2.bottom <= r1.top
+
+            // If one rectangle is above other
+        }
+
+        /**
+         * Similar function to {@link Rect#contains} but this one returns true if {link @Point} is
+         * intersecting or touching the {@link Rect}. Similar to {@link touches}.
+         */
+        fun touchesPoint(r1: Rect, p: Point): Boolean {
+            return r1.left <= p.x && p.x <= r1.right && r1.bottom <= p.y && p.y <= r1.top
+        }
+    }
+}
diff --git a/tests/src/com/android/launcher3/celllayout/board/PermutedBoardComparator.kt b/tests/src/com/android/launcher3/celllayout/board/PermutedBoardComparator.kt
new file mode 100644
index 0000000..c3d13a5
--- /dev/null
+++ b/tests/src/com/android/launcher3/celllayout/board/PermutedBoardComparator.kt
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.celllayout.board
+
+import android.graphics.Point
+
+/**
+ * Compares two [CellLayoutBoard] and returns 0 if they contain the same widgets and icons even if
+ * they are in different positions i.e. in a different permutation.
+ */
+class PermutedBoardComparator : Comparator<CellLayoutBoard> {
+
+    /**
+     * The key for the set is the span since the widgets could change location but shouldn't change
+     * size
+     */
+    private fun boardToSpanCountMap(widgets: List<WidgetRect>) =
+        widgets.groupingBy { Point(it.spanX, it.spanY) }.eachCount()
+    override fun compare(
+        cellLayoutBoard: CellLayoutBoard,
+        otherCellLayoutBoard: CellLayoutBoard
+    ): Int {
+        return if (
+            boardToSpanCountMap(cellLayoutBoard.widgets) !=
+                boardToSpanCountMap(otherCellLayoutBoard.widgets)
+        ) {
+            1
+        } else cellLayoutBoard.icons.size.compareTo(otherCellLayoutBoard.icons.size)
+    }
+}
diff --git a/tests/src/com/android/launcher3/celllayout/TestWorkspaceBuilder.java b/tests/src/com/android/launcher3/celllayout/board/TestWorkspaceBuilder.java
similarity index 89%
rename from tests/src/com/android/launcher3/celllayout/TestWorkspaceBuilder.java
rename to tests/src/com/android/launcher3/celllayout/board/TestWorkspaceBuilder.java
index 6489bc1..06a7db2 100644
--- a/tests/src/com/android/launcher3/celllayout/TestWorkspaceBuilder.java
+++ b/tests/src/com/android/launcher3/celllayout/board/TestWorkspaceBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2022 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.celllayout;
+package com.android.launcher3.celllayout.board;
 
 import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
 import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
@@ -31,6 +31,12 @@
 
 import com.android.launcher3.InvariantDeviceProfile;
 import com.android.launcher3.LauncherSettings;
+import com.android.launcher3.celllayout.FavoriteItemsTransaction;
+import com.android.launcher3.celllayout.board.CellLayoutBoard;
+import com.android.launcher3.celllayout.board.CellType;
+import com.android.launcher3.celllayout.board.FolderPoint;
+import com.android.launcher3.celllayout.board.IconPoint;
+import com.android.launcher3.celllayout.board.WidgetRect;
 import com.android.launcher3.model.data.AppInfo;
 import com.android.launcher3.model.data.FolderInfo;
 import com.android.launcher3.model.data.ItemInfo;
@@ -61,7 +67,7 @@
     /**
      * Fills the given rect in WidgetRect with 1x1 widgets. This is useful to equalize cases.
      */
-    private FavoriteItemsTransaction fillWithWidgets(CellLayoutBoard.WidgetRect widgetRect,
+    private FavoriteItemsTransaction fillWithWidgets(WidgetRect widgetRect,
             FavoriteItemsTransaction transaction, int screenId) {
         int initX = widgetRect.getCellX();
         int initY = widgetRect.getCellY();
@@ -70,7 +76,7 @@
                 try {
                     // this widgets are filling, we don't care if we can't place them
                     transaction.addItem(createWidgetInCell(
-                            new CellLayoutBoard.WidgetRect(CellLayoutBoard.CellType.IGNORE,
+                            new WidgetRect(CellType.IGNORE,
                                     new Rect(x, y, x, y)), screenId));
                 } catch (Exception e) {
                     Log.d(TAG, "Unable to place filling widget at " + x + "," + y);
@@ -97,7 +103,7 @@
         );
     }
 
-    private void addCorrespondingWidgetRect(CellLayoutBoard.WidgetRect widgetRect,
+    private void addCorrespondingWidgetRect(WidgetRect widgetRect,
             FavoriteItemsTransaction transaction, int screenId) {
         if (widgetRect.mType == 'x') {
             fillWithWidgets(widgetRect, transaction, screenId);
@@ -133,7 +139,7 @@
     }
 
     private Supplier<ItemInfo> createWidgetInCell(
-            CellLayoutBoard.WidgetRect widgetRect, int screenId) {
+            WidgetRect widgetRect, int screenId) {
         // Create the widget lazily since the appWidgetId can get lost during setup
         return () -> {
             LauncherAppWidgetProviderInfo info = findWidgetProvider(false);
@@ -147,7 +153,7 @@
         };
     }
 
-    public FolderInfo createFolderInCell(CellLayoutBoard.FolderPoint folderPoint, int screenId) {
+    public FolderInfo createFolderInCell(FolderPoint folderPoint, int screenId) {
         FolderInfo folderInfo = new FolderInfo();
         folderInfo.screenId = screenId;
         folderInfo.container = LauncherSettings.Favorites.CONTAINER_DESKTOP;
@@ -171,7 +177,7 @@
         return item;
     }
 
-    private ItemInfo createIconInCell(CellLayoutBoard.IconPoint iconPoint, int screenId) {
+    private ItemInfo createIconInCell(IconPoint iconPoint, int screenId) {
         WorkspaceItemInfo item = new WorkspaceItemInfo(getApp());
         item.screenId = screenId;
         item.cellX = iconPoint.getCoord().x;
diff --git a/tests/src/com/android/launcher3/celllayout/board/WidgetRect.java b/tests/src/com/android/launcher3/celllayout/board/WidgetRect.java
new file mode 100644
index 0000000..c90ce85
--- /dev/null
+++ b/tests/src/com/android/launcher3/celllayout/board/WidgetRect.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.celllayout.board;
+
+import android.graphics.Rect;
+
+public class WidgetRect {
+    public char mType;
+    public Rect mBounds;
+
+    public WidgetRect(char type, Rect bounds) {
+        this.mType = type;
+        this.mBounds = bounds;
+    }
+
+    public int getSpanX() {
+        return mBounds.right - mBounds.left + 1;
+    }
+
+    public int getSpanY() {
+        return mBounds.top - mBounds.bottom + 1;
+    }
+
+    public int getCellX() {
+        return mBounds.left;
+    }
+
+    public int getCellY() {
+        return mBounds.bottom;
+    }
+
+    boolean shouldIgnore() {
+        return this.mType == CellType.IGNORE;
+    }
+
+    boolean contains(int x, int y) {
+        return mBounds.contains(x, y);
+    }
+
+    @Override
+    public String toString() {
+        return "WidgetRect type = " + mType + " x = " + getCellX() + " | y " + getCellY()
+                + " xs = " + getSpanX() + " ys = " + getSpanY();
+    }
+}
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java b/tests/src/com/android/launcher3/celllayout/testgenerator/DeterministicRandomGenerator.kt
similarity index 70%
copy from src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
copy to tests/src/com/android/launcher3/celllayout/testgenerator/DeterministicRandomGenerator.kt
index 68843f2..e582973 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
+++ b/tests/src/com/android/launcher3/celllayout/testgenerator/DeterministicRandomGenerator.kt
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.uioverrides.flags;
+package com.android.launcher3.celllayout.testgenerator
 
-/**
- * Place holder class for developer options.
- */
-public class DeveloperOptionsFragment {
+import java.util.Random
+
+abstract class DeterministicRandomGenerator(private val generator: Random) {
+    fun getRandom(start: Int, end: Int): Int = start + (if (end == 0) 0 else generator.nextInt(end))
 }
diff --git a/tests/src/com/android/launcher3/celllayout/testgenerator/RandomBoardGenerator.kt b/tests/src/com/android/launcher3/celllayout/testgenerator/RandomBoardGenerator.kt
new file mode 100644
index 0000000..770024f
--- /dev/null
+++ b/tests/src/com/android/launcher3/celllayout/testgenerator/RandomBoardGenerator.kt
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.celllayout.testgenerator
+
+import android.graphics.Rect
+import com.android.launcher3.celllayout.board.CellLayoutBoard
+import java.util.Random
+
+/** Generates a random CellLayoutBoard. */
+open class RandomBoardGenerator(generator: Random) : DeterministicRandomGenerator(generator) {
+    /**
+     * @param remainingEmptySpaces the maximum number of spaces we will fill with icons and widgets
+     *   meaning that if the number is 100 we will try to fill the board with at most 100 spaces
+     *   usually less than 100.
+     * @return a randomly generated board filled with icons and widgets.
+     */
+    open fun generateBoard(width: Int, height: Int, remainingEmptySpaces: Int): CellLayoutBoard? {
+        val cellLayoutBoard = CellLayoutBoard(width, height)
+        return fillBoard(cellLayoutBoard, Rect(0, 0, width, height), remainingEmptySpaces)
+    }
+
+    protected fun fillBoard(
+        board: CellLayoutBoard,
+        area: Rect,
+        remainingEmptySpacesArg: Int
+    ): CellLayoutBoard {
+        var remainingEmptySpaces = remainingEmptySpacesArg
+        if (area.height() * area.width() <= 0) return board
+        val width = getRandom(1, area.width() - 1)
+        val height = getRandom(1, area.height() - 1)
+        val x = area.left + getRandom(0, area.width() - width)
+        val y = area.top + getRandom(0, area.height() - height)
+        if (remainingEmptySpaces > 0) {
+            remainingEmptySpaces -= width * height
+        } else if (board.widgets.size <= 22 && width * height > 1) {
+            board.addWidget(x, y, width, height)
+        } else {
+            board.addIcon(x, y)
+        }
+        fillBoard(board, Rect(area.left, area.top, area.right, y), remainingEmptySpaces)
+        fillBoard(board, Rect(area.left, y, x, area.bottom), remainingEmptySpaces)
+        fillBoard(board, Rect(x, y + height, area.right, area.bottom), remainingEmptySpaces)
+        fillBoard(board, Rect(x + width, y, area.right, y + height), remainingEmptySpaces)
+        return board
+    }
+}
diff --git a/tests/src/com/android/launcher3/celllayout/testgenerator/RandomMultiBoardGenerator.kt b/tests/src/com/android/launcher3/celllayout/testgenerator/RandomMultiBoardGenerator.kt
new file mode 100644
index 0000000..da4de7d
--- /dev/null
+++ b/tests/src/com/android/launcher3/celllayout/testgenerator/RandomMultiBoardGenerator.kt
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.celllayout.testgenerator
+
+import android.graphics.Rect
+import com.android.launcher3.celllayout.board.CellLayoutBoard
+import java.util.Random
+
+class RandomMultiBoardGenerator(generator: Random) : RandomBoardGenerator(generator) {
+    override fun generateBoard(
+        width: Int,
+        height: Int,
+        remainingEmptySpaces: Int
+    ): CellLayoutBoard {
+        val cellLayoutBoard = CellLayoutBoard(width, height)
+        fillBoard(cellLayoutBoard, Rect(0, 0, width / 2, height), remainingEmptySpaces / 2)
+        return fillBoard(
+            cellLayoutBoard,
+            Rect(width / 2, 0, width, height),
+            remainingEmptySpaces / 2
+        )
+    }
+}
diff --git a/tests/src/com/android/launcher3/compat/PromiseIconUiTest.java b/tests/src/com/android/launcher3/compat/PromiseIconUiTest.java
deleted file mode 100644
index f34a29e..0000000
--- a/tests/src/com/android/launcher3/compat/PromiseIconUiTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.android.launcher3.compat;
-
-import android.content.pm.PackageInstaller.SessionParams;
-import android.content.pm.PackageManager;
-import android.graphics.Bitmap;
-import android.text.TextUtils;
-
-import androidx.test.filters.LargeTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.launcher3.Launcher;
-import com.android.launcher3.LauncherState;
-import com.android.launcher3.ui.AbstractLauncherUiTest;
-import com.android.launcher3.util.LauncherBindableItemsContainer.ItemOperator;
-import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
-
-import org.junit.After;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.UUID;
-
-
-/**
- * Test to verify promise icon flow.
- */
-@LargeTest
-@RunWith(AndroidJUnit4.class)
-public class PromiseIconUiTest extends AbstractLauncherUiTest {
-
-    private int mSessionId = -1;
-
-    @Override
-    public void setUp() throws Exception {
-        super.setUp();
-        mDevice.pressHome();
-        waitForLauncherCondition("Launcher didn't start", launcher -> launcher != null);
-        waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
-        mSessionId = -1;
-    }
-
-    @After
-    public void tearDown() {
-        if (mSessionId > -1) {
-            mTargetContext.getPackageManager().getPackageInstaller().abandonSession(mSessionId);
-        }
-    }
-
-    /**
-     * Create a session and return the id.
-     */
-    private int createSession(String label, Bitmap icon) throws Throwable {
-        SessionParams params = new SessionParams(SessionParams.MODE_FULL_INSTALL);
-        params.setAppPackageName("test.promise.app");
-        params.setAppLabel(label);
-        params.setAppIcon(icon);
-        params.setInstallReason(PackageManager.INSTALL_REASON_USER);
-        return mTargetContext.getPackageManager().getPackageInstaller().createSession(params);
-    }
-
-    @Test
-    @ScreenRecord // b/202985412
-    public void testPromiseIcon_addedFromEligibleSession() throws Throwable {
-        final String appLabel = "Test Promise App " + UUID.randomUUID().toString();
-        final ItemOperator findPromiseApp = (info, view) ->
-                info != null && TextUtils.equals(info.title, appLabel);
-
-        // Create and add test session
-        mSessionId = createSession(appLabel, Bitmap.createBitmap(100, 100, Bitmap.Config.ALPHA_8));
-
-        // Verify promise icon is added
-        waitForLauncherCondition("Test Promise App not found on workspace", launcher ->
-                launcher.getWorkspace().getFirstMatch(findPromiseApp) != null);
-
-        // Remove session
-        mTargetContext.getPackageManager().getPackageInstaller().abandonSession(mSessionId);
-        mSessionId = -1;
-
-        // Verify promise icon is removed
-        waitForLauncherCondition("Test Promise App not removed from workspace", launcher ->
-                launcher.getWorkspace().getFirstMatch(findPromiseApp) == null);
-    }
-
-    @Test
-    @ScreenRecord // b/202985412
-    public void testPromiseIcon_notAddedFromIneligibleSession() throws Throwable {
-        final String appLabel = "Test Promise App " + UUID.randomUUID().toString();
-        final ItemOperator findPromiseApp = (info, view) ->
-                info != null && TextUtils.equals(info.title, appLabel);
-
-        // Create and add test session without icon or label
-        mSessionId = createSession(null, null);
-
-        // Sleep for duration of animation if a view was to be added + some buffer time.
-        Thread.sleep(Launcher.NEW_APPS_PAGE_MOVE_DELAY + Launcher.NEW_APPS_ANIMATION_DELAY + 500);
-
-        // Verify promise icon is not added
-        waitForLauncherCondition("Test Promise App not found on workspace", launcher ->
-                launcher.getWorkspace().getFirstMatch(findPromiseApp) == null);
-    }
-}
diff --git a/tests/src/com/android/launcher3/compat/TaplPromiseIconUiTest.java b/tests/src/com/android/launcher3/compat/TaplPromiseIconUiTest.java
new file mode 100644
index 0000000..f1b0441
--- /dev/null
+++ b/tests/src/com/android/launcher3/compat/TaplPromiseIconUiTest.java
@@ -0,0 +1,185 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.android.launcher3.compat;
+
+import static com.android.launcher3.Flags.FLAG_ENABLE_SUPPORT_FOR_ARCHIVING;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageInstaller.SessionParams;
+import android.content.pm.PackageManager;
+import android.graphics.Bitmap;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.text.TextUtils;
+
+import androidx.test.filters.LargeTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.launcher3.Launcher;
+import com.android.launcher3.LauncherState;
+import com.android.launcher3.tapl.AllApps;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.util.LauncherBindableItemsContainer.ItemOperator;
+import com.android.launcher3.util.TestUtil;
+import com.android.launcher3.util.rule.ViewCaptureRule;
+
+import org.junit.After;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.IOException;
+import java.util.UUID;
+
+
+/**
+ * Test to verify promise icon flow.
+ */
+@LargeTest
+@RunWith(AndroidJUnit4.class)
+public class TaplPromiseIconUiTest extends AbstractLauncherUiTest {
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule =
+            DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    public static final String PACKAGE_NAME = "test.promise.app";
+    public static final String DUMMY_PACKAGE = "com.example.android.aardwolf";
+    public static final String DUMMY_LABEL = "Aardwolf";
+
+    private int mSessionId = -1;
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        mDevice.pressHome();
+        waitForLauncherCondition("Launcher didn't start", launcher -> launcher != null);
+        waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
+        mSessionId = -1;
+    }
+
+    @After
+    public void tearDown() throws IOException {
+        if (mSessionId > -1) {
+            mTargetContext.getPackageManager().getPackageInstaller().abandonSession(mSessionId);
+        }
+        TestUtil.uninstallDummyApp();
+    }
+
+    /**
+     * Create a session and return the id.
+     */
+    private int createSession(String packageName, String label, Bitmap icon) throws Throwable {
+        SessionParams params = new SessionParams(SessionParams.MODE_FULL_INSTALL);
+        params.setAppPackageName(packageName);
+        params.setAppLabel(label);
+        params.setAppIcon(icon);
+        params.setInstallReason(PackageManager.INSTALL_REASON_USER);
+        return mTargetContext.getPackageManager().getPackageInstaller().createSession(params);
+    }
+
+    @Test
+    public void testPromiseIcon_addedFromEligibleSession() throws Throwable {
+        final String appLabel = "Test Promise App " + UUID.randomUUID().toString();
+        final ItemOperator findPromiseApp = (info, view) ->
+                info != null && TextUtils.equals(info.title, appLabel);
+
+        // Create and add test session
+        mSessionId = createSession(PACKAGE_NAME, appLabel,
+                Bitmap.createBitmap(100, 100, Bitmap.Config.ALPHA_8));
+
+        // Verify promise icon is added
+        waitForLauncherCondition("Test Promise App not found on workspace", launcher ->
+                launcher.getWorkspace().getFirstMatch(findPromiseApp) != null);
+
+        // Remove session
+        mTargetContext.getPackageManager().getPackageInstaller().abandonSession(mSessionId);
+        mSessionId = -1;
+
+        // Verify promise icon is removed
+        waitForLauncherCondition("Test Promise App not removed from workspace", launcher ->
+                launcher.getWorkspace().getFirstMatch(findPromiseApp) == null);
+    }
+
+    @Test
+    @ViewCaptureRule.MayProduceNoFrames
+    public void testPromiseIcon_notAddedFromIneligibleSession() throws Throwable {
+        final String appLabel = "Test Promise App " + UUID.randomUUID().toString();
+        final ItemOperator findPromiseApp = (info, view) ->
+                info != null && TextUtils.equals(info.title, appLabel);
+
+        // Create and add test session without icon or label
+        mSessionId = createSession(PACKAGE_NAME, null, null);
+
+        // Sleep for duration of animation if a view was to be added + some buffer time.
+        Thread.sleep(Launcher.NEW_APPS_PAGE_MOVE_DELAY + Launcher.NEW_APPS_ANIMATION_DELAY + 500);
+
+        // Verify promise icon is not added
+        waitForLauncherCondition("Test Promise App not found on workspace", launcher ->
+                launcher.getWorkspace().getFirstMatch(findPromiseApp) == null);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(FLAG_ENABLE_SUPPORT_FOR_ARCHIVING)
+    public void testPromiseIcon_addedArchivedApp() throws Throwable {
+        installDummyAppAndWaitForUIUpdate();
+        assertThat(mDevice.executeShellCommand(String.format("pm archive %s", DUMMY_PACKAGE)))
+                .isEqualTo("Success\n");
+
+        // Create and add test session
+        mSessionId = createSession(DUMMY_PACKAGE, /* label= */ "",
+                Bitmap.createBitmap(100, 100, Bitmap.Config.ALPHA_8));
+
+        // Verify promise icon is added to all apps view. The icon may not be added to the
+        // workspace even if there might be no icon present for archived app. But icon will
+        // always be in all apps view. In case an icon is not added, an exception would be thrown.
+        final AllApps allApps = mLauncher.getWorkspace().switchToAllApps();
+
+        // Wait for the promise icon to be added.
+        waitForLauncherCondition(
+                DUMMY_PACKAGE + " app was not found on all apps after being archived",
+                launcher -> {
+                    try {
+                        allApps.getAppIcon(DUMMY_LABEL);
+                    } catch (Throwable t) {
+                        return false;
+                    }
+                    return true;
+                });
+
+        // Remove session
+        mTargetContext.getPackageManager().getPackageInstaller().abandonSession(mSessionId);
+        mSessionId = -1;
+    }
+
+    // Dummy receiver to fulfill archiving platform requirements, unused in reality.
+    public static class UnarchiveBroadcastReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+        }
+    }
+
+    private void installDummyAppAndWaitForUIUpdate() throws IOException {
+        TestUtil.installDummyApp();
+        mLauncher.waitForModelQueueCleared();
+        mLauncher.waitForLauncherInitialized();
+    }
+}
diff --git a/tests/src/com/android/launcher3/dragging/TaplDragTest.java b/tests/src/com/android/launcher3/dragging/TaplDragTest.java
new file mode 100644
index 0000000..94a96aa
--- /dev/null
+++ b/tests/src/com/android/launcher3/dragging/TaplDragTest.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.dragging;
+
+import static com.android.launcher3.util.TestConstants.AppNames.TEST_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.GMAIL_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.MAPS_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.STORE_APP_NAME;
+import static com.android.launcher3.ui.AbstractLauncherUiTest.initialize;
+import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
+import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import android.graphics.Point;
+import android.os.SystemClock;
+import android.platform.test.annotations.PlatinumTest;
+import android.util.Log;
+
+import com.android.launcher3.tapl.Folder;
+import com.android.launcher3.tapl.FolderIcon;
+import com.android.launcher3.tapl.HomeAllApps;
+import com.android.launcher3.tapl.HomeAppIcon;
+import com.android.launcher3.tapl.HomeAppIconMenuItem;
+import com.android.launcher3.tapl.Workspace;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
+import com.android.launcher3.util.TestUtil;
+import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
+import com.android.launcher3.util.rule.TestStabilityRule;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * This test run in both Out of process (Oop) and in-process (Ipc).
+ * Tests multiple facets of the drag interaction in the Launcher:
+ *    * Can create a folder by dragging items.
+ *    * Can create a shortcut by dragging it to Workspace.
+ *    * Can create shortcuts in multiple spaces in the Workspace.
+ *    * Can cancel a drag icon to workspace by dragging outside of the Workspace.
+ *    * Can drag an icon from AllApps into the workspace
+ *    * Can drag an icon on the Workspace to other positions of the Workspace.
+ */
+public class TaplDragTest extends AbstractLauncherUiTest {
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    /**
+     * Adds two icons to the Workspace and combines them into a folder, then makes sure the icons
+     * are no longer in the Workspace then adds a third one to test adding an icon to an existing
+     * folder instead of creating one and drags it to the folder.
+     */
+    @Test
+    @PortraitLandscape
+    @ScreenRecord
+    // Staging; will be promoted to presubmit if stable
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT)
+    @PlatinumTest(focusArea = "launcher")
+    public void testDragToFolder() {
+        // TODO: add the use case to drag an icon to an existing folder. Currently it either fails
+        // on tablets or phones due to difference in resolution.
+        final HomeAppIcon playStoreIcon = createShortcutIfNotExist(STORE_APP_NAME, 0, 1);
+        final HomeAppIcon gmailIcon = createShortcutInCenterIfNotExist(GMAIL_APP_NAME);
+
+        FolderIcon folderIcon = gmailIcon.dragToIcon(playStoreIcon);
+        Folder folder = folderIcon.open();
+        folder.getAppIcon(STORE_APP_NAME);
+        folder.getAppIcon(GMAIL_APP_NAME);
+        Workspace workspace = folder.close();
+
+        workspace.verifyWorkspaceAppIconIsGone(STORE_APP_NAME + " should be moved to a folder.",
+                STORE_APP_NAME);
+        workspace.verifyWorkspaceAppIconIsGone(GMAIL_APP_NAME + " should be moved to a folder.",
+                GMAIL_APP_NAME);
+
+        final HomeAppIcon mapIcon = createShortcutInCenterIfNotExist(MAPS_APP_NAME);
+        folderIcon = mapIcon.dragToIcon(folderIcon);
+        folder = folderIcon.open();
+        folder.getAppIcon(MAPS_APP_NAME);
+        workspace = folder.close();
+
+        workspace.verifyWorkspaceAppIconIsGone(MAPS_APP_NAME + " should be moved to a folder.",
+                MAPS_APP_NAME);
+    }
+
+
+    /** Drags a shortcut from a long press menu into the workspace.
+     * 1. Open all apps and wait for load complete.
+     * 2. Find the app and long press it to show shortcuts.
+     * 3. Press icon center until shortcuts appear
+     * 4. Drags shortcut to any free space in the Workspace.
+     */
+    @Test
+    @PortraitLandscape
+    @PlatinumTest(focusArea = "launcher")
+    public void testDragShortcut() {
+
+        final HomeAllApps allApps = mLauncher
+                .getWorkspace()
+                .switchToAllApps();
+        allApps.freeze();
+        try {
+            final HomeAppIconMenuItem menuItem = allApps
+                    .getAppIcon(TEST_APP_NAME)
+                    .openDeepShortcutMenu()
+                    .getMenuItem(0);
+            final String actualShortcutName = menuItem.getText();
+            final String expectedShortcutName = "Shortcut 1";
+
+            assertEquals(expectedShortcutName, actualShortcutName);
+            menuItem.dragToWorkspace(false, false);
+            mLauncher.getWorkspace().getWorkspaceAppIcon(expectedShortcutName)
+                    .launch(getAppPackageName());
+        } finally {
+            allApps.unfreeze();
+        }
+    }
+
+    /**
+     * Similar to testDragShortcut but it adds shortcuts to multiple positions of the Workspace
+     * namely the corners and the center.
+     */
+    @Test
+    @PortraitLandscape
+    @PlatinumTest(focusArea = "launcher")
+    public void testDragShortcutToMultipleWorkspaceCells() {
+        Point[] targets = TestUtil.getCornersAndCenterPositions(mLauncher);
+
+        for (Point target : targets) {
+            final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
+            allApps.freeze();
+            try {
+                allApps.getAppIcon(TEST_APP_NAME)
+                        .openDeepShortcutMenu()
+                        .getMenuItem(0)
+                        .dragToWorkspace(target.x, target.y);
+            } finally {
+                allApps.unfreeze();
+            }
+        }
+    }
+
+    /**
+     * Drags an icon to the workspace but instead of submitting it, it gets dragged outside of the
+     * Workspace to cancel it.
+     */
+
+    @Test
+    @PortraitLandscape
+    @PlatinumTest(focusArea = "launcher")
+    public void testDragAndCancelAppIcon() {
+        final HomeAppIcon homeAppIcon = createShortcutInCenterIfNotExist(GMAIL_APP_NAME);
+        Point positionBeforeDrag =
+                mLauncher.getWorkspace().getWorkspaceIconsPositions().get(GMAIL_APP_NAME);
+        assertNotNull("App not found in Workspace before dragging.", positionBeforeDrag);
+
+        mLauncher.getWorkspace().dragAndCancelAppIcon(homeAppIcon);
+
+        Point positionAfterDrag =
+                mLauncher.getWorkspace().getWorkspaceIconsPositions().get(GMAIL_APP_NAME);
+        assertNotNull("App not found in Workspace after dragging.", positionAfterDrag);
+        assertEquals("App not returned to same position in Workspace after drag & cancel",
+                positionBeforeDrag, positionAfterDrag);
+    }
+
+    /**
+     * Drags app icon from AllApps into the Workspace.
+     * 1. Open all apps and wait for load complete.
+     * 2. Drag icon to homescreen.
+     * 3. Verify that the icon works on homescreen.
+     */
+    @PlatinumTest(focusArea = "launcher")
+    @Test
+    @PortraitLandscape
+    public void testDragAppIcon() {
+
+        final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
+        allApps.freeze();
+        try {
+            allApps.getAppIcon(TEST_APP_NAME).dragToWorkspace(false, false);
+            mLauncher.getWorkspace().getWorkspaceAppIcon(TEST_APP_NAME).launch(getAppPackageName());
+        } finally {
+            allApps.unfreeze();
+        }
+        executeOnLauncher(launcher -> assertTrue(
+                "Launcher activity is the top activity; expecting another activity to be the top "
+                        + "one",
+                isInLaunchedApp(launcher)));
+    }
+
+    /**
+     * Similar start to testDragAppIcon but after dragging the icon to the workspace, it drags the
+     * icon inside of the workspace to different positions.
+     * @throws Exception
+     */
+    @Test
+    @PortraitLandscape
+    @PlatinumTest(focusArea = "launcher")
+    public void testDragAppIconToMultipleWorkspaceCells() throws Exception {
+        long startTime, endTime, elapsedTime;
+        Point[] targets = TestUtil.getCornersAndCenterPositions(mLauncher);
+
+        for (Point target : targets) {
+            startTime = SystemClock.uptimeMillis();
+            final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
+            allApps.freeze();
+            try {
+                allApps.getAppIcon(TEST_APP_NAME).dragToWorkspace(target.x, target.y);
+            } finally {
+                allApps.unfreeze();
+            }
+            // Reset the workspace for the next shortcut creation.
+            initialize(this, true);
+            endTime = SystemClock.uptimeMillis();
+            elapsedTime = endTime - startTime;
+            Log.d("testDragAppIconToWorkspaceCellTime",
+                    "Milliseconds taken to drag app icon to workspace cell: " + elapsedTime);
+        }
+
+        // test to move a shortcut to other cell.
+        final HomeAppIcon launcherTestAppIcon = createShortcutInCenterIfNotExist(TEST_APP_NAME);
+        for (Point target : targets) {
+            startTime = SystemClock.uptimeMillis();
+            launcherTestAppIcon.dragToWorkspace(target.x, target.y);
+            endTime = SystemClock.uptimeMillis();
+            elapsedTime = endTime - startTime;
+            Log.d("testDragAppIconToWorkspaceCellTime",
+                    "Milliseconds taken to move shortcut to other cell: " + elapsedTime);
+        }
+    }
+}
diff --git a/tests/src/com/android/launcher3/dragging/TaplUninstallRemoveTest.java b/tests/src/com/android/launcher3/dragging/TaplUninstallRemoveTest.java
new file mode 100644
index 0000000..0b9de0f
--- /dev/null
+++ b/tests/src/com/android/launcher3/dragging/TaplUninstallRemoveTest.java
@@ -0,0 +1,193 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.dragging;
+
+import static com.android.launcher3.testing.shared.TestProtocol.ICON_MISSING;
+import static com.android.launcher3.ui.AbstractLauncherUiTest.initialize;
+import static com.android.launcher3.util.TestConstants.AppNames.DUMMY_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.GMAIL_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.MAPS_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.STORE_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.TEST_APP_NAME;
+import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
+import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.graphics.Point;
+import android.platform.test.annotations.PlatinumTest;
+import android.util.Log;
+
+import com.android.launcher3.tapl.HomeAllApps;
+import com.android.launcher3.tapl.HomeAppIcon;
+import com.android.launcher3.tapl.Workspace;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
+import com.android.launcher3.util.TestUtil;
+import com.android.launcher3.util.Wait;
+import com.android.launcher3.util.rule.TestStabilityRule;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Map;
+
+/**
+ * Test runs in Out of process (Oop) and In process (Ipc)
+ * Test the behaviour of uninstalling and removing apps both from AllApps, Workspace and Hotseat.
+ */
+public class TaplUninstallRemoveTest extends AbstractLauncherUiTest {
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    /**
+     * Deletes app both built-in and user-installed from the Workspace and makes sure it's no longer
+     * in the Workspace.
+     */
+    @Test
+    @PortraitLandscape
+    public void testDeleteFromWorkspace() {
+        for (String appName : new String[]{GMAIL_APP_NAME, STORE_APP_NAME, TEST_APP_NAME}) {
+            final HomeAppIcon homeAppIcon = createShortcutInCenterIfNotExist(appName);
+            Workspace workspace = mLauncher.getWorkspace().deleteAppIcon(homeAppIcon);
+            workspace.verifyWorkspaceAppIconIsGone(
+                    appName + " app was found after being deleted from workspace",
+                    appName);
+        }
+    }
+
+    private void verifyAppUninstalledFromAllApps(Workspace workspace, String appName) {
+        final HomeAllApps allApps = workspace.switchToAllApps();
+        Wait.atMost(appName + " app was found on all apps after being uninstalled",
+                () -> allApps.tryGetAppIcon(appName) == null,
+                DEFAULT_UI_TIMEOUT, mLauncher);
+    }
+
+    private void installDummyAppAndWaitForUIUpdate() throws IOException {
+        TestUtil.installDummyApp();
+        waitForLauncherUIUpdate();
+    }
+
+    private void waitForLauncherUIUpdate() {
+        // Wait for model thread completion as it may be processing
+        // the install event from the SystemService
+        mLauncher.waitForModelQueueCleared();
+        // Wait for Launcher UI thread completion, as it may be processing updating the UI in
+        // response to the model update. Not that `waitForLauncherInitialized` is just a proxy
+        // method, we can use any method which touches Launcher UI thread,
+        mLauncher.waitForLauncherInitialized();
+    }
+
+    /**
+     * Makes sure you can uninstall an app from the Workspace.
+     */
+    @Test
+    @PortraitLandscape
+    @PlatinumTest(focusArea = "launcher")
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/311099513
+    public void testUninstallFromWorkspace() throws Exception {
+        installDummyAppAndWaitForUIUpdate();
+        try {
+            verifyAppUninstalledFromAllApps(
+                    createShortcutInCenterIfNotExist(DUMMY_APP_NAME).uninstall(), DUMMY_APP_NAME);
+        } finally {
+            TestUtil.uninstallDummyApp();
+        }
+    }
+
+    /**
+     * Makes sure you can uninstall an app from AllApps.
+     */
+    @Test
+    @PortraitLandscape
+    @PlatinumTest(focusArea = "launcher")
+    public void testUninstallFromAllApps() throws Exception {
+        installDummyAppAndWaitForUIUpdate();
+        try {
+            Workspace workspace = mLauncher.getWorkspace();
+            final HomeAllApps allApps = workspace.switchToAllApps();
+            workspace = allApps.getAppIcon(DUMMY_APP_NAME).uninstall();
+            verifyAppUninstalledFromAllApps(workspace, DUMMY_APP_NAME);
+        } finally {
+            TestUtil.uninstallDummyApp();
+        }
+    }
+
+    /**
+     * Adds three icons to the workspace and removes one of them by dragging to uninstall.
+     */
+    @Test
+    @PlatinumTest(focusArea = "launcher")
+    public void uninstallWorkspaceIcon() throws IOException {
+        Point[] gridPositions = TestUtil.getCornersAndCenterPositions(mLauncher);
+        StringBuilder sb = new StringBuilder();
+        for (Point p : gridPositions) {
+            sb.append(p).append(", ");
+        }
+        Log.d(ICON_MISSING, "allGridPositions: " + sb);
+        try {
+            installDummyAppAndWaitForUIUpdate();
+
+            final String[] appNameCandidates = {DUMMY_APP_NAME, MAPS_APP_NAME, STORE_APP_NAME};
+
+            // List of test apps trimmed down to the length of grid positions.
+            final String[] appNames = Arrays.copyOfRange(
+                    appNameCandidates,
+                    0, Math.min(gridPositions.length, appNameCandidates.length));
+
+            for (int i = 0; i < appNames.length; ++i) {
+                createShortcutIfNotExist(appNames[i], gridPositions[i]);
+            }
+
+            Map<String, Point> initialPositions =
+                    mLauncher.getWorkspace().getWorkspaceIconsPositions();
+            assertThat(initialPositions.keySet()).containsAtLeastElementsIn(appNames);
+
+            mLauncher.getWorkspace().getWorkspaceAppIcon(DUMMY_APP_NAME).uninstall();
+            mLauncher.getWorkspace().verifyWorkspaceAppIconIsGone(
+                    DUMMY_APP_NAME + " was expected to disappear after uninstall.", DUMMY_APP_NAME);
+
+            if (!TestStabilityRule.isPresubmit()) { // b/315847371
+                Map<String, Point> finalPositions =
+                        mLauncher.getWorkspace().getWorkspaceIconsPositions();
+                assertThat(finalPositions).doesNotContainKey(DUMMY_APP_NAME);
+            }
+        } finally {
+            TestUtil.uninstallDummyApp();
+        }
+    }
+
+    /**
+     * Drag icon from the Hotseat to the delete drop target
+     */
+    @Test
+    @PortraitLandscape
+    public void testAddDeleteShortcutOnHotseat() {
+        mLauncher.getWorkspace()
+                .deleteAppIcon(mLauncher.getWorkspace().getHotseatAppIcon(0))
+                .switchToAllApps()
+                .getAppIcon(TEST_APP_NAME)
+                .dragToHotseat(0);
+        mLauncher.getWorkspace().deleteAppIcon(
+                mLauncher.getWorkspace().getHotseatAppIcon(TEST_APP_NAME));
+    }
+}
diff --git a/tests/src/com/android/launcher3/folder/PreviewItemManagerTest.kt b/tests/src/com/android/launcher3/folder/PreviewItemManagerTest.kt
new file mode 100644
index 0000000..4ec5b0e
--- /dev/null
+++ b/tests/src/com/android/launcher3/folder/PreviewItemManagerTest.kt
@@ -0,0 +1,217 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.folder
+
+import android.R
+import android.content.Context
+import android.os.Process
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
+import com.android.launcher3.LauncherPrefs
+import com.android.launcher3.LauncherPrefs.Companion.get
+import com.android.launcher3.icons.BaseIconFactory
+import com.android.launcher3.icons.FastBitmapDrawable
+import com.android.launcher3.icons.UserBadgeDrawable
+import com.android.launcher3.model.data.WorkspaceItemInfo
+import com.android.launcher3.util.ActivityContextWrapper
+import com.android.launcher3.util.FlagOp
+import com.android.launcher3.util.LauncherLayoutBuilder
+import com.android.launcher3.util.LauncherModelHelper
+import com.android.launcher3.util.UserIconInfo
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/** Tests for [PreviewItemManager] */
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class PreviewItemManagerTest {
+
+    private lateinit var previewItemManager: PreviewItemManager
+    private lateinit var context: Context
+    private lateinit var folderItems: ArrayList<WorkspaceItemInfo>
+    private lateinit var modelHelper: LauncherModelHelper
+    private lateinit var folderIcon: FolderIcon
+
+    @Before
+    fun setup() {
+        getInstrumentation().runOnMainSync {
+            folderIcon =
+                FolderIcon(ActivityContextWrapper(ApplicationProvider.getApplicationContext()))
+        }
+        context = getInstrumentation().targetContext
+        previewItemManager = PreviewItemManager(folderIcon)
+        modelHelper = LauncherModelHelper()
+        modelHelper
+            .setupDefaultLayoutProvider(
+                LauncherLayoutBuilder()
+                    .atWorkspace(0, 0, 1)
+                    .putFolder(R.string.copy)
+                    .addApp(LauncherModelHelper.TEST_PACKAGE, LauncherModelHelper.TEST_ACTIVITY)
+                    .addApp(LauncherModelHelper.TEST_PACKAGE, LauncherModelHelper.TEST_ACTIVITY2)
+                    .addApp(LauncherModelHelper.TEST_PACKAGE, LauncherModelHelper.TEST_ACTIVITY3)
+                    .addApp(LauncherModelHelper.TEST_PACKAGE, LauncherModelHelper.TEST_ACTIVITY4)
+                    .build()
+            )
+            .loadModelSync()
+        folderItems = modelHelper.bgDataModel.folders.valueAt(0).contents
+        folderIcon.mInfo = modelHelper.bgDataModel.folders.valueAt(0)
+        folderIcon.mInfo.contents = folderItems
+
+        // Set first icon to be themed.
+        folderItems[0]
+            .bitmap
+            .setMonoIcon(
+                folderItems[0].bitmap.icon,
+                BaseIconFactory(
+                    context,
+                    context.resources.configuration.densityDpi,
+                    previewItemManager.mIconSize
+                )
+            )
+
+        // Set second icon to be non-themed.
+        folderItems[1]
+            .bitmap
+            .setMonoIcon(
+                null,
+                BaseIconFactory(
+                    context,
+                    context.resources.configuration.densityDpi,
+                    previewItemManager.mIconSize
+                )
+            )
+
+        // Set third icon to be themed with badge.
+        folderItems[2]
+            .bitmap
+            .setMonoIcon(
+                folderItems[2].bitmap.icon,
+                BaseIconFactory(
+                    context,
+                    context.resources.configuration.densityDpi,
+                    previewItemManager.mIconSize
+                )
+            )
+        folderItems[2].bitmap =
+            folderItems[2].bitmap.withFlags(profileFlagOp(UserIconInfo.TYPE_WORK))
+
+        // Set fourth icon to be non-themed with badge.
+        folderItems[3].bitmap =
+            folderItems[3].bitmap.withFlags(profileFlagOp(UserIconInfo.TYPE_WORK))
+        folderItems[3]
+            .bitmap
+            .setMonoIcon(
+                null,
+                BaseIconFactory(
+                    context,
+                    context.resources.configuration.densityDpi,
+                    previewItemManager.mIconSize
+                )
+            )
+    }
+    @After
+    @Throws(Exception::class)
+    fun tearDown() {
+        modelHelper.destroy()
+    }
+
+    @Test
+    fun checkThemedIconWithThemingOn_iconShouldBeThemed() {
+        get(context).put(LauncherPrefs.THEMED_ICONS, true)
+        val drawingParams = PreviewItemDrawingParams(0f, 0f, 0f)
+
+        previewItemManager.setDrawable(drawingParams, folderItems[0])
+
+        assert((drawingParams.drawable as FastBitmapDrawable).isThemed)
+    }
+
+    @Test
+    fun checkThemedIconWithThemingOff_iconShouldNotBeThemed() {
+        get(context).put(LauncherPrefs.THEMED_ICONS, false)
+        val drawingParams = PreviewItemDrawingParams(0f, 0f, 0f)
+
+        previewItemManager.setDrawable(drawingParams, folderItems[0])
+
+        assert(!(drawingParams.drawable as FastBitmapDrawable).isThemed)
+    }
+
+    @Test
+    fun checkUnthemedIconWithThemingOn_iconShouldNotBeThemed() {
+        get(context).put(LauncherPrefs.THEMED_ICONS, true)
+        val drawingParams = PreviewItemDrawingParams(0f, 0f, 0f)
+
+        previewItemManager.setDrawable(drawingParams, folderItems[1])
+
+        assert(!(drawingParams.drawable as FastBitmapDrawable).isThemed)
+    }
+
+    @Test
+    fun checkUnthemedIconWithThemingOff_iconShouldNotBeThemed() {
+        get(context).put(LauncherPrefs.THEMED_ICONS, false)
+        val drawingParams = PreviewItemDrawingParams(0f, 0f, 0f)
+
+        previewItemManager.setDrawable(drawingParams, folderItems[1])
+
+        assert(!(drawingParams.drawable as FastBitmapDrawable).isThemed)
+    }
+
+    @Test
+    fun checkThemedIconWithBadgeWithThemingOn_iconAndBadgeShouldBeThemed() {
+        get(context).put(LauncherPrefs.THEMED_ICONS, true)
+        val drawingParams = PreviewItemDrawingParams(0f, 0f, 0f)
+
+        previewItemManager.setDrawable(drawingParams, folderItems[2])
+
+        assert((drawingParams.drawable as FastBitmapDrawable).isThemed)
+        assert(
+            ((drawingParams.drawable as FastBitmapDrawable).badge as UserBadgeDrawable).mIsThemed
+        )
+    }
+
+    @Test
+    fun checkUnthemedIconWithBadgeWithThemingOn_badgeShouldBeThemed() {
+        get(context).put(LauncherPrefs.THEMED_ICONS, true)
+        val drawingParams = PreviewItemDrawingParams(0f, 0f, 0f)
+
+        previewItemManager.setDrawable(drawingParams, folderItems[3])
+
+        assert(!(drawingParams.drawable as FastBitmapDrawable).isThemed)
+        assert(
+            ((drawingParams.drawable as FastBitmapDrawable).badge as UserBadgeDrawable).mIsThemed
+        )
+    }
+
+    @Test
+    fun checkUnthemedIconWithBadgeWithThemingOff_iconAndBadgeShouldNotBeThemed() {
+        get(context).put(LauncherPrefs.THEMED_ICONS, false)
+        val drawingParams = PreviewItemDrawingParams(0f, 0f, 0f)
+
+        previewItemManager.setDrawable(drawingParams, folderItems[3])
+
+        assert(!(drawingParams.drawable as FastBitmapDrawable).isThemed)
+        assert(
+            !((drawingParams.drawable as FastBitmapDrawable).badge as UserBadgeDrawable).mIsThemed
+        )
+    }
+
+    private fun profileFlagOp(type: Int) =
+        UserIconInfo(Process.myUserHandle(), type).applyBitmapInfoFlags(FlagOp.NO_OP)
+}
diff --git a/tests/src/com/android/launcher3/logging/StartupLatencyLoggerTest.kt b/tests/src/com/android/launcher3/logging/StartupLatencyLoggerTest.kt
index fffa6d7..130dfad 100644
--- a/tests/src/com/android/launcher3/logging/StartupLatencyLoggerTest.kt
+++ b/tests/src/com/android/launcher3/logging/StartupLatencyLoggerTest.kt
@@ -9,13 +9,12 @@
 import org.junit.Test
 import org.junit.runner.RunWith
 
-/** Unit test for [StartupLatencyLogger]. */
+/** Unit test for [ColdRebootStartupLatencyLogger]. */
 @SmallTest
 @RunWith(AndroidJUnit4::class)
 class StartupLatencyLoggerTest {
 
-    private val underTest: StartupLatencyLogger =
-        StartupLatencyLogger(StatsLogManager.StatsLatencyLogger.LatencyType.COLD)
+    private val underTest = ColdRebootStartupLatencyLogger()
 
     @Before
     fun setup() {
@@ -155,105 +154,6 @@
 
     @Test
     @UiThreadTest
-    fun loadStartOfWorkspace_thenEndWithSync_logSyncStart() {
-        underTest
-            .logStart(
-                StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION,
-                100
-            )
-            .logWorkspaceLoadStartTime(111)
-
-        underTest.logEnd(
-            StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC,
-            120
-        )
-
-        assertThat(underTest.startTimeByEvent.size()).isEqualTo(2)
-        assertThat(
-                underTest.startTimeByEvent.get(
-                    StatsLogManager.LauncherLatencyEvent
-                        .LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC
-                        .id
-                )
-            )
-            .isEqualTo(111)
-    }
-
-    @Test
-    @UiThreadTest
-    fun loadStartOfWorkspaceLoadSync_thenAsync_asyncNotLogged() {
-        underTest
-            .logStart(
-                StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION,
-                100
-            )
-            .logStart(
-                StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC,
-                110
-            )
-
-        underTest.logStart(
-            StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC,
-            111
-        )
-
-        assertThat(underTest.startTimeByEvent.size()).isEqualTo(2)
-        assertThat(
-                underTest.startTimeByEvent.get(
-                    StatsLogManager.LauncherLatencyEvent
-                        .LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC
-                        .id
-                )
-            )
-            .isEqualTo(110)
-        assertThat(
-                underTest.startTimeByEvent.get(
-                    StatsLogManager.LauncherLatencyEvent
-                        .LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC
-                        .id
-                )
-            )
-            .isEqualTo(0)
-    }
-
-    @Test
-    @UiThreadTest
-    fun loadStartOfWorkspaceLoadAsync_thenSync_syncNotLogged() {
-        underTest.logStart(
-            StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION,
-            100
-        )
-        underTest.logStart(
-            StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC,
-            111
-        )
-
-        underTest.logStart(
-            StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC,
-            112
-        )
-
-        assertThat(underTest.startTimeByEvent.size()).isEqualTo(2)
-        assertThat(
-                underTest.startTimeByEvent.get(
-                    StatsLogManager.LauncherLatencyEvent
-                        .LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC
-                        .id
-                )
-            )
-            .isEqualTo(111)
-        assertThat(
-                underTest.startTimeByEvent.get(
-                    StatsLogManager.LauncherLatencyEvent
-                        .LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC
-                        .id
-                )
-            )
-            .isEqualTo(0)
-    }
-
-    @Test
-    @UiThreadTest
     fun logEndOfEvent_withoutStartEvent_notLogged() {
         underTest.logStart(
             StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION,
@@ -261,7 +161,7 @@
         )
 
         underTest.logEnd(
-            StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC,
+            StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC,
             120
         )
 
@@ -269,7 +169,7 @@
         assertThat(
                 underTest.endTimeByEvent.get(
                     StatsLogManager.LauncherLatencyEvent
-                        .LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC
+                        .LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC
                         .id
                 )
             )
@@ -290,7 +190,7 @@
             )
 
         underTest.logEnd(
-            StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC,
+            StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC,
             121
         )
 
@@ -298,7 +198,7 @@
         assertThat(
                 underTest.endTimeByEvent.get(
                     StatsLogManager.LauncherLatencyEvent
-                        .LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_SYNC
+                        .LAUNCHER_LATENCY_STARTUP_WORKSPACE_LOADER_ASYNC
                         .id
                 )
             )
@@ -357,12 +257,35 @@
         assertThat(underTest.startTimeByEvent.size()).isEqualTo(4)
         assertThat(underTest.endTimeByEvent.size()).isEqualTo(4)
         assertThat(underTest.cardinality).isEqualTo(235)
+        assertThat(underTest.isTornDown).isFalse()
 
         underTest.reset()
 
         assertThat(underTest.startTimeByEvent.isEmpty()).isTrue()
         assertThat(underTest.endTimeByEvent.isEmpty()).isTrue()
-        assertThat(underTest.cardinality).isEqualTo(StartupLatencyLogger.UNSET_INT)
-        assertThat(underTest.workspaceLoadStartTime).isEqualTo(StartupLatencyLogger.UNSET_LONG)
+        assertThat(underTest.cardinality).isEqualTo(ColdRebootStartupLatencyLogger.UNSET_INT)
+        assertThat(underTest.workspaceLoadStartTime)
+            .isEqualTo(ColdRebootStartupLatencyLogger.UNSET_LONG)
+        assertThat(underTest.isTornDown).isTrue()
+    }
+
+    @Test
+    @UiThreadTest
+    fun tornDown_rejectLogs() {
+        underTest.reset()
+
+        underTest
+            .logStart(
+                StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION,
+                100
+            )
+            .logEnd(
+                StatsLogManager.LauncherLatencyEvent.LAUNCHER_LATENCY_STARTUP_TOTAL_DURATION,
+                200
+            )
+            .logCardinality(123)
+        assertThat(underTest.startTimeByEvent.isEmpty()).isTrue()
+        assertThat(underTest.endTimeByEvent.isEmpty()).isTrue()
+        assertThat(underTest.cardinality).isEqualTo(ColdRebootStartupLatencyLogger.UNSET_INT)
     }
 }
diff --git a/tests/src/com/android/launcher3/model/AddWorkspaceItemsTaskTest.kt b/tests/src/com/android/launcher3/model/AddWorkspaceItemsTaskTest.kt
index 1155227..78c61d5 100644
--- a/tests/src/com/android/launcher3/model/AddWorkspaceItemsTaskTest.kt
+++ b/tests/src/com/android/launcher3/model/AddWorkspaceItemsTaskTest.kt
@@ -24,20 +24,19 @@
 import com.android.launcher3.util.Executors
 import com.android.launcher3.util.IntArray
 import com.android.launcher3.util.TestUtil.runOnExecutorSync
-import com.android.launcher3.util.any
-import com.android.launcher3.util.eq
-import com.android.launcher3.util.same
 import com.google.common.truth.Truth.assertThat
 import org.junit.After
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
 import org.mockito.Mockito.times
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.verifyZeroInteractions
-import org.mockito.Mockito.`when` as whenever
-import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.any
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.same
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.verifyZeroInteractions
+import org.mockito.kotlin.whenever
 
 /** Tests for [AddWorkspaceItemsTask] */
 @SmallTest
@@ -46,12 +45,11 @@
 
     private lateinit var mDataModelCallbacks: MyCallbacks
 
-    @Mock private lateinit var mWorkspaceItemSpaceFinder: WorkspaceItemSpaceFinder
+    private val mWorkspaceItemSpaceFinder: WorkspaceItemSpaceFinder = mock()
 
     @Before
     override fun setup() {
         super.setup()
-        MockitoAnnotations.initMocks(this)
         mDataModelCallbacks = MyCallbacks()
         Executors.MAIN_EXECUTOR.submit { mModelHelper.model.addCallbacks(mDataModelCallbacks) }
             .get()
diff --git a/tests/src/com/android/launcher3/model/DatabaseHelperTest.kt b/tests/src/com/android/launcher3/model/DatabaseHelperTest.kt
new file mode 100644
index 0000000..c9ea421
--- /dev/null
+++ b/tests/src/com/android/launcher3/model/DatabaseHelperTest.kt
@@ -0,0 +1,79 @@
+package com.android.launcher3.model
+
+import android.database.sqlite.SQLiteDatabase
+import android.os.UserHandle
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.launcher3.LauncherSettings.Favorites.TABLE_NAME
+import com.android.launcher3.LauncherSettings.Favorites.TMP_TABLE
+import com.android.launcher3.LauncherSettings.Favorites.addTableToDb
+import com.android.launcher3.pm.UserCache
+import com.android.launcher3.provider.LauncherDbUtils
+import java.util.function.ToLongFunction
+import org.junit.Assert.assertEquals
+import org.junit.Assert.assertFalse
+import org.junit.Test
+import org.junit.runner.RunWith
+
+private const val INSERTION_SQL = "databases/v30_workspace_items.sql"
+
+private const val ICON_PACKAGE = "iconPackage"
+private const val ICON_RESOURCE = "iconResource"
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class DatabaseHelperTest {
+
+    /**
+     * b/304687723 occurred when a return was accidentally added to a case statement in
+     * DatabaseHelper.onUpgrade, which stopped the final data migration from successfully occurring.
+     * This test loads an in-memory db from a text file containing SQL statements, and then performs
+     * the migration on the db, and verifies that the correct columns have been deleted.
+     */
+    @Test
+    fun onUpgrade_to_version_32_from_30() {
+        val context = InstrumentationRegistry.getInstrumentation().targetContext
+        val userSerialProvider =
+            ToLongFunction<UserHandle> {
+                UserCache.INSTANCE.get(context).getSerialNumberForUser(it)
+            }
+        val dbHelper = DatabaseHelper(context, null, userSerialProvider) {}
+        val db = FactitiousDbController(context, INSERTION_SQL).inMemoryDb
+
+        dbHelper.onUpgrade(db, 30, 32)
+
+        assertFalse(hasFavoritesColumn(db, ICON_PACKAGE))
+        assertFalse(hasFavoritesColumn(db, ICON_RESOURCE))
+    }
+
+    /**
+     * b/304687723 causes a crash due to copying a table with 21 columns to a table with 19 columns.
+     * This test loads an in-memory db from a text file containing SQL statements, and then copies
+     * data from the created table into a temporary one, and verifies that no exception is thrown.
+     */
+    @Test
+    fun after_migrating_from_db_v30_to_v32_copy_table() {
+        val context = InstrumentationRegistry.getInstrumentation().targetContext
+        val db = FactitiousDbController(context, INSERTION_SQL).inMemoryDb // v30 - 21 columns
+
+        addTableToDb(db, 1, true, TMP_TABLE)
+        LauncherDbUtils.copyTable(db, TABLE_NAME, db, TMP_TABLE, context)
+
+        val c1 = db.query(TABLE_NAME, null, null, null, null, null, null)
+        val c2 = db.query(TMP_TABLE, null, null, null, null, null, null)
+
+        assertEquals(21, c1.columnCount)
+        assertEquals(19, c2.columnCount)
+        assertEquals(c1.count, c2.count)
+
+        c1.close()
+        c2.close()
+    }
+
+    private fun hasFavoritesColumn(db: SQLiteDatabase, columnName: String): Boolean {
+        db.query(TABLE_NAME, null, null, null, null, null, null).use { c ->
+            return c.getColumnIndex(columnName) >= 0
+        }
+    }
+}
diff --git a/tests/src/com/android/launcher3/model/FactitiousDbController.kt b/tests/src/com/android/launcher3/model/FactitiousDbController.kt
new file mode 100644
index 0000000..711e1d2
--- /dev/null
+++ b/tests/src/com/android/launcher3/model/FactitiousDbController.kt
@@ -0,0 +1,60 @@
+package com.android.launcher3.model
+
+import android.content.Context
+import android.database.Cursor
+import android.database.sqlite.SQLiteDatabase
+import androidx.test.platform.app.InstrumentationRegistry
+import java.io.BufferedReader
+import java.io.InputStreamReader
+
+private val All_COLUMNS =
+    arrayOf(
+        "_id",
+        "title",
+        "intent",
+        "container",
+        "screen",
+        "cellX",
+        "cellY",
+        "spanX",
+        "spanY",
+        "itemType",
+        "appWidgetId",
+        "icon",
+        "appWidgetProvider",
+        "modified",
+        "restored",
+        "profileId",
+        "rank",
+        "options",
+        "appWidgetSource"
+    )
+
+class FactitiousDbController(context: Context, insertFile: String) : ModelDbController(context) {
+
+    val inMemoryDb: SQLiteDatabase by lazy {
+        SQLiteDatabase.createInMemory(SQLiteDatabase.OpenParams.Builder().build()).also { db ->
+            BufferedReader(
+                    InputStreamReader(
+                        InstrumentationRegistry.getInstrumentation().context.assets.open(insertFile)
+                    )
+                )
+                .lines()
+                .forEach { sqlStatement -> db.execSQL(sqlStatement) }
+        }
+    }
+
+    override fun query(
+        table: String,
+        projection: Array<out String>?,
+        selection: String?,
+        selectionArgs: Array<out String>?,
+        sortOrder: String?
+    ): Cursor {
+        return inMemoryDb.query(table, All_COLUMNS, selection, selectionArgs, null, null, sortOrder)
+    }
+
+    override fun loadDefaultFavoritesIfNecessary() {
+        // No-Op
+    }
+}
diff --git a/tests/src/com/android/launcher3/model/FolderIconLoadTest.kt b/tests/src/com/android/launcher3/model/FolderIconLoadTest.kt
new file mode 100644
index 0000000..60a4d2d
--- /dev/null
+++ b/tests/src/com/android/launcher3/model/FolderIconLoadTest.kt
@@ -0,0 +1,184 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.model
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.launcher3.LauncherAppState
+import com.android.launcher3.model.data.WorkspaceItemInfo
+import com.android.launcher3.util.Executors
+import com.android.launcher3.util.LauncherLayoutBuilder
+import com.android.launcher3.util.LauncherModelHelper
+import com.android.launcher3.util.LauncherModelHelper.*
+import com.android.launcher3.util.TestUtil
+import com.google.common.truth.Truth.assertThat
+import com.google.common.truth.Truth.assertWithMessage
+import java.util.concurrent.CountDownLatch
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/** Tests to verify that folder icons are loaded with appropriate resolution */
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class FolderIconLoadTest {
+    private lateinit var modelHelper: LauncherModelHelper
+
+    private val uniqueActivities =
+        listOf(
+            TEST_ACTIVITY,
+            TEST_ACTIVITY2,
+            TEST_ACTIVITY3,
+            TEST_ACTIVITY4,
+            TEST_ACTIVITY5,
+            TEST_ACTIVITY6,
+            TEST_ACTIVITY7,
+            TEST_ACTIVITY8,
+            TEST_ACTIVITY9,
+            TEST_ACTIVITY10,
+            TEST_ACTIVITY11,
+            TEST_ACTIVITY12,
+            TEST_ACTIVITY13,
+            TEST_ACTIVITY14
+        )
+
+    @Before
+    fun setUp() {
+        modelHelper = LauncherModelHelper()
+    }
+
+    @After
+    @Throws(Exception::class)
+    fun tearDown() {
+        modelHelper.destroy()
+        TestUtil.uninstallDummyApp()
+    }
+
+    @Test
+    @Throws(Exception::class)
+    fun folderLoadedWithHighRes_2x2() {
+        val items = setupAndLoadFolder(4)
+        assertThat(items.size).isEqualTo(4)
+        verifyHighRes(items, 0, 1, 2, 3)
+    }
+
+    @Test
+    @Throws(Exception::class)
+    fun folderLoadedWithHighRes_3x2() {
+        val items = setupAndLoadFolder(6)
+        assertThat(items.size).isEqualTo(6)
+        verifyHighRes(items, 0, 1, 3, 4)
+        verifyLowRes(items, 2, 5)
+    }
+
+    @Test
+    @Throws(Exception::class)
+    fun folderLoadedWithHighRes_max_3x3() {
+        val idp = LauncherAppState.getIDP(modelHelper.sandboxContext)
+        idp.numFolderColumns = intArrayOf(3, 3, 3, 3)
+        idp.numFolderRows = intArrayOf(3, 3, 3, 3)
+        recreateSupportedDeviceProfiles()
+
+        val items = setupAndLoadFolder(14)
+        verifyHighRes(items, 0, 1, 3, 4)
+        verifyLowRes(items, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13)
+    }
+
+    @Test
+    @Throws(Exception::class)
+    fun folderLoadedWithHighRes_max_4x4() {
+        val idp = LauncherAppState.getIDP(modelHelper.sandboxContext)
+        idp.numFolderColumns = intArrayOf(4, 4, 4, 4)
+        idp.numFolderRows = intArrayOf(4, 4, 4, 4)
+        recreateSupportedDeviceProfiles()
+
+        val items = setupAndLoadFolder(14)
+        verifyHighRes(items, 0, 1, 4, 5)
+        verifyLowRes(items, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13)
+    }
+
+    @Test
+    @Throws(Exception::class)
+    fun folderLoadedWithHighRes_differentFolderConfigurations() {
+        val idp = LauncherAppState.getIDP(modelHelper.sandboxContext)
+        idp.numFolderColumns = intArrayOf(4, 3, 4, 4)
+        idp.numFolderRows = intArrayOf(4, 3, 4, 4)
+        recreateSupportedDeviceProfiles()
+
+        val items = setupAndLoadFolder(14)
+        verifyHighRes(items, 0, 1, 3, 4, 5)
+        verifyLowRes(items, 2, 6, 7, 8, 9, 10, 11, 12, 13)
+    }
+
+    @Throws(Exception::class)
+    private fun setupAndLoadFolder(itemCount: Int): ArrayList<WorkspaceItemInfo> {
+        val builder =
+            LauncherLayoutBuilder()
+                .atWorkspace(0, 0, 1)
+                .putFolder("Sample")
+                .apply {
+                    for (i in 0..itemCount - 1) this.addApp(TEST_PACKAGE, uniqueActivities[i])
+                }
+                .build()
+
+        modelHelper.setupDefaultLayoutProvider(builder)
+        modelHelper.loadModelSync()
+
+        // The first load initializes the DB, load again so that icons are now used from the DB
+        // Wait for the icon cache to be updated and then reload
+        val app = LauncherAppState.getInstance(modelHelper.sandboxContext)
+        val cache = app.iconCache
+        while (cache.isIconUpdateInProgress) {
+            val wait = CountDownLatch(1)
+            Executors.MODEL_EXECUTOR.handler.postDelayed({ wait.countDown() }, 10)
+            wait.await()
+        }
+        TestUtil.runOnExecutorSync(Executors.MODEL_EXECUTOR) { cache.clearMemoryCache() }
+        // Reload again with correct icon state
+        app.model.forceReload()
+        modelHelper.loadModelSync()
+        val folders = modelHelper.getBgDataModel().folders
+
+        assertThat(folders.size()).isEqualTo(1)
+        assertThat(folders.valueAt(0).contents.size).isEqualTo(itemCount)
+        return folders.valueAt(0).contents
+    }
+
+    private fun verifyHighRes(items: ArrayList<WorkspaceItemInfo>, vararg indices: Int) {
+        for (index in indices) {
+            assertWithMessage("Index $index was not highRes")
+                .that(items[index].bitmap.isNullOrLowRes)
+                .isFalse()
+        }
+    }
+
+    private fun verifyLowRes(items: ArrayList<WorkspaceItemInfo>, vararg indices: Int) {
+        for (index in indices) {
+            assertWithMessage("Index $index was not lowRes")
+                .that(items[index].bitmap.isNullOrLowRes)
+                .isTrue()
+        }
+    }
+
+    /** Recreate DeviceProfiles after changing InvariantDeviceProfile */
+    private fun recreateSupportedDeviceProfiles() {
+        LauncherAppState.getIDP(modelHelper.sandboxContext).supportedProfiles =
+            LauncherAppState.getIDP(modelHelper.sandboxContext).supportedProfiles.map {
+                it.copy(modelHelper.sandboxContext)
+            }
+    }
+}
diff --git a/tests/src/com/android/launcher3/model/GridSizeMigrationUtilTest.kt b/tests/src/com/android/launcher3/model/GridSizeMigrationUtilTest.kt
index 4fa5352..04735f2 100644
--- a/tests/src/com/android/launcher3/model/GridSizeMigrationUtilTest.kt
+++ b/tests/src/com/android/launcher3/model/GridSizeMigrationUtilTest.kt
@@ -189,7 +189,7 @@
         intentIndex = c.getColumnIndex(INTENT)
         val cellXIndex = c.getColumnIndex(CELLX)
         val cellYIndex = c.getColumnIndex(CELLY)
-        val locMap = HashMap<String, Point>()
+        val locMap = HashMap<String?, Point>()
         while (c.moveToNext()) {
             locMap[Intent.parseUri(c.getString(intentIndex), 0).getPackage()] =
                 Point(c.getInt(cellXIndex), c.getInt(cellYIndex))
@@ -435,13 +435,13 @@
         c.close()
     }
 
-    private fun parseLocMap(c: Cursor): Map<String, Triple<Int, Int, Int>> {
+    private fun parseLocMap(c: Cursor): Map<String?, Triple<Int, Int, Int>> {
         // Check workspace items
         val intentIndex = c.getColumnIndex(INTENT)
         val screenIndex = c.getColumnIndex(SCREEN)
         val cellXIndex = c.getColumnIndex(CELLX)
         val cellYIndex = c.getColumnIndex(CELLY)
-        val locMap = mutableMapOf<String, Triple<Int, Int, Int>>()
+        val locMap = mutableMapOf<String?, Triple<Int, Int, Int>>()
         while (c.moveToNext()) {
             locMap[Intent.parseUri(c.getString(intentIndex), 0).getPackage()] =
                 Triple(c.getInt(screenIndex), c.getInt(cellXIndex), c.getInt(cellYIndex))
@@ -653,7 +653,7 @@
         val screenIndex = c.getColumnIndex(SCREEN)
 
         // Get in which screen the icon is
-        val locMap = HashMap<String, Int>()
+        val locMap = HashMap<String?, Int>()
         while (c.moveToNext()) {
             locMap[Intent.parseUri(c.getString(intentIndex), 0).getPackage()] =
                 c.getInt(screenIndex)
@@ -715,7 +715,7 @@
         val screenIndex = c.getColumnIndex(SCREEN)
 
         // Get in which screen the icon is
-        val locMap = HashMap<String, Int>()
+        val locMap = HashMap<String?, Int>()
         while (c.moveToNext()) {
             locMap[Intent.parseUri(c.getString(intentIndex), 0).getPackage()] =
                 c.getInt(screenIndex)
@@ -775,7 +775,7 @@
         val screenIndex = c.getColumnIndex(SCREEN)
 
         // Get in which screen the icon is
-        val locMap = HashMap<String, Int>()
+        val locMap = HashMap<String?, Int>()
         while (c.moveToNext()) {
             locMap[Intent.parseUri(c.getString(intentIndex), 0).getPackage()] =
                 c.getInt(screenIndex)
diff --git a/tests/src/com/android/launcher3/model/LoaderCursorTest.java b/tests/src/com/android/launcher3/model/LoaderCursorTest.java
index 544ed6b..56ac960 100644
--- a/tests/src/com/android/launcher3/model/LoaderCursorTest.java
+++ b/tests/src/com/android/launcher3/model/LoaderCursorTest.java
@@ -101,7 +101,7 @@
         });
 
         UserManagerState ums = new UserManagerState();
-        mLoaderCursor = new LoaderCursor(mCursor, mApp, ums);
+        mLoaderCursor = new LoaderCursor(mCursor, mApp, ums, null);
         ums.allUsers.put(0, Process.myUserHandle());
     }
 
@@ -175,7 +175,7 @@
 
         // Item outside screen bounds are not placed
         assertFalse(mLoaderCursor.checkItemPlacement(
-                newItemInfo(4, 4, 1, 1, CONTAINER_DESKTOP, 1)));
+                newItemInfo(4, 4, 1, 1, CONTAINER_DESKTOP, 1), true));
     }
 
     @Test
@@ -186,22 +186,22 @@
 
         // Overlapping mItems are not placed
         assertTrue(mLoaderCursor.checkItemPlacement(
-                newItemInfo(0, 0, 1, 1, CONTAINER_DESKTOP, 1)));
+                newItemInfo(0, 0, 1, 1, CONTAINER_DESKTOP, 1), true));
         assertFalse(mLoaderCursor.checkItemPlacement(
-                newItemInfo(0, 0, 1, 1, CONTAINER_DESKTOP, 1)));
+                newItemInfo(0, 0, 1, 1, CONTAINER_DESKTOP, 1), true));
 
         assertTrue(mLoaderCursor.checkItemPlacement(
-                newItemInfo(0, 0, 1, 1, CONTAINER_DESKTOP, 2)));
+                newItemInfo(0, 0, 1, 1, CONTAINER_DESKTOP, 2), true));
         assertFalse(mLoaderCursor.checkItemPlacement(
-                newItemInfo(0, 0, 1, 1, CONTAINER_DESKTOP, 2)));
+                newItemInfo(0, 0, 1, 1, CONTAINER_DESKTOP, 2), true));
 
         assertTrue(mLoaderCursor.checkItemPlacement(
-                newItemInfo(1, 1, 1, 1, CONTAINER_DESKTOP, 1)));
+                newItemInfo(1, 1, 1, 1, CONTAINER_DESKTOP, 1), true));
         assertTrue(mLoaderCursor.checkItemPlacement(
-                newItemInfo(2, 2, 2, 2, CONTAINER_DESKTOP, 1)));
+                newItemInfo(2, 2, 2, 2, CONTAINER_DESKTOP, 1), true));
 
         assertFalse(mLoaderCursor.checkItemPlacement(
-                newItemInfo(3, 2, 1, 2, CONTAINER_DESKTOP, 1)));
+                newItemInfo(3, 2, 1, 2, CONTAINER_DESKTOP, 1), true));
     }
 
     @Test
@@ -212,12 +212,12 @@
 
         // Hotseat mItems are only placed based on screenId
         assertTrue(mLoaderCursor.checkItemPlacement(
-                newItemInfo(3, 3, 1, 1, CONTAINER_HOTSEAT, 1)));
+                newItemInfo(3, 3, 1, 1, CONTAINER_HOTSEAT, 1), true));
         assertTrue(mLoaderCursor.checkItemPlacement(
-                newItemInfo(3, 3, 1, 1, CONTAINER_HOTSEAT, 2)));
+                newItemInfo(3, 3, 1, 1, CONTAINER_HOTSEAT, 2), true));
 
         assertFalse(mLoaderCursor.checkItemPlacement(
-                newItemInfo(3, 3, 1, 1, CONTAINER_HOTSEAT, 3)));
+                newItemInfo(3, 3, 1, 1, CONTAINER_HOTSEAT, 3), true));
     }
 
     private ItemInfo newItemInfo(int cellX, int cellY, int spanX, int spanY,
diff --git a/tests/src/com/android/launcher3/model/LoaderTaskTest.kt b/tests/src/com/android/launcher3/model/LoaderTaskTest.kt
new file mode 100644
index 0000000..cb57918
--- /dev/null
+++ b/tests/src/com/android/launcher3/model/LoaderTaskTest.kt
@@ -0,0 +1,174 @@
+package com.android.launcher3.model
+
+import android.appwidget.AppWidgetManager
+import android.os.UserHandle
+import android.platform.test.flag.junit.SetFlagsRule
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.launcher3.Flags
+import com.android.launcher3.InvariantDeviceProfile
+import com.android.launcher3.LauncherAppState
+import com.android.launcher3.LauncherModel
+import com.android.launcher3.LauncherModel.LoaderTransaction
+import com.android.launcher3.icons.IconCache
+import com.android.launcher3.icons.cache.CachingLogic
+import com.android.launcher3.icons.cache.IconCacheUpdateHandler
+import com.android.launcher3.pm.UserCache
+import com.android.launcher3.ui.TestViewHelpers
+import com.android.launcher3.util.Executors.MODEL_EXECUTOR
+import com.android.launcher3.util.LauncherModelHelper.SandboxModelContext
+import com.android.launcher3.util.LooperIdleLock
+import com.android.launcher3.util.UserIconInfo
+import com.google.common.truth.Truth
+import java.util.concurrent.CountDownLatch
+import org.junit.After
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.any
+import org.mockito.ArgumentMatchers.anyInt
+import org.mockito.Mock
+import org.mockito.Mockito
+import org.mockito.Mockito.times
+import org.mockito.Mockito.verify
+import org.mockito.Mockito.`when`
+import org.mockito.MockitoAnnotations
+import org.mockito.Spy
+import org.mockito.kotlin.doReturn
+
+private const val INSERTION_STATEMENT_FILE = "databases/workspace_items.sql"
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class LoaderTaskTest {
+    private var context = SandboxModelContext()
+    @Mock private lateinit var app: LauncherAppState
+    @Mock private lateinit var bgAllAppsList: AllAppsList
+    @Mock private lateinit var modelDelegate: ModelDelegate
+    @Mock private lateinit var launcherBinder: LauncherBinder
+    @Mock private lateinit var launcherModel: LauncherModel
+    @Mock private lateinit var transaction: LoaderTransaction
+    @Mock private lateinit var iconCache: IconCache
+    @Mock private lateinit var idleLock: LooperIdleLock
+    @Mock private lateinit var iconCacheUpdateHandler: IconCacheUpdateHandler
+    @Mock private lateinit var userCache: UserCache
+
+    @Spy private var userManagerState: UserManagerState? = UserManagerState()
+
+    @get:Rule val setFlagsRule = SetFlagsRule().apply { initAllFlagsToReleaseConfigDefault() }
+
+    @Before
+    fun setup() {
+        MockitoAnnotations.initMocks(this)
+
+        val idp =
+            InvariantDeviceProfile().apply {
+                numRows = 5
+                numColumns = 6
+                numDatabaseHotseatIcons = 5
+            }
+        context.putObject(InvariantDeviceProfile.INSTANCE, idp)
+        context.putObject(LauncherAppState.INSTANCE, app)
+
+        doReturn(TestViewHelpers.findWidgetProvider(false))
+            .`when`(context.spyService(AppWidgetManager::class.java))
+            .getAppWidgetInfo(anyInt())
+        `when`(app.context).thenReturn(context)
+        `when`(app.model).thenReturn(launcherModel)
+        `when`(launcherModel.beginLoader(any(LoaderTask::class.java))).thenReturn(transaction)
+        `when`(app.iconCache).thenReturn(iconCache)
+        `when`(launcherModel.modelDbController)
+            .thenReturn(FactitiousDbController(context, INSERTION_STATEMENT_FILE))
+        `when`(app.invariantDeviceProfile).thenReturn(idp)
+        `when`(launcherBinder.newIdleLock(any(LoaderTask::class.java))).thenReturn(idleLock)
+        `when`(idleLock.awaitLocked(1000)).thenReturn(false)
+        `when`(iconCache.updateHandler).thenReturn(iconCacheUpdateHandler)
+        context.putObject(UserCache.INSTANCE, userCache)
+    }
+
+    @After
+    fun tearDown() {
+        context.onDestroy()
+    }
+
+    @Test
+    fun loadsDataProperly() =
+        with(BgDataModel()) {
+            LoaderTask(app, bgAllAppsList, this, modelDelegate, launcherBinder)
+                .runSyncOnBackgroundThread()
+            Truth.assertThat(workspaceItems.size).isAtLeast(25)
+            Truth.assertThat(appWidgets.size).isAtLeast(7)
+            Truth.assertThat(folders.size()).isAtLeast(8)
+            Truth.assertThat(itemsIdMap.size()).isAtLeast(40)
+        }
+
+    @Test
+    fun bindsLoadedDataCorrectly() {
+        LoaderTask(app, bgAllAppsList, BgDataModel(), modelDelegate, launcherBinder)
+            .runSyncOnBackgroundThread()
+
+        verify(launcherBinder).bindWorkspace(true, false)
+        verify(modelDelegate).workspaceLoadComplete()
+        verify(modelDelegate).loadAndBindAllAppsItems(any(), any(), any())
+        verify(launcherBinder).bindAllApps()
+        verify(iconCacheUpdateHandler, times(4)).updateIcons(any(), any<CachingLogic<Any>>(), any())
+        verify(launcherBinder).bindDeepShortcuts()
+        verify(launcherBinder).bindWidgets()
+        verify(modelDelegate).loadAndBindOtherItems(any())
+        verify(iconCacheUpdateHandler).finish()
+        verify(modelDelegate).modelLoadComplete()
+        verify(transaction).commit()
+    }
+
+    @Test
+    fun setsQuietModeFlagCorrectlyForWorkProfile() =
+        with(BgDataModel()) {
+            setFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVATE_SPACE)
+            val MAIN_HANDLE = UserHandle.of(0)
+            val mockUserHandles = arrayListOf<UserHandle>(MAIN_HANDLE)
+            `when`(userCache.userProfiles).thenReturn(mockUserHandles)
+            `when`(userManagerState?.isUserQuiet(MAIN_HANDLE)).thenReturn(true)
+            `when`(userCache.getUserInfo(MAIN_HANDLE)).thenReturn(UserIconInfo(MAIN_HANDLE, 1))
+
+            LoaderTask(app, bgAllAppsList, this, modelDelegate, launcherBinder, userManagerState)
+                .runSyncOnBackgroundThread()
+
+            verify(bgAllAppsList)
+                .setFlags(BgDataModel.Callbacks.FLAG_WORK_PROFILE_QUIET_MODE_ENABLED, true)
+            verify(bgAllAppsList)
+                .setFlags(BgDataModel.Callbacks.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED, false)
+            verify(bgAllAppsList, Mockito.never())
+                .setFlags(BgDataModel.Callbacks.FLAG_QUIET_MODE_ENABLED, true)
+        }
+
+    @Test
+    fun setsQuietModeFlagCorrectlyForPrivateProfile() =
+        with(BgDataModel()) {
+            setFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVATE_SPACE)
+            val MAIN_HANDLE = UserHandle.of(0)
+            val mockUserHandles = arrayListOf<UserHandle>(MAIN_HANDLE)
+            `when`(userCache.userProfiles).thenReturn(mockUserHandles)
+            `when`(userManagerState?.isUserQuiet(MAIN_HANDLE)).thenReturn(true)
+            `when`(userCache.getUserInfo(MAIN_HANDLE)).thenReturn(UserIconInfo(MAIN_HANDLE, 3))
+
+            LoaderTask(app, bgAllAppsList, this, modelDelegate, launcherBinder, userManagerState)
+                .runSyncOnBackgroundThread()
+
+            verify(bgAllAppsList)
+                .setFlags(BgDataModel.Callbacks.FLAG_WORK_PROFILE_QUIET_MODE_ENABLED, false)
+            verify(bgAllAppsList)
+                .setFlags(BgDataModel.Callbacks.FLAG_PRIVATE_PROFILE_QUIET_MODE_ENABLED, true)
+            verify(bgAllAppsList, Mockito.never())
+                .setFlags(BgDataModel.Callbacks.FLAG_QUIET_MODE_ENABLED, true)
+        }
+}
+
+private fun LoaderTask.runSyncOnBackgroundThread() {
+    val latch = CountDownLatch(1)
+    MODEL_EXECUTOR.execute {
+        run()
+        latch.countDown()
+    }
+    latch.await()
+}
diff --git a/tests/src/com/android/launcher3/model/ModelMultiCallbacksTest.java b/tests/src/com/android/launcher3/model/ModelMultiCallbacksTest.java
index 3dfd6b4..25a4c4e 100644
--- a/tests/src/com/android/launcher3/model/ModelMultiCallbacksTest.java
+++ b/tests/src/com/android/launcher3/model/ModelMultiCallbacksTest.java
@@ -73,6 +73,10 @@
         TestUtil.uninstallDummyApp();
     }
 
+    private ModelLauncherCallbacks getCallbacks() {
+        return mModelHelper.getModel().newModelCallbacks();
+    }
+
     @Test
     public void testTwoCallbacks_loadedTogether() throws Exception {
         setupWorkspacePages(3);
@@ -127,14 +131,14 @@
 
         // Install package 1
         TestUtil.installDummyApp();
-        mModelHelper.getModel().onPackageAdded(TestUtil.DUMMY_PACKAGE, Process.myUserHandle());
+        getCallbacks().onPackageAdded(TestUtil.DUMMY_PACKAGE, Process.myUserHandle());
         waitForLoaderAndTempMainThread();
         assertTrue(cb1.allApps().contains(TestUtil.DUMMY_PACKAGE));
         assertTrue(cb2.allApps().contains(TestUtil.DUMMY_PACKAGE));
 
         // Uninstall package 2
         TestUtil.uninstallDummyApp();
-        mModelHelper.getModel().onPackageRemoved(TestUtil.DUMMY_PACKAGE, Process.myUserHandle());
+        getCallbacks().onPackageRemoved(TestUtil.DUMMY_PACKAGE, Process.myUserHandle());
         waitForLoaderAndTempMainThread();
         assertFalse(cb1.allApps().contains(TestUtil.DUMMY_PACKAGE));
         assertFalse(cb2.allApps().contains(TestUtil.DUMMY_PACKAGE));
@@ -142,7 +146,7 @@
         // Unregister a callback and verify updates no longer received
         Executors.MAIN_EXECUTOR.execute(() -> mModelHelper.getModel().removeCallbacks(cb2));
         TestUtil.installDummyApp();
-        mModelHelper.getModel().onPackageAdded(TestUtil.DUMMY_PACKAGE, Process.myUserHandle());
+        getCallbacks().onPackageAdded(TestUtil.DUMMY_PACKAGE, Process.myUserHandle());
         waitForLoaderAndTempMainThread();
 
         // cb2 didn't get the update
diff --git a/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt b/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt
index 270672f..9409ac1 100644
--- a/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt
+++ b/tests/src/com/android/launcher3/nonquickstep/DeviceProfileDumpTest.kt
@@ -15,14 +15,14 @@
  */
 package com.android.launcher3.nonquickstep
 
+import android.content.Context
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
 import com.android.launcher3.AbstractDeviceProfileTest
 import com.android.launcher3.DeviceProfile
 import com.android.launcher3.InvariantDeviceProfile
 import com.google.common.truth.Truth.assertThat
-import java.io.PrintWriter
-import java.io.StringWriter
 import org.junit.Test
 import org.junit.runner.RunWith
 
@@ -30,142 +30,13 @@
 @SmallTest
 @RunWith(AndroidJUnit4::class)
 class DeviceProfileDumpTest : AbstractDeviceProfileTest() {
-
+    private val folderName: String = "DeviceProfileDumpTest"
     @Test
     fun phonePortrait3Button() {
         initializeVarsForPhone(deviceSpecs["phone"]!!, isGestureMode = false)
         val dp = getDeviceProfileForGrid("5_by_5")
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.625 px\n" +
-                    "\tisTablet:false\n" +
-                    "\tisPhone:true\n" +
-                    "\ttransposeLayoutWithOrientation:true\n" +
-                    "\tisGestureMode:false\n" +
-                    "\tisLandscape:false\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:false\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 1080.0px (411.42856dp)\n" +
-                    "\theightPx: 2400.0px (914.2857dp)\n" +
-                    "\tavailableWidthPx: 1080.0px (411.42856dp)\n" +
-                    "\tavailableHeightPx: 2156.0px (821.3333dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 118.0px (44.95238dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 126.0px (48.0dp)\n" +
-                    "\taspectRatio:2.2222223\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:false\n" +
-                    "\tinv.numRows: 5\n" +
-                    "\tinv.numColumns: 5\n" +
-                    "\tinv.numSearchContainerColumns: 5\n" +
-                    "\tminCellSize: PointF(0.0, 0.0)dp\n" +
-                    "\tcellWidthPx: 159.0px (60.57143dp)\n" +
-                    "\tcellHeightPx: 229.0px (87.2381dp)\n" +
-                    "\tgetCellSize().x: 207.0px (78.85714dp)\n" +
-                    "\tgetCellSize().y: 379.0px (144.38095dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 21.0px (8.0dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 28.0px (10.666667dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 21.0px (8.0dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 28.0px (10.666667dp)\n" +
-                    "\ticonSizePx: 147.0px (56.0dp)\n" +
-                    "\ticonTextSizePx: 38.0px (14.476191dp)\n" +
-                    "\ticonDrawablePaddingPx: 12.0px (4.571429dp)\n" +
-                    "\tinv.numFolderRows: 4\n" +
-                    "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 195.0px (74.28571dp)\n" +
-                    "\tfolderCellHeightPx: 230.0px (87.61905dp)\n" +
-                    "\tfolderChildIconSizePx: 147.0px (56.0dp)\n" +
-                    "\tfolderChildTextSizePx: 38.0px (14.476191dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 4.0px (1.5238096dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 63.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 147.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 146.0px (55.61905dp)\n" +
-                    "\tbottomSheetOpenDuration: 267\n" +
-                    "\tbottomSheetCloseDuration: 267\n" +
-                    "\tbottomSheetWorkspaceScale: 1.0\n" +
-                    "\tbottomSheetDepth: 0.0\n" +
-                    "\tallAppsShiftRange: 788.0px (300.1905dp)\n" +
-                    "\tallAppsTopPadding: 0.0px (0.0dp)\n" +
-                    "\tallAppsOpenDuration: 600\n" +
-                    "\tallAppsCloseDuration: 300\n" +
-                    "\tallAppsIconSizePx: 147.0px (56.0dp)\n" +
-                    "\tallAppsIconTextSizePx: 38.0px (14.476191dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" +
-                    "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" +
-                    "\tallAppsCellWidthPx: 189.0px (72.0dp)\n" +
-                    "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 5\n" +
-                    "\tallAppsLeftRightPadding: 0.0px (0.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSizePx: 294.0px (112.0dp)\n" +
-                    "\tinv.hotseatColumnSpan: 5\n" +
-                    "\thotseatCellHeightPx: 166.0px (63.238094dp)\n" +
-                    "\thotseatBarBottomSpacePx: 147.0px (56.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 200.0px (76.190475dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 128.0px (48.761906dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 21.0px (8.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 21.0px (8.0dp)\n" +
-                    "\tnumShownHotseatIcons: 5\n" +
-                    "\thotseatBorderSpace: 0.0px (0.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 0.0px (0.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:false\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.left: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.top: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.right: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.bottom: 203.0px (77.333336dp)\n" +
-                    "\ticonScale: 1.0px (0.3809524dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.3809524dp)\n" +
-                    "\textraSpace: 752.0px (286.4762dp)\n" +
-                    "\tunscaled extraSpace: 752.0px (286.4762dp)\n" +
-                    "\tmaxEmptySpace: 0.0px (0.0dp)\n" +
-                    "\tworkspaceTopPadding: 0.0px (0.0dp)\n" +
-                    "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 126.0px (48.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 84.0px (32.0dp)\n" +
-                    "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 391.0px (148.95238dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 1906.0px (726.0952dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.77572966px (0.29551607dp)\n" +
-                    "\tgetCellLayoutHeight(): 1953.0px (744.0dp)\n" +
-                    "\tgetCellLayoutWidth(): 1080.0px (411.42856dp)\n"
-            )
+        assertDump(dp, "phonePortrait3Button")
     }
 
     @Test
@@ -173,136 +44,7 @@
         initializeVarsForPhone(deviceSpecs["phone"]!!)
         val dp = getDeviceProfileForGrid("5_by_5")
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.625 px\n" +
-                    "\tisTablet:false\n" +
-                    "\tisPhone:true\n" +
-                    "\ttransposeLayoutWithOrientation:true\n" +
-                    "\tisGestureMode:true\n" +
-                    "\tisLandscape:false\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:false\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 1080.0px (411.42856dp)\n" +
-                    "\theightPx: 2400.0px (914.2857dp)\n" +
-                    "\tavailableWidthPx: 1080.0px (411.42856dp)\n" +
-                    "\tavailableHeightPx: 2219.0px (845.3333dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 118.0px (44.95238dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 63.0px (24.0dp)\n" +
-                    "\taspectRatio:2.2222223\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:false\n" +
-                    "\tinv.numRows: 5\n" +
-                    "\tinv.numColumns: 5\n" +
-                    "\tinv.numSearchContainerColumns: 5\n" +
-                    "\tminCellSize: PointF(0.0, 0.0)dp\n" +
-                    "\tcellWidthPx: 159.0px (60.57143dp)\n" +
-                    "\tcellHeightPx: 229.0px (87.2381dp)\n" +
-                    "\tgetCellSize().x: 207.0px (78.85714dp)\n" +
-                    "\tgetCellSize().y: 383.0px (145.90475dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 21.0px (8.0dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 28.0px (10.666667dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 21.0px (8.0dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 28.0px (10.666667dp)\n" +
-                    "\ticonSizePx: 147.0px (56.0dp)\n" +
-                    "\ticonTextSizePx: 38.0px (14.476191dp)\n" +
-                    "\ticonDrawablePaddingPx: 12.0px (4.571429dp)\n" +
-                    "\tinv.numFolderRows: 4\n" +
-                    "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 195.0px (74.28571dp)\n" +
-                    "\tfolderCellHeightPx: 230.0px (87.61905dp)\n" +
-                    "\tfolderChildIconSizePx: 147.0px (56.0dp)\n" +
-                    "\tfolderChildTextSizePx: 38.0px (14.476191dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 4.0px (1.5238096dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 63.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 147.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 146.0px (55.61905dp)\n" +
-                    "\tbottomSheetOpenDuration: 267\n" +
-                    "\tbottomSheetCloseDuration: 267\n" +
-                    "\tbottomSheetWorkspaceScale: 1.0\n" +
-                    "\tbottomSheetDepth: 0.0\n" +
-                    "\tallAppsShiftRange: 788.0px (300.1905dp)\n" +
-                    "\tallAppsTopPadding: 0.0px (0.0dp)\n" +
-                    "\tallAppsOpenDuration: 600\n" +
-                    "\tallAppsCloseDuration: 300\n" +
-                    "\tallAppsIconSizePx: 147.0px (56.0dp)\n" +
-                    "\tallAppsIconTextSizePx: 38.0px (14.476191dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" +
-                    "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" +
-                    "\tallAppsCellWidthPx: 189.0px (72.0dp)\n" +
-                    "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 5\n" +
-                    "\tallAppsLeftRightPadding: 0.0px (0.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSizePx: 273.0px (104.0dp)\n" +
-                    "\tinv.hotseatColumnSpan: 5\n" +
-                    "\thotseatCellHeightPx: 166.0px (63.238094dp)\n" +
-                    "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 200.0px (76.190475dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 107.0px (40.761906dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 21.0px (8.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 21.0px (8.0dp)\n" +
-                    "\tnumShownHotseatIcons: 5\n" +
-                    "\thotseatBorderSpace: 0.0px (0.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 0.0px (0.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:false\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.left: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.top: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.right: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.bottom: 245.0px (93.333336dp)\n" +
-                    "\ticonScale: 1.0px (0.3809524dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.3809524dp)\n" +
-                    "\textraSpace: 773.0px (294.4762dp)\n" +
-                    "\tunscaled extraSpace: 773.0px (294.4762dp)\n" +
-                    "\tmaxEmptySpace: 0.0px (0.0dp)\n" +
-                    "\tworkspaceTopPadding: 0.0px (0.0dp)\n" +
-                    "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 63.0px (24.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 84.0px (32.0dp)\n" +
-                    "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 391.0px (148.95238dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 1927.0px (734.0952dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.7781155px (0.29642496dp)\n" +
-                    "\tgetCellLayoutHeight(): 1974.0px (752.0dp)\n" +
-                    "\tgetCellLayoutWidth(): 1080.0px (411.42856dp)\n"
-            )
+        assertDump(dp, "phonePortrait")
     }
 
     @Test
@@ -310,136 +52,7 @@
         initializeVarsForPhone(deviceSpecs["phone"]!!, isVerticalBar = true, isGestureMode = false)
         val dp = getDeviceProfileForGrid("5_by_5")
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.625 px\n" +
-                    "\tisTablet:false\n" +
-                    "\tisPhone:true\n" +
-                    "\ttransposeLayoutWithOrientation:true\n" +
-                    "\tisGestureMode:false\n" +
-                    "\tisLandscape:true\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:false\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 2400.0px (914.2857dp)\n" +
-                    "\theightPx: 1080.0px (411.42856dp)\n" +
-                    "\tavailableWidthPx: 2156.0px (821.3333dp)\n" +
-                    "\tavailableHeightPx: 1006.0px (383.2381dp)\n" +
-                    "\tmInsets.left: 118.0px (44.95238dp)\n" +
-                    "\tmInsets.top: 74.0px (28.190475dp)\n" +
-                    "\tmInsets.right: 126.0px (48.0dp)\n" +
-                    "\tmInsets.bottom: 0.0px (0.0dp)\n" +
-                    "\taspectRatio:2.2222223\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:false\n" +
-                    "\tinv.numRows: 5\n" +
-                    "\tinv.numColumns: 5\n" +
-                    "\tinv.numSearchContainerColumns: 5\n" +
-                    "\tminCellSize: PointF(0.0, 0.0)dp\n" +
-                    "\tcellWidthPx: 152.0px (57.904762dp)\n" +
-                    "\tcellHeightPx: 166.0px (63.238094dp)\n" +
-                    "\tgetCellSize().x: 368.0px (140.19048dp)\n" +
-                    "\tgetCellSize().y: 193.0px (73.52381dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 53.0px (20.190475dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 53.0px (20.190475dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 40.0px (15.238095dp)\n" +
-                    "\ticonSizePx: 147.0px (56.0dp)\n" +
-                    "\ticonTextSizePx: 0.0px (0.0dp)\n" +
-                    "\ticonDrawablePaddingPx: 0.0px (0.0dp)\n" +
-                    "\tinv.numFolderRows: 4\n" +
-                    "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 173.0px (65.90476dp)\n" +
-                    "\tfolderCellHeightPx: 205.0px (78.09524dp)\n" +
-                    "\tfolderChildIconSizePx: 131.0px (49.904762dp)\n" +
-                    "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 4.0px (1.5238096dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 56.0px (21.333334dp)\n" +
-                    "\tfolderFooterHeight: 131.0px (49.904762dp)\n" +
-                    "\tbottomSheetTopPadding: 114.0px (43.42857dp)\n" +
-                    "\tbottomSheetOpenDuration: 267\n" +
-                    "\tbottomSheetCloseDuration: 267\n" +
-                    "\tbottomSheetWorkspaceScale: 1.0\n" +
-                    "\tbottomSheetDepth: 0.0\n" +
-                    "\tallAppsShiftRange: 788.0px (300.1905dp)\n" +
-                    "\tallAppsTopPadding: 0.0px (0.0dp)\n" +
-                    "\tallAppsOpenDuration: 600\n" +
-                    "\tallAppsCloseDuration: 300\n" +
-                    "\tallAppsIconSizePx: 147.0px (56.0dp)\n" +
-                    "\tallAppsIconTextSizePx: 38.0px (14.476191dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" +
-                    "\tallAppsCellHeightPx: 321.0px (122.28571dp)\n" +
-                    "\tallAppsCellWidthPx: 189.0px (72.0dp)\n" +
-                    "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 5\n" +
-                    "\tallAppsLeftRightPadding: 0.0px (0.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSizePx: 252.0px (96.0dp)\n" +
-                    "\tinv.hotseatColumnSpan: 5\n" +
-                    "\thotseatCellHeightPx: 166.0px (63.238094dp)\n" +
-                    "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 63.0px (24.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 42.0px (16.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 118.0px (44.95238dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 64.0px (24.380953dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 49.0px (18.666666dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 42.0px (16.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 189.0px (72.0dp)\n" +
-                    "\tnumShownHotseatIcons: 5\n" +
-                    "\thotseatBorderSpace: 0.0px (0.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 0.0px (0.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:false\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.left: 10.0px (3.8095238dp)\n" +
-                    "\tworkspacePadding.top: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.right: 199.0px (75.809525dp)\n" +
-                    "\tworkspacePadding.bottom: 0.0px (0.0dp)\n" +
-                    "\ticonScale: 1.0px (0.3809524dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.3809524dp)\n" +
-                    "\textraSpace: 136.0px (51.809525dp)\n" +
-                    "\tunscaled extraSpace: 136.0px (51.809525dp)\n" +
-                    "\tmaxEmptySpace: 0.0px (0.0dp)\n" +
-                    "\tworkspaceTopPadding: 0.0px (0.0dp)\n" +
-                    "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 16.0px (6.095238dp)\n" +
-                    "\tdropTargetBarSizePx: 95.0px (36.190475dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 16.0px (6.095238dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 201.0px (76.57143dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 1008.0px (384.0dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.8021869px (0.305595dp)\n" +
-                    "\tgetCellLayoutHeight(): 1006.0px (383.2381dp)\n" +
-                    "\tgetCellLayoutWidth(): 1947.0px (741.7143dp)\n"
-            )
+        assertDump(dp, "phoneVerticalBar3Button")
     }
 
     @Test
@@ -447,136 +60,7 @@
         initializeVarsForPhone(deviceSpecs["phone"]!!, isVerticalBar = true)
         val dp = getDeviceProfileForGrid("5_by_5")
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.625 px\n" +
-                    "\tisTablet:false\n" +
-                    "\tisPhone:true\n" +
-                    "\ttransposeLayoutWithOrientation:true\n" +
-                    "\tisGestureMode:true\n" +
-                    "\tisLandscape:true\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:false\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 2400.0px (914.2857dp)\n" +
-                    "\theightPx: 1080.0px (411.42856dp)\n" +
-                    "\tavailableWidthPx: 2282.0px (869.3333dp)\n" +
-                    "\tavailableHeightPx: 943.0px (359.2381dp)\n" +
-                    "\tmInsets.left: 118.0px (44.95238dp)\n" +
-                    "\tmInsets.top: 74.0px (28.190475dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 63.0px (24.0dp)\n" +
-                    "\taspectRatio:2.2222223\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:false\n" +
-                    "\tinv.numRows: 5\n" +
-                    "\tinv.numColumns: 5\n" +
-                    "\tinv.numSearchContainerColumns: 5\n" +
-                    "\tminCellSize: PointF(0.0, 0.0)dp\n" +
-                    "\tcellWidthPx: 152.0px (57.904762dp)\n" +
-                    "\tcellHeightPx: 166.0px (63.238094dp)\n" +
-                    "\tgetCellSize().x: 393.0px (149.71428dp)\n" +
-                    "\tgetCellSize().y: 180.0px (68.57143dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 53.0px (20.190475dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 53.0px (20.190475dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 40.0px (15.238095dp)\n" +
-                    "\ticonSizePx: 147.0px (56.0dp)\n" +
-                    "\ticonTextSizePx: 0.0px (0.0dp)\n" +
-                    "\ticonDrawablePaddingPx: 0.0px (0.0dp)\n" +
-                    "\tinv.numFolderRows: 4\n" +
-                    "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 163.0px (62.095238dp)\n" +
-                    "\tfolderCellHeightPx: 192.0px (73.14286dp)\n" +
-                    "\tfolderChildIconSizePx: 123.0px (46.857143dp)\n" +
-                    "\tfolderChildTextSizePx: 32.0px (12.190476dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 3.0px (1.1428572dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 53.0px (20.190475dp)\n" +
-                    "\tfolderFooterHeight: 123.0px (46.857143dp)\n" +
-                    "\tbottomSheetTopPadding: 114.0px (43.42857dp)\n" +
-                    "\tbottomSheetOpenDuration: 267\n" +
-                    "\tbottomSheetCloseDuration: 267\n" +
-                    "\tbottomSheetWorkspaceScale: 1.0\n" +
-                    "\tbottomSheetDepth: 0.0\n" +
-                    "\tallAppsShiftRange: 788.0px (300.1905dp)\n" +
-                    "\tallAppsTopPadding: 0.0px (0.0dp)\n" +
-                    "\tallAppsOpenDuration: 600\n" +
-                    "\tallAppsCloseDuration: 300\n" +
-                    "\tallAppsIconSizePx: 147.0px (56.0dp)\n" +
-                    "\tallAppsIconTextSizePx: 38.0px (14.476191dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" +
-                    "\tallAppsCellHeightPx: 321.0px (122.28571dp)\n" +
-                    "\tallAppsCellWidthPx: 189.0px (72.0dp)\n" +
-                    "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 5\n" +
-                    "\tallAppsLeftRightPadding: 0.0px (0.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSizePx: 252.0px (96.0dp)\n" +
-                    "\tinv.hotseatColumnSpan: 5\n" +
-                    "\thotseatCellHeightPx: 166.0px (63.238094dp)\n" +
-                    "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 63.0px (24.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 42.0px (16.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 118.0px (44.95238dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 64.0px (24.380953dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 112.0px (42.666668dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 42.0px (16.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 63.0px (24.0dp)\n" +
-                    "\tnumShownHotseatIcons: 5\n" +
-                    "\thotseatBorderSpace: 0.0px (0.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 0.0px (0.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:false\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.left: 10.0px (3.8095238dp)\n" +
-                    "\tworkspacePadding.top: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.right: 199.0px (75.809525dp)\n" +
-                    "\tworkspacePadding.bottom: 0.0px (0.0dp)\n" +
-                    "\ticonScale: 1.0px (0.3809524dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.3809524dp)\n" +
-                    "\textraSpace: 73.0px (27.809525dp)\n" +
-                    "\tunscaled extraSpace: 73.0px (27.809525dp)\n" +
-                    "\tmaxEmptySpace: 0.0px (0.0dp)\n" +
-                    "\tworkspaceTopPadding: 0.0px (0.0dp)\n" +
-                    "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 63.0px (24.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 16.0px (6.095238dp)\n" +
-                    "\tdropTargetBarSizePx: 95.0px (36.190475dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 16.0px (6.095238dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 201.0px (76.57143dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 952.0px (362.66666dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.79639447px (0.30338836dp)\n" +
-                    "\tgetCellLayoutHeight(): 943.0px (359.2381dp)\n" +
-                    "\tgetCellLayoutWidth(): 2073.0px (789.7143dp)\n"
-            )
+        assertDump(dp, "phoneVerticalBar")
     }
 
     @Test
@@ -585,136 +69,7 @@
         val dp = getDeviceProfileForGrid("6_by_5")
         dp.isTaskbarPresentInApps = true
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.0 px\n" +
-                    "\tisTablet:true\n" +
-                    "\tisPhone:false\n" +
-                    "\ttransposeLayoutWithOrientation:false\n" +
-                    "\tisGestureMode:false\n" +
-                    "\tisLandscape:true\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:false\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 2560.0px (1280.0dp)\n" +
-                    "\theightPx: 1600.0px (800.0dp)\n" +
-                    "\tavailableWidthPx: 2560.0px (1280.0dp)\n" +
-                    "\tavailableHeightPx: 1496.0px (748.0dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 104.0px (52.0dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 0.0px (0.0dp)\n" +
-                    "\taspectRatio:1.6\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:true\n" +
-                    "\tinv.numRows: 5\n" +
-                    "\tinv.numColumns: 6\n" +
-                    "\tinv.numSearchContainerColumns: 3\n" +
-                    "\tminCellSize: PointF(120.0, 104.0)dp\n" +
-                    "\tcellWidthPx: 240.0px (120.0dp)\n" +
-                    "\tcellHeightPx: 208.0px (104.0dp)\n" +
-                    "\tgetCellSize().x: 240.0px (120.0dp)\n" +
-                    "\tgetCellSize().y: 208.0px (104.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 128.0px (64.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 32.0px (16.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 59.0px (29.5dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 25.0px (12.5dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 59.0px (29.5dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 59.0px (29.5dp)\n" +
-                    "\ticonSizePx: 120.0px (60.0dp)\n" +
-                    "\ticonTextSizePx: 28.0px (14.0dp)\n" +
-                    "\ticonDrawablePaddingPx: 9.0px (4.5dp)\n" +
-                    "\tinv.numFolderRows: 3\n" +
-                    "\tinv.numFolderColumns: 3\n" +
-                    "\tfolderCellWidthPx: 240.0px (120.0dp)\n" +
-                    "\tfolderCellHeightPx: 208.0px (104.0dp)\n" +
-                    "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" +
-                    "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 11.0px (5.5dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" +
-                    "\tfolderTopPadding: 48.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 112.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 104.0px (52.0dp)\n" +
-                    "\tbottomSheetOpenDuration: 500\n" +
-                    "\tbottomSheetCloseDuration: 500\n" +
-                    "\tbottomSheetWorkspaceScale: 0.97\n" +
-                    "\tbottomSheetDepth: 0.0\n" +
-                    "\tallAppsShiftRange: 1496.0px (748.0dp)\n" +
-                    "\tallAppsTopPadding: 104.0px (52.0dp)\n" +
-                    "\tallAppsOpenDuration: 500\n" +
-                    "\tallAppsCloseDuration: 500\n" +
-                    "\tallAppsIconSizePx: 120.0px (60.0dp)\n" +
-                    "\tallAppsIconTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 9.0px (4.5dp)\n" +
-                    "\tallAppsCellHeightPx: 284.0px (142.0dp)\n" +
-                    "\tallAppsCellWidthPx: 252.0px (126.0dp)\n" +
-                    "\tallAppsBorderSpacePxX: 32.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 32.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 6\n" +
-                    "\tallAppsLeftRightPadding: 32.0px (16.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 412.0px (206.0dp)\n" +
-                    "\thotseatBarSizePx: 200.0px (100.0dp)\n" +
-                    "\tinv.hotseatColumnSpan: 4\n" +
-                    "\thotseatCellHeightPx: 135.0px (67.5dp)\n" +
-                    "\thotseatBarBottomSpacePx: 80.0px (40.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 128.0px (64.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 65.0px (32.5dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 668.0px (334.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 668.0px (334.0dp)\n" +
-                    "\tnumShownHotseatIcons: 6\n" +
-                    "\thotseatBorderSpace: 100.0px (50.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 1224.0px (612.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:true\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 240.0px (120.0dp)\n" +
-                    "\tworkspacePadding.left: 181.0px (90.5dp)\n" +
-                    "\tworkspacePadding.top: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.right: 181.0px (90.5dp)\n" +
-                    "\tworkspacePadding.bottom: 244.0px (122.0dp)\n" +
-                    "\ticonScale: 1.0px (0.5dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.5dp)\n" +
-                    "\textraSpace: 80.0px (40.0dp)\n" +
-                    "\tunscaled extraSpace: 80.0px (40.0dp)\n" +
-                    "\tmaxEmptySpace: 200.0px (100.0dp)\n" +
-                    "\tworkspaceTopPadding: 25.0px (12.5dp)\n" +
-                    "\tworkspaceBottomPadding: 55.0px (27.5dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarSizePx: 144.0px (72.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 64.0px (32.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 312.0px (156.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 1272.0px (636.0dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.76677316px (0.38338658dp)\n" +
-                    "\tgetCellLayoutHeight(): 1252.0px (626.0dp)\n" +
-                    "\tgetCellLayoutWidth(): 2198.0px (1099.0dp)\n"
-            )
+        assertDump(dp, "tabletLandscape3Button")
     }
 
     @Test
@@ -723,136 +78,7 @@
         val dp = getDeviceProfileForGrid("6_by_5")
         dp.isTaskbarPresentInApps = true
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.0 px\n" +
-                    "\tisTablet:true\n" +
-                    "\tisPhone:false\n" +
-                    "\ttransposeLayoutWithOrientation:false\n" +
-                    "\tisGestureMode:true\n" +
-                    "\tisLandscape:true\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:false\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 2560.0px (1280.0dp)\n" +
-                    "\theightPx: 1600.0px (800.0dp)\n" +
-                    "\tavailableWidthPx: 2560.0px (1280.0dp)\n" +
-                    "\tavailableHeightPx: 1496.0px (748.0dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 104.0px (52.0dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 0.0px (0.0dp)\n" +
-                    "\taspectRatio:1.6\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:true\n" +
-                    "\tinv.numRows: 5\n" +
-                    "\tinv.numColumns: 6\n" +
-                    "\tinv.numSearchContainerColumns: 3\n" +
-                    "\tminCellSize: PointF(120.0, 104.0)dp\n" +
-                    "\tcellWidthPx: 240.0px (120.0dp)\n" +
-                    "\tcellHeightPx: 208.0px (104.0dp)\n" +
-                    "\tgetCellSize().x: 240.0px (120.0dp)\n" +
-                    "\tgetCellSize().y: 208.0px (104.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 128.0px (64.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 32.0px (16.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 59.0px (29.5dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 25.0px (12.5dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 59.0px (29.5dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 59.0px (29.5dp)\n" +
-                    "\ticonSizePx: 120.0px (60.0dp)\n" +
-                    "\ticonTextSizePx: 28.0px (14.0dp)\n" +
-                    "\ticonDrawablePaddingPx: 9.0px (4.5dp)\n" +
-                    "\tinv.numFolderRows: 3\n" +
-                    "\tinv.numFolderColumns: 3\n" +
-                    "\tfolderCellWidthPx: 240.0px (120.0dp)\n" +
-                    "\tfolderCellHeightPx: 208.0px (104.0dp)\n" +
-                    "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" +
-                    "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 11.0px (5.5dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" +
-                    "\tfolderTopPadding: 48.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 112.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 104.0px (52.0dp)\n" +
-                    "\tbottomSheetOpenDuration: 500\n" +
-                    "\tbottomSheetCloseDuration: 500\n" +
-                    "\tbottomSheetWorkspaceScale: 0.97\n" +
-                    "\tbottomSheetDepth: 0.0\n" +
-                    "\tallAppsShiftRange: 1496.0px (748.0dp)\n" +
-                    "\tallAppsTopPadding: 104.0px (52.0dp)\n" +
-                    "\tallAppsOpenDuration: 500\n" +
-                    "\tallAppsCloseDuration: 500\n" +
-                    "\tallAppsIconSizePx: 120.0px (60.0dp)\n" +
-                    "\tallAppsIconTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 9.0px (4.5dp)\n" +
-                    "\tallAppsCellHeightPx: 284.0px (142.0dp)\n" +
-                    "\tallAppsCellWidthPx: 252.0px (126.0dp)\n" +
-                    "\tallAppsBorderSpacePxX: 32.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 32.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 6\n" +
-                    "\tallAppsLeftRightPadding: 32.0px (16.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 412.0px (206.0dp)\n" +
-                    "\thotseatBarSizePx: 200.0px (100.0dp)\n" +
-                    "\tinv.hotseatColumnSpan: 4\n" +
-                    "\thotseatCellHeightPx: 135.0px (67.5dp)\n" +
-                    "\thotseatBarBottomSpacePx: 80.0px (40.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 128.0px (64.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 65.0px (32.5dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 668.0px (334.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 668.0px (334.0dp)\n" +
-                    "\tnumShownHotseatIcons: 6\n" +
-                    "\thotseatBorderSpace: 100.0px (50.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 1224.0px (612.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:true\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 240.0px (120.0dp)\n" +
-                    "\tworkspacePadding.left: 181.0px (90.5dp)\n" +
-                    "\tworkspacePadding.top: 0.0px (0.0dp)\n" +
-                    "\tworkspacePadding.right: 181.0px (90.5dp)\n" +
-                    "\tworkspacePadding.bottom: 244.0px (122.0dp)\n" +
-                    "\ticonScale: 1.0px (0.5dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.5dp)\n" +
-                    "\textraSpace: 80.0px (40.0dp)\n" +
-                    "\tunscaled extraSpace: 80.0px (40.0dp)\n" +
-                    "\tmaxEmptySpace: 200.0px (100.0dp)\n" +
-                    "\tworkspaceTopPadding: 25.0px (12.5dp)\n" +
-                    "\tworkspaceBottomPadding: 55.0px (27.5dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarSizePx: 144.0px (72.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 64.0px (32.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 312.0px (156.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 1272.0px (636.0dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.76677316px (0.38338658dp)\n" +
-                    "\tgetCellLayoutHeight(): 1252.0px (626.0dp)\n" +
-                    "\tgetCellLayoutWidth(): 2198.0px (1099.0dp)\n"
-            )
+        assertDump(dp, "tabletLandscape")
     }
 
     @Test
@@ -861,136 +87,7 @@
         val dp = getDeviceProfileForGrid("6_by_5")
         dp.isTaskbarPresentInApps = true
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.0 px\n" +
-                    "\tisTablet:true\n" +
-                    "\tisPhone:false\n" +
-                    "\ttransposeLayoutWithOrientation:false\n" +
-                    "\tisGestureMode:false\n" +
-                    "\tisLandscape:false\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:false\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 1600.0px (800.0dp)\n" +
-                    "\theightPx: 2560.0px (1280.0dp)\n" +
-                    "\tavailableWidthPx: 1600.0px (800.0dp)\n" +
-                    "\tavailableHeightPx: 2456.0px (1228.0dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 104.0px (52.0dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 0.0px (0.0dp)\n" +
-                    "\taspectRatio:1.6\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:true\n" +
-                    "\tinv.numRows: 5\n" +
-                    "\tinv.numColumns: 6\n" +
-                    "\tinv.numSearchContainerColumns: 3\n" +
-                    "\tminCellSize: PointF(102.0, 120.0)dp\n" +
-                    "\tcellWidthPx: 204.0px (102.0dp)\n" +
-                    "\tcellHeightPx: 240.0px (120.0dp)\n" +
-                    "\tgetCellSize().x: 204.0px (102.0dp)\n" +
-                    "\tgetCellSize().y: 240.0px (120.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 32.0px (16.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 128.0px (64.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 72.0px (36.0dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 72.0px (36.0dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 72.0px (36.0dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 72.0px (36.0dp)\n" +
-                    "\ticonSizePx: 120.0px (60.0dp)\n" +
-                    "\ticonTextSizePx: 28.0px (14.0dp)\n" +
-                    "\ticonDrawablePaddingPx: 9.0px (4.5dp)\n" +
-                    "\tinv.numFolderRows: 3\n" +
-                    "\tinv.numFolderColumns: 3\n" +
-                    "\tfolderCellWidthPx: 204.0px (102.0dp)\n" +
-                    "\tfolderCellHeightPx: 240.0px (120.0dp)\n" +
-                    "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" +
-                    "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 22.0px (11.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" +
-                    "\tfolderTopPadding: 48.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 112.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 704.0px (352.0dp)\n" +
-                    "\tbottomSheetOpenDuration: 500\n" +
-                    "\tbottomSheetCloseDuration: 500\n" +
-                    "\tbottomSheetWorkspaceScale: 0.97\n" +
-                    "\tbottomSheetDepth: 0.0\n" +
-                    "\tallAppsShiftRange: 1810.0px (905.0dp)\n" +
-                    "\tallAppsTopPadding: 750.0px (375.0dp)\n" +
-                    "\tallAppsOpenDuration: 500\n" +
-                    "\tallAppsCloseDuration: 500\n" +
-                    "\tallAppsIconSizePx: 120.0px (60.0dp)\n" +
-                    "\tallAppsIconTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 9.0px (4.5dp)\n" +
-                    "\tallAppsCellHeightPx: 316.0px (158.0dp)\n" +
-                    "\tallAppsCellWidthPx: 192.0px (96.0dp)\n" +
-                    "\tallAppsBorderSpacePxX: 16.0px (8.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 32.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 6\n" +
-                    "\tallAppsLeftRightPadding: 32.0px (16.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 152.0px (76.0dp)\n" +
-                    "\thotseatBarSizePx: 272.0px (136.0dp)\n" +
-                    "\tinv.hotseatColumnSpan: 6\n" +
-                    "\thotseatCellHeightPx: 135.0px (67.5dp)\n" +
-                    "\thotseatBarBottomSpacePx: 152.0px (76.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 216.0px (108.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 137.0px (68.5dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 150.0px (75.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 150.0px (75.0dp)\n" +
-                    "\tnumShownHotseatIcons: 6\n" +
-                    "\thotseatBorderSpace: 116.0px (58.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 1300.0px (650.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:true\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 108.0px (54.0dp)\n" +
-                    "\tworkspacePadding.left: 36.0px (18.0dp)\n" +
-                    "\tworkspacePadding.top: 132.0px (66.0dp)\n" +
-                    "\tworkspacePadding.right: 36.0px (18.0dp)\n" +
-                    "\tworkspacePadding.bottom: 468.0px (234.0dp)\n" +
-                    "\ticonScale: 1.0px (0.5dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.5dp)\n" +
-                    "\textraSpace: 424.0px (212.0dp)\n" +
-                    "\tunscaled extraSpace: 424.0px (212.0dp)\n" +
-                    "\tmaxEmptySpace: 19998.0px (9999.0dp)\n" +
-                    "\tworkspaceTopPadding: 204.0px (102.0dp)\n" +
-                    "\tworkspaceBottomPadding: 220.0px (110.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 220.0px (110.0dp)\n" +
-                    "\tdropTargetBarSizePx: 144.0px (72.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 96.0px (48.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 564.0px (282.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 2072.0px (1036.0dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.8125px (0.40625dp)\n" +
-                    "\tgetCellLayoutHeight(): 1856.0px (928.0dp)\n" +
-                    "\tgetCellLayoutWidth(): 1528.0px (764.0dp)\n"
-            )
+        assertDump(dp, "tabletPortrait3Button")
     }
 
     @Test
@@ -999,136 +96,7 @@
         val dp = getDeviceProfileForGrid("6_by_5")
         dp.isTaskbarPresentInApps = true
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.0 px\n" +
-                    "\tisTablet:true\n" +
-                    "\tisPhone:false\n" +
-                    "\ttransposeLayoutWithOrientation:false\n" +
-                    "\tisGestureMode:true\n" +
-                    "\tisLandscape:false\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:false\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 1600.0px (800.0dp)\n" +
-                    "\theightPx: 2560.0px (1280.0dp)\n" +
-                    "\tavailableWidthPx: 1600.0px (800.0dp)\n" +
-                    "\tavailableHeightPx: 2456.0px (1228.0dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 104.0px (52.0dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 0.0px (0.0dp)\n" +
-                    "\taspectRatio:1.6\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:true\n" +
-                    "\tinv.numRows: 5\n" +
-                    "\tinv.numColumns: 6\n" +
-                    "\tinv.numSearchContainerColumns: 3\n" +
-                    "\tminCellSize: PointF(102.0, 120.0)dp\n" +
-                    "\tcellWidthPx: 204.0px (102.0dp)\n" +
-                    "\tcellHeightPx: 240.0px (120.0dp)\n" +
-                    "\tgetCellSize().x: 204.0px (102.0dp)\n" +
-                    "\tgetCellSize().y: 240.0px (120.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 32.0px (16.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 128.0px (64.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 72.0px (36.0dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 72.0px (36.0dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 72.0px (36.0dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 72.0px (36.0dp)\n" +
-                    "\ticonSizePx: 120.0px (60.0dp)\n" +
-                    "\ticonTextSizePx: 28.0px (14.0dp)\n" +
-                    "\ticonDrawablePaddingPx: 9.0px (4.5dp)\n" +
-                    "\tinv.numFolderRows: 3\n" +
-                    "\tinv.numFolderColumns: 3\n" +
-                    "\tfolderCellWidthPx: 204.0px (102.0dp)\n" +
-                    "\tfolderCellHeightPx: 240.0px (120.0dp)\n" +
-                    "\tfolderChildIconSizePx: 120.0px (60.0dp)\n" +
-                    "\tfolderChildTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 22.0px (11.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 0.0px (0.0dp)\n" +
-                    "\tfolderTopPadding: 48.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 112.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 704.0px (352.0dp)\n" +
-                    "\tbottomSheetOpenDuration: 500\n" +
-                    "\tbottomSheetCloseDuration: 500\n" +
-                    "\tbottomSheetWorkspaceScale: 0.97\n" +
-                    "\tbottomSheetDepth: 0.0\n" +
-                    "\tallAppsShiftRange: 1810.0px (905.0dp)\n" +
-                    "\tallAppsTopPadding: 750.0px (375.0dp)\n" +
-                    "\tallAppsOpenDuration: 500\n" +
-                    "\tallAppsCloseDuration: 500\n" +
-                    "\tallAppsIconSizePx: 120.0px (60.0dp)\n" +
-                    "\tallAppsIconTextSizePx: 28.0px (14.0dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 9.0px (4.5dp)\n" +
-                    "\tallAppsCellHeightPx: 316.0px (158.0dp)\n" +
-                    "\tallAppsCellWidthPx: 192.0px (96.0dp)\n" +
-                    "\tallAppsBorderSpacePxX: 16.0px (8.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 32.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 6\n" +
-                    "\tallAppsLeftRightPadding: 32.0px (16.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 152.0px (76.0dp)\n" +
-                    "\thotseatBarSizePx: 272.0px (136.0dp)\n" +
-                    "\tinv.hotseatColumnSpan: 6\n" +
-                    "\thotseatCellHeightPx: 135.0px (67.5dp)\n" +
-                    "\thotseatBarBottomSpacePx: 152.0px (76.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 216.0px (108.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 137.0px (68.5dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 150.0px (75.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 150.0px (75.0dp)\n" +
-                    "\tnumShownHotseatIcons: 6\n" +
-                    "\thotseatBorderSpace: 116.0px (58.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 1300.0px (650.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:true\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 108.0px (54.0dp)\n" +
-                    "\tworkspacePadding.left: 36.0px (18.0dp)\n" +
-                    "\tworkspacePadding.top: 132.0px (66.0dp)\n" +
-                    "\tworkspacePadding.right: 36.0px (18.0dp)\n" +
-                    "\tworkspacePadding.bottom: 468.0px (234.0dp)\n" +
-                    "\ticonScale: 1.0px (0.5dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.5dp)\n" +
-                    "\textraSpace: 424.0px (212.0dp)\n" +
-                    "\tunscaled extraSpace: 424.0px (212.0dp)\n" +
-                    "\tmaxEmptySpace: 19998.0px (9999.0dp)\n" +
-                    "\tworkspaceTopPadding: 204.0px (102.0dp)\n" +
-                    "\tworkspaceBottomPadding: 220.0px (110.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 220.0px (110.0dp)\n" +
-                    "\tdropTargetBarSizePx: 144.0px (72.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 96.0px (48.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 564.0px (282.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 2072.0px (1036.0dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 48.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.8125px (0.40625dp)\n" +
-                    "\tgetCellLayoutHeight(): 1856.0px (928.0dp)\n" +
-                    "\tgetCellLayoutWidth(): 1528.0px (764.0dp)\n"
-            )
+        assertDump(dp, "tabletPortrait")
     }
 
     @Test
@@ -1142,136 +110,7 @@
         val dp = getDeviceProfileForGrid("4_by_4")
         dp.isTaskbarPresentInApps = true
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.625 px\n" +
-                    "\tisTablet:true\n" +
-                    "\tisPhone:false\n" +
-                    "\ttransposeLayoutWithOrientation:false\n" +
-                    "\tisGestureMode:false\n" +
-                    "\tisLandscape:true\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:true\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 2208.0px (841.1429dp)\n" +
-                    "\theightPx: 1840.0px (700.9524dp)\n" +
-                    "\tavailableWidthPx: 2208.0px (841.1429dp)\n" +
-                    "\tavailableHeightPx: 1730.0px (659.0476dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 110.0px (41.904762dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 0.0px (0.0dp)\n" +
-                    "\taspectRatio:1.2\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:false\n" +
-                    "\tinv.numRows: 4\n" +
-                    "\tinv.numColumns: 4\n" +
-                    "\tinv.numSearchContainerColumns: 4\n" +
-                    "\tminCellSize: PointF(0.0, 0.0)dp\n" +
-                    "\tcellWidthPx: 154.0px (58.666668dp)\n" +
-                    "\tcellHeightPx: 218.0px (83.04762dp)\n" +
-                    "\tgetCellSize().x: 270.0px (102.85714dp)\n" +
-                    "\tgetCellSize().y: 342.0px (130.28572dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 0.0px (0.0dp)\n" +
-                    "\ticonSizePx: 141.0px (53.714287dp)\n" +
-                    "\ticonTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\ticonDrawablePaddingPx: 13.0px (4.952381dp)\n" +
-                    "\tinv.numFolderRows: 3\n" +
-                    "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 189.0px (72.0dp)\n" +
-                    "\tfolderCellHeightPx: 219.0px (83.42857dp)\n" +
-                    "\tfolderChildIconSizePx: 141.0px (53.714287dp)\n" +
-                    "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 5.0px (1.9047619dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 63.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 147.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 110.0px (41.904762dp)\n" +
-                    "\tbottomSheetOpenDuration: 500\n" +
-                    "\tbottomSheetCloseDuration: 500\n" +
-                    "\tbottomSheetWorkspaceScale: 0.97\n" +
-                    "\tbottomSheetDepth: 1.0\n" +
-                    "\tallAppsShiftRange: 1730.0px (659.0476dp)\n" +
-                    "\tallAppsTopPadding: 110.0px (41.904762dp)\n" +
-                    "\tallAppsOpenDuration: 500\n" +
-                    "\tallAppsCloseDuration: 500\n" +
-                    "\tallAppsIconSizePx: 141.0px (53.714287dp)\n" +
-                    "\tallAppsIconTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" +
-                    "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" +
-                    "\tallAppsCellWidthPx: 183.0px (69.71429dp)\n" +
-                    "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 8\n" +
-                    "\tallAppsLeftRightPadding: 42.0px (16.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 183.0px (69.71429dp)\n" +
-                    "\thotseatBarSizePx: 267.0px (101.71429dp)\n" +
-                    "\tinv.hotseatColumnSpan: 4\n" +
-                    "\thotseatCellHeightPx: 159.0px (60.57143dp)\n" +
-                    "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 116.0px (44.190475dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 113.0px (43.04762dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 113.0px (43.04762dp)\n" +
-                    "\tnumShownHotseatIcons: 6\n" +
-                    "\thotseatBorderSpace: 0.0px (0.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 0.0px (0.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:true\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.left: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.top: 30.0px (11.428572dp)\n" +
-                    "\tworkspacePadding.right: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.bottom: 330.0px (125.71429dp)\n" +
-                    "\ticonScale: 1.0px (0.3809524dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.3809524dp)\n" +
-                    "\textraSpace: 498.0px (189.71428dp)\n" +
-                    "\tunscaled extraSpace: 498.0px (189.71428dp)\n" +
-                    "\tmaxEmptySpace: 0.0px (0.0dp)\n" +
-                    "\tworkspaceTopPadding: 0.0px (0.0dp)\n" +
-                    "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 299.0px (113.90476dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 1457.0px (555.0476dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.8452555px (0.32200208dp)\n" +
-                    "\tgetCellLayoutHeight(): 1370.0px (521.9048dp)\n" +
-                    "\tgetCellLayoutWidth(): 1083.0px (412.57144dp)\n"
-            )
+        assertDump(dp, "twoPanelLandscape3Button")
     }
 
     @Test
@@ -1284,136 +123,7 @@
         val dp = getDeviceProfileForGrid("4_by_4")
         dp.isTaskbarPresentInApps = true
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.625 px\n" +
-                    "\tisTablet:true\n" +
-                    "\tisPhone:false\n" +
-                    "\ttransposeLayoutWithOrientation:false\n" +
-                    "\tisGestureMode:true\n" +
-                    "\tisLandscape:true\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:true\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 2208.0px (841.1429dp)\n" +
-                    "\theightPx: 1840.0px (700.9524dp)\n" +
-                    "\tavailableWidthPx: 2208.0px (841.1429dp)\n" +
-                    "\tavailableHeightPx: 1730.0px (659.0476dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 110.0px (41.904762dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 0.0px (0.0dp)\n" +
-                    "\taspectRatio:1.2\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:false\n" +
-                    "\tinv.numRows: 4\n" +
-                    "\tinv.numColumns: 4\n" +
-                    "\tinv.numSearchContainerColumns: 4\n" +
-                    "\tminCellSize: PointF(0.0, 0.0)dp\n" +
-                    "\tcellWidthPx: 154.0px (58.666668dp)\n" +
-                    "\tcellHeightPx: 218.0px (83.04762dp)\n" +
-                    "\tgetCellSize().x: 270.0px (102.85714dp)\n" +
-                    "\tgetCellSize().y: 342.0px (130.28572dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 0.0px (0.0dp)\n" +
-                    "\ticonSizePx: 141.0px (53.714287dp)\n" +
-                    "\ticonTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\ticonDrawablePaddingPx: 13.0px (4.952381dp)\n" +
-                    "\tinv.numFolderRows: 3\n" +
-                    "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 189.0px (72.0dp)\n" +
-                    "\tfolderCellHeightPx: 219.0px (83.42857dp)\n" +
-                    "\tfolderChildIconSizePx: 141.0px (53.714287dp)\n" +
-                    "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 5.0px (1.9047619dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 63.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 147.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 110.0px (41.904762dp)\n" +
-                    "\tbottomSheetOpenDuration: 500\n" +
-                    "\tbottomSheetCloseDuration: 500\n" +
-                    "\tbottomSheetWorkspaceScale: 0.97\n" +
-                    "\tbottomSheetDepth: 1.0\n" +
-                    "\tallAppsShiftRange: 1730.0px (659.0476dp)\n" +
-                    "\tallAppsTopPadding: 110.0px (41.904762dp)\n" +
-                    "\tallAppsOpenDuration: 500\n" +
-                    "\tallAppsCloseDuration: 500\n" +
-                    "\tallAppsIconSizePx: 141.0px (53.714287dp)\n" +
-                    "\tallAppsIconTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" +
-                    "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" +
-                    "\tallAppsCellWidthPx: 183.0px (69.71429dp)\n" +
-                    "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 8\n" +
-                    "\tallAppsLeftRightPadding: 42.0px (16.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 183.0px (69.71429dp)\n" +
-                    "\thotseatBarSizePx: 267.0px (101.71429dp)\n" +
-                    "\tinv.hotseatColumnSpan: 4\n" +
-                    "\thotseatCellHeightPx: 159.0px (60.57143dp)\n" +
-                    "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 116.0px (44.190475dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 113.0px (43.04762dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 113.0px (43.04762dp)\n" +
-                    "\tnumShownHotseatIcons: 6\n" +
-                    "\thotseatBorderSpace: 0.0px (0.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 0.0px (0.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:true\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.left: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.top: 30.0px (11.428572dp)\n" +
-                    "\tworkspacePadding.right: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.bottom: 330.0px (125.71429dp)\n" +
-                    "\ticonScale: 1.0px (0.3809524dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.3809524dp)\n" +
-                    "\textraSpace: 498.0px (189.71428dp)\n" +
-                    "\tunscaled extraSpace: 498.0px (189.71428dp)\n" +
-                    "\tmaxEmptySpace: 0.0px (0.0dp)\n" +
-                    "\tworkspaceTopPadding: 0.0px (0.0dp)\n" +
-                    "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 299.0px (113.90476dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 1457.0px (555.0476dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.8452555px (0.32200208dp)\n" +
-                    "\tgetCellLayoutHeight(): 1370.0px (521.9048dp)\n" +
-                    "\tgetCellLayoutWidth(): 1083.0px (412.57144dp)\n"
-            )
+        assertDump(dp, "twoPanelLandscape")
     }
 
     @Test
@@ -1426,136 +136,7 @@
         val dp = getDeviceProfileForGrid("4_by_4")
         dp.isTaskbarPresentInApps = true
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.625 px\n" +
-                    "\tisTablet:true\n" +
-                    "\tisPhone:false\n" +
-                    "\ttransposeLayoutWithOrientation:false\n" +
-                    "\tisGestureMode:false\n" +
-                    "\tisLandscape:false\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:true\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 1840.0px (700.9524dp)\n" +
-                    "\theightPx: 2208.0px (841.1429dp)\n" +
-                    "\tavailableWidthPx: 1840.0px (700.9524dp)\n" +
-                    "\tavailableHeightPx: 2075.0px (790.4762dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 133.0px (50.666668dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 0.0px (0.0dp)\n" +
-                    "\taspectRatio:1.2\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:false\n" +
-                    "\tinv.numRows: 4\n" +
-                    "\tinv.numColumns: 4\n" +
-                    "\tinv.numSearchContainerColumns: 4\n" +
-                    "\tminCellSize: PointF(0.0, 0.0)dp\n" +
-                    "\tcellWidthPx: 154.0px (58.666668dp)\n" +
-                    "\tcellHeightPx: 218.0px (83.04762dp)\n" +
-                    "\tgetCellSize().x: 224.0px (85.333336dp)\n" +
-                    "\tgetCellSize().y: 430.0px (163.80952dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 0.0px (0.0dp)\n" +
-                    "\ticonSizePx: 141.0px (53.714287dp)\n" +
-                    "\ticonTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\ticonDrawablePaddingPx: 13.0px (4.952381dp)\n" +
-                    "\tinv.numFolderRows: 3\n" +
-                    "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 189.0px (72.0dp)\n" +
-                    "\tfolderCellHeightPx: 219.0px (83.42857dp)\n" +
-                    "\tfolderChildIconSizePx: 141.0px (53.714287dp)\n" +
-                    "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 5.0px (1.9047619dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 63.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 147.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 133.0px (50.666668dp)\n" +
-                    "\tbottomSheetOpenDuration: 500\n" +
-                    "\tbottomSheetCloseDuration: 500\n" +
-                    "\tbottomSheetWorkspaceScale: 0.97\n" +
-                    "\tbottomSheetDepth: 1.0\n" +
-                    "\tallAppsShiftRange: 1826.0px (695.619dp)\n" +
-                    "\tallAppsTopPadding: 382.0px (145.5238dp)\n" +
-                    "\tallAppsOpenDuration: 500\n" +
-                    "\tallAppsCloseDuration: 500\n" +
-                    "\tallAppsIconSizePx: 141.0px (53.714287dp)\n" +
-                    "\tallAppsIconTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" +
-                    "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" +
-                    "\tallAppsCellWidthPx: 183.0px (69.71429dp)\n" +
-                    "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 8\n" +
-                    "\tallAppsLeftRightPadding: 42.0px (16.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 1.0px (0.3809524dp)\n" +
-                    "\thotseatBarSizePx: 267.0px (101.71429dp)\n" +
-                    "\tinv.hotseatColumnSpan: 4\n" +
-                    "\thotseatCellHeightPx: 159.0px (60.57143dp)\n" +
-                    "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 171.0px (65.14286dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 98.0px (37.333332dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 98.0px (37.333332dp)\n" +
-                    "\tnumShownHotseatIcons: 6\n" +
-                    "\thotseatBorderSpace: 0.0px (0.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 0.0px (0.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:true\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.left: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.top: 24.0px (9.142858dp)\n" +
-                    "\tworkspacePadding.right: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.bottom: 330.0px (125.71429dp)\n" +
-                    "\ticonScale: 1.0px (0.3809524dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.3809524dp)\n" +
-                    "\textraSpace: 849.0px (323.42856dp)\n" +
-                    "\tunscaled extraSpace: 849.0px (323.42856dp)\n" +
-                    "\tmaxEmptySpace: 0.0px (0.0dp)\n" +
-                    "\tworkspaceTopPadding: 0.0px (0.0dp)\n" +
-                    "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 168.0px (64.0dp)\n" +
-                    "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 490.0px (186.66667dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 1770.0px (674.2857dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.7437536px (0.2833347dp)\n" +
-                    "\tgetCellLayoutHeight(): 1721.0px (655.619dp)\n" +
-                    "\tgetCellLayoutWidth(): 899.0px (342.4762dp)\n"
-            )
+        assertDump(dp, "twoPanelPortrait3Button")
     }
 
     @Test
@@ -1564,147 +145,14 @@
         val dp = getDeviceProfileForGrid("4_by_4")
         dp.isTaskbarPresentInApps = true
 
-        assertThat(dump(dp))
-            .isEqualTo(
-                "DeviceProfile:\n" +
-                    "\t1 dp = 2.625 px\n" +
-                    "\tisTablet:true\n" +
-                    "\tisPhone:false\n" +
-                    "\ttransposeLayoutWithOrientation:false\n" +
-                    "\tisGestureMode:true\n" +
-                    "\tisLandscape:false\n" +
-                    "\tisMultiWindowMode:false\n" +
-                    "\tisTwoPanels:true\n" +
-                    "\twindowX: 0.0px (0.0dp)\n" +
-                    "\twindowY: 0.0px (0.0dp)\n" +
-                    "\twidthPx: 1840.0px (700.9524dp)\n" +
-                    "\theightPx: 2208.0px (841.1429dp)\n" +
-                    "\tavailableWidthPx: 1840.0px (700.9524dp)\n" +
-                    "\tavailableHeightPx: 2075.0px (790.4762dp)\n" +
-                    "\tmInsets.left: 0.0px (0.0dp)\n" +
-                    "\tmInsets.top: 133.0px (50.666668dp)\n" +
-                    "\tmInsets.right: 0.0px (0.0dp)\n" +
-                    "\tmInsets.bottom: 0.0px (0.0dp)\n" +
-                    "\taspectRatio:1.2\n" +
-                    "\tisResponsiveGrid:false\n" +
-                    "\tisScalableGrid:false\n" +
-                    "\tinv.numRows: 4\n" +
-                    "\tinv.numColumns: 4\n" +
-                    "\tinv.numSearchContainerColumns: 4\n" +
-                    "\tminCellSize: PointF(0.0, 0.0)dp\n" +
-                    "\tcellWidthPx: 154.0px (58.666668dp)\n" +
-                    "\tcellHeightPx: 218.0px (83.04762dp)\n" +
-                    "\tgetCellSize().x: 224.0px (85.333336dp)\n" +
-                    "\tgetCellSize().y: 430.0px (163.80952dp)\n" +
-                    "\tcellLayoutBorderSpacePx Horizontal: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutBorderSpacePx Vertical: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.left: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.top: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.right: 0.0px (0.0dp)\n" +
-                    "\tcellLayoutPaddingPx.bottom: 0.0px (0.0dp)\n" +
-                    "\ticonSizePx: 141.0px (53.714287dp)\n" +
-                    "\ticonTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\ticonDrawablePaddingPx: 13.0px (4.952381dp)\n" +
-                    "\tinv.numFolderRows: 3\n" +
-                    "\tinv.numFolderColumns: 4\n" +
-                    "\tfolderCellWidthPx: 189.0px (72.0dp)\n" +
-                    "\tfolderCellHeightPx: 219.0px (83.42857dp)\n" +
-                    "\tfolderChildIconSizePx: 141.0px (53.714287dp)\n" +
-                    "\tfolderChildTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\tfolderChildDrawablePaddingPx: 5.0px (1.9047619dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.x: 0.0px (0.0dp)\n" +
-                    "\tfolderCellLayoutBorderSpacePx.y: 0.0px (0.0dp)\n" +
-                    "\tfolderContentPaddingLeftRight: 21.0px (8.0dp)\n" +
-                    "\tfolderTopPadding: 63.0px (24.0dp)\n" +
-                    "\tfolderFooterHeight: 147.0px (56.0dp)\n" +
-                    "\tbottomSheetTopPadding: 133.0px (50.666668dp)\n" +
-                    "\tbottomSheetOpenDuration: 500\n" +
-                    "\tbottomSheetCloseDuration: 500\n" +
-                    "\tbottomSheetWorkspaceScale: 0.97\n" +
-                    "\tbottomSheetDepth: 1.0\n" +
-                    "\tallAppsShiftRange: 1826.0px (695.619dp)\n" +
-                    "\tallAppsTopPadding: 382.0px (145.5238dp)\n" +
-                    "\tallAppsOpenDuration: 500\n" +
-                    "\tallAppsCloseDuration: 500\n" +
-                    "\tallAppsIconSizePx: 141.0px (53.714287dp)\n" +
-                    "\tallAppsIconTextSizePx: 34.0px (12.952381dp)\n" +
-                    "\tallAppsIconDrawablePaddingPx: 21.0px (8.0dp)\n" +
-                    "\tallAppsCellHeightPx: 315.0px (120.0dp)\n" +
-                    "\tallAppsCellWidthPx: 183.0px (69.71429dp)\n" +
-                    "\tallAppsBorderSpacePxX: 42.0px (16.0dp)\n" +
-                    "\tallAppsBorderSpacePxY: 42.0px (16.0dp)\n" +
-                    "\tnumShownAllAppsColumns: 8\n" +
-                    "\tallAppsLeftRightPadding: 42.0px (16.0dp)\n" +
-                    "\tallAppsLeftRightMargin: 1.0px (0.3809524dp)\n" +
-                    "\thotseatBarSizePx: 267.0px (101.71429dp)\n" +
-                    "\tinv.hotseatColumnSpan: 4\n" +
-                    "\thotseatCellHeightPx: 159.0px (60.57143dp)\n" +
-                    "\thotseatBarBottomSpacePx: 126.0px (48.0dp)\n" +
-                    "\thotseatBarSidePaddingStartPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarSidePaddingEndPx: 0.0px (0.0dp)\n" +
-                    "\thotseatBarEndOffset: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbSpace: 0.0px (0.0dp)\n" +
-                    "\thotseatQsbHeight: 0.0px (0.0dp)\n" +
-                    "\tspringLoadedHotseatBarTopMarginPx: 171.0px (65.14286dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).top: 0.0px (0.0dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).bottom: 108.0px (41.142857dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).left: 98.0px (37.333332dp)\n" +
-                    "\tgetHotseatLayoutPadding(context).right: 98.0px (37.333332dp)\n" +
-                    "\tnumShownHotseatIcons: 6\n" +
-                    "\thotseatBorderSpace: 0.0px (0.0dp)\n" +
-                    "\tisQsbInline: false\n" +
-                    "\thotseatQsbWidth: 0.0px (0.0dp)\n" +
-                    "\tisTaskbarPresent:false\n" +
-                    "\tisTaskbarPresentInApps:true\n" +
-                    "\ttaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\tstashedTaskbarHeight: 0.0px (0.0dp)\n" +
-                    "\ttaskbarBottomMargin: 0.0px (0.0dp)\n" +
-                    "\ttaskbarIconSize: 0.0px (0.0dp)\n" +
-                    "\tdesiredWorkspaceHorizontalMarginPx: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.left: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.top: 24.0px (9.142858dp)\n" +
-                    "\tworkspacePadding.right: 21.0px (8.0dp)\n" +
-                    "\tworkspacePadding.bottom: 330.0px (125.71429dp)\n" +
-                    "\ticonScale: 1.0px (0.3809524dp)\n" +
-                    "\tcellScaleToFit : 1.0px (0.3809524dp)\n" +
-                    "\textraSpace: 849.0px (323.42856dp)\n" +
-                    "\tunscaled extraSpace: 849.0px (323.42856dp)\n" +
-                    "\tmaxEmptySpace: 0.0px (0.0dp)\n" +
-                    "\tworkspaceTopPadding: 0.0px (0.0dp)\n" +
-                    "\tworkspaceBottomPadding: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizePx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskIconDrawableSizeGridPx: 0.0px (0.0dp)\n" +
-                    "\toverviewTaskThumbnailTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsTopMarginPx: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsHeight: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsClaimedSpaceBelow: 0.0px (0.0dp)\n" +
-                    "\toverviewActionsButtonSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewPageSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewRowSpacing: 0.0px (0.0dp)\n" +
-                    "\toverviewGridSideMargin: 0.0px (0.0dp)\n" +
-                    "\tdropTargetBarTopMarginPx: 168.0px (64.0dp)\n" +
-                    "\tdropTargetBarSizePx: 147.0px (56.0dp)\n" +
-                    "\tdropTargetBarBottomMarginPx: 42.0px (16.0dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkTop(): 490.0px (186.66667dp)\n" +
-                    "\tgetCellLayoutSpringLoadShrunkBottom(): 1770.0px (674.2857dp)\n" +
-                    "\tworkspaceSpringLoadedMinNextPageVisiblePx: 63.0px (24.0dp)\n" +
-                    "\tgetWorkspaceSpringLoadScale(): 0.7437536px (0.2833347dp)\n" +
-                    "\tgetCellLayoutHeight(): 1721.0px (655.619dp)\n" +
-                    "\tgetCellLayoutWidth(): 899.0px (342.4762dp)\n"
-            )
+        assertDump(dp, "twoPanelPortrait")
     }
 
     private fun getDeviceProfileForGrid(gridName: String): DeviceProfile {
         return InvariantDeviceProfile(context, gridName).getDeviceProfile(context)
     }
 
-    private fun dump(dp: DeviceProfile): String {
-        val stringWriter = StringWriter()
-        val printWriter = PrintWriter(stringWriter)
-        dp.dump(context, "", printWriter)
-        printWriter.flush()
-        return stringWriter.toString()
+    private fun assertDump(dp: DeviceProfile, filename: String) {
+        assertDump(dp, folderName, filename);
     }
 }
diff --git a/tests/src/com/android/launcher3/nonquickstep/HotseatWidthCalculationTest.kt b/tests/src/com/android/launcher3/nonquickstep/HotseatWidthCalculationTest.kt
index d102397..9912a34 100644
--- a/tests/src/com/android/launcher3/nonquickstep/HotseatWidthCalculationTest.kt
+++ b/tests/src/com/android/launcher3/nonquickstep/HotseatWidthCalculationTest.kt
@@ -47,7 +47,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(177)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1445)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1435)
     }
 
     /**
@@ -69,7 +69,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(110)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1080)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1070)
     }
 
     /**
@@ -90,7 +90,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(370)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1468)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1455)
     }
 
     /**
@@ -115,7 +115,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(668)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1224)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1214)
     }
 
     /** This is a case when after setting the hotseat, the QSB width needs to be changed to fit */
@@ -134,7 +134,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(640)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1179)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1169)
     }
 
     /**
@@ -156,7 +156,7 @@
         assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(582)
 
         assertThat(dp.isQsbInline).isFalse()
-        assertThat(dp.hotseatQsbWidth).isEqualTo(1095)
+        assertThat(dp.hotseatQsbWidth).isEqualTo(1085)
     }
 
     @Test
@@ -176,7 +176,7 @@
 
             assertThat(dp.getHotseatLayoutPadding(context).left).isEqualTo(177)
             assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(177)
-            assertThat(dp.hotseatQsbWidth).isEqualTo(1445)
+            assertThat(dp.hotseatQsbWidth).isEqualTo(1435)
         }
     }
 }
diff --git a/tests/src/com/android/launcher3/popup/PopupPopulatorTest.java b/tests/src/com/android/launcher3/popup/PopupPopulatorTest.java
index 6764e09..f3eb0a9 100644
--- a/tests/src/com/android/launcher3/popup/PopupPopulatorTest.java
+++ b/tests/src/com/android/launcher3/popup/PopupPopulatorTest.java
@@ -64,34 +64,14 @@
                 MAX_SHORTCUTS - NUM_DYNAMIC, NUM_DYNAMIC);
     }
 
-    @Test
-    public void testDeDupeShortcutId() {
-        // Successfully remove one of the shortcuts
-        filterShortcutsAndAssertNumStaticAndDynamic(createShortcutsList(3, 0), 2, 0, generateId(true, 1));
-        filterShortcutsAndAssertNumStaticAndDynamic(createShortcutsList(0, 3), 0, 2, generateId(false, 1));
-        filterShortcutsAndAssertNumStaticAndDynamic(createShortcutsList(2, 2), 2, 1, generateId(false, 1));
-        filterShortcutsAndAssertNumStaticAndDynamic(createShortcutsList(2, 2), 1, 2, generateId(true, 1));
-        // Successfully keep all shortcuts when id doesn't exist
-        filterShortcutsAndAssertNumStaticAndDynamic(createShortcutsList(3, 0), 3, 0, generateId(false, 1));
-        filterShortcutsAndAssertNumStaticAndDynamic(createShortcutsList(3, 0), 3, 0, generateId(true, 4));
-        filterShortcutsAndAssertNumStaticAndDynamic(createShortcutsList(2, 2), 2, 2, generateId(false, 4));
-        filterShortcutsAndAssertNumStaticAndDynamic(createShortcutsList(2, 2), 2, 2, generateId(true, 4));
-    }
-
     private String generateId(boolean isStatic, int rank) {
         return (isStatic ? "static" : "dynamic") + rank;
     }
 
     private void filterShortcutsAndAssertNumStaticAndDynamic(
             List<ShortcutInfo> shortcuts, int expectedStatic, int expectedDynamic) {
-        filterShortcutsAndAssertNumStaticAndDynamic(shortcuts, expectedStatic, expectedDynamic, null);
-    }
-
-    private void filterShortcutsAndAssertNumStaticAndDynamic(List<ShortcutInfo> shortcuts,
-            int expectedStatic, int expectedDynamic, String shortcutIdToRemove) {
         Collections.shuffle(shortcuts);
-        List<ShortcutInfo> filteredShortcuts = PopupPopulator.sortAndFilterShortcuts(
-                shortcuts, shortcutIdToRemove);
+        List<ShortcutInfo> filteredShortcuts = PopupPopulator.sortAndFilterShortcuts(shortcuts);
         assertIsSorted(filteredShortcuts);
 
         int numStatic = 0;
diff --git a/tests/src/com/android/launcher3/provider/RestoreDbTaskTest.java b/tests/src/com/android/launcher3/provider/RestoreDbTaskTest.java
index 73bb586..733f1e9 100644
--- a/tests/src/com/android/launcher3/provider/RestoreDbTaskTest.java
+++ b/tests/src/com/android/launcher3/provider/RestoreDbTaskTest.java
@@ -19,17 +19,30 @@
 
 import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
 
+import static com.android.launcher3.LauncherPrefs.APP_WIDGET_IDS;
+import static com.android.launcher3.LauncherPrefs.OLD_APP_WIDGET_IDS;
+import static com.android.launcher3.LauncherPrefs.RESTORE_DEVICE;
 import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_DESKTOP;
 import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
 import static com.android.launcher3.LauncherSettings.Favorites.TABLE_NAME;
+import static com.android.launcher3.widget.LauncherWidgetHolder.APPWIDGET_HOST_ID;
+
+import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
 
 import android.app.backup.BackupManager;
+import android.appwidget.AppWidgetHost;
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
@@ -43,15 +56,22 @@
 import androidx.test.filters.SmallTest;
 
 import com.android.launcher3.LauncherAppState;
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.LauncherSettings.Favorites;
+import com.android.launcher3.backuprestore.LauncherRestoreEventLogger;
 import com.android.launcher3.model.ModelDbController;
+import com.android.launcher3.util.IntArray;
 import com.android.launcher3.util.LauncherModelHelper;
 
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+
+import java.util.Arrays;
+import java.util.stream.IntStream;
 
 /**
  * Tests for {@link RestoreDbTask}
@@ -66,16 +86,29 @@
 
     private LauncherModelHelper mModelHelper;
     private Context mContext;
+    private RestoreDbTask mTask;
+    private ModelDbController mMockController;
+    private SQLiteDatabase mMockDb;
+    private Cursor mMockCursor;
+    private LauncherPrefs mPrefs;
+    private LauncherRestoreEventLogger mMockRestoreEventLogger;
 
     @Before
     public void setup() {
         mModelHelper = new LauncherModelHelper();
         mContext = mModelHelper.sandboxContext;
+        mTask = new RestoreDbTask();
+        mMockController = Mockito.mock(ModelDbController.class);
+        mMockDb = mock(SQLiteDatabase.class);
+        mMockCursor = mock(Cursor.class);
+        mPrefs = new LauncherPrefs(mContext);
+        mMockRestoreEventLogger = mock(LauncherRestoreEventLogger.class);
     }
 
     @After
     public void teardown() {
         mModelHelper.destroy();
+        LauncherPrefs.get(mContext).removeSync(RESTORE_DEVICE);
     }
 
     @Test
@@ -148,8 +181,7 @@
         assertEquals(10, getItemCountForProfile(db, myProfileId_old));
         assertEquals(6, getItemCountForProfile(db, workProfileId_old));
 
-        RestoreDbTask task = new RestoreDbTask();
-        task.sanitizeDB(mContext, controller, controller.getDb(), bm);
+        mTask.sanitizeDB(mContext, controller, controller.getDb(), bm, mMockRestoreEventLogger);
 
         // All the data has been migrated to the new user ids
         assertEquals(0, getItemCountForProfile(db, myProfileId_old));
@@ -178,8 +210,7 @@
         assertEquals(10, getItemCountForProfile(db, myProfileId_old));
         assertEquals(6, getItemCountForProfile(db, workProfileId_old));
 
-        RestoreDbTask task = new RestoreDbTask();
-        task.sanitizeDB(mContext, controller, controller.getDb(), bm);
+        mTask.sanitizeDB(mContext, controller, controller.getDb(), bm, mMockRestoreEventLogger);
 
         // All the data has been migrated to the new user ids
         assertEquals(0, getItemCountForProfile(db, myProfileId_old));
@@ -188,6 +219,84 @@
         assertEquals(10, getCount(db, "select * from favorites"));
     }
 
+    @Test
+    public void givenLauncherPrefsHasNoIds_whenRestoreAppWidgetIdsIfExists_thenIdsAreRemoved() {
+        // When
+        mTask.restoreAppWidgetIdsIfExists(mContext, mMockController, mMockRestoreEventLogger);
+        // Then
+        assertThat(mPrefs.has(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)).isFalse();
+    }
+
+    @Test
+    public void givenNoPendingRestore_WhenRestoreAppWidgetIds_ThenRemoveNewWidgetIds() {
+        // Given
+        AppWidgetHost expectedHost = new AppWidgetHost(mContext, APPWIDGET_HOST_ID);
+        int[] expectedOldIds = generateOldWidgetIds(expectedHost);
+        int[] expectedNewIds = generateNewWidgetIds(expectedHost, expectedOldIds);
+        when(mMockController.getDb()).thenReturn(mMockDb);
+        mPrefs.remove(RESTORE_DEVICE);
+
+        // When
+        setRestoredAppWidgetIds(mContext, expectedOldIds, expectedNewIds);
+        mTask.restoreAppWidgetIdsIfExists(mContext, mMockController, mMockRestoreEventLogger);
+
+        // Then
+        assertThat(expectedHost.getAppWidgetIds()).isEqualTo(expectedOldIds);
+        assertThat(mPrefs.has(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)).isFalse();
+        verifyZeroInteractions(mMockController);
+    }
+
+    @Test
+    public void givenRestoreWithNonExistingWidgets_WhenRestoreAppWidgetIds_ThenRemoveNewIds() {
+        // Given
+        AppWidgetHost expectedHost = new AppWidgetHost(mContext, APPWIDGET_HOST_ID);
+        int[] expectedOldIds = generateOldWidgetIds(expectedHost);
+        int[] expectedNewIds = generateNewWidgetIds(expectedHost, expectedOldIds);
+        when(mMockController.getDb()).thenReturn(mMockDb);
+        when(mMockDb.query(any(), any(), any(), any(), any(), any(), any())).thenReturn(
+                mMockCursor);
+        when(mMockCursor.moveToFirst()).thenReturn(false);
+        RestoreDbTask.setPending(mContext);
+
+        // When
+        setRestoredAppWidgetIds(mContext, expectedOldIds, expectedNewIds);
+        mTask.restoreAppWidgetIdsIfExists(mContext, mMockController, mMockRestoreEventLogger);
+
+        // Then
+        assertThat(expectedHost.getAppWidgetIds()).isEqualTo(expectedOldIds);
+        assertThat(mPrefs.has(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)).isFalse();
+        verify(mMockController, times(expectedOldIds.length)).update(any(), any(), any(), any());
+    }
+
+    @Test
+    public void givenRestore_WhenRestoreAppWidgetIds_ThenAddNewIds() {
+        // Given
+        AppWidgetHost expectedHost = new AppWidgetHost(mContext, APPWIDGET_HOST_ID);
+        int[] expectedOldIds = generateOldWidgetIds(expectedHost);
+        int[] expectedNewIds = generateNewWidgetIds(expectedHost, expectedOldIds);
+        int[] allExpectedIds = IntStream.concat(
+                Arrays.stream(expectedOldIds),
+                Arrays.stream(expectedNewIds)
+        ).toArray();
+
+        when(mMockController.getDb()).thenReturn(mMockDb);
+        when(mMockDb.query(any(), any(), any(), any(), any(), any(), any()))
+                .thenReturn(mMockCursor);
+        when(mMockCursor.moveToFirst()).thenReturn(true);
+        when(mMockCursor.getColumnNames()).thenReturn(new String[] {});
+        when(mMockCursor.isAfterLast()).thenReturn(true);
+        RestoreDbTask.setPending(mContext);
+
+        // When
+        setRestoredAppWidgetIds(mContext, expectedOldIds, expectedNewIds);
+        mTask.restoreAppWidgetIdsIfExists(mContext, mMockController, mMockRestoreEventLogger);
+
+        // Then
+        assertThat(expectedHost.getAppWidgetIds()).isEqualTo(allExpectedIds);
+        assertThat(mPrefs.has(OLD_APP_WIDGET_IDS, APP_WIDGET_IDS)).isFalse();
+        verify(mMockController, times(expectedOldIds.length)).update(any(), any(), any(), any());
+    }
+
     private void addIconsBulk(MyModelDbController controller,
             int count, int screen, long profileId) {
         int columns = LauncherAppState.getIDP(mContext).numColumns;
@@ -270,6 +379,19 @@
         }
     }
 
+    private int[] generateOldWidgetIds(AppWidgetHost host) {
+        // generate some widget ids in case there are none
+        host.allocateAppWidgetId();
+        host.allocateAppWidgetId();
+        return host.getAppWidgetIds();
+    }
+
+    private int[] generateNewWidgetIds(AppWidgetHost host, int[] oldWidgetIds) {
+        // map as many new ids as old ids
+        return Arrays.stream(oldWidgetIds)
+                .map(id -> host.allocateAppWidgetId()).toArray();
+    }
+
     private class MyModelDbController extends ModelDbController {
 
         public final LongSparseArray<UserHandle> users = new LongSparseArray<>();
@@ -285,4 +407,10 @@
             return index >= 0 ? users.keyAt(index) : -1;
         }
     }
+
+    private void setRestoredAppWidgetIds(Context context, int[] oldIds, int[] newIds) {
+        LauncherPrefs.get(context).putSync(
+                OLD_APP_WIDGET_IDS.to(IntArray.wrap(oldIds).toConcatString()),
+                APP_WIDGET_IDS.to(IntArray.wrap(newIds).toConcatString()));
+    }
 }
diff --git a/tests/src/com/android/launcher3/responsive/AllAppsSpecsTest.kt b/tests/src/com/android/launcher3/responsive/AllAppsSpecsTest.kt
index cd95e99..c99da96 100644
--- a/tests/src/com/android/launcher3/responsive/AllAppsSpecsTest.kt
+++ b/tests/src/com/android/launcher3/responsive/AllAppsSpecsTest.kt
@@ -21,6 +21,7 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
 import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
 import com.android.launcher3.tests.R as TestR
 import com.android.launcher3.util.TestResourceHelper
 import com.google.common.truth.Truth.assertThat
@@ -32,22 +33,30 @@
 @RunWith(AndroidJUnit4::class)
 class AllAppsSpecsTest : AbstractDeviceProfileTest() {
     override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
+    val deviceSpec = deviceSpecs["phone"]!!
+    val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
 
     @Before
     fun setup() {
-        initializeVarsForPhone(deviceSpecs["phone"]!!)
+        initializeVarsForPhone(deviceSpec)
     }
 
     @Test
     fun parseValidFile() {
         val allAppsSpecs =
-            AllAppsSpecs.create(TestResourceHelper(context!!, TestR.xml.valid_all_apps_file))
-        assertThat(allAppsSpecs.heightSpecs.size).isEqualTo(1)
-        assertThat(allAppsSpecs.heightSpecs[0].toString())
+            ResponsiveSpecsProvider.create(
+                TestResourceHelper(context, TestR.xml.valid_all_apps_file),
+                ResponsiveSpecType.AllApps
+            )
+
+        val specs = allAppsSpecs.getSpecsByAspectRatio(aspectRatio)
+        assertThat(specs.heightSpecs.size).isEqualTo(1)
+        assertThat(specs.heightSpecs[0].toString())
             .isEqualTo(
-                "AllAppsSpec(" +
+                "ResponsiveSpec(" +
                     "maxAvailableSize=26247, " +
-                    "specType=HEIGHT, " +
+                    "dimensionType=HEIGHT, " +
+                    "specType=AllApps, " +
                     "startPadding=SizeSpec(fixedSize=0.0, " +
                     "ofAvailableSpace=0.0, " +
                     "ofRemainderSpace=0.0, " +
@@ -71,12 +80,13 @@
                     ")"
             )
 
-        assertThat(allAppsSpecs.widthSpecs.size).isEqualTo(1)
-        assertThat(allAppsSpecs.widthSpecs[0].toString())
+        assertThat(specs.widthSpecs.size).isEqualTo(1)
+        assertThat(specs.widthSpecs[0].toString())
             .isEqualTo(
-                "AllAppsSpec(" +
+                "ResponsiveSpec(" +
                     "maxAvailableSize=26247, " +
-                    "specType=WIDTH, " +
+                    "dimensionType=WIDTH, " +
+                    "specType=AllApps, " +
                     "startPadding=SizeSpec(fixedSize=0.0, " +
                     "ofAvailableSpace=0.0, " +
                     "ofRemainderSpace=0.0, " +
@@ -103,16 +113,25 @@
 
     @Test(expected = IllegalStateException::class)
     fun parseInvalidFile_missingTag_throwsError() {
-        AllAppsSpecs.create(TestResourceHelper(context!!, TestR.xml.invalid_all_apps_file_case_1))
+        ResponsiveSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_all_apps_file_case_1),
+            ResponsiveSpecType.AllApps
+        )
     }
 
     @Test(expected = IllegalStateException::class)
     fun parseInvalidFile_moreThanOneValuePerTag_throwsError() {
-        AllAppsSpecs.create(TestResourceHelper(context!!, TestR.xml.invalid_all_apps_file_case_2))
+        ResponsiveSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_all_apps_file_case_2),
+            ResponsiveSpecType.AllApps
+        )
     }
 
     @Test(expected = IllegalStateException::class)
     fun parseInvalidFile_valueBiggerThan1_throwsError() {
-        AllAppsSpecs.create(TestResourceHelper(context!!, TestR.xml.invalid_all_apps_file_case_3))
+        ResponsiveSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_all_apps_file_case_3),
+            ResponsiveSpecType.AllApps
+        )
     }
 }
diff --git a/tests/src/com/android/launcher3/responsive/CalculatedAllAppsSpecTest.kt b/tests/src/com/android/launcher3/responsive/CalculatedAllAppsSpecTest.kt
index 0f12e58..1cc5ed2 100644
--- a/tests/src/com/android/launcher3/responsive/CalculatedAllAppsSpecTest.kt
+++ b/tests/src/com/android/launcher3/responsive/CalculatedAllAppsSpecTest.kt
@@ -21,6 +21,8 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
 import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
 import com.android.launcher3.tests.R as TestR
 import com.android.launcher3.util.TestResourceHelper
 import com.google.common.truth.Truth.assertThat
@@ -40,6 +42,7 @@
     @Test
     fun normalPhone_copiesFromWorkspace() {
         val deviceSpec = deviceSpecs["phone"]!!
+        val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
         initializeVarsForPhone(deviceSpec)
 
         val availableWidth = deviceSpec.naturalSize.first
@@ -48,14 +51,30 @@
         val availableHeight = deviceSpec.naturalSize.second - deviceSpec.statusBarNaturalPx - 495
 
         val workspaceSpecs =
-            WorkspaceSpecs.create(TestResourceHelper(context!!, TestR.xml.valid_workspace_file))
-        val widthSpec = workspaceSpecs.getCalculatedWidthSpec(4, availableWidth)
-        val heightSpec = workspaceSpecs.getCalculatedHeightSpec(5, availableHeight)
+            ResponsiveSpecsProvider.create(
+                TestResourceHelper(context, TestR.xml.valid_workspace_file),
+                ResponsiveSpecType.Workspace
+            )
+        val widthSpec =
+            workspaceSpecs.getCalculatedSpec(aspectRatio, DimensionType.WIDTH, 4, availableWidth)
+        val heightSpec =
+            workspaceSpecs.getCalculatedSpec(aspectRatio, DimensionType.HEIGHT, 5, availableHeight)
 
         val allAppsSpecs =
-            AllAppsSpecs.create(TestResourceHelper(context!!, TestR.xml.valid_all_apps_file))
+            ResponsiveSpecsProvider.create(
+                TestResourceHelper(context, TestR.xml.valid_all_apps_file),
+                ResponsiveSpecType.AllApps
+            )
 
-        with(allAppsSpecs.getCalculatedWidthSpec(4, availableWidth, widthSpec)) {
+        with(
+            allAppsSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.WIDTH,
+                4,
+                availableWidth,
+                widthSpec
+            )
+        ) {
             assertThat(availableSpace).isEqualTo(availableWidth)
             assertThat(cells).isEqualTo(4)
             assertThat(startPaddingPx).isEqualTo(widthSpec.startPaddingPx)
@@ -64,7 +83,15 @@
             assertThat(cellSizePx).isEqualTo(widthSpec.cellSizePx)
         }
 
-        with(allAppsSpecs.getCalculatedHeightSpec(5, availableHeight, heightSpec)) {
+        with(
+            allAppsSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.HEIGHT,
+                5,
+                availableHeight,
+                heightSpec
+            )
+        ) {
             assertThat(availableSpace).isEqualTo(availableHeight)
             assertThat(cells).isEqualTo(5)
             assertThat(startPaddingPx).isEqualTo(0)
diff --git a/tests/src/com/android/launcher3/responsive/CalculatedFolderSpecTest.kt b/tests/src/com/android/launcher3/responsive/CalculatedFolderSpecTest.kt
new file mode 100644
index 0000000..c4e2d2a
--- /dev/null
+++ b/tests/src/com/android/launcher3/responsive/CalculatedFolderSpecTest.kt
@@ -0,0 +1,164 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import android.content.Context
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
+import com.android.launcher3.tests.R
+import com.android.launcher3.util.TestResourceHelper
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class CalculatedFolderSpecTest : AbstractDeviceProfileTest() {
+    override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
+    private val deviceSpec = deviceSpecs["phone"]!!
+    private val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
+
+    @Before
+    fun setup() {
+        initializeVarsForPhone(deviceSpec)
+    }
+
+    @Test
+    fun validate_matchWidthWorkspace() {
+        val columns = 6
+
+        // Loading workspace specs
+        val resourceHelperWorkspace = TestResourceHelper(context, R.xml.valid_workspace_file)
+        val workspaceSpecs =
+            ResponsiveSpecsProvider.create(resourceHelperWorkspace, ResponsiveSpecType.Workspace)
+
+        // Loading folders specs
+        val resourceHelperFolder = TestResourceHelper(context, R.xml.valid_folders_specs)
+        val folderSpecs =
+            ResponsiveSpecsProvider.create(resourceHelperFolder, ResponsiveSpecType.Folder)
+        val specs = folderSpecs.getSpecsByAspectRatio(aspectRatio)
+
+        assertThat(specs.widthSpecs.size).isEqualTo(2)
+        assertThat(specs.widthSpecs[0].cellSize.matchWorkspace).isEqualTo(true)
+        assertThat(specs.widthSpecs[1].cellSize.matchWorkspace).isEqualTo(false)
+
+        // Validate width spec <= 800
+        var availableWidth = deviceSpec.naturalSize.first
+        var calculatedWorkspace =
+            workspaceSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.WIDTH,
+                columns,
+                availableWidth
+            )
+        var calculatedWidthFolderSpec =
+            folderSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.WIDTH,
+                columns,
+                availableWidth,
+                calculatedWorkspace
+            )
+        with(calculatedWidthFolderSpec) {
+            assertThat(availableSpace).isEqualTo(availableWidth)
+            assertThat(cells).isEqualTo(columns)
+            assertThat(startPaddingPx).isEqualTo(16.dpToPx())
+            assertThat(endPaddingPx).isEqualTo(16.dpToPx())
+            assertThat(gutterPx).isEqualTo(16.dpToPx())
+            assertThat(cellSizePx).isEqualTo(calculatedWorkspace.cellSizePx)
+        }
+
+        // Validate width spec > 800
+        availableWidth = 2000.dpToPx()
+        calculatedWorkspace =
+            workspaceSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.WIDTH,
+                columns,
+                availableWidth
+            )
+        calculatedWidthFolderSpec =
+            folderSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.WIDTH,
+                columns,
+                availableWidth,
+                calculatedWorkspace
+            )
+        with(calculatedWidthFolderSpec) {
+            assertThat(availableSpace).isEqualTo(availableWidth)
+            assertThat(cells).isEqualTo(columns)
+            assertThat(startPaddingPx).isEqualTo(16.dpToPx())
+            assertThat(endPaddingPx).isEqualTo(16.dpToPx())
+            assertThat(gutterPx).isEqualTo(16.dpToPx())
+            assertThat(cellSizePx).isEqualTo(102.dpToPx())
+        }
+    }
+
+    @Test
+    fun validate_matchHeightWorkspace() {
+        // Hotseat is roughly 495px on a real device, it doesn't need to be precise on unit tests
+        val hotseatSize = 495
+        val statusBarHeight = deviceSpec.statusBarNaturalPx
+        val availableHeight = deviceSpec.naturalSize.second - statusBarHeight - hotseatSize
+        val rows = 5
+
+        // Loading workspace specs
+        val resourceHelperWorkspace = TestResourceHelper(context, R.xml.valid_workspace_file)
+        val workspaceSpecs =
+            ResponsiveSpecsProvider.create(resourceHelperWorkspace, ResponsiveSpecType.Workspace)
+
+        // Loading folders specs
+        val resourceHelperFolder = TestResourceHelper(context, R.xml.valid_folders_specs)
+        val folderSpecs =
+            ResponsiveSpecsProvider.create(resourceHelperFolder, ResponsiveSpecType.Folder)
+        val specs = folderSpecs.getSpecsByAspectRatio(aspectRatio)
+
+        assertThat(specs.heightSpecs.size).isEqualTo(1)
+        assertThat(specs.heightSpecs[0].cellSize.matchWorkspace).isEqualTo(true)
+
+        // Validate height spec
+        val calculatedWorkspace =
+            workspaceSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.HEIGHT,
+                rows,
+                availableHeight
+            )
+        val calculatedFolderSpec =
+            folderSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.HEIGHT,
+                rows,
+                availableHeight,
+                calculatedWorkspace
+            )
+        with(calculatedFolderSpec) {
+            assertThat(availableSpace).isEqualTo(availableHeight)
+            assertThat(cells).isEqualTo(rows)
+            assertThat(startPaddingPx).isEqualTo(24.dpToPx())
+            assertThat(endPaddingPx).isEqualTo(64.dpToPx())
+            assertThat(gutterPx).isEqualTo(16.dpToPx())
+            assertThat(cellSizePx).isEqualTo(calculatedWorkspace.cellSizePx)
+        }
+    }
+}
diff --git a/tests/src/com/android/launcher3/responsive/CalculatedFolderSpecsTest.kt b/tests/src/com/android/launcher3/responsive/CalculatedFolderSpecsTest.kt
deleted file mode 100644
index f2a269a..0000000
--- a/tests/src/com/android/launcher3/responsive/CalculatedFolderSpecsTest.kt
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.responsive
-
-import android.content.Context
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import androidx.test.platform.app.InstrumentationRegistry
-import com.android.launcher3.AbstractDeviceProfileTest
-import com.android.launcher3.tests.R
-import com.android.launcher3.util.TestResourceHelper
-import com.google.common.truth.Truth.assertThat
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class CalculatedFolderSpecsTest : AbstractDeviceProfileTest() {
-    override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
-
-    private val deviceSpec = deviceSpecs["phone"]!!
-
-    @Before
-    fun setup() {
-        initializeVarsForPhone(deviceSpec)
-    }
-
-    @Test
-    fun validate_matchWidthWorkspace() {
-        val columns = 6
-
-        // Loading workspace specs
-        val resourceHelperWorkspace = TestResourceHelper(context!!, R.xml.valid_workspace_file)
-        val workspaceSpecs = WorkspaceSpecs.create(resourceHelperWorkspace)
-
-        // Loading folders specs
-        val resourceHelperFolder = TestResourceHelper(context!!, R.xml.valid_folders_specs)
-        val folderSpecs = FolderSpecs.create(resourceHelperFolder)
-
-        assertThat(folderSpecs.widthSpecs.size).isEqualTo(2)
-        assertThat(folderSpecs.widthSpecs[0].cellSize.matchWorkspace).isEqualTo(true)
-        assertThat(folderSpecs.widthSpecs[1].cellSize.matchWorkspace).isEqualTo(false)
-
-        // Validate width spec <= 800
-        var availableWidth = deviceSpec.naturalSize.first
-        var calculatedWorkspace = workspaceSpecs.getCalculatedWidthSpec(columns, availableWidth)
-        var calculatedWidthFolderSpec =
-            folderSpecs.getCalculatedWidthSpec(columns, availableWidth, calculatedWorkspace)
-        with(calculatedWidthFolderSpec) {
-            assertThat(availableSpace).isEqualTo(availableWidth)
-            assertThat(cells).isEqualTo(columns)
-            assertThat(startPaddingPx).isEqualTo(16.dpToPx())
-            assertThat(endPaddingPx).isEqualTo(16.dpToPx())
-            assertThat(gutterPx).isEqualTo(16.dpToPx())
-            assertThat(cellSizePx).isEqualTo(calculatedWorkspace.cellSizePx)
-        }
-
-        // Validate width spec > 800
-        availableWidth = 2000.dpToPx()
-        calculatedWorkspace = workspaceSpecs.getCalculatedWidthSpec(columns, availableWidth)
-        calculatedWidthFolderSpec =
-            folderSpecs.getCalculatedWidthSpec(columns, availableWidth, calculatedWorkspace)
-        with(calculatedWidthFolderSpec) {
-            assertThat(availableSpace).isEqualTo(availableWidth)
-            assertThat(cells).isEqualTo(columns)
-            assertThat(startPaddingPx).isEqualTo(16.dpToPx())
-            assertThat(endPaddingPx).isEqualTo(16.dpToPx())
-            assertThat(gutterPx).isEqualTo(16.dpToPx())
-            assertThat(cellSizePx).isEqualTo(102.dpToPx())
-        }
-    }
-
-    @Test
-    fun validate_matchHeightWorkspace() {
-        // Hotseat is roughly 495px on a real device, it doesn't need to be precise on unit tests
-        val hotseatSize = 495
-        val statusBarHeight = deviceSpec.statusBarNaturalPx
-        val availableHeight = deviceSpec.naturalSize.second - statusBarHeight - hotseatSize
-        val rows = 5
-
-        // Loading workspace specs
-        val resourceHelperWorkspace = TestResourceHelper(context!!, R.xml.valid_workspace_file)
-        val workspaceSpecs = WorkspaceSpecs.create(resourceHelperWorkspace)
-
-        // Loading folders specs
-        val resourceHelperFolder = TestResourceHelper(context!!, R.xml.valid_folders_specs)
-        val folderSpecs = FolderSpecs.create(resourceHelperFolder)
-
-        assertThat(folderSpecs.heightSpecs.size).isEqualTo(1)
-        assertThat(folderSpecs.heightSpecs[0].cellSize.matchWorkspace).isEqualTo(true)
-
-        // Validate height spec
-        val calculatedWorkspace = workspaceSpecs.getCalculatedHeightSpec(rows, availableHeight)
-        val calculatedFolderSpec =
-            folderSpecs.getCalculatedHeightSpec(rows, availableHeight, calculatedWorkspace)
-        with(calculatedFolderSpec) {
-            assertThat(availableSpace).isEqualTo(availableHeight)
-            assertThat(cells).isEqualTo(rows)
-            assertThat(startPaddingPx).isEqualTo(24.dpToPx())
-            assertThat(endPaddingPx).isEqualTo(64.dpToPx())
-            assertThat(gutterPx).isEqualTo(16.dpToPx())
-            assertThat(cellSizePx).isEqualTo(calculatedWorkspace.cellSizePx)
-        }
-    }
-}
diff --git a/tests/src/com/android/launcher3/responsive/CalculatedHotseatSpecTest.kt b/tests/src/com/android/launcher3/responsive/CalculatedHotseatSpecTest.kt
index 0ecf7ba..1a564ac 100644
--- a/tests/src/com/android/launcher3/responsive/CalculatedHotseatSpecTest.kt
+++ b/tests/src/com/android/launcher3/responsive/CalculatedHotseatSpecTest.kt
@@ -21,6 +21,7 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
 import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
 import com.android.launcher3.tests.R as TestR
 import com.android.launcher3.util.TestResourceHelper
 import com.google.common.truth.Truth.assertThat
@@ -31,6 +32,8 @@
 @RunWith(AndroidJUnit4::class)
 class CalculatedHotseatSpecTest : AbstractDeviceProfileTest() {
     override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
+    val deviceSpec = deviceSpecs["phone"]!!
+    val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
 
     /**
      * This test tests:
@@ -38,18 +41,23 @@
      */
     @Test
     fun normalPhone_returnsSecondBreakpointSpec() {
-        val deviceSpec = deviceSpecs["phone"]!!
         initializeVarsForPhone(deviceSpec)
 
         // Hotseat uses the whole device height
         val availableHeight = deviceSpec.naturalSize.second
 
-        val hotseatSpecs =
-            HotseatSpecs.create(TestResourceHelper(context!!, TestR.xml.valid_hotseat_file))
-        val heightSpec = hotseatSpecs.getCalculatedHeightSpec(availableHeight)
+        val hotseatSpecsProvider =
+            HotseatSpecsProvider.create(TestResourceHelper(context, TestR.xml.valid_hotseat_file))
+        val heightSpec =
+            hotseatSpecsProvider.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.HEIGHT,
+                availableHeight
+            )
 
         assertThat(heightSpec.availableSpace).isEqualTo(availableHeight)
         assertThat(heightSpec.hotseatQsbSpace).isEqualTo(95)
+        assertThat(heightSpec.edgePadding).isEqualTo(126)
     }
 
     /**
@@ -58,18 +66,46 @@
      */
     @Test
     fun smallPhone_returnsFirstBreakpointSpec() {
-        val deviceSpec = deviceSpecs["phone"]!!
         deviceSpec.densityDpi = 540 // larger display size
         initializeVarsForPhone(deviceSpec)
 
         // Hotseat uses the whole device height
         val availableHeight = deviceSpec.naturalSize.second
 
-        val hotseatSpecs =
-            HotseatSpecs.create(TestResourceHelper(context!!, TestR.xml.valid_hotseat_file))
-        val heightSpec = hotseatSpecs.getCalculatedHeightSpec(availableHeight)
+        val hotseatSpecsProvider =
+            HotseatSpecsProvider.create(TestResourceHelper(context, TestR.xml.valid_hotseat_file))
+        val heightSpec =
+            hotseatSpecsProvider.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.HEIGHT,
+                availableHeight
+            )
 
         assertThat(heightSpec.availableSpace).isEqualTo(availableHeight)
         assertThat(heightSpec.hotseatQsbSpace).isEqualTo(81)
+        assertThat(heightSpec.edgePadding).isEqualTo(162)
+    }
+
+    /**
+     * This test tests:
+     * - (width spec) gets the correct breakpoint from the XML - skips the first breakpoint
+     */
+    @Test
+    fun normalPhoneLandscape_returnsSecondBreakpointSpec() {
+        initializeVarsForPhone(deviceSpec, isVerticalBar = true)
+
+        // Hotseat uses the whole device width
+        val availableWidth = deviceSpec.naturalSize.second
+
+        val hotseatSpecsProvider =
+            HotseatSpecsProvider.create(
+                TestResourceHelper(context, TestR.xml.valid_hotseat_land_file)
+            )
+        val widthSpec =
+            hotseatSpecsProvider.getCalculatedSpec(aspectRatio, DimensionType.WIDTH, availableWidth)
+
+        assertThat(widthSpec.availableSpace).isEqualTo(availableWidth)
+        assertThat(widthSpec.hotseatQsbSpace).isEqualTo(0)
+        assertThat(widthSpec.edgePadding).isEqualTo(168)
     }
 }
diff --git a/tests/src/com/android/launcher3/responsive/CalculatedWorkspaceSpecTest.kt b/tests/src/com/android/launcher3/responsive/CalculatedWorkspaceSpecTest.kt
index 0af694e..0c5d347 100644
--- a/tests/src/com/android/launcher3/responsive/CalculatedWorkspaceSpecTest.kt
+++ b/tests/src/com/android/launcher3/responsive/CalculatedWorkspaceSpecTest.kt
@@ -21,6 +21,8 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
 import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
 import com.android.launcher3.tests.R as TestR
 import com.android.launcher3.util.TestResourceHelper
 import com.google.common.truth.Truth.assertThat
@@ -41,6 +43,7 @@
     @Test
     fun normalPhone_returnsThirdBreakpointSpec() {
         val deviceSpec = deviceSpecs["phone"]!!
+        val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
         initializeVarsForPhone(deviceSpec)
 
         val availableWidth = deviceSpec.naturalSize.first
@@ -49,9 +52,14 @@
         val availableHeight = deviceSpec.naturalSize.second - deviceSpec.statusBarNaturalPx - 495
 
         val workspaceSpecs =
-            WorkspaceSpecs.create(TestResourceHelper(context!!, TestR.xml.valid_workspace_file))
-        val widthSpec = workspaceSpecs.getCalculatedWidthSpec(4, availableWidth)
-        val heightSpec = workspaceSpecs.getCalculatedHeightSpec(5, availableHeight)
+            ResponsiveSpecsProvider.create(
+                TestResourceHelper(context, TestR.xml.valid_workspace_file),
+                ResponsiveSpecType.Workspace
+            )
+        val widthSpec =
+            workspaceSpecs.getCalculatedSpec(aspectRatio, DimensionType.WIDTH, 4, availableWidth)
+        val heightSpec =
+            workspaceSpecs.getCalculatedSpec(aspectRatio, DimensionType.HEIGHT, 5, availableHeight)
 
         assertThat(widthSpec.availableSpace).isEqualTo(availableWidth)
         assertThat(widthSpec.cells).isEqualTo(4)
@@ -77,6 +85,7 @@
     @Test
     fun smallPhone_returnsFirstBreakpointSpec() {
         val deviceSpec = deviceSpecs["phone"]!!
+        val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
         deviceSpec.densityDpi = 540 // larger display size
         initializeVarsForPhone(deviceSpec)
 
@@ -86,9 +95,56 @@
         val availableHeight = deviceSpec.naturalSize.second - deviceSpec.statusBarNaturalPx - 640
 
         val workspaceSpecs =
-            WorkspaceSpecs.create(TestResourceHelper(context!!, TestR.xml.valid_workspace_file))
-        val widthSpec = workspaceSpecs.getCalculatedWidthSpec(4, availableWidth)
-        val heightSpec = workspaceSpecs.getCalculatedHeightSpec(5, availableHeight)
+            ResponsiveSpecsProvider.create(
+                TestResourceHelper(context, TestR.xml.valid_workspace_file),
+                ResponsiveSpecType.Workspace
+            )
+        val widthSpec =
+            workspaceSpecs.getCalculatedSpec(aspectRatio, DimensionType.WIDTH, 4, availableWidth)
+        val heightSpec =
+            workspaceSpecs.getCalculatedSpec(aspectRatio, DimensionType.HEIGHT, 5, availableHeight)
+
+        assertThat(widthSpec.availableSpace).isEqualTo(availableWidth)
+        assertThat(widthSpec.cells).isEqualTo(4)
+        assertThat(widthSpec.startPaddingPx).isEqualTo(74)
+        assertThat(widthSpec.endPaddingPx).isEqualTo(74)
+        assertThat(widthSpec.gutterPx).isEqualTo(54)
+        assertThat(widthSpec.cellSizePx).isEqualTo(193)
+
+        assertThat(heightSpec.availableSpace).isEqualTo(availableHeight)
+        assertThat(heightSpec.cells).isEqualTo(5)
+        assertThat(heightSpec.startPaddingPx).isEqualTo(0)
+        assertThat(heightSpec.endPaddingPx).isEqualTo(108)
+        assertThat(heightSpec.gutterPx).isEqualTo(54)
+        assertThat(heightSpec.cellSizePx).isEqualTo(260)
+    }
+
+    /**
+     * This test tests:
+     * - (height spec) gets the correct breakpoint from the XML - use the first breakpoint
+     * - (height spec) do the correct calculations for remainder space and fixed size
+     * - (width spec) do the correct calculations for remainder space and fixed size
+     */
+    @Test
+    fun smallPhone_returnsFirstBreakpointSpec_unsortedFile() {
+        val deviceSpec = deviceSpecs["phone"]!!
+        val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
+        deviceSpec.densityDpi = 540 // larger display size
+        initializeVarsForPhone(deviceSpec)
+
+        val availableWidth = deviceSpec.naturalSize.first
+        // Hotseat size is roughly 640px on a real device,
+        // it doesn't need to be precise on unit tests
+        val availableHeight = deviceSpec.naturalSize.second - deviceSpec.statusBarNaturalPx - 640
+        val workspaceSpecs =
+            ResponsiveSpecsProvider.create(
+                TestResourceHelper(context, TestR.xml.valid_workspace_unsorted_file),
+                ResponsiveSpecType.Workspace
+            )
+        val widthSpec =
+            workspaceSpecs.getCalculatedSpec(aspectRatio, DimensionType.WIDTH, 4, availableWidth)
+        val heightSpec =
+            workspaceSpecs.getCalculatedSpec(aspectRatio, DimensionType.HEIGHT, 5, availableHeight)
 
         assertThat(widthSpec.availableSpace).isEqualTo(availableWidth)
         assertThat(widthSpec.cells).isEqualTo(4)
diff --git a/tests/src/com/android/launcher3/responsive/FolderSpecTest.kt b/tests/src/com/android/launcher3/responsive/FolderSpecTest.kt
new file mode 100644
index 0000000..5cfa49f
--- /dev/null
+++ b/tests/src/com/android/launcher3/responsive/FolderSpecTest.kt
@@ -0,0 +1,306 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import android.content.Context
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
+import com.android.launcher3.tests.R
+import com.android.launcher3.util.TestResourceHelper
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class FolderSpecTest : AbstractDeviceProfileTest() {
+    override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
+    val deviceSpec = deviceSpecs["tablet"]!!
+    val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
+
+    @Before
+    fun setup() {
+        initializeVarsForPhone(deviceSpec)
+    }
+
+    @Test
+    fun parseValidFile() {
+        val resourceHelper = TestResourceHelper(context, R.xml.valid_folders_specs)
+        val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+        val specs = folderSpecs.getSpecsByAspectRatio(aspectRatio)
+
+        val sizeSpec16 = SizeSpec(16f.dpToPx())
+        val widthSpecsExpected =
+            listOf(
+                ResponsiveSpec(
+                    maxAvailableSize = 800.dpToPx(),
+                    dimensionType = DimensionType.WIDTH,
+                    specType = ResponsiveSpecType.Folder,
+                    startPadding = sizeSpec16,
+                    endPadding = sizeSpec16,
+                    gutter = sizeSpec16,
+                    cellSize = SizeSpec(matchWorkspace = true)
+                ),
+                ResponsiveSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = DimensionType.WIDTH,
+                    specType = ResponsiveSpecType.Folder,
+                    startPadding = sizeSpec16,
+                    endPadding = sizeSpec16,
+                    gutter = sizeSpec16,
+                    cellSize = SizeSpec(102f.dpToPx())
+                )
+            )
+
+        val heightSpecsExpected =
+            ResponsiveSpec(
+                maxAvailableSize = 9999.dpToPx(),
+                dimensionType = DimensionType.HEIGHT,
+                specType = ResponsiveSpecType.Folder,
+                startPadding = SizeSpec(24f.dpToPx()),
+                endPadding = SizeSpec(64f.dpToPx()),
+                gutter = sizeSpec16,
+                cellSize = SizeSpec(matchWorkspace = true)
+            )
+
+        assertThat(specs.widthSpecs.size).isEqualTo(widthSpecsExpected.size)
+        assertThat(specs.widthSpecs[0]).isEqualTo(widthSpecsExpected[0])
+        assertThat(specs.widthSpecs[1]).isEqualTo(widthSpecsExpected[1])
+
+        assertThat(specs.heightSpecs.size).isEqualTo(1)
+        assertThat(specs.heightSpecs[0]).isEqualTo(heightSpecsExpected)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_missingTag_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_folders_specs_1)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_moreThanOneValuePerTag_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_folders_specs_2)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_valueBiggerThan1_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_folders_specs_3)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_missingSpecs_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_folders_specs_4)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_missingWidthBreakpoint_throwsError() {
+        val availableSpace = 900.dpToPx()
+        val cells = 3
+
+        val workspaceSpec =
+            ResponsiveSpec(
+                maxAvailableSize = availableSpace,
+                dimensionType = DimensionType.WIDTH,
+                specType = ResponsiveSpecType.Folder,
+                startPadding = SizeSpec(fixedSize = 10f),
+                endPadding = SizeSpec(fixedSize = 10f),
+                gutter = SizeSpec(fixedSize = 10f),
+                cellSize = SizeSpec(fixedSize = 10f)
+            )
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
+
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_folders_specs_5)
+        val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+        folderSpecs.getCalculatedSpec(
+            aspectRatio,
+            DimensionType.WIDTH,
+            cells,
+            availableSpace,
+            calculatedWorkspaceSpec
+        )
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_missingHeightBreakpoint_throwsError() {
+        val availableSpace = 900.dpToPx()
+        val cells = 3
+
+        val workspaceSpec =
+            ResponsiveSpec(
+                maxAvailableSize = availableSpace,
+                dimensionType = DimensionType.HEIGHT,
+                specType = ResponsiveSpecType.Folder,
+                startPadding = SizeSpec(fixedSize = 10f),
+                endPadding = SizeSpec(fixedSize = 10f),
+                gutter = SizeSpec(fixedSize = 10f),
+                cellSize = SizeSpec(fixedSize = 10f)
+            )
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
+
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_folders_specs_5)
+        val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+        folderSpecs.getCalculatedSpec(
+            aspectRatio,
+            DimensionType.HEIGHT,
+            cells,
+            availableSpace,
+            calculatedWorkspaceSpec
+        )
+    }
+
+    @Test
+    fun retrievesCalculatedWidthSpec() {
+        val availableSpace = 800.dpToPx()
+        val cells = 3
+
+        val workspaceSpec =
+            ResponsiveSpec(
+                maxAvailableSize = availableSpace,
+                dimensionType = DimensionType.WIDTH,
+                specType = ResponsiveSpecType.Workspace,
+                startPadding = SizeSpec(fixedSize = 10f),
+                endPadding = SizeSpec(fixedSize = 10f),
+                gutter = SizeSpec(fixedSize = 10f),
+                cellSize = SizeSpec(fixedSize = 10f)
+            )
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
+
+        val resourceHelper = TestResourceHelper(context, R.xml.valid_folders_specs)
+        val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+        val calculatedWidthSpec =
+            folderSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.WIDTH,
+                cells,
+                availableSpace,
+                calculatedWorkspaceSpec
+            )
+
+        assertThat(calculatedWidthSpec.cells).isEqualTo(cells)
+        assertThat(calculatedWidthSpec.availableSpace).isEqualTo(availableSpace)
+        assertThat(calculatedWidthSpec.startPaddingPx).isEqualTo(16.dpToPx())
+        assertThat(calculatedWidthSpec.endPaddingPx).isEqualTo(16.dpToPx())
+        assertThat(calculatedWidthSpec.gutterPx).isEqualTo(16.dpToPx())
+        assertThat(calculatedWidthSpec.cellSizePx).isEqualTo(calculatedWorkspaceSpec.cellSizePx)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun retrievesCalculatedWidthSpec_invalidCalculatedResponsiveSpecType_throwsError() {
+        val availableSpace = 10.dpToPx()
+        val cells = 3
+
+        val workspaceSpec =
+            ResponsiveSpec(
+                maxAvailableSize = availableSpace,
+                dimensionType = DimensionType.HEIGHT,
+                specType = ResponsiveSpecType.Folder,
+                startPadding = SizeSpec(fixedSize = 10f),
+                endPadding = SizeSpec(fixedSize = 10f),
+                gutter = SizeSpec(fixedSize = 10f),
+                cellSize = SizeSpec(fixedSize = 10f)
+            )
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
+
+        val resourceHelper = TestResourceHelper(context, R.xml.valid_folders_specs)
+        val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+        folderSpecs.getCalculatedSpec(
+            aspectRatio,
+            DimensionType.WIDTH,
+            cells,
+            availableSpace,
+            calculatedWorkspaceSpec
+        )
+    }
+
+    @Test
+    fun retrievesCalculatedHeightSpec() {
+        val availableSpace = 700.dpToPx()
+        val cells = 3
+
+        val workspaceSpec =
+            ResponsiveSpec(
+                maxAvailableSize = availableSpace,
+                dimensionType = DimensionType.HEIGHT,
+                specType = ResponsiveSpecType.Workspace,
+                startPadding = SizeSpec(fixedSize = 10f),
+                endPadding = SizeSpec(fixedSize = 10f),
+                gutter = SizeSpec(fixedSize = 10f),
+                cellSize = SizeSpec(fixedSize = 10f)
+            )
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
+
+        val resourceHelper = TestResourceHelper(context, R.xml.valid_folders_specs)
+        val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+        val calculatedHeightSpec =
+            folderSpecs.getCalculatedSpec(
+                aspectRatio,
+                DimensionType.HEIGHT,
+                cells,
+                availableSpace,
+                calculatedWorkspaceSpec
+            )
+
+        assertThat(calculatedHeightSpec.cells).isEqualTo(cells)
+        assertThat(calculatedHeightSpec.availableSpace).isEqualTo(availableSpace)
+        assertThat(calculatedHeightSpec.startPaddingPx).isEqualTo(24.dpToPx())
+        assertThat(calculatedHeightSpec.endPaddingPx).isEqualTo(64.dpToPx())
+        assertThat(calculatedHeightSpec.gutterPx).isEqualTo(16.dpToPx())
+        assertThat(calculatedHeightSpec.cellSizePx).isEqualTo(calculatedWorkspaceSpec.cellSizePx)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun retrievesCalculatedHeightSpec_invalidCalculatedResponsiveSpecType_throwsError() {
+        val availableSpace = 10.dpToPx()
+        val cells = 3
+
+        val workspaceSpec =
+            ResponsiveSpec(
+                maxAvailableSize = availableSpace,
+                dimensionType = DimensionType.WIDTH,
+                specType = ResponsiveSpecType.Folder,
+                startPadding = SizeSpec(fixedSize = 10f),
+                endPadding = SizeSpec(fixedSize = 10f),
+                gutter = SizeSpec(fixedSize = 10f),
+                cellSize = SizeSpec(fixedSize = 10f)
+            )
+        val calculatedWorkspaceSpec =
+            CalculatedResponsiveSpec(aspectRatio, availableSpace, cells, workspaceSpec)
+
+        val resourceHelper = TestResourceHelper(context, R.xml.valid_folders_specs)
+        val folderSpecs = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Folder)
+        folderSpecs.getCalculatedSpec(
+            aspectRatio,
+            DimensionType.HEIGHT,
+            cells,
+            availableSpace,
+            calculatedWorkspaceSpec
+        )
+    }
+}
diff --git a/tests/src/com/android/launcher3/responsive/FolderSpecsTest.kt b/tests/src/com/android/launcher3/responsive/FolderSpecsTest.kt
deleted file mode 100644
index 4b05949..0000000
--- a/tests/src/com/android/launcher3/responsive/FolderSpecsTest.kt
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.responsive
-
-import android.content.Context
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import androidx.test.platform.app.InstrumentationRegistry
-import com.android.launcher3.AbstractDeviceProfileTest
-import com.android.launcher3.responsive.ResponsiveSpec.SpecType
-import com.android.launcher3.tests.R
-import com.android.launcher3.util.TestResourceHelper
-import com.google.common.truth.Truth.assertThat
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class FolderSpecsTest : AbstractDeviceProfileTest() {
-    override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
-
-    @Before
-    fun setup() {
-        initializeVarsForPhone(deviceSpecs["tablet"]!!)
-    }
-
-    @Test
-    fun parseValidFile() {
-        val resourceHelper = TestResourceHelper(context!!, R.xml.valid_folders_specs)
-        val folderSpecs = FolderSpecs.create(resourceHelper)
-
-        val sizeSpec16 = SizeSpec(16f.dpToPx())
-        val widthSpecsExpected =
-            listOf(
-                FolderSpec(
-                    maxAvailableSize = 800.dpToPx(),
-                    specType = SpecType.WIDTH,
-                    startPadding = sizeSpec16,
-                    endPadding = sizeSpec16,
-                    gutter = sizeSpec16,
-                    cellSize = SizeSpec(matchWorkspace = true)
-                ),
-                FolderSpec(
-                    maxAvailableSize = 9999.dpToPx(),
-                    specType = SpecType.WIDTH,
-                    startPadding = sizeSpec16,
-                    endPadding = sizeSpec16,
-                    gutter = sizeSpec16,
-                    cellSize = SizeSpec(102f.dpToPx())
-                )
-            )
-
-        val heightSpecsExpected =
-            FolderSpec(
-                maxAvailableSize = 9999.dpToPx(),
-                specType = SpecType.HEIGHT,
-                startPadding = SizeSpec(24f.dpToPx()),
-                endPadding = SizeSpec(64f.dpToPx()),
-                gutter = sizeSpec16,
-                cellSize = SizeSpec(matchWorkspace = true)
-            )
-
-        assertThat(folderSpecs.widthSpecs.size).isEqualTo(widthSpecsExpected.size)
-        assertThat(folderSpecs.widthSpecs[0]).isEqualTo(widthSpecsExpected[0])
-        assertThat(folderSpecs.widthSpecs[1]).isEqualTo(widthSpecsExpected[1])
-
-        assertThat(folderSpecs.heightSpecs.size).isEqualTo(1)
-        assertThat(folderSpecs.heightSpecs[0]).isEqualTo(heightSpecsExpected)
-    }
-
-    @Test(expected = IllegalStateException::class)
-    fun parseInvalidFile_missingTag_throwsError() {
-        val resourceHelper = TestResourceHelper(context!!, R.xml.invalid_folders_specs_1)
-        FolderSpecs.create(resourceHelper)
-    }
-
-    @Test(expected = IllegalStateException::class)
-    fun parseInvalidFile_moreThanOneValuePerTag_throwsError() {
-        val resourceHelper = TestResourceHelper(context!!, R.xml.invalid_folders_specs_2)
-        FolderSpecs.create(resourceHelper)
-    }
-
-    @Test(expected = IllegalStateException::class)
-    fun parseInvalidFile_valueBiggerThan1_throwsError() {
-        val resourceHelper = TestResourceHelper(context!!, R.xml.invalid_folders_specs_3)
-        FolderSpecs.create(resourceHelper)
-    }
-
-    @Test(expected = IllegalStateException::class)
-    fun parseInvalidFile_missingSpecs_throwsError() {
-        val resourceHelper = TestResourceHelper(context!!, R.xml.invalid_folders_specs_4)
-        FolderSpecs.create(resourceHelper)
-    }
-
-    @Test(expected = IllegalStateException::class)
-    fun parseInvalidFile_missingWidthBreakpoint_throwsError() {
-        val availableSpace = 900.dpToPx()
-        val cells = 3
-
-        val workspaceSpec =
-            WorkspaceSpec(
-                maxAvailableSize = availableSpace,
-                specType = SpecType.WIDTH,
-                startPadding = SizeSpec(fixedSize = 10f),
-                endPadding = SizeSpec(fixedSize = 10f),
-                gutter = SizeSpec(fixedSize = 10f),
-                cellSize = SizeSpec(fixedSize = 10f)
-            )
-        val calculatedWorkspaceSpec = CalculatedWorkspaceSpec(availableSpace, cells, workspaceSpec)
-
-        val resourceHelper = TestResourceHelper(context!!, R.xml.invalid_folders_specs_5)
-        val folderSpecs = FolderSpecs.create(resourceHelper)
-        folderSpecs.getCalculatedWidthSpec(cells, availableSpace, calculatedWorkspaceSpec)
-    }
-
-    @Test(expected = IllegalStateException::class)
-    fun parseInvalidFile_missingHeightBreakpoint_throwsError() {
-        val availableSpace = 900.dpToPx()
-        val cells = 3
-
-        val workspaceSpec =
-            WorkspaceSpec(
-                maxAvailableSize = availableSpace,
-                specType = SpecType.HEIGHT,
-                startPadding = SizeSpec(fixedSize = 10f),
-                endPadding = SizeSpec(fixedSize = 10f),
-                gutter = SizeSpec(fixedSize = 10f),
-                cellSize = SizeSpec(fixedSize = 10f)
-            )
-        val calculatedWorkspaceSpec = CalculatedWorkspaceSpec(availableSpace, cells, workspaceSpec)
-
-        val resourceHelper = TestResourceHelper(context!!, R.xml.invalid_folders_specs_5)
-        val folderSpecs = FolderSpecs.create(resourceHelper)
-        folderSpecs.getCalculatedHeightSpec(cells, availableSpace, calculatedWorkspaceSpec)
-    }
-
-    @Test
-    fun retrievesCalculatedWidthSpec() {
-        val availableSpace = 800.dpToPx()
-        val cells = 3
-
-        val workspaceSpec =
-            WorkspaceSpec(
-                maxAvailableSize = availableSpace,
-                specType = SpecType.WIDTH,
-                startPadding = SizeSpec(fixedSize = 10f),
-                endPadding = SizeSpec(fixedSize = 10f),
-                gutter = SizeSpec(fixedSize = 10f),
-                cellSize = SizeSpec(fixedSize = 10f)
-            )
-        val calculatedWorkspaceSpec = CalculatedWorkspaceSpec(availableSpace, cells, workspaceSpec)
-
-        val resourceHelper = TestResourceHelper(context!!, R.xml.valid_folders_specs)
-        val folderSpecs = FolderSpecs.create(resourceHelper)
-        val calculatedWidthSpec =
-            folderSpecs.getCalculatedWidthSpec(cells, availableSpace, calculatedWorkspaceSpec)
-
-        assertThat(calculatedWidthSpec.cells).isEqualTo(cells)
-        assertThat(calculatedWidthSpec.availableSpace).isEqualTo(availableSpace)
-        assertThat(calculatedWidthSpec.startPaddingPx).isEqualTo(16.dpToPx())
-        assertThat(calculatedWidthSpec.endPaddingPx).isEqualTo(16.dpToPx())
-        assertThat(calculatedWidthSpec.gutterPx).isEqualTo(16.dpToPx())
-        assertThat(calculatedWidthSpec.cellSizePx).isEqualTo(calculatedWorkspaceSpec.cellSizePx)
-    }
-
-    @Test(expected = IllegalStateException::class)
-    fun retrievesCalculatedWidthSpec_invalidCalculatedWorkspaceSpecType_throwsError() {
-        val availableSpace = 10.dpToPx()
-        val cells = 3
-
-        val workspaceSpec =
-            WorkspaceSpec(
-                maxAvailableSize = availableSpace,
-                specType = SpecType.HEIGHT,
-                startPadding = SizeSpec(fixedSize = 10f),
-                endPadding = SizeSpec(fixedSize = 10f),
-                gutter = SizeSpec(fixedSize = 10f),
-                cellSize = SizeSpec(fixedSize = 10f)
-            )
-        val calculatedWorkspaceSpec = CalculatedWorkspaceSpec(availableSpace, cells, workspaceSpec)
-
-        val resourceHelper = TestResourceHelper(context!!, R.xml.valid_folders_specs)
-        val folderSpecs = FolderSpecs.create(resourceHelper)
-        folderSpecs.getCalculatedWidthSpec(cells, availableSpace, calculatedWorkspaceSpec)
-    }
-
-    @Test
-    fun retrievesCalculatedHeightSpec() {
-        val availableSpace = 700.dpToPx()
-        val cells = 3
-
-        val workspaceSpec =
-            WorkspaceSpec(
-                maxAvailableSize = availableSpace,
-                specType = SpecType.HEIGHT,
-                startPadding = SizeSpec(fixedSize = 10f),
-                endPadding = SizeSpec(fixedSize = 10f),
-                gutter = SizeSpec(fixedSize = 10f),
-                cellSize = SizeSpec(fixedSize = 10f)
-            )
-        val calculatedWorkspaceSpec = CalculatedWorkspaceSpec(availableSpace, cells, workspaceSpec)
-
-        val resourceHelper = TestResourceHelper(context!!, R.xml.valid_folders_specs)
-        val folderSpecs = FolderSpecs.create(resourceHelper)
-        val calculatedHeightSpec =
-            folderSpecs.getCalculatedHeightSpec(cells, availableSpace, calculatedWorkspaceSpec)
-
-        assertThat(calculatedHeightSpec.cells).isEqualTo(cells)
-        assertThat(calculatedHeightSpec.availableSpace).isEqualTo(availableSpace)
-        assertThat(calculatedHeightSpec.startPaddingPx).isEqualTo(24.dpToPx())
-        assertThat(calculatedHeightSpec.endPaddingPx).isEqualTo(64.dpToPx())
-        assertThat(calculatedHeightSpec.gutterPx).isEqualTo(16.dpToPx())
-        assertThat(calculatedHeightSpec.cellSizePx).isEqualTo(calculatedWorkspaceSpec.cellSizePx)
-    }
-
-    @Test(expected = IllegalStateException::class)
-    fun retrievesCalculatedHeightSpec_invalidCalculatedWorkspaceSpecType_throwsError() {
-        val availableSpace = 10.dpToPx()
-        val cells = 3
-
-        val workspaceSpec =
-            WorkspaceSpec(
-                maxAvailableSize = availableSpace,
-                specType = SpecType.WIDTH,
-                startPadding = SizeSpec(fixedSize = 10f),
-                endPadding = SizeSpec(fixedSize = 10f),
-                gutter = SizeSpec(fixedSize = 10f),
-                cellSize = SizeSpec(fixedSize = 10f)
-            )
-        val calculatedWorkspaceSpec = CalculatedWorkspaceSpec(availableSpace, cells, workspaceSpec)
-
-        val resourceHelper = TestResourceHelper(context!!, R.xml.valid_folders_specs)
-        val folderSpecs = FolderSpecs.create(resourceHelper)
-        folderSpecs.getCalculatedHeightSpec(cells, availableSpace, calculatedWorkspaceSpec)
-    }
-}
diff --git a/tests/src/com/android/launcher3/responsive/HotseatSpecsProviderTest.kt b/tests/src/com/android/launcher3/responsive/HotseatSpecsProviderTest.kt
new file mode 100644
index 0000000..78cb1ac
--- /dev/null
+++ b/tests/src/com/android/launcher3/responsive/HotseatSpecsProviderTest.kt
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import android.content.Context
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.tests.R as TestR
+import com.android.launcher3.util.TestResourceHelper
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class HotseatSpecsProviderTest : AbstractDeviceProfileTest() {
+    override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
+    val deviceSpec = deviceSpecs["phone"]!!
+    val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
+
+    @Before
+    fun setup() {
+        initializeVarsForPhone(deviceSpec)
+    }
+
+    @Test
+    fun parseValidFile() {
+        val hotseatSpecsProvider =
+            HotseatSpecsProvider.create(TestResourceHelper(context, TestR.xml.valid_hotseat_file))
+        val specs = hotseatSpecsProvider.getSpecsByAspectRatio(aspectRatio)
+
+        val expectedHeightSpecs =
+            listOf(
+                HotseatSpec(
+                    maxAvailableSize = 847.dpToPx(),
+                    dimensionType = ResponsiveSpec.DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Hotseat,
+                    hotseatQsbSpace = SizeSpec(24f.dpToPx()),
+                    edgePadding = SizeSpec(48f.dpToPx())
+                ),
+                HotseatSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = ResponsiveSpec.DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Hotseat,
+                    hotseatQsbSpace = SizeSpec(36f.dpToPx()),
+                    edgePadding = SizeSpec(48f.dpToPx())
+                ),
+            )
+
+        assertThat(specs.heightSpecs.size).isEqualTo(expectedHeightSpecs.size)
+        assertThat(specs.heightSpecs[0]).isEqualTo(expectedHeightSpecs[0])
+        assertThat(specs.heightSpecs[1]).isEqualTo(expectedHeightSpecs[1])
+
+        assertThat(specs.widthSpecs.size).isEqualTo(0)
+    }
+
+    @Test
+    fun parseValidLandscapeFile() {
+        val hotseatSpecsProvider =
+            HotseatSpecsProvider.create(
+                TestResourceHelper(context, TestR.xml.valid_hotseat_land_file)
+            )
+        val specs = hotseatSpecsProvider.getSpecsByAspectRatio(aspectRatio)
+        assertThat(specs.heightSpecs.size).isEqualTo(0)
+
+        val expectedWidthSpecs =
+            listOf(
+                HotseatSpec(
+                    maxAvailableSize = 743.dpToPx(),
+                    dimensionType = ResponsiveSpec.DimensionType.WIDTH,
+                    specType = ResponsiveSpecType.Hotseat,
+                    hotseatQsbSpace = SizeSpec(0f),
+                    edgePadding = SizeSpec(48f.dpToPx())
+                ),
+                HotseatSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = ResponsiveSpec.DimensionType.WIDTH,
+                    specType = ResponsiveSpecType.Hotseat,
+                    hotseatQsbSpace = SizeSpec(0f),
+                    edgePadding = SizeSpec(64f.dpToPx())
+                ),
+            )
+
+        assertThat(specs.widthSpecs.size).isEqualTo(expectedWidthSpecs.size)
+        assertThat(specs.widthSpecs[0]).isEqualTo(expectedWidthSpecs[0])
+        assertThat(specs.widthSpecs[1]).isEqualTo(expectedWidthSpecs[1])
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_spaceIsNotFixedSize_throwsError() {
+        HotseatSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_hotseat_file_case_1)
+        )
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_invalidFixedSize_throwsError() {
+        HotseatSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_hotseat_file_case_2)
+        )
+    }
+}
diff --git a/tests/src/com/android/launcher3/responsive/HotseatSpecsTest.kt b/tests/src/com/android/launcher3/responsive/HotseatSpecsTest.kt
deleted file mode 100644
index c764e47..0000000
--- a/tests/src/com/android/launcher3/responsive/HotseatSpecsTest.kt
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.responsive
-
-import android.content.Context
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.SmallTest
-import androidx.test.platform.app.InstrumentationRegistry
-import com.android.launcher3.AbstractDeviceProfileTest
-import com.android.launcher3.tests.R as TestR
-import com.android.launcher3.util.TestResourceHelper
-import com.android.systemui.util.dpToPx
-import com.google.common.truth.Truth.assertThat
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@SmallTest
-@RunWith(AndroidJUnit4::class)
-class HotseatSpecsTest : AbstractDeviceProfileTest() {
-    override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
-
-    @Before
-    fun setup() {
-        initializeVarsForPhone(deviceSpecs["phone"]!!)
-    }
-
-    @Test
-    fun parseValidFile() {
-        val hotseatSpecs =
-            HotseatSpecs.create(TestResourceHelper(context!!, TestR.xml.valid_hotseat_file))
-        assertThat(hotseatSpecs.specs.size).isEqualTo(2)
-
-        val expectedSpecs =
-            listOf(
-                HotseatSpec(
-                    maxAvailableSize = 847.dpToPx(),
-                    specType = ResponsiveSpec.SpecType.HEIGHT,
-                    hotseatQsbSpace = SizeSpec(24f.dpToPx())
-                ),
-                HotseatSpec(
-                    maxAvailableSize = 9999.dpToPx(),
-                    specType = ResponsiveSpec.SpecType.HEIGHT,
-                    hotseatQsbSpace = SizeSpec(36f.dpToPx())
-                ),
-            )
-
-        assertThat(hotseatSpecs.specs.size).isEqualTo(expectedSpecs.size)
-        assertThat(hotseatSpecs.specs[0]).isEqualTo(expectedSpecs[0])
-        assertThat(hotseatSpecs.specs[1]).isEqualTo(expectedSpecs[1])
-    }
-
-    @Test(expected = IllegalStateException::class)
-    fun parseInvalidFile_spaceIsNotFixedSize_throwsError() {
-        HotseatSpecs.create(TestResourceHelper(context!!, TestR.xml.invalid_hotseat_file_case_1))
-    }
-}
diff --git a/tests/src/com/android/launcher3/responsive/ResponsiveCellSpecsProviderTest.kt b/tests/src/com/android/launcher3/responsive/ResponsiveCellSpecsProviderTest.kt
new file mode 100644
index 0000000..50cd358
--- /dev/null
+++ b/tests/src/com/android/launcher3/responsive/ResponsiveCellSpecsProviderTest.kt
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import android.content.Context
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.tests.R as TestR
+import com.android.launcher3.util.TestResourceHelper
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class ResponsiveCellSpecsProviderTest : AbstractDeviceProfileTest() {
+    override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
+    val deviceSpec = deviceSpecs["phone"]!!
+    val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
+
+    @Before
+    fun setup() {
+        initializeVarsForPhone(deviceSpec)
+    }
+
+    @Test
+    fun parseValidFile() {
+        val testResourceHelper = TestResourceHelper(context, TestR.xml.valid_cell_specs_file)
+        val provider = ResponsiveCellSpecsProvider.create(testResourceHelper)
+
+        // Validate Portrait
+        val aspectRatioPortrait = 1.0f
+        val expectedPortraitSpecs =
+            listOf(
+                CellSpec(
+                    maxAvailableSize = 606.dpToPx(),
+                    dimensionType = ResponsiveSpec.DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Cell,
+                    iconSize = SizeSpec(48f.dpToPx()),
+                    iconTextSize = SizeSpec(12f.dpToPx()),
+                    iconDrawablePadding = SizeSpec(8f.dpToPx())
+                ),
+                CellSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = ResponsiveSpec.DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Cell,
+                    iconSize = SizeSpec(52f.dpToPx()),
+                    iconTextSize = SizeSpec(12f.dpToPx()),
+                    iconDrawablePadding = SizeSpec(11f.dpToPx())
+                )
+            )
+
+        val portraitSpecs = provider.getSpecsByAspectRatio(aspectRatioPortrait)
+
+        assertThat(portraitSpecs.aspectRatio).isAtLeast(aspectRatioPortrait)
+        assertThat(portraitSpecs.widthSpecs.size).isEqualTo(0)
+        assertThat(portraitSpecs.heightSpecs.size).isEqualTo(2)
+        assertThat(portraitSpecs.heightSpecs[0]).isEqualTo(expectedPortraitSpecs[0])
+        assertThat(portraitSpecs.heightSpecs[1]).isEqualTo(expectedPortraitSpecs[1])
+
+        // Validate Landscape
+        val aspectRatioLandscape = 1.051f
+        val expectedLandscapeSpec =
+            CellSpec(
+                maxAvailableSize = 9999.dpToPx(),
+                dimensionType = ResponsiveSpec.DimensionType.HEIGHT,
+                specType = ResponsiveSpecType.Cell,
+                iconSize = SizeSpec(52f.dpToPx()),
+                iconTextSize = SizeSpec(0f),
+                iconDrawablePadding = SizeSpec(0f)
+            )
+        val landscapeSpecs = provider.getSpecsByAspectRatio(aspectRatioLandscape)
+
+        assertThat(landscapeSpecs.aspectRatio).isAtLeast(aspectRatioLandscape)
+        assertThat(landscapeSpecs.widthSpecs.size).isEqualTo(0)
+        assertThat(landscapeSpecs.heightSpecs.size).isEqualTo(1)
+        assertThat(landscapeSpecs.heightSpecs[0]).isEqualTo(expectedLandscapeSpec)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_IsNotFixedSizeOrMatchWorkspace_throwsError() {
+        ResponsiveCellSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_cell_specs_1)
+        )
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_dimensionTypeIsNotHeight_throwsError() {
+        ResponsiveCellSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_cell_specs_2)
+        )
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_invalidFixedSize_throwsError() {
+        ResponsiveCellSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_cell_specs_3)
+        )
+    }
+}
diff --git a/tests/src/com/android/launcher3/responsive/ResponsiveSpecsProviderTest.kt b/tests/src/com/android/launcher3/responsive/ResponsiveSpecsProviderTest.kt
new file mode 100644
index 0000000..54a1dc5
--- /dev/null
+++ b/tests/src/com/android/launcher3/responsive/ResponsiveSpecsProviderTest.kt
@@ -0,0 +1,280 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.responsive
+
+import android.content.Context
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
+import com.android.launcher3.responsive.ResponsiveSpec.DimensionType
+import com.android.launcher3.tests.R
+import com.android.launcher3.util.TestResourceHelper
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class ResponsiveSpecsProviderTest : AbstractDeviceProfileTest() {
+    override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
+    val deviceSpec = deviceSpecs["tablet"]!!
+    var aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
+
+    @Before
+    fun setup() {
+        initializeVarsForPhone(deviceSpec)
+    }
+
+    @Test
+    fun parseValidFile() {
+        val resourceHelper = TestResourceHelper(context, R.xml.valid_responsive_spec_unsorted)
+        val provider = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Workspace)
+
+        // Validate Portrait
+        val aspectRatioPortrait = 1.0f
+        val portraitSpecs = provider.getSpecsByAspectRatio(aspectRatioPortrait)
+
+        val (expectedPortWidthSpecs, expectedPortHeightSpecs) = expectedPortraitSpecs()
+        validateSpecs(
+            portraitSpecs,
+            aspectRatioPortrait,
+            expectedPortWidthSpecs,
+            expectedPortHeightSpecs
+        )
+
+        // Validate Landscape
+        val aspectRatioLandscape = 1.051f
+        val landscapeSpecs = provider.getSpecsByAspectRatio(aspectRatioLandscape)
+
+        val (expectedLandWidthSpecs, expectedLandHeightSpecs) = expectedLandscapeSpecs()
+        validateSpecs(
+            landscapeSpecs,
+            aspectRatioLandscape,
+            expectedLandWidthSpecs,
+            expectedLandHeightSpecs
+        )
+
+        // Validate Extra Spec
+        val aspectRatioExtra = 10.1f
+        val extraSpecs = provider.getSpecsByAspectRatio(aspectRatioExtra)
+
+        val expectedOtherWidthSpecs =
+            listOf(
+                ResponsiveSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = DimensionType.WIDTH,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(1f.dpToPx()),
+                    endPadding = SizeSpec(1f.dpToPx()),
+                    gutter = SizeSpec(8f.dpToPx()),
+                    cellSize = SizeSpec(ofRemainderSpace = 1f)
+                )
+            )
+
+        val expectedOtherHeightSpecs =
+            listOf(
+                ResponsiveSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(2f.dpToPx()),
+                    endPadding = SizeSpec(2f.dpToPx()),
+                    gutter = SizeSpec(8f.dpToPx()),
+                    cellSize = SizeSpec(ofRemainderSpace = 1f)
+                ),
+            )
+
+        validateSpecs(
+            extraSpecs,
+            aspectRatioExtra,
+            expectedOtherWidthSpecs,
+            expectedOtherHeightSpecs
+        )
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseValidFile_invalidAspectRatio_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.valid_responsive_spec_unsorted)
+        val provider = ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Workspace)
+        provider.getSpecsByAspectRatio(0f)
+    }
+
+    @Test(expected = InvalidResponsiveGridSpec::class)
+    fun parseInvalidFile_missingGroups_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_responsive_spec_1)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Workspace)
+    }
+
+    @Test(expected = InvalidResponsiveGridSpec::class)
+    fun parseInvalidFile_partialGroups_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_responsive_spec_2)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Workspace)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_invalidAspectRatio_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_responsive_spec_3)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Workspace)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_invalidRemainderSpace_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_responsive_spec_4)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Workspace)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_invalidAvailableSpace_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_responsive_spec_5)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Workspace)
+    }
+
+    @Test(expected = IllegalStateException::class)
+    fun parseInvalidFile_invalidFixedSize_throwsError() {
+        val resourceHelper = TestResourceHelper(context, R.xml.invalid_responsive_spec_6)
+        ResponsiveSpecsProvider.create(resourceHelper, ResponsiveSpecType.Workspace)
+    }
+
+    private fun validateSpecs(
+        specs: ResponsiveSpecGroup<ResponsiveSpec>,
+        expectedAspectRatio: Float,
+        expectedWidthSpecs: List<ResponsiveSpec>,
+        expectedHeightSpecs: List<ResponsiveSpec>
+    ) {
+        assertThat(specs.aspectRatio).isAtLeast(expectedAspectRatio)
+
+        assertThat(specs.widthSpecs.size).isEqualTo(expectedWidthSpecs.size)
+        specs.widthSpecs.forEachIndexed { index, responsiveSpec ->
+            assertThat(responsiveSpec).isEqualTo(expectedWidthSpecs[index])
+        }
+
+        assertThat(specs.heightSpecs.size).isEqualTo(expectedHeightSpecs.size)
+        specs.heightSpecs.forEachIndexed { index, responsiveSpec ->
+            assertThat(responsiveSpec).isEqualTo(expectedHeightSpecs[index])
+        }
+    }
+
+    private fun expectedPortraitSpecs(): Pair<List<ResponsiveSpec>, List<ResponsiveSpec>> {
+        val sizeSpec16 = SizeSpec(16f.dpToPx())
+        val expectedWidthSpecs =
+            listOf(
+                ResponsiveSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = DimensionType.WIDTH,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(22f.dpToPx()),
+                    endPadding = SizeSpec(22f.dpToPx()),
+                    gutter = sizeSpec16,
+                    cellSize = SizeSpec(ofRemainderSpace = 1f)
+                )
+            )
+
+        val expectedHeightSpecs =
+            listOf(
+                ResponsiveSpec(
+                    maxAvailableSize = 584.dpToPx(),
+                    dimensionType = DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(0f),
+                    endPadding = SizeSpec(32f.dpToPx()),
+                    gutter = sizeSpec16,
+                    cellSize = SizeSpec(ofAvailableSpace = .15808f)
+                ),
+                ResponsiveSpec(
+                    maxAvailableSize = 612.dpToPx(),
+                    dimensionType = DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(0f),
+                    endPadding = SizeSpec(ofRemainderSpace = 1f),
+                    gutter = sizeSpec16,
+                    cellSize = SizeSpec(104f.dpToPx())
+                ),
+                ResponsiveSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(8f.dpToPx()),
+                    endPadding = SizeSpec(ofRemainderSpace = 1f),
+                    gutter = sizeSpec16,
+                    cellSize = SizeSpec(104f.dpToPx())
+                ),
+            )
+
+        return Pair(expectedWidthSpecs, expectedHeightSpecs)
+    }
+
+    private fun expectedLandscapeSpecs(): Pair<List<ResponsiveSpec>, List<ResponsiveSpec>> {
+        val sizeSpec12 = SizeSpec(12f.dpToPx())
+        val expectedWidthSpecs =
+            listOf(
+                ResponsiveSpec(
+                    maxAvailableSize = 602.dpToPx(),
+                    dimensionType = DimensionType.WIDTH,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(0f.dpToPx()),
+                    endPadding = SizeSpec(36f.dpToPx()),
+                    gutter = sizeSpec12,
+                    cellSize = SizeSpec(ofRemainderSpace = 1f)
+                ),
+                ResponsiveSpec(
+                    maxAvailableSize = 716.dpToPx(),
+                    dimensionType = DimensionType.WIDTH,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(16f.dpToPx()),
+                    endPadding = SizeSpec(64f.dpToPx()),
+                    gutter = sizeSpec12,
+                    cellSize = SizeSpec(ofRemainderSpace = 1f)
+                ),
+                ResponsiveSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = DimensionType.WIDTH,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(36f.dpToPx()),
+                    endPadding = SizeSpec(80f.dpToPx()),
+                    gutter = sizeSpec12,
+                    cellSize = SizeSpec(ofRemainderSpace = 1f)
+                )
+            )
+
+        val expectedHeightSpecs =
+            listOf(
+                ResponsiveSpec(
+                    maxAvailableSize = 371.dpToPx(),
+                    dimensionType = DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(0f),
+                    endPadding = SizeSpec(24f.dpToPx()),
+                    gutter = sizeSpec12,
+                    cellSize = SizeSpec(ofRemainderSpace = 1f)
+                ),
+                ResponsiveSpec(
+                    maxAvailableSize = 9999.dpToPx(),
+                    dimensionType = DimensionType.HEIGHT,
+                    specType = ResponsiveSpecType.Workspace,
+                    startPadding = SizeSpec(0f),
+                    endPadding = SizeSpec(34f.dpToPx()),
+                    gutter = sizeSpec12,
+                    cellSize = SizeSpec(ofRemainderSpace = 1f)
+                ),
+            )
+
+        return Pair(expectedWidthSpecs, expectedHeightSpecs)
+    }
+}
diff --git a/tests/src/com/android/launcher3/responsive/WorkspaceSpecsTest.kt b/tests/src/com/android/launcher3/responsive/WorkspaceSpecsTest.kt
index 0364069..17b0ee4 100644
--- a/tests/src/com/android/launcher3/responsive/WorkspaceSpecsTest.kt
+++ b/tests/src/com/android/launcher3/responsive/WorkspaceSpecsTest.kt
@@ -21,6 +21,7 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
 import com.android.launcher3.AbstractDeviceProfileTest
+import com.android.launcher3.responsive.ResponsiveSpec.Companion.ResponsiveSpecType
 import com.android.launcher3.tests.R as TestR
 import com.android.launcher3.util.TestResourceHelper
 import com.google.common.truth.Truth.assertThat
@@ -32,22 +33,30 @@
 @RunWith(AndroidJUnit4::class)
 class WorkspaceSpecsTest : AbstractDeviceProfileTest() {
     override val runningContext: Context = InstrumentationRegistry.getInstrumentation().context
+    val deviceSpec = deviceSpecs["phone"]!!
+    val aspectRatio = deviceSpec.naturalSize.first.toFloat() / deviceSpec.naturalSize.second
 
     @Before
     fun setup() {
-        initializeVarsForPhone(deviceSpecs["phone"]!!)
+        initializeVarsForPhone(deviceSpec)
     }
 
     @Test
     fun parseValidFile() {
         val workspaceSpecs =
-            WorkspaceSpecs.create(TestResourceHelper(context!!, TestR.xml.valid_workspace_file))
-        assertThat(workspaceSpecs.heightSpecs.size).isEqualTo(3)
-        assertThat(workspaceSpecs.heightSpecs[0].toString())
+            ResponsiveSpecsProvider.create(
+                TestResourceHelper(context, TestR.xml.valid_workspace_file),
+                ResponsiveSpecType.Workspace
+            )
+
+        val specs = workspaceSpecs.getSpecsByAspectRatio(aspectRatio)
+        assertThat(specs.heightSpecs.size).isEqualTo(3)
+        assertThat(specs.heightSpecs[0].toString())
             .isEqualTo(
-                "WorkspaceSpec(" +
+                "ResponsiveSpec(" +
                     "maxAvailableSize=1533, " +
-                    "specType=HEIGHT, " +
+                    "dimensionType=HEIGHT, " +
+                    "specType=Workspace, " +
                     "startPadding=SizeSpec(fixedSize=0.0, " +
                     "ofAvailableSpace=0.0, " +
                     "ofRemainderSpace=0.0, " +
@@ -70,11 +79,12 @@
                     "maxSize=2147483647)" +
                     ")"
             )
-        assertThat(workspaceSpecs.heightSpecs[1].toString())
+        assertThat(specs.heightSpecs[1].toString())
             .isEqualTo(
-                "WorkspaceSpec(" +
+                "ResponsiveSpec(" +
                     "maxAvailableSize=1607, " +
-                    "specType=HEIGHT, " +
+                    "dimensionType=HEIGHT, " +
+                    "specType=Workspace, " +
                     "startPadding=SizeSpec(fixedSize=0.0, " +
                     "ofAvailableSpace=0.0, " +
                     "ofRemainderSpace=0.0, " +
@@ -97,11 +107,12 @@
                     "maxSize=2147483647)" +
                     ")"
             )
-        assertThat(workspaceSpecs.heightSpecs[2].toString())
+        assertThat(specs.heightSpecs[2].toString())
             .isEqualTo(
-                "WorkspaceSpec(" +
+                "ResponsiveSpec(" +
                     "maxAvailableSize=26247, " +
-                    "specType=HEIGHT, " +
+                    "dimensionType=HEIGHT, " +
+                    "specType=Workspace, " +
                     "startPadding=SizeSpec(fixedSize=21.0, " +
                     "ofAvailableSpace=0.0, " +
                     "ofRemainderSpace=0.0, " +
@@ -124,12 +135,13 @@
                     "maxSize=2147483647)" +
                     ")"
             )
-        assertThat(workspaceSpecs.widthSpecs.size).isEqualTo(1)
-        assertThat(workspaceSpecs.widthSpecs[0].toString())
+        assertThat(specs.widthSpecs.size).isEqualTo(1)
+        assertThat(specs.widthSpecs[0].toString())
             .isEqualTo(
-                "WorkspaceSpec(" +
+                "ResponsiveSpec(" +
                     "maxAvailableSize=26247, " +
-                    "specType=WIDTH, " +
+                    "dimensionType=WIDTH, " +
+                    "specType=Workspace, " +
                     "startPadding=SizeSpec(fixedSize=58.0, " +
                     "ofAvailableSpace=0.0, " +
                     "ofRemainderSpace=0.0, " +
@@ -147,7 +159,7 @@
                     "maxSize=2147483647), " +
                     "cellSize=SizeSpec(fixedSize=0.0, " +
                     "ofAvailableSpace=0.0, " +
-                    "ofRemainderSpace=0.25, " +
+                    "ofRemainderSpace=1.0, " +
                     "matchWorkspace=false, " +
                     "maxSize=2147483647)" +
                     ")"
@@ -156,29 +168,33 @@
 
     @Test(expected = IllegalStateException::class)
     fun parseInvalidFile_missingTag_throwsError() {
-        WorkspaceSpecs.create(
-            TestResourceHelper(context!!, TestR.xml.invalid_workspace_file_case_1)
+        ResponsiveSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_workspace_file_case_1),
+            ResponsiveSpecType.Workspace
         )
     }
 
     @Test(expected = IllegalStateException::class)
     fun parseInvalidFile_moreThanOneValuePerTag_throwsError() {
-        WorkspaceSpecs.create(
-            TestResourceHelper(context!!, TestR.xml.invalid_workspace_file_case_2)
+        ResponsiveSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_workspace_file_case_2),
+            ResponsiveSpecType.Workspace
         )
     }
 
     @Test(expected = IllegalStateException::class)
     fun parseInvalidFile_valueBiggerThan1_throwsError() {
-        WorkspaceSpecs.create(
-            TestResourceHelper(context!!, TestR.xml.invalid_workspace_file_case_3)
+        ResponsiveSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_workspace_file_case_3),
+            ResponsiveSpecType.Workspace
         )
     }
 
     @Test(expected = IllegalStateException::class)
     fun parseInvalidFile_matchWorkspace_true_throwsError() {
-        WorkspaceSpecs.create(
-            TestResourceHelper(context!!, TestR.xml.invalid_workspace_file_case_4)
+        ResponsiveSpecsProvider.create(
+            TestResourceHelper(context, TestR.xml.invalid_workspace_file_case_4),
+            ResponsiveSpecType.Workspace
         )
     }
 }
diff --git a/tests/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncherTest.java b/tests/src/com/android/launcher3/secondarydisplay/TaplSecondaryDisplayLauncherTest.java
similarity index 99%
rename from tests/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncherTest.java
rename to tests/src/com/android/launcher3/secondarydisplay/TaplSecondaryDisplayLauncherTest.java
index c7431f2..d7b9638 100644
--- a/tests/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncherTest.java
+++ b/tests/src/com/android/launcher3/secondarydisplay/TaplSecondaryDisplayLauncherTest.java
@@ -47,7 +47,7 @@
  */
 @LargeTest
 @RunWith(AndroidJUnit4.class)
-public final class SecondaryDisplayLauncherTest extends AbstractLauncherUiTest {
+public final class TaplSecondaryDisplayLauncherTest extends AbstractLauncherUiTest {
     private static final int WAIT_TIME_MS = 5000;
     private static final int LONG_PRESS_DURATION_MS = 1000;
     private static final int DRAG_TIME_MS = 160;
diff --git a/tests/src/com/android/launcher3/settings/SettingsActivityTest.java b/tests/src/com/android/launcher3/settings/SettingsActivityTest.java
index 837973f..10e0be8 100644
--- a/tests/src/com/android/launcher3/settings/SettingsActivityTest.java
+++ b/tests/src/com/android/launcher3/settings/SettingsActivityTest.java
@@ -31,8 +31,9 @@
 import static androidx.test.espresso.matcher.ViewMatchers.withId;
 import static androidx.test.espresso.matcher.ViewMatchers.withText;
 
-import static com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT;
+import static com.android.launcher3.settings.SettingsActivity.DEVELOPER_OPTIONS_KEY;
 import static com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_ARGS;
+import static com.android.launcher3.settings.SettingsActivity.EXTRA_FRAGMENT_ROOT_KEY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -43,18 +44,15 @@
 import android.content.Intent;
 import android.os.Bundle;
 
-import androidx.preference.PreferenceFragmentCompat;
 import androidx.test.core.app.ActivityScenario;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.espresso.intent.Intents;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import com.android.launcher3.R;
-import com.android.launcher3.uioverrides.flags.DeveloperOptionsFragment;
 import com.android.systemui.shared.plugins.PluginPrefs;
 
 import org.junit.After;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -100,7 +98,7 @@
 
         intended(allOf(
                 hasComponent(SettingsActivity.class.getName()),
-                hasExtra(EXTRA_FRAGMENT, DeveloperOptionsFragment.class.getName())));
+                hasExtra(EXTRA_FRAGMENT_ROOT_KEY, DEVELOPER_OPTIONS_KEY)));
     }
 
     @Test
@@ -122,7 +120,7 @@
     @Ignore  // b/199309785
     public void testSettings_developerOptionsFragmentIntent() {
         Intent intent = new Intent(mApplicationContext, SettingsActivity.class)
-                .putExtra(EXTRA_FRAGMENT, DeveloperOptionsFragment.class.getName());
+                .putExtra(EXTRA_FRAGMENT_ROOT_KEY, DEVELOPER_OPTIONS_KEY);
         ActivityScenario.launch(intent);
 
         onView(withText("Developer Options")).check(matches(isDisplayed()));
@@ -132,21 +130,6 @@
 
     @Test
     @Ignore  // b/199309785
-    public void testSettings_intentWithUnknownFragment() {
-        String fragmentClass = PreferenceFragmentCompat.class.getName();
-        Intent intent = new Intent(mApplicationContext, SettingsActivity.class)
-                .putExtra(EXTRA_FRAGMENT, fragmentClass);
-
-        try {
-            ActivityScenario.launch(intent);
-            Assert.fail("Should have thrown an IllegalArgumentException.");
-        } catch (IllegalArgumentException e) {
-            assertThat(e.getMessage()).contains(fragmentClass);
-        }
-    }
-
-    @Test
-    @Ignore  // b/199309785
     public void testSettings_backButtonFinishesActivity() {
         Bundle fragmentArgs = new Bundle();
         fragmentArgs.putString(ARG_PREFERENCE_ROOT, "about_screen");
diff --git a/tests/src/com/android/launcher3/tapl/TaplUtilityTest.java b/tests/src/com/android/launcher3/tapl/TaplUtilityTest.java
new file mode 100644
index 0000000..b6ded97
--- /dev/null
+++ b/tests/src/com/android/launcher3/tapl/TaplUtilityTest.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.tapl;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class TaplUtilityTest {
+
+    @Test
+    public void testMakeMultilinePattern() {
+        // Original title will match.
+        assertTrue(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("Play Store").matches());
+        assertTrue(AppIcon.makeMultilinePattern("PlayStore")
+                .matcher("PlayStore").matches());
+
+        // Original title with whitespace added will match.
+        assertTrue(AppIcon.makeMultilinePattern("PlayStore")
+                .matcher("Play\nStore").matches());
+        assertTrue(AppIcon.makeMultilinePattern("PlayStore")
+                .matcher("Play Store").matches());
+        // Original title with whitespace removed will also match.
+        assertTrue(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("PlayStore").matches());
+        // Or whitespace replaced with a different kind of whitespace (both of above conditions).
+        assertTrue(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("Play\nStore").matches());
+        assertTrue(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("Play \n Store").matches());
+
+        // Any non-whitespace character added to the title will not match.
+        assertFalse(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("Play Store has 7 notifications").matches());
+        assertFalse(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("Play  Store!").matches());
+        // Title is case-sensitive.
+        assertFalse(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("play store").matches());
+        assertFalse(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("play  store").matches());
+        // Removing non whitespace characters will not match.
+        assertFalse(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("").matches());
+        assertFalse(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("Play Stor").matches());
+        assertFalse(AppIcon.makeMultilinePattern("Play Store")
+                .matcher("Play").matches());
+    }
+}
diff --git a/tests/src/com/android/launcher3/tapl/TaplUtilityTests.java b/tests/src/com/android/launcher3/tapl/TaplUtilityTests.java
deleted file mode 100644
index 15db1d8..0000000
--- a/tests/src/com/android/launcher3/tapl/TaplUtilityTests.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.launcher3.tapl;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-public class TaplUtilityTests {
-
-    @Test
-    public void testNewStringWithRegex() {
-        assertTrue(AppIcon.makeMultilinePattern("Play Store")
-                .matcher("Play Store has 7 notifications").matches());
-        assertTrue(AppIcon.makeMultilinePattern("Play Store")
-                .matcher("Play  Store!").matches());
-        assertFalse(AppIcon.makeMultilinePattern("Play Store")
-                .matcher("play  store").matches());
-        assertFalse(AppIcon.makeMultilinePattern("Play Store")
-                .matcher("").matches());
-        assertTrue(AppIcon.makeMultilinePattern("Play Store")
-                .matcher("Play \n Store").matches());
-    }
-}
diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
index 5240e6a..79d8c60 100644
--- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
+++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
@@ -15,10 +15,11 @@
  */
 package com.android.launcher3.ui;
 
+import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;
+
 import static androidx.test.InstrumentationRegistry.getInstrumentation;
 
 import static com.android.launcher3.testing.shared.TestProtocol.ICON_MISSING;
-import static com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName;
 import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
 
 import static org.junit.Assert.assertEquals;
@@ -40,9 +41,11 @@
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.system.OsConstants;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.test.InstrumentationRegistry;
 import androidx.test.uiautomator.By;
 import androidx.test.uiautomator.BySelector;
@@ -68,6 +71,7 @@
 import com.android.launcher3.util.rule.SamplerRule;
 import com.android.launcher3.util.rule.ScreenRecordRule;
 import com.android.launcher3.util.rule.ShellCommandRule;
+import com.android.launcher3.util.rule.TestIsolationRule;
 import com.android.launcher3.util.rule.TestStabilityRule;
 import com.android.launcher3.util.rule.ViewCaptureRule;
 
@@ -101,35 +105,62 @@
     private static boolean sDumpWasGenerated = false;
     private static boolean sActivityLeakReported = false;
     private static boolean sSeenKeyguard = false;
+    private static boolean sFirstTimeWaitingForWizard = true;
 
     private static final String SYSTEMUI_PACKAGE = "com.android.systemui";
 
     protected LooperExecutor mMainThreadExecutor = MAIN_EXECUTOR;
-    protected final UiDevice mDevice = UiDevice.getInstance(getInstrumentation());
-    protected final LauncherInstrumentation mLauncher = new LauncherInstrumentation();
+    protected final UiDevice mDevice = getUiDevice();
+    protected final LauncherInstrumentation mLauncher = createLauncherInstrumentation();
+
+    @NonNull
+    public static LauncherInstrumentation createLauncherInstrumentation() {
+        waitForSetupWizardDismissal(); // precondition for creating LauncherInstrumentation
+        return new LauncherInstrumentation(true);
+    }
+
     protected Context mTargetContext;
     protected String mTargetPackage;
     private int mLauncherPid;
 
+    /** Detects activity leaks and throws an exception if a leak is found. */
     public static void checkDetectedLeaks(LauncherInstrumentation launcher) {
+        checkDetectedLeaks(launcher, false);
+    }
+
+    /** Detects activity leaks and throws an exception if a leak is found. */
+    public static void checkDetectedLeaks(LauncherInstrumentation launcher,
+            boolean requireOneActiveActivityUnused) {
+        if (TestStabilityRule.isPresubmit()) return; // b/313501215
+
+        final boolean requireOneActiveActivity =
+                false; // workaround for leaks when there is an unexpected Recents activity
+
         if (sActivityLeakReported) return;
 
         // Check whether activity leak detector has found leaked activities.
-        Wait.atMost(() -> getActivityLeakErrorMessage(launcher),
+        Wait.atMost(() -> getActivityLeakErrorMessage(launcher, requireOneActiveActivity),
                 () -> {
                     launcher.forceGc();
                     return MAIN_EXECUTOR.submit(
-                            () -> launcher.noLeakedActivities()).get();
+                            () -> launcher.noLeakedActivities(requireOneActiveActivity)).get();
                 }, DEFAULT_UI_TIMEOUT, launcher);
     }
 
-    private static String getActivityLeakErrorMessage(LauncherInstrumentation launcher) {
-        sActivityLeakReported = true;
-        return "Activity leak detector has found leaked activities, "
-                + dumpHprofData(launcher, false) + ".";
+    public static String getAppPackageName() {
+        return getInstrumentation().getContext().getPackageName();
     }
 
-    public static String dumpHprofData(LauncherInstrumentation launcher, boolean intentionalLeak) {
+    private static String getActivityLeakErrorMessage(LauncherInstrumentation launcher,
+            boolean requireOneActiveActivity) {
+        sActivityLeakReported = true;
+        return "Activity leak detector has found leaked activities, requirining 1 activity: "
+                + requireOneActiveActivity + "; "
+                + dumpHprofData(launcher, false, requireOneActiveActivity) + ".";
+    }
+
+    private static String dumpHprofData(LauncherInstrumentation launcher, boolean intentionalLeak,
+            boolean requireOneActiveActivity) {
         if (intentionalLeak) return "intentional leak; not generating dump";
 
         String result;
@@ -143,12 +174,12 @@
                 if (TestHelpers.isInLauncherProcess()) {
                     Debug.dumpHprofData(fileName);
                 } else {
-                    final UiDevice device = UiDevice.getInstance(getInstrumentation());
+                    final UiDevice device = getUiDevice();
                     device.executeShellCommand(
                             "am dumpheap " + device.getLauncherPackageName() + " " + fileName);
                 }
                 Log.d(TAG, "Saved leak dump, the leak is still present: "
-                        + !launcher.noLeakedActivities());
+                        + !launcher.noLeakedActivities(requireOneActiveActivity));
                 sDumpWasGenerated = true;
                 result = "saved memory dump as an artifact";
             } catch (Throwable e) {
@@ -169,8 +200,8 @@
         if (TestHelpers.isInLauncherProcess()) {
             Utilities.enableRunningInTestHarnessForTests();
             mLauncher.setSystemHealthSupplier(startTime -> TestCommandReceiver.callCommand(
-                    TestCommandReceiver.GET_SYSTEM_HEALTH_MESSAGE, startTime.toString()).
-                    getString("result"));
+                            TestCommandReceiver.GET_SYSTEM_HEALTH_MESSAGE, startTime.toString())
+                    .getString("result"));
             mLauncher.setOnSettledStateAction(
                     containerType -> executeOnLauncher(
                             launcher ->
@@ -188,12 +219,32 @@
     @Rule
     public ScreenRecordRule mScreenRecordRule = new ScreenRecordRule();
 
+    @Rule
+    public SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT);
+
+    public static void initialize(AbstractLauncherUiTest test) throws Exception {
+        initialize(test, false);
+    }
+
+    public static void initialize(
+            AbstractLauncherUiTest test, boolean clearWorkspace) throws Exception {
+        test.reinitializeLauncherData(clearWorkspace);
+        test.mDevice.pressHome();
+        test.waitForLauncherCondition("Launcher didn't start", launcher -> launcher != null);
+        test.waitForState("Launcher internal state didn't switch to Home",
+                () -> LauncherState.NORMAL);
+        test.waitForResumed("Launcher internal state is still Background");
+        // Check that we switched to home.
+        test.mLauncher.getWorkspace();
+        AbstractLauncherUiTest.checkDetectedLeaks(test.mLauncher, true);
+    }
+
     protected void clearPackageData(String pkg) throws IOException, InterruptedException {
         final CountDownLatch count = new CountDownLatch(2);
         final SimpleBroadcastReceiver broadcastReceiver =
                 new SimpleBroadcastReceiver(i -> count.countDown());
         broadcastReceiver.registerPkgActions(mTargetContext, pkg,
-                        Intent.ACTION_PACKAGE_RESTARTED, Intent.ACTION_PACKAGE_DATA_CLEARED);
+                Intent.ACTION_PACKAGE_RESTARTED, Intent.ACTION_PACKAGE_DATA_CLEARED);
 
         mDevice.executeShellCommand("pm clear " + pkg);
         assertTrue(pkg + " didn't restart", count.await(10, TimeUnit.SECONDS));
@@ -206,7 +257,8 @@
         final RuleChain inner = RuleChain
                 .outerRule(new PortraitLandscapeRunner(this))
                 .around(new FailureWatcher(mLauncher, viewCaptureRule::getViewCaptureData))
-                .around(viewCaptureRule);
+                // .around(viewCaptureRule) // b/315482167
+                .around(new TestIsolationRule(mLauncher, true));
 
         return TestHelpers.isInLauncherProcess()
                 ? RuleChain.outerRule(ShellCommandRule.setDefaultLauncher()).around(inner)
@@ -227,8 +279,6 @@
     public void setUp() throws Exception {
         mLauncher.onTestStart();
 
-        verifyKeyguardInvisible();
-
         final String launcherPackageName = mDevice.getLauncherPackageName();
         try {
             final Context context = InstrumentationRegistry.getContext();
@@ -258,6 +308,66 @@
                 }
             }
         }
+
+        onTestStart();
+    }
+
+    /** Method that should be called when a test starts. */
+    public static void onTestStart() {
+        waitForSetupWizardDismissal();
+
+        if (TestStabilityRule.isPresubmit()) {
+            aggressivelyUnlockSysUi();
+        } else {
+            verifyKeyguardInvisible();
+        }
+    }
+
+    private static boolean hasSystemUiObject(String resId) {
+        return getUiDevice().hasObject(
+                By.res(SYSTEMUI_PACKAGE, resId));
+    }
+
+    @NonNull
+    private static UiDevice getUiDevice() {
+        return UiDevice.getInstance(getInstrumentation());
+    }
+
+    private static void aggressivelyUnlockSysUi() {
+        final UiDevice device = getUiDevice();
+        for (int i = 0; i < 10 && hasSystemUiObject("keyguard_status_view"); ++i) {
+            Log.d(TAG, "Before attempting to unlock the phone");
+            try {
+                device.executeShellCommand("input keyevent 82");
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            }
+            device.waitForIdle();
+        }
+        Assert.assertTrue("Keyguard still visible",
+                TestHelpers.wait(
+                        Until.gone(By.res(SYSTEMUI_PACKAGE, "keyguard_status_view")), 60000));
+        Log.d(TAG, "Keyguard is not visible");
+    }
+
+    /** Waits for setup wizard to go away. */
+    private static void waitForSetupWizardDismissal() {
+        if (!TestStabilityRule.isPresubmit()) return;
+
+        if (sFirstTimeWaitingForWizard) {
+            try {
+                getUiDevice().executeShellCommand(
+                        "am force-stop com.google.android.setupwizard");
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            }
+        }
+
+        final boolean wizardDismissed = TestHelpers.wait(
+                Until.gone(By.pkg("com.google.android.setupwizard").depth(0)),
+                sFirstTimeWaitingForWizard ? 120000 : 0);
+        sFirstTimeWaitingForWizard = false;
+        Assert.assertTrue("Setup wizard is still visible", wizardDismissed);
     }
 
     private static void verifyKeyguardInvisible() {
@@ -329,6 +439,15 @@
         });
     }
 
+    // Execute an action on Launcher, but forgive it when launcher is null.
+    // Launcher can be null if teardown is happening after a failed setup step where launcher
+    // activity failed to be created.
+    protected void executeOnLauncherInTearDown(Consumer<Launcher> f) {
+        executeOnLauncher(launcher -> {
+            if (launcher != null) f.accept(launcher);
+        });
+    }
+
     // Cannot be used in TaplTests between a Tapl call injecting a gesture and a tapl call
     // expecting the results of that gesture because the wait can hide flakeness.
     protected void waitForState(String message, Supplier<LauncherState> state) {
@@ -473,6 +592,12 @@
         getInstrumentation().getTargetContext().startActivity(intent);
         assertTrue("App didn't start: " + selector,
                 TestHelpers.wait(Until.hasObject(selector), DEFAULT_UI_TIMEOUT));
+
+        // Wait for the Launcher to stop.
+        final LauncherInstrumentation launcherInstrumentation = new LauncherInstrumentation();
+        Wait.atMost("Launcher activity didn't stop",
+                () -> !launcherInstrumentation.isLauncherActivityStarted(),
+                DEFAULT_ACTIVITY_TIMEOUT, launcherInstrumentation);
     }
 
     public static ActivityInfo resolveSystemAppInfo(String category) {
diff --git a/tests/src/com/android/launcher3/ui/ActivityAllAppsContainerViewTest.java b/tests/src/com/android/launcher3/ui/ActivityAllAppsContainerViewTest.java
new file mode 100644
index 0000000..3411fc1
--- /dev/null
+++ b/tests/src/com/android/launcher3/ui/ActivityAllAppsContainerViewTest.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.ui;
+
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+
+import static com.android.launcher3.model.data.AppInfo.EMPTY_ARRAY;
+import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Process;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.launcher3.allapps.ActivityAllAppsContainerView;
+import com.android.launcher3.allapps.WorkProfileManager;
+import com.android.launcher3.logging.StatsLogManager;
+import com.android.launcher3.model.data.AppInfo;
+import com.android.launcher3.pm.UserCache;
+import com.android.launcher3.util.ActivityContextWrapper;
+import com.android.launcher3.util.UserIconInfo;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Arrays;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class ActivityAllAppsContainerViewTest {
+
+    private static final UserHandle WORK_HANDLE = new UserHandle(13);
+    @Mock
+    private StatsLogManager mStatsLogManager;
+    @Mock
+    private UserCache mUserCache;
+    @Mock
+    private UserManager mUserManager;
+    private AppInfo[] mWorkAppInfo;
+    private ActivityAllAppsContainerView<?> mActivityAllAppsContainerView;
+    private WorkProfileManager mWorkManager;
+    private Context mContext;
+
+    @Rule public final SetFlagsRule mSetFlagsRule = getFlagsRule();
+
+    private SetFlagsRule getFlagsRule() {
+        SetFlagsRule flagsRule = new SetFlagsRule();
+        flagsRule.initAllFlagsToReleaseConfigDefault();
+        return flagsRule;
+    }
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = new ActivityContextWrapper(getApplicationContext());
+        mActivityAllAppsContainerView = new ActivityAllAppsContainerView(mContext);
+        when(mUserCache.getUserProfiles())
+                .thenReturn(Arrays.asList(Process.myUserHandle(), WORK_HANDLE));
+        when(mUserCache.getUserInfo(Process.myUserHandle()))
+                .thenReturn(new UserIconInfo(Process.myUserHandle(), 0));
+        when(mUserCache.getUserInfo(WORK_HANDLE))
+                .thenReturn(new UserIconInfo(WORK_HANDLE, 1));
+        mWorkManager = new WorkProfileManager(mUserManager, mActivityAllAppsContainerView,
+                mStatsLogManager, mUserCache);
+        mActivityAllAppsContainerView.setWorkManager(mWorkManager);
+        ComponentName componentName = new ComponentName(mContext,
+                "com.android.launcher3.tests.Activity" + "Gmail");
+        AppInfo gmailWorkAppInfo = new AppInfo(componentName, "Gmail", WORK_HANDLE, new Intent());
+        mWorkAppInfo = new AppInfo[]{gmailWorkAppInfo};
+    }
+
+    @Test
+    public void testOnAppsUpdatedWithoutWorkApps_shouldShowTabsIsFalse() {
+        mActivityAllAppsContainerView.getAppsStore().setApps(EMPTY_ARRAY, 0, null);
+
+        mActivityAllAppsContainerView.onAppsUpdated();
+
+        assertThat(mActivityAllAppsContainerView.shouldShowTabs()).isEqualTo(false);
+    }
+
+    @Test
+    public void testOnAppsUpdatedWithWorkApps_shouldShowTabsIsTrue() {
+        mActivityAllAppsContainerView.getAppsStore().setApps(mWorkAppInfo, 0, null);
+
+        mActivityAllAppsContainerView.onAppsUpdated();
+
+        assertThat(mActivityAllAppsContainerView.shouldShowTabs()).isEqualTo(true);
+    }
+
+    @Test
+    public void testWorkProfileEnabled_requestQuietModeCalledCorrectly() throws Exception {
+        /* Setup */
+        when(mUserManager.requestQuietModeEnabled(false, WORK_HANDLE))
+                .thenReturn(true);
+
+        /* Execution */
+        mWorkManager.setWorkProfileEnabled(true);
+
+        /* Assertion */
+        awaitTasksCompleted();
+        Mockito.verify(mUserManager).requestQuietModeEnabled(false, WORK_HANDLE);
+    }
+
+    private static void awaitTasksCompleted() throws Exception {
+        UI_HELPER_EXECUTOR.submit(() -> null).get();
+    }
+}
diff --git a/tests/src/com/android/launcher3/ui/BubbleTextViewTest.java b/tests/src/com/android/launcher3/ui/BubbleTextViewTest.java
index ba17fdc..58af51c 100644
--- a/tests/src/com/android/launcher3/ui/BubbleTextViewTest.java
+++ b/tests/src/com/android/launcher3/ui/BubbleTextViewTest.java
@@ -20,26 +20,39 @@
 
 import static com.android.launcher3.BubbleTextView.DISPLAY_ALL_APPS;
 import static com.android.launcher3.BubbleTextView.DISPLAY_PREDICTION_ROW;
+import static com.android.launcher3.BubbleTextView.DISPLAY_SEARCH_RESULT;
+import static com.android.launcher3.BubbleTextView.DISPLAY_SEARCH_RESULT_SMALL;
 import static com.android.launcher3.config.FeatureFlags.ENABLE_TWOLINE_ALLAPPS;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
 
+import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
 import android.graphics.Typeface;
+import android.os.UserHandle;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.view.ViewGroup;
 
 import com.android.launcher3.BubbleTextView;
+import com.android.launcher3.Flags;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.model.data.AppInfo;
 import com.android.launcher3.model.data.ItemInfoWithIcon;
 import com.android.launcher3.search.StringMatcherUtility;
 import com.android.launcher3.util.ActivityContextWrapper;
+import com.android.launcher3.util.FlagOp;
 import com.android.launcher3.util.IntArray;
 import com.android.launcher3.util.TestUtil;
 import com.android.launcher3.views.BaseDragLayer;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
+import org.mockito.MockitoAnnotations;
 
 /**
  * Unit tests for testing modifyTitleToSupportMultiLine() in BubbleTextView.java
@@ -50,8 +63,12 @@
  */
 public class BubbleTextViewTest {
 
+    @Rule public final SetFlagsRule mSetFlagsRule =
+            new SetFlagsRule(SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
     private static final StringMatcherUtility.StringMatcher
             MATCHER = StringMatcherUtility.StringMatcher.getInstance();
+    private static final UserHandle WORK_HANDLE = new UserHandle(13);
+    private static final int WORK_FLAG = 1;
     private static final int ONE_LINE = 1;
     private static final int TWO_LINE = 2;
     private static final String TEST_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT = "Battery Stats";
@@ -69,14 +86,20 @@
             "LEGO®\nBuilder";
     private static final String EMPTY_STRING = "";
     private static final int CHAR_CNT = 7;
+    private static final int MAX_HEIGHT = Integer.MAX_VALUE;
+    private static final int LIMITED_HEIGHT = 357; /* allowedHeight in Pixel6 */
+    private static final float SPACE_MULTIPLIER = 1;
+    private static final float SPACE_EXTRA = 0;
 
     private BubbleTextView mBubbleTextView;
     private ItemInfoWithIcon mItemInfoWithIcon;
     private Context mContext;
     private int mLimitedWidth;
+    private AppInfo mGmailAppInfo;
 
     @Before
     public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
         Utilities.enableRunningInTestHarnessForTests();
         mContext = new ActivityContextWrapper(getApplicationContext());
         mBubbleTextView = new BubbleTextView(mContext);
@@ -99,17 +122,23 @@
                 return null;
             }
         };
+        ComponentName componentName = new ComponentName(mContext,
+                "com.android.launcher3.tests.Activity" + "Gmail");
+        mGmailAppInfo = new AppInfo(componentName, "Gmail", WORK_HANDLE, new Intent());
     }
 
     @Test
     public void testEmptyString_flagOn() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, true)) {
             mItemInfoWithIcon.title = EMPTY_STRING;
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, LIMITED_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertNotEquals(TWO_LINE, mBubbleTextView.getMaxLines());
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -118,13 +147,16 @@
 
     @Test
     public void testEmptyString_flagOff() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, false)) {
             mItemInfoWithIcon.title = EMPTY_STRING;
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, LIMITED_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertEquals(ONE_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -133,14 +165,17 @@
 
     @Test
     public void testStringWithSpaceLongerThanCharLimit_flagOn() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, true)) {
             // test string: "Battery Stats"
             mItemInfoWithIcon.title = TEST_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT;
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, MAX_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertEquals(TWO_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -149,14 +184,17 @@
 
     @Test
     public void testStringWithSpaceLongerThanCharLimit_flagOff() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, false)) {
             // test string: "Battery Stats"
             mItemInfoWithIcon.title = TEST_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT;
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, LIMITED_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertEquals(ONE_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -165,14 +203,17 @@
 
     @Test
     public void testLongStringNoSpaceLongerThanCharLimit_flagOn() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, true)) {
             // test string: "flutterappflorafy"
             mItemInfoWithIcon.title = TEST_LONG_STRING_NO_SPACE_LONGER_THAN_CHAR_LIMIT;
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, LIMITED_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertEquals(ONE_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -181,81 +222,96 @@
 
     @Test
     public void testLongStringNoSpaceLongerThanCharLimit_flagOff() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, false)) {
             // test string: "flutterappflorafy"
             mItemInfoWithIcon.title = TEST_LONG_STRING_NO_SPACE_LONGER_THAN_CHAR_LIMIT;
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, LIMITED_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertEquals(ONE_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
-            throw  new RuntimeException(e);
+            throw new RuntimeException(e);
         }
     }
 
     @Test
     public void testLongStringWithSpaceLongerThanCharLimit_flagOn() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, true)) {
             // test string: "System UWB Field Test"
             mItemInfoWithIcon.title = TEST_LONG_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT;
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, MAX_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertEquals(TWO_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
-            throw  new RuntimeException(e);
+            throw new RuntimeException(e);
         }
     }
 
     @Test
     public void testLongStringWithSpaceLongerThanCharLimit_flagOff() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, false)) {
             // test string: "System UWB Field Test"
             mItemInfoWithIcon.title = TEST_LONG_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT;
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, LIMITED_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertEquals(ONE_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
-            throw  new RuntimeException(e);
+            throw new RuntimeException(e);
         }
     }
 
     @Test
     public void testLongStringSymbolLongerThanCharLimit_flagOn() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, true)) {
             // test string: "LEGO®Builder"
             mItemInfoWithIcon.title = TEST_LONG_STRING_SYMBOL_LONGER_THAN_CHAR_LIMIT;
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, MAX_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertEquals(TWO_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
-            throw  new RuntimeException(e);
+            throw new RuntimeException(e);
         }
     }
 
     @Test
     public void testLongStringSymbolLongerThanCharLimit_flagOff() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, false)) {
             // test string: "LEGO®Builder"
             mItemInfoWithIcon.title = TEST_LONG_STRING_SYMBOL_LONGER_THAN_CHAR_LIMIT;
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, LIMITED_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
             assertEquals(ONE_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
-            throw  new RuntimeException(e);
+            throw new RuntimeException(e);
         }
     }
 
@@ -265,8 +321,11 @@
         IntArray breakPoints = StringMatcherUtility.getListOfBreakpoints(
                 TEST_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT, MATCHER);
         CharSequence newString = BubbleTextView.modifyTitleToSupportMultiLine(mLimitedWidth,
+                MAX_HEIGHT,
                 TEST_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT, mBubbleTextView.getPaint(),
-                breakPoints);
+                breakPoints,
+                SPACE_MULTIPLIER,
+                SPACE_EXTRA);
         assertEquals(TEST_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT_RESULT, newString);
     }
 
@@ -275,9 +334,11 @@
         // test string: "flutterappflorafy"
         IntArray breakPoints = StringMatcherUtility.getListOfBreakpoints(
                 TEST_LONG_STRING_NO_SPACE_LONGER_THAN_CHAR_LIMIT, MATCHER);
-        CharSequence newString = BubbleTextView.modifyTitleToSupportMultiLine(mLimitedWidth,
+        CharSequence newString = BubbleTextView.modifyTitleToSupportMultiLine(mLimitedWidth, 0,
                 TEST_LONG_STRING_NO_SPACE_LONGER_THAN_CHAR_LIMIT, mBubbleTextView.getPaint(),
-                breakPoints);
+                breakPoints,
+                SPACE_MULTIPLIER,
+                SPACE_EXTRA);
         assertEquals(TEST_LONG_STRING_NO_SPACE_LONGER_THAN_CHAR_LIMIT, newString);
     }
 
@@ -287,8 +348,11 @@
         IntArray breakPoints = StringMatcherUtility.getListOfBreakpoints(
                 TEST_LONG_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT, MATCHER);
         CharSequence newString = BubbleTextView.modifyTitleToSupportMultiLine(mLimitedWidth,
+                MAX_HEIGHT,
                 TEST_LONG_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT, mBubbleTextView.getPaint(),
-                breakPoints);
+                breakPoints,
+                SPACE_MULTIPLIER,
+                SPACE_EXTRA);
         assertEquals(TEST_LONG_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT_RESULT, newString);
     }
 
@@ -297,25 +361,93 @@
         // test string: "LEGO®Builder"
         IntArray breakPoints = StringMatcherUtility.getListOfBreakpoints(
                 TEST_LONG_STRING_SYMBOL_LONGER_THAN_CHAR_LIMIT, MATCHER);
-        CharSequence newString = BubbleTextView.modifyTitleToSupportMultiLine(mLimitedWidth,
+        CharSequence newString = BubbleTextView.modifyTitleToSupportMultiLine(
+                mLimitedWidth,
+                MAX_HEIGHT,
                 TEST_LONG_STRING_SYMBOL_LONGER_THAN_CHAR_LIMIT, mBubbleTextView.getPaint(),
-                breakPoints);
+                breakPoints,
+                SPACE_MULTIPLIER,
+                SPACE_EXTRA);
         assertEquals(TEST_LONG_STRING_SYMBOL_LONGER_THAN_CHAR_LIMIT_RESULT, newString);
     }
 
     @Test
-    public void testEnsurePredictionRowIsOneLine() {
+    public void testEnsurePredictionRowIsTwoLine() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
         try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, true)) {
             // test string: "Battery Stats"
             mItemInfoWithIcon.title = TEST_STRING_WITH_SPACE_LONGER_THAN_CHAR_LIMIT;
             mBubbleTextView.setDisplay(DISPLAY_PREDICTION_ROW);
             mBubbleTextView.applyLabel(mItemInfoWithIcon);
             mBubbleTextView.setTypeface(Typeface.MONOSPACE);
-            mBubbleTextView.measure(mLimitedWidth, 0);
+            mBubbleTextView.measure(mLimitedWidth, MAX_HEIGHT);
+
             mBubbleTextView.onPreDraw();
+
+            assertEquals(TWO_LINE, mBubbleTextView.getLineCount());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Test
+    public void modifyTitleToSupportMultiLine_whenLimitedHeight_shouldBeOneLine() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
+        try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, true)) {
+            // test string: "LEGO®Builder"
+            mItemInfoWithIcon.title = TEST_LONG_STRING_SYMBOL_LONGER_THAN_CHAR_LIMIT;
+            mBubbleTextView.applyLabel(mItemInfoWithIcon);
+            mBubbleTextView.setTypeface(Typeface.MONOSPACE);
+            mBubbleTextView.measure(mLimitedWidth, LIMITED_HEIGHT);
+
+            mBubbleTextView.onPreDraw();
+
             assertEquals(ONE_LINE, mBubbleTextView.getLineCount());
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
     }
+
+    @Test
+    public void modifyTitleToSupportMultiLine_whenUnlimitedHeight_shouldBeTwoLine() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_TWOLINE_ALLAPPS);
+        try (AutoCloseable flag = TestUtil.overrideFlag(ENABLE_TWOLINE_ALLAPPS, true)) {
+            // test string: "LEGO®Builder"
+            mItemInfoWithIcon.title = TEST_LONG_STRING_SYMBOL_LONGER_THAN_CHAR_LIMIT;
+            mBubbleTextView.setDisplay(DISPLAY_ALL_APPS);
+            mBubbleTextView.applyLabel(mItemInfoWithIcon);
+            mBubbleTextView.setTypeface(Typeface.MONOSPACE);
+            mBubbleTextView.measure(mLimitedWidth, MAX_HEIGHT);
+
+            mBubbleTextView.onPreDraw();
+
+            assertEquals(TWO_LINE, mBubbleTextView.getLineCount());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Test
+    public void applyIconAndLabel_whenDisplay_DISPLAY_SEARCH_RESULT_SMALL_noBadge() {
+        FlagOp op = FlagOp.NO_OP;
+        // apply the WORK bitmap flag to show work badge
+        mGmailAppInfo.bitmap.flags = op.apply(WORK_FLAG);
+        mBubbleTextView.setDisplay(DISPLAY_SEARCH_RESULT_SMALL);
+
+        mBubbleTextView.applyIconAndLabel(mGmailAppInfo);
+
+        assertThat(mBubbleTextView.getIcon().hasBadge()).isEqualTo(false);
+    }
+
+    @Test
+    public void applyIconAndLabel_whenDisplay_DISPLAY_SEARCH_RESULT_hasBadge() {
+        FlagOp op = FlagOp.NO_OP;
+        // apply the WORK bitmap flag to show work badge
+        mGmailAppInfo.bitmap.flags = op.apply(WORK_FLAG);
+        mBubbleTextView.setDisplay(DISPLAY_SEARCH_RESULT);
+
+        mBubbleTextView.applyIconAndLabel(mGmailAppInfo);
+
+        assertThat(mBubbleTextView.getIcon().hasBadge()).isEqualTo(true);
+    }
 }
diff --git a/tests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java b/tests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java
index f0875f8..d94e4a5 100644
--- a/tests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java
+++ b/tests/src/com/android/launcher3/ui/PortraitLandscapeRunner.java
@@ -4,6 +4,7 @@
 import android.view.Surface;
 
 import com.android.launcher3.tapl.TestHelpers;
+import com.android.launcher3.util.rule.TestStabilityRule;
 
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;
@@ -30,8 +31,12 @@
 
     @Override
     public Statement apply(Statement base, Description description) {
-        if (!TestHelpers.isInLauncherProcess() ||
-                description.getAnnotation(PortraitLandscape.class) == null) {
+        if (!TestHelpers.isInLauncherProcess()
+                || description.getAnnotation(PortraitLandscape.class) == null
+                // If running in presubmit, don't run in both orientations.
+                // It's important to keep presubmits fast even if we will occasionally miss
+                // regressions in presubmit.
+                || TestStabilityRule.isPresubmit()) {
             return base;
         }
 
@@ -67,7 +72,7 @@
             private void evaluateInPortrait() throws Throwable {
                 mTest.mDevice.setOrientationNatural();
                 mTest.mLauncher.setExpectedRotation(Surface.ROTATION_0);
-                AbstractLauncherUiTest.checkDetectedLeaks(mTest.mLauncher);
+                AbstractLauncherUiTest.checkDetectedLeaks(mTest.mLauncher, true);
                 base.evaluate();
                 mTest.getDevice().pressHome();
             }
@@ -75,7 +80,7 @@
             private void evaluateInLandscape() throws Throwable {
                 mTest.mDevice.setOrientationLeft();
                 mTest.mLauncher.setExpectedRotation(Surface.ROTATION_90);
-                AbstractLauncherUiTest.checkDetectedLeaks(mTest.mLauncher);
+                AbstractLauncherUiTest.checkDetectedLeaks(mTest.mLauncher, true);
                 base.evaluate();
                 mTest.getDevice().pressHome();
             }
diff --git a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java
deleted file mode 100644
index 45b01f4..0000000
--- a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java
+++ /dev/null
@@ -1,738 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.ui;
-
-import static androidx.test.InstrumentationRegistry.getInstrumentation;
-
-import static com.android.launcher3.testing.shared.TestProtocol.ICON_MISSING;
-import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
-import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeFalse;
-import static org.junit.Assume.assumeTrue;
-
-import android.content.Intent;
-import android.graphics.Point;
-import android.os.SystemClock;
-import android.platform.test.annotations.PlatinumTest;
-import android.util.Log;
-
-import androidx.test.filters.FlakyTest;
-import androidx.test.filters.LargeTest;
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.launcher3.Launcher;
-import com.android.launcher3.LauncherState;
-import com.android.launcher3.config.FeatureFlags;
-import com.android.launcher3.popup.ArrowPopup;
-import com.android.launcher3.tapl.AllApps;
-import com.android.launcher3.tapl.AppIcon;
-import com.android.launcher3.tapl.AppIconMenu;
-import com.android.launcher3.tapl.AppIconMenuItem;
-import com.android.launcher3.tapl.Folder;
-import com.android.launcher3.tapl.FolderIcon;
-import com.android.launcher3.tapl.HomeAllApps;
-import com.android.launcher3.tapl.HomeAppIcon;
-import com.android.launcher3.tapl.HomeAppIconMenuItem;
-import com.android.launcher3.tapl.Widgets;
-import com.android.launcher3.tapl.Workspace;
-import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
-import com.android.launcher3.util.LauncherLayoutBuilder;
-import com.android.launcher3.util.TestUtil;
-import com.android.launcher3.util.Wait;
-import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
-import com.android.launcher3.util.rule.TISBindRule;
-import com.android.launcher3.util.rule.TestStabilityRule.Stability;
-import com.android.launcher3.widget.picker.WidgetsFullSheet;
-import com.android.launcher3.widget.picker.WidgetsRecyclerView;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.io.IOException;
-import java.util.Map;
-
-@LargeTest
-@RunWith(AndroidJUnit4.class)
-public class TaplTestsLauncher3 extends AbstractLauncherUiTest {
-    private static final String APP_NAME = "LauncherTestApp";
-    private static final String DUMMY_APP_NAME = "Aardwolf";
-    private static final String MAPS_APP_NAME = "Maps";
-    private static final String STORE_APP_NAME = "Play Store";
-    private static final String GMAIL_APP_NAME = "Gmail";
-    private static final String READ_DEVICE_CONFIG_PERMISSION =
-            "android.permission.READ_DEVICE_CONFIG";
-
-    @Rule
-    public TISBindRule mTISBindRule = new TISBindRule();
-
-    private AutoCloseable mLauncherLayout;
-
-    @Before
-    public void setUp() throws Exception {
-        super.setUp();
-        initialize(this);
-    }
-
-    public static void initialize(AbstractLauncherUiTest test) throws Exception {
-        initialize(test, false);
-    }
-
-    public static void initialize(
-            AbstractLauncherUiTest test, boolean clearWorkspace) throws Exception {
-        test.reinitializeLauncherData(clearWorkspace);
-        test.mDevice.pressHome();
-        test.waitForLauncherCondition("Launcher didn't start", launcher -> launcher != null);
-        test.waitForState("Launcher internal state didn't switch to Home",
-                () -> LauncherState.NORMAL);
-        test.waitForResumed("Launcher internal state is still Background");
-        // Check that we switched to home.
-        test.mLauncher.getWorkspace();
-        AbstractLauncherUiTest.checkDetectedLeaks(test.mLauncher);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        if (mLauncherLayout != null) {
-            mLauncherLayout.close();
-        }
-    }
-
-    // Please don't add negative test cases for methods that fail only after a long wait.
-    public static void expectFail(String message, Runnable action) {
-        boolean failed = false;
-        try {
-            action.run();
-        } catch (AssertionError e) {
-            failed = true;
-        }
-        assertTrue(message, failed);
-    }
-
-    public static boolean isWorkspaceScrollable(Launcher launcher) {
-        return launcher.getWorkspace().getPageCount() > launcher.getWorkspace().getPanelCount();
-    }
-
-    private int getCurrentWorkspacePage(Launcher launcher) {
-        return launcher.getWorkspace().getCurrentPage();
-    }
-
-    private WidgetsRecyclerView getWidgetsView(Launcher launcher) {
-        return WidgetsFullSheet.getWidgetsView(launcher);
-    }
-
-    @Test
-    public void testDevicePressMenu() throws Exception {
-        mDevice.pressMenu();
-        mDevice.waitForIdle();
-        executeOnLauncher(
-                launcher -> assertNotNull("Launcher internal state didn't switch to Showing Menu",
-                        launcher.getOptionsPopup()));
-        // Check that pressHome works when the menu is shown.
-        mLauncher.goHome();
-    }
-
-    @Test
-    public void testPressHomeOnAllAppsContextMenu() throws Exception {
-        final AllApps allApps = mLauncher.getWorkspace().switchToAllApps();
-        allApps.freeze();
-        try {
-            allApps.getAppIcon("TestActivity7").openMenu();
-        } finally {
-            allApps.unfreeze();
-        }
-        mLauncher.goHome();
-    }
-
-    public static void runAllAppsTest(AbstractLauncherUiTest test, AllApps allApps) {
-        allApps.freeze();
-        try {
-            assertNotNull("allApps parameter is null", allApps);
-
-            assertTrue(
-                    "Launcher internal state is not All Apps",
-                    test.isInState(() -> LauncherState.ALL_APPS));
-
-            // Test flinging forward and backward.
-            test.executeOnLauncher(launcher -> assertEquals(
-                    "All Apps started in already scrolled state", 0,
-                    test.getAllAppsScroll(launcher)));
-
-            allApps.flingForward();
-            assertTrue("Launcher internal state is not All Apps",
-                    test.isInState(() -> LauncherState.ALL_APPS));
-            final Integer flingForwardY = test.getFromLauncher(
-                    launcher -> test.getAllAppsScroll(launcher));
-            test.executeOnLauncher(
-                    launcher -> assertTrue("flingForward() didn't scroll App Apps",
-                            flingForwardY > 0));
-
-            allApps.flingBackward();
-            assertTrue(
-                    "Launcher internal state is not All Apps",
-                    test.isInState(() -> LauncherState.ALL_APPS));
-            final Integer flingBackwardY = test.getFromLauncher(
-                    launcher -> test.getAllAppsScroll(launcher));
-            test.executeOnLauncher(launcher -> assertTrue("flingBackward() didn't scroll App Apps",
-                    flingBackwardY < flingForwardY));
-
-            // Test scrolling down to YouTube.
-            assertNotNull("All apps: can't find YouTube", allApps.getAppIcon("YouTube"));
-            // Test scrolling up to Camera.
-            assertNotNull("All apps: can't find Camera", allApps.getAppIcon("Camera"));
-            // Test failing to find a non-existing app.
-            final AllApps allAppsFinal = allApps;
-            expectFail("All apps: could find a non-existing app",
-                    () -> allAppsFinal.getAppIcon("NO APP"));
-
-            assertTrue(
-                    "Launcher internal state is not All Apps",
-                    test.isInState(() -> LauncherState.ALL_APPS));
-        } finally {
-            allApps.unfreeze();
-        }
-    }
-
-    @Test
-    @PortraitLandscape
-    public void testWorkspaceSwitchToAllApps() {
-        assertNotNull("switchToAllApps() returned null",
-                mLauncher.getWorkspace().switchToAllApps());
-        assertTrue("Launcher internal state is not All Apps",
-                isInState(() -> LauncherState.ALL_APPS));
-    }
-
-    @Test
-    @PortraitLandscape
-    public void testAllAppsSwitchToWorkspace() {
-        assertNotNull("switchToWorkspace() returned null",
-                mLauncher.getWorkspace().switchToAllApps()
-                        .switchToWorkspace(/* swipeDown= */ true));
-        assertTrue("Launcher internal state is not Workspace",
-                isInState(() -> LauncherState.NORMAL));
-    }
-
-    @Test
-    @PortraitLandscape
-    public void testAllAppsSwipeUpToWorkspace() {
-        assertNotNull("testAllAppsSwipeUpToWorkspace() returned null",
-                mLauncher.getWorkspace().switchToAllApps()
-                        .switchToWorkspace(/* swipeDown= */ false));
-        assertTrue("Launcher internal state is not Workspace",
-                isInState(() -> LauncherState.NORMAL));
-    }
-
-    @Test
-    @PortraitLandscape
-    public void testAllAppsDeadzoneForTablet() throws Exception {
-        assumeTrue(mLauncher.isTablet());
-
-        mLauncher.getWorkspace().switchToAllApps().dismissByTappingOutsideForTablet(
-                true /* tapRight */);
-        mLauncher.getWorkspace().switchToAllApps().dismissByTappingOutsideForTablet(
-                false /* tapRight */);
-    }
-
-    @PlatinumTest(focusArea = "launcher")
-    @Test
-    @ScreenRecord // b/202433017
-    public void testWorkspace() throws Exception {
-        // Set workspace  that includes the chrome Activity app icon on the hotseat.
-        LauncherLayoutBuilder builder = new LauncherLayoutBuilder()
-                .atHotseat(0).putApp("com.android.chrome", "com.google.android.apps.chrome.Main");
-        mLauncherLayout = TestUtil.setLauncherDefaultLayout(mTargetContext, builder);
-        reinitializeLauncherData();
-
-        final Workspace workspace = mLauncher.getWorkspace();
-
-        // Test that ensureWorkspaceIsScrollable adds a page by dragging an icon there.
-        executeOnLauncher(launcher -> assertFalse("Initial workspace state is scrollable",
-                isWorkspaceScrollable(launcher)));
-        assertEquals("Initial workspace doesn't have the correct page", workspace.pagesPerScreen(),
-                workspace.getPageCount());
-        workspace.verifyWorkspaceAppIconIsGone("Chrome app was found on empty workspace", "Chrome");
-        workspace.ensureWorkspaceIsScrollable();
-
-        executeOnLauncher(
-                launcher -> assertEquals(
-                        "Ensuring workspace scrollable didn't switch to next screen",
-                        workspace.pagesPerScreen(), getCurrentWorkspacePage(launcher)));
-        executeOnLauncher(
-                launcher -> assertTrue("ensureScrollable didn't make workspace scrollable",
-                        isWorkspaceScrollable(launcher)));
-        assertNotNull("ensureScrollable didn't add Chrome app",
-                workspace.getWorkspaceAppIcon("Chrome"));
-
-        // Test flinging workspace.
-        workspace.flingBackward();
-        assertTrue("Launcher internal state is not Home", isInState(() -> LauncherState.NORMAL));
-        executeOnLauncher(
-                launcher -> assertEquals("Flinging back didn't switch workspace to page #0",
-                        0, getCurrentWorkspacePage(launcher)));
-
-        workspace.flingForward();
-        executeOnLauncher(
-                launcher -> assertEquals("Flinging forward didn't switch workspace to next screen",
-                        workspace.pagesPerScreen(), getCurrentWorkspacePage(launcher)));
-        assertTrue("Launcher internal state is not Home", isInState(() -> LauncherState.NORMAL));
-
-        // Test starting a workspace app.
-        final HomeAppIcon app = workspace.getWorkspaceAppIcon("Chrome");
-        assertNotNull("No Chrome app in workspace", app);
-    }
-
-    public static void runIconLaunchFromAllAppsTest(AbstractLauncherUiTest test, AllApps allApps) {
-        allApps.freeze();
-        try {
-            final AppIcon app = allApps.getAppIcon("TestActivity7");
-            assertNotNull("AppIcon.launch returned null", app.launch(getAppPackageName()));
-            test.executeOnLauncher(launcher -> assertTrue(
-                    "Launcher activity is the top activity; expecting another activity to be the "
-                            + "top one",
-                    test.isInLaunchedApp(launcher)));
-        } finally {
-            allApps.unfreeze();
-        }
-    }
-
-    @Test
-    @PortraitLandscape
-    public void testAppIconLaunchFromAllAppsFromHome() throws Exception {
-        final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
-        assertTrue("Launcher internal state is not All Apps",
-                isInState(() -> LauncherState.ALL_APPS));
-
-        runIconLaunchFromAllAppsTest(this, allApps);
-    }
-
-    @Test
-    @Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/293191790
-    @ScreenRecord
-    @PortraitLandscape
-    public void testWidgets() throws Exception {
-        // Test opening widgets.
-        executeOnLauncher(launcher ->
-                assertTrue("Widgets is initially opened", getWidgetsView(launcher) == null));
-        Widgets widgets = mLauncher.getWorkspace().openAllWidgets();
-        assertNotNull("openAllWidgets() returned null", widgets);
-        widgets = mLauncher.getAllWidgets();
-        assertNotNull("getAllWidgets() returned null", widgets);
-        executeOnLauncher(launcher ->
-                assertTrue("Widgets is not shown", getWidgetsView(launcher).isShown()));
-        executeOnLauncher(launcher -> assertEquals("Widgets is scrolled upon opening",
-                0, getWidgetsScroll(launcher)));
-
-        // Test flinging widgets.
-        widgets.flingForward();
-        Integer flingForwardY = getFromLauncher(launcher -> getWidgetsScroll(launcher));
-        executeOnLauncher(launcher -> assertTrue("Flinging forward didn't scroll widgets",
-                flingForwardY > 0));
-
-        widgets.flingBackward();
-        executeOnLauncher(launcher -> assertTrue("Flinging backward didn't scroll widgets",
-                getWidgetsScroll(launcher) < flingForwardY));
-
-        mLauncher.goHome();
-        waitForLauncherCondition("Widgets were not closed",
-                launcher -> getWidgetsView(launcher) == null);
-    }
-
-    private int getWidgetsScroll(Launcher launcher) {
-        return getWidgetsView(launcher).computeVerticalScrollOffset();
-    }
-
-    private boolean isOptionsPopupVisible(Launcher launcher) {
-        final ArrowPopup<?> popup = launcher.getOptionsPopup();
-        return popup != null && popup.isShown();
-    }
-
-    @Test
-    @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
-    public void testLaunchMenuItem() throws Exception {
-        final AllApps allApps = mLauncher.getWorkspace().switchToAllApps();
-        allApps.freeze();
-        try {
-            final AppIconMenu menu = allApps.
-                    getAppIcon(APP_NAME).
-                    openDeepShortcutMenu();
-
-            executeOnLauncher(
-                    launcher -> assertTrue("Launcher internal state didn't switch to Showing Menu",
-                            isOptionsPopupVisible(launcher)));
-
-            final AppIconMenuItem menuItem = menu.getMenuItem(1);
-            assertEquals("Wrong menu item", "Shortcut 2", menuItem.getText());
-            menuItem.launch(getAppPackageName());
-        } finally {
-            allApps.unfreeze();
-        }
-    }
-
-    @Test
-    public void testLaunchHomeScreenMenuItem() {
-        // Drag the test app icon to home screen and open short cut menu from the icon
-        final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
-        allApps.freeze();
-        try {
-            allApps.getAppIcon(APP_NAME).dragToWorkspace(false, false);
-            final AppIconMenu menu = mLauncher.getWorkspace().getWorkspaceAppIcon(
-                    APP_NAME).openDeepShortcutMenu();
-
-            executeOnLauncher(
-                    launcher -> assertTrue("Launcher internal state didn't switch to Showing Menu",
-                            isOptionsPopupVisible(launcher)));
-
-            final AppIconMenuItem menuItem = menu.getMenuItem(1);
-            assertEquals("Wrong menu item", "Shortcut 2", menuItem.getText());
-            menuItem.launch(getAppPackageName());
-        } finally {
-            allApps.unfreeze();
-        }
-    }
-
-    @PlatinumTest(focusArea = "launcher")
-    @Test
-    @PortraitLandscape
-    @ScreenRecord // b/256898879
-    public void testDragAppIcon() throws Throwable {
-        // 1. Open all apps and wait for load complete.
-        // 2. Drag icon to homescreen.
-        // 3. Verify that the icon works on homescreen.
-        final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
-        allApps.freeze();
-        try {
-            allApps.getAppIcon(APP_NAME).dragToWorkspace(false, false);
-            mLauncher.getWorkspace().getWorkspaceAppIcon(APP_NAME).launch(getAppPackageName());
-        } finally {
-            allApps.unfreeze();
-        }
-        executeOnLauncher(launcher -> assertTrue(
-                "Launcher activity is the top activity; expecting another activity to be the top "
-                        + "one",
-                isInLaunchedApp(launcher)));
-    }
-
-    @Test
-    @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
-    public void testDragShortcut() throws Throwable {
-        // 1. Open all apps and wait for load complete.
-        // 2. Find the app and long press it to show shortcuts.
-        // 3. Press icon center until shortcuts appear
-        final HomeAllApps allApps = mLauncher
-                .getWorkspace()
-                .switchToAllApps();
-        allApps.freeze();
-        try {
-            final HomeAppIconMenuItem menuItem = allApps
-                    .getAppIcon(APP_NAME)
-                    .openDeepShortcutMenu()
-                    .getMenuItem(0);
-            final String actualShortcutName = menuItem.getText();
-            final String expectedShortcutName = "Shortcut 1";
-
-            assertEquals(expectedShortcutName, actualShortcutName);
-            menuItem.dragToWorkspace(false, false);
-            mLauncher.getWorkspace().getWorkspaceAppIcon(expectedShortcutName)
-                    .launch(getAppPackageName());
-        } finally {
-            allApps.unfreeze();
-        }
-    }
-
-    @Test
-    @PortraitLandscape
-    @ScreenRecord
-    @Ignore // b/233075289
-    @PlatinumTest(focusArea = "launcher")
-    public void testDragToFolder() {
-        // TODO: add the use case to drag an icon to an existing folder. Currently it either fails
-        // on tablets or phones due to difference in resolution.
-        final HomeAppIcon playStoreIcon = createShortcutIfNotExist(STORE_APP_NAME, 0, 1);
-        final HomeAppIcon gmailIcon = createShortcutInCenterIfNotExist(GMAIL_APP_NAME);
-
-        FolderIcon folderIcon = gmailIcon.dragToIcon(playStoreIcon);
-        Folder folder = folderIcon.open();
-        folder.getAppIcon(STORE_APP_NAME);
-        folder.getAppIcon(GMAIL_APP_NAME);
-        Workspace workspace = folder.close();
-
-        workspace.verifyWorkspaceAppIconIsGone(STORE_APP_NAME + " should be moved to a folder.",
-                STORE_APP_NAME);
-        workspace.verifyWorkspaceAppIconIsGone(GMAIL_APP_NAME + " should be moved to a folder.",
-                GMAIL_APP_NAME);
-
-        final HomeAppIcon mapIcon = createShortcutInCenterIfNotExist(MAPS_APP_NAME);
-        folderIcon = mapIcon.dragToIcon(folderIcon);
-        folder = folderIcon.open();
-        folder.getAppIcon(MAPS_APP_NAME);
-        workspace = folder.close();
-
-        workspace.verifyWorkspaceAppIconIsGone(MAPS_APP_NAME + " should be moved to a folder.",
-                MAPS_APP_NAME);
-    }
-
-    @FlakyTest(bugId = 256615483)
-    @Test
-    @PortraitLandscape
-    public void testPressBack() throws Exception {
-        InstrumentationRegistry.getInstrumentation().getUiAutomation().adoptShellPermissionIdentity(
-                READ_DEVICE_CONFIG_PERMISSION);
-        assumeFalse(FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get());
-        mLauncher.getWorkspace().switchToAllApps();
-        mLauncher.pressBack();
-        mLauncher.getWorkspace();
-        waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
-        startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR));
-        mLauncher.pressBack();
-        mLauncher.getWorkspace();
-        waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
-    }
-
-    @Test
-    @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
-    public void testDragAndCancelAppIcon() {
-        final HomeAppIcon homeAppIcon = createShortcutInCenterIfNotExist(GMAIL_APP_NAME);
-        Point positionBeforeDrag =
-                mLauncher.getWorkspace().getWorkspaceIconsPositions().get(GMAIL_APP_NAME);
-        assertNotNull("App not found in Workspace before dragging.", positionBeforeDrag);
-
-        mLauncher.getWorkspace().dragAndCancelAppIcon(homeAppIcon);
-
-        Point positionAfterDrag =
-                mLauncher.getWorkspace().getWorkspaceIconsPositions().get(GMAIL_APP_NAME);
-        assertNotNull("App not found in Workspace after dragging.", positionAfterDrag);
-        assertEquals("App not returned to same position in Workspace after drag & cancel",
-                positionBeforeDrag, positionAfterDrag);
-    }
-
-    @Test
-    @PortraitLandscape
-    public void testDeleteFromWorkspace() throws Exception {
-        // test delete both built-in apps and user-installed app from workspace
-        for (String appName : new String[]{"Gmail", "Play Store", APP_NAME}) {
-            final HomeAppIcon homeAppIcon = createShortcutInCenterIfNotExist(appName);
-            Workspace workspace = mLauncher.getWorkspace().deleteAppIcon(homeAppIcon);
-            workspace.verifyWorkspaceAppIconIsGone(
-                    appName + " app was found after being deleted from workspace",
-                    appName);
-        }
-    }
-
-    private void verifyAppUninstalledFromAllApps(Workspace workspace, String appName) {
-        final HomeAllApps allApps = workspace.switchToAllApps();
-        Wait.atMost(appName + " app was found on all apps after being uninstalled",
-                () -> allApps.tryGetAppIcon(appName) == null,
-                DEFAULT_UI_TIMEOUT, mLauncher);
-    }
-
-    @Test
-    @PortraitLandscape
-    // TODO(b/293944634): Remove Screenrecord after flaky debug, and add
-    // @PlatinumTest(focusArea = "launcher") back
-    @ScreenRecord
-    public void testUninstallFromWorkspace() throws Exception {
-        installDummyAppAndWaitForUIUpdate();
-        try {
-            verifyAppUninstalledFromAllApps(
-                    createShortcutInCenterIfNotExist(DUMMY_APP_NAME).uninstall(), DUMMY_APP_NAME);
-        } finally {
-            TestUtil.uninstallDummyApp();
-        }
-    }
-
-    @Test
-    @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
-    public void testUninstallFromAllApps() throws Exception {
-        installDummyAppAndWaitForUIUpdate();
-        try {
-            Workspace workspace = mLauncher.getWorkspace();
-            final HomeAllApps allApps = workspace.switchToAllApps();
-            workspace = allApps.getAppIcon(DUMMY_APP_NAME).uninstall();
-            verifyAppUninstalledFromAllApps(workspace, DUMMY_APP_NAME);
-        } finally {
-            TestUtil.uninstallDummyApp();
-        }
-    }
-
-    @Test
-    @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
-    public void testDragAppIconToWorkspaceCell() throws Exception {
-        long startTime, endTime, elapsedTime;
-        Point[] targets = getCornersAndCenterPositions();
-
-        for (Point target : targets) {
-            startTime = SystemClock.uptimeMillis();
-            final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
-            allApps.freeze();
-            try {
-                allApps.getAppIcon(APP_NAME).dragToWorkspace(target.x, target.y);
-            } finally {
-                allApps.unfreeze();
-            }
-            // Reset the workspace for the next shortcut creation.
-            initialize(this, true);
-            endTime = SystemClock.uptimeMillis();
-            elapsedTime = endTime - startTime;
-            Log.d("testDragAppIconToWorkspaceCellTime",
-                    "Milliseconds taken to drag app icon to workspace cell: " + elapsedTime);
-        }
-
-        // test to move a shortcut to other cell.
-        final HomeAppIcon launcherTestAppIcon = createShortcutInCenterIfNotExist(APP_NAME);
-        for (Point target : targets) {
-            startTime = SystemClock.uptimeMillis();
-            launcherTestAppIcon.dragToWorkspace(target.x, target.y);
-            endTime = SystemClock.uptimeMillis();
-            elapsedTime = endTime - startTime;
-            Log.d("testDragAppIconToWorkspaceCellTime",
-                    "Milliseconds taken to move shortcut to other cell: " + elapsedTime);
-        }
-    }
-
-    /**
-     * Adds three icons to the workspace and removes one of them by dragging to uninstall.
-     */
-    @Test
-    @ScreenRecord // b/241821721
-    @PlatinumTest(focusArea = "launcher")
-    public void uninstallWorkspaceIcon() throws IOException {
-        Point[] gridPositions = getCornersAndCenterPositions();
-        StringBuilder sb = new StringBuilder();
-        for (Point p : gridPositions) {
-            sb.append(p).append(", ");
-        }
-        Log.d(ICON_MISSING, "allGridPositions: " + sb);
-        createShortcutIfNotExist(STORE_APP_NAME, gridPositions[0]);
-        createShortcutIfNotExist(MAPS_APP_NAME, gridPositions[1]);
-        installDummyAppAndWaitForUIUpdate();
-        try {
-            createShortcutIfNotExist(DUMMY_APP_NAME, gridPositions[2]);
-            Map<String, Point> initialPositions =
-                    mLauncher.getWorkspace().getWorkspaceIconsPositions();
-            assertThat(initialPositions.keySet())
-                    .containsAtLeast(DUMMY_APP_NAME, MAPS_APP_NAME, STORE_APP_NAME);
-
-            mLauncher.getWorkspace().getWorkspaceAppIcon(DUMMY_APP_NAME).uninstall();
-            mLauncher.getWorkspace().verifyWorkspaceAppIconIsGone(
-                    DUMMY_APP_NAME + " was expected to disappear after uninstall.", DUMMY_APP_NAME);
-
-            // Debug for b/288944469 I want to test if we are not waiting enough after removing
-            // the icon to request the list of icons again, since the items are not removed
-            // immediately. This should reduce the flake rate
-            SystemClock.sleep(500);
-            Map<String, Point> finalPositions =
-                    mLauncher.getWorkspace().getWorkspaceIconsPositions();
-            assertThat(finalPositions).doesNotContainKey(DUMMY_APP_NAME);
-        } finally {
-            TestUtil.uninstallDummyApp();
-        }
-    }
-
-    @Test
-    @PortraitLandscape
-    @PlatinumTest(focusArea = "launcher")
-    public void testDragShortcutToWorkspaceCell() throws Exception {
-        Point[] targets = getCornersAndCenterPositions();
-
-        for (Point target : targets) {
-            final HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
-            allApps.freeze();
-            try {
-                allApps.getAppIcon(APP_NAME)
-                        .openDeepShortcutMenu()
-                        .getMenuItem(0)
-                        .dragToWorkspace(target.x, target.y);
-            } finally {
-                allApps.unfreeze();
-            }
-        }
-    }
-
-    @Test
-    @PortraitLandscape
-    public void testAddDeleteShortcutOnHotseat() {
-        mLauncher.getWorkspace()
-                .deleteAppIcon(mLauncher.getWorkspace().getHotseatAppIcon(0))
-                .switchToAllApps()
-                .getAppIcon(APP_NAME)
-                .dragToHotseat(0);
-        mLauncher.getWorkspace().deleteAppIcon(
-                mLauncher.getWorkspace().getHotseatAppIcon(APP_NAME));
-    }
-
-    private void installDummyAppAndWaitForUIUpdate() throws IOException {
-        TestUtil.installDummyApp();
-        waitForLauncherUIUpdate();
-    }
-
-    private void waitForLauncherUIUpdate() {
-        // Wait for model thread completion as it may be processing
-        // the install event from the SystemService
-        mLauncher.waitForModelQueueCleared();
-        // Wait for Launcher UI thread completion, as it may be processing updating the UI in
-        // response to the model update. Not that `waitForLauncherInitialized` is just a proxy
-        // method, we can use any method which touches Launcher UI thread,
-        mLauncher.waitForLauncherInitialized();
-    }
-
-    /**
-     * @return List of workspace grid coordinates. Those are not pixels. See {@link
-     * Workspace#getIconGridDimensions()}
-     */
-    private Point[] getCornersAndCenterPositions() {
-        final Point dimensions = mLauncher.getWorkspace().getIconGridDimensions();
-        return new Point[]{
-                new Point(0, 1),
-                new Point(0, dimensions.y - 2),
-                new Point(dimensions.x - 1, 1),
-                new Point(dimensions.x - 1, dimensions.y - 2),
-                new Point(dimensions.x / 2, dimensions.y / 2)
-        };
-    }
-
-    public static String getAppPackageName() {
-        return getInstrumentation().getContext().getPackageName();
-    }
-
-    @Test
-    public void testGetAppIconName() {
-        HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
-        allApps.freeze();
-        try {
-            // getAppIcon() already verifies that the icon is not null and is the correct icon name.
-            allApps.getAppIcon(APP_NAME);
-        } finally {
-            allApps.unfreeze();
-        }
-    }
-}
diff --git a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3Test.java b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3Test.java
new file mode 100644
index 0000000..d26a9db
--- /dev/null
+++ b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3Test.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.ui;
+
+import static org.junit.Assert.assertNotNull;
+
+import androidx.test.filters.LargeTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@LargeTest
+@RunWith(AndroidJUnit4.class)
+public class TaplTestsLauncher3Test extends AbstractLauncherUiTest {
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    @Test
+    public void testDevicePressMenu() throws Exception {
+        mDevice.pressMenu();
+        mDevice.waitForIdle();
+        executeOnLauncher(
+                launcher -> assertNotNull("Launcher internal state didn't switch to Showing Menu",
+                        launcher.getOptionsPopup()));
+        // Check that pressHome works when the menu is shown.
+        mLauncher.goHome();
+    }
+}
diff --git a/tests/src/com/android/launcher3/ui/WorkProfileTest.java b/tests/src/com/android/launcher3/ui/TaplWorkProfileTest.java
similarity index 88%
rename from tests/src/com/android/launcher3/ui/WorkProfileTest.java
rename to tests/src/com/android/launcher3/ui/TaplWorkProfileTest.java
index 5b9adcd..cb30854 100644
--- a/tests/src/com/android/launcher3/ui/WorkProfileTest.java
+++ b/tests/src/com/android/launcher3/ui/TaplWorkProfileTest.java
@@ -15,9 +15,11 @@
  */
 package com.android.launcher3.ui;
 
+import static com.android.launcher3.LauncherPrefs.WORK_EDU_STEP;
 import static com.android.launcher3.LauncherState.ALL_APPS;
 import static com.android.launcher3.LauncherState.NORMAL;
 import static com.android.launcher3.allapps.AllAppsStore.DEFER_UPDATES_TEST;
+import static com.android.launcher3.testing.shared.TestProtocol.NORMAL_STATE_ORDINAL;
 import static com.android.launcher3.util.TestUtil.installDummyAppForUser;
 import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
 import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
@@ -31,6 +33,7 @@
 
 import androidx.recyclerview.widget.RecyclerView.ViewHolder;
 
+import com.android.launcher3.LauncherPrefs;
 import com.android.launcher3.R;
 import com.android.launcher3.allapps.ActivityAllAppsContainerView;
 import com.android.launcher3.allapps.AllAppsPagedView;
@@ -39,17 +42,17 @@
 import com.android.launcher3.allapps.WorkProfileManager;
 import com.android.launcher3.tapl.LauncherInstrumentation;
 import com.android.launcher3.util.TestUtil;
-import com.android.launcher3.util.rule.TestStabilityRule.Stability;
+import com.android.launcher3.util.rule.TestStabilityRule;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
+import java.io.IOException;
 import java.util.Objects;
 import java.util.function.Predicate;
 
-public class WorkProfileTest extends AbstractLauncherUiTest {
+public class TaplWorkProfileTest extends AbstractLauncherUiTest {
 
     private static final int WORK_PAGE = ActivityAllAppsContainerView.AdapterHolder.WORK;
 
@@ -92,19 +95,27 @@
 
     @After
     public void removeWorkProfile() throws Exception {
-        executeOnLauncher(launcher -> {
-            if (launcher == null || launcher.getAppsView() == null) {
+        executeOnLauncherInTearDown(launcher -> {
+            if (launcher.getAppsView() == null) {
                 return;
             }
             launcher.getAppsView().getAppsStore().disableDeferUpdates(DEFER_UPDATES_TEST);
         });
         TestUtil.uninstallDummyApp();
-        mDevice.executeShellCommand("pm remove-user " + mProfileUserId);
+
+        mLauncher.runToState(
+                () -> {
+                    try {
+                        mDevice.executeShellCommand("pm remove-user " + mProfileUserId);
+                    } catch (IOException e) {
+                        throw new RuntimeException(e);
+                    }
+                },
+                NORMAL_STATE_ORDINAL,
+                "executing pm 'remove-user' command");
     }
 
     private void waitForWorkTabSetup() {
-        // Added for b/243688989 flake to determine if we really are in allApps or not at this point
-        mLauncher.getAllApps();
         waitForLauncherCondition("Work tab not setup", launcher -> {
             if (launcher.getAppsView().getContentView() instanceof AllAppsPagedView) {
                 launcher.getAppsView().getAppsStore().enableDeferUpdates(DEFER_UPDATES_TEST);
@@ -115,7 +126,6 @@
     }
 
     @Test
-    @Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/243688989
     public void workTabExists() {
         assumeTrue(mWorkProfileSetupSuccessful);
         waitForWorkTabSetup();
@@ -127,8 +137,10 @@
                 LauncherInstrumentation.WAIT_TIME_MS);
     }
 
+    // Staging; will be promoted to presubmit if stable
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT)
+
     @Test
-    @Ignore("b/243855320")
     public void toggleWorks() {
         assumeTrue(mWorkProfileSetupSuccessful);
         waitForWorkTabSetup();
@@ -176,12 +188,11 @@
     }
 
     @Test
-    @Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/243688989
     public void testEdu() {
         assumeTrue(mWorkProfileSetupSuccessful);
         waitForWorkTabSetup();
         executeOnLauncher(l -> {
-            l.getSharedPrefs().edit().putInt(WorkProfileManager.KEY_WORK_EDU_STEP, 0).commit();
+            LauncherPrefs.get(l).putSync(WORK_EDU_STEP.to(0));
             ((AllAppsPagedView) l.getAppsView().getContentView()).setCurrentPage(WORK_PAGE);
             l.getAppsView().getWorkManager().reset();
         });
diff --git a/tests/src/com/android/launcher3/ui/widget/AddConfigWidgetTest.java b/tests/src/com/android/launcher3/ui/widget/TaplAddConfigWidgetTest.java
similarity index 91%
rename from tests/src/com/android/launcher3/ui/widget/AddConfigWidgetTest.java
rename to tests/src/com/android/launcher3/ui/widget/TaplAddConfigWidgetTest.java
index b2ce400..d96287f 100644
--- a/tests/src/com/android/launcher3/ui/widget/AddConfigWidgetTest.java
+++ b/tests/src/com/android/launcher3/ui/widget/TaplAddConfigWidgetTest.java
@@ -52,7 +52,7 @@
  */
 @LargeTest
 @RunWith(AndroidJUnit4.class)
-public class AddConfigWidgetTest extends AbstractLauncherUiTest {
+public class TaplAddConfigWidgetTest extends AbstractLauncherUiTest {
 
     @Rule
     public ShellCommandRule mGrantWidgetRule = ShellCommandRule.grantWidgetBind();
@@ -101,7 +101,7 @@
         // Verify that the widget id is valid and bound
         assertNotNull(mAppWidgetManager.getAppWidgetInfo(mWidgetId));
 
-        setResult(acceptConfig);
+        setResultAndWaitForAnimation(acceptConfig);
         if (acceptConfig) {
             Wait.atMost("", new WidgetSearchCondition(), DEFAULT_ACTIVITY_TIMEOUT, mLauncher);
             assertNotNull(mAppWidgetManager.getAppWidgetInfo(mWidgetId));
@@ -112,12 +112,22 @@
         }
     }
 
-    private void setResult(boolean success) {
+    private static void setResult(boolean success) {
         getInstrumentation().getTargetContext().sendBroadcast(
                 WidgetConfigActivity.getCommandIntent(WidgetConfigActivity.class,
                         success ? "clickOK" : "clickCancel"));
     }
 
+    private void setResultAndWaitForAnimation(boolean success) {
+        if (mLauncher.isLauncher3()) {
+            setResult(success);
+        } else {
+            mLauncher.executeAndWaitForWallpaperAnimation(
+                    () -> setResult(success),
+                    "setting widget coinfig result");
+        }
+    }
+
     /**
      * Condition for searching widget id
      */
diff --git a/tests/src/com/android/launcher3/ui/widget/AddWidgetTest.java b/tests/src/com/android/launcher3/ui/widget/TaplAddWidgetTest.java
similarity index 74%
rename from tests/src/com/android/launcher3/ui/widget/AddWidgetTest.java
rename to tests/src/com/android/launcher3/ui/widget/TaplAddWidgetTest.java
index 9dca24b..db38c68 100644
--- a/tests/src/com/android/launcher3/ui/widget/AddWidgetTest.java
+++ b/tests/src/com/android/launcher3/ui/widget/TaplAddWidgetTest.java
@@ -15,12 +15,9 @@
  */
 package com.android.launcher3.ui.widget;
 
-import static com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName;
-
 import static org.junit.Assert.assertNotNull;
 
 import android.platform.test.annotations.PlatinumTest;
-import android.platform.test.rule.ScreenRecordRule;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.LargeTest;
@@ -31,9 +28,11 @@
 import com.android.launcher3.ui.AbstractLauncherUiTest;
 import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
 import com.android.launcher3.ui.TestViewHelpers;
+import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
 import com.android.launcher3.util.rule.ShellCommandRule;
 import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
 
+import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
@@ -44,15 +43,21 @@
  */
 @LargeTest
 @RunWith(AndroidJUnit4.class)
-public class AddWidgetTest extends AbstractLauncherUiTest {
+public class TaplAddWidgetTest extends AbstractLauncherUiTest {
 
     @Rule
     public ShellCommandRule mGrantWidgetRule = ShellCommandRule.grantWidgetBind();
 
-    @PlatinumTest(focusArea = "launcher")
+    @Override
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        AbstractLauncherUiTest.initialize(this);
+    }
+
     @Test
     @PortraitLandscape
-    @ScreenRecordRule.ScreenRecord // b/289161193
+    @ScreenRecord // b/316910614
     public void testDragIcon() throws Throwable {
         mLauncher.enableDebugTracing(); // b/289161193
         new FavoriteItemsTransaction(mTargetContext).commitAndLoadHome(mLauncher);
@@ -96,4 +101,28 @@
         mLauncher.getWorkspace().getWorkspaceAppIcon("Shortcut")
                 .launch(getAppPackageName());
     }
+
+    /**
+     * Test dragging a widget to the workspace and resize it.
+     */
+    @PlatinumTest(focusArea = "launcher")
+    @Test
+    @ScreenRecord // b/316910614
+    public void testResizeWidget() throws Throwable {
+        new FavoriteItemsTransaction(mTargetContext).commitAndLoadHome(mLauncher);
+
+        waitForLauncherCondition("Workspace didn't finish loading", l -> !l.isWorkspaceLoading());
+
+        final LauncherAppWidgetProviderInfo widgetInfo =
+                TestViewHelpers.findWidgetProvider(false /* hasConfigureScreen */);
+
+        WidgetResizeFrame resizeFrame = mLauncher
+                .getWorkspace()
+                .openAllWidgets()
+                .getWidget(widgetInfo.getLabel(mTargetContext.getPackageManager()))
+                .dragWidgetToWorkspace();
+
+        assertNotNull("Widget resize frame not shown after widget add", resizeFrame);
+        resizeFrame.resize();
+    }
 }
diff --git a/tests/src/com/android/launcher3/ui/widget/BindWidgetTest.java b/tests/src/com/android/launcher3/ui/widget/TaplBindWidgetTest.java
similarity index 96%
rename from tests/src/com/android/launcher3/ui/widget/BindWidgetTest.java
rename to tests/src/com/android/launcher3/ui/widget/TaplBindWidgetTest.java
index 7db3161..6aa746d 100644
--- a/tests/src/com/android/launcher3/ui/widget/BindWidgetTest.java
+++ b/tests/src/com/android/launcher3/ui/widget/TaplBindWidgetTest.java
@@ -23,6 +23,8 @@
 import static com.android.launcher3.provider.LauncherDbUtils.itemIdMatch;
 import static com.android.launcher3.util.Executors.MODEL_EXECUTOR;
 import static com.android.launcher3.util.WidgetUtils.createWidgetInfo;
+import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
+import static com.android.launcher3.util.rule.TestStabilityRule.PLATFORM_POSTSUBMIT;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -53,6 +55,7 @@
 import com.android.launcher3.ui.AbstractLauncherUiTest;
 import com.android.launcher3.ui.TestViewHelpers;
 import com.android.launcher3.util.rule.ShellCommandRule;
+import com.android.launcher3.util.rule.TestStabilityRule;
 import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
 import com.android.launcher3.widget.WidgetManagerHelper;
 
@@ -73,7 +76,7 @@
  */
 @LargeTest
 @RunWith(AndroidJUnit4.class)
-public class BindWidgetTest extends AbstractLauncherUiTest {
+public class TaplBindWidgetTest extends AbstractLauncherUiTest {
 
     @Rule
     public ShellCommandRule mGrantWidgetRule = ShellCommandRule.grantWidgetBind();
@@ -139,6 +142,7 @@
     }
 
     @Test
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/310242894
     public void testPendingWidget_withConfigScreen() {
         // A non-restored widget with config screen get bound and shows a 'Click to setup' UI.
         // Do not bind the widget
@@ -188,6 +192,7 @@
     }
 
     @Test
+    @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) // b/310242894
     public void testPendingWidget_notRestored_brokenInstall() {
         // A widget which is was being installed once, even if its not being
         // installed at the moment is not removed.
diff --git a/tests/src/com/android/launcher3/ui/widget/RequestPinItemTest.java b/tests/src/com/android/launcher3/ui/widget/TaplRequestPinItemTest.java
similarity index 94%
rename from tests/src/com/android/launcher3/ui/widget/RequestPinItemTest.java
rename to tests/src/com/android/launcher3/ui/widget/TaplRequestPinItemTest.java
index a6b5369..f12f961 100644
--- a/tests/src/com/android/launcher3/ui/widget/RequestPinItemTest.java
+++ b/tests/src/com/android/launcher3/ui/widget/TaplRequestPinItemTest.java
@@ -18,8 +18,6 @@
 import static android.app.PendingIntent.FLAG_MUTABLE;
 import static android.app.PendingIntent.FLAG_ONE_SHOT;
 
-import static com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName;
-
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNotSame;
 
@@ -44,11 +42,9 @@
 import com.android.launcher3.testcomponent.AppWidgetWithConfig;
 import com.android.launcher3.testcomponent.RequestPinItemActivity;
 import com.android.launcher3.ui.AbstractLauncherUiTest;
-import com.android.launcher3.ui.TaplTestsLauncher3;
 import com.android.launcher3.util.LauncherBindableItemsContainer.ItemOperator;
 import com.android.launcher3.util.Wait;
 import com.android.launcher3.util.Wait.Condition;
-import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
 import com.android.launcher3.util.rule.ShellCommandRule;
 
 import org.junit.Before;
@@ -63,7 +59,7 @@
  */
 @LargeTest
 @RunWith(AndroidJUnit4.class)
-public class RequestPinItemTest extends AbstractLauncherUiTest {
+public class TaplRequestPinItemTest extends AbstractLauncherUiTest {
 
     @Rule
     public ShellCommandRule mGrantWidgetRule = ShellCommandRule.grantWidgetBind();
@@ -78,14 +74,13 @@
         super.setUp();
         mCallbackAction = UUID.randomUUID().toString();
         mShortcutId = UUID.randomUUID().toString();
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
     }
 
     @Test
     public void testEmpty() throws Throwable { /* needed while the broken tests are being fixed */ }
 
     @Test
-    @ScreenRecord // b/215673732
     public void testPinWidgetNoConfig() throws Throwable {
         runTest("pinWidgetNoConfig", true, (info, view) -> info instanceof LauncherAppWidgetInfo &&
                 ((LauncherAppWidgetInfo) info).appWidgetId == mAppWidgetId &&
@@ -94,7 +89,6 @@
     }
 
     @Test
-    @ScreenRecord // b/215673732
     public void testPinWidgetNoConfig_customPreview() throws Throwable {
         // Command to set custom preview
         Intent command = RequestPinItemActivity.getCommandIntent(
@@ -108,7 +102,6 @@
     }
 
     @Test
-    @ScreenRecord // b/215673732
     public void testPinWidgetWithConfig() throws Throwable {
         runTest("pinWidgetWithConfig", true,
                 (info, view) -> info instanceof LauncherAppWidgetInfo &&
diff --git a/tests/src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java b/tests/src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java
new file mode 100644
index 0000000..bc73683
--- /dev/null
+++ b/tests/src/com/android/launcher3/ui/widget/TaplWidgetPickerTest.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.ui.widget;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.filters.MediumTest;
+
+import com.android.launcher3.Launcher;
+import com.android.launcher3.tapl.Widgets;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
+import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord;
+import com.android.launcher3.widget.picker.WidgetsFullSheet;
+import com.android.launcher3.widget.picker.WidgetsRecyclerView;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * This test run in both Out of process (Oop) and in-process (Ipc).
+ * Make sure the basic interactions with the WidgetPicker works.
+ */
+@MediumTest
+@RunWith(AndroidJUnit4.class)
+public class TaplWidgetPickerTest extends AbstractLauncherUiTest {
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    private WidgetsRecyclerView getWidgetsView(Launcher launcher) {
+        return WidgetsFullSheet.getWidgetsView(launcher);
+    }
+
+    private int getWidgetsScroll(Launcher launcher) {
+        return getWidgetsView(launcher).computeVerticalScrollOffset();
+    }
+
+    /**
+     * Open Widget picker, make sure the widget picker can scroll and then go to home screen.
+     */
+    @Test
+    @ScreenRecord
+    @PortraitLandscape
+    public void testWidgets() {
+        mLauncher.goHome();
+        // Test opening widgets.
+        executeOnLauncher(launcher ->
+                assertTrue("Widgets is initially opened", getWidgetsView(launcher) == null));
+        Widgets widgets = mLauncher.getWorkspace().openAllWidgets();
+        assertNotNull("openAllWidgets() returned null", widgets);
+        widgets = mLauncher.getAllWidgets();
+        assertNotNull("getAllWidgets() returned null", widgets);
+        executeOnLauncher(launcher ->
+                assertTrue("Widgets is not shown", getWidgetsView(launcher).isShown()));
+        executeOnLauncher(launcher -> assertEquals("Widgets is scrolled upon opening",
+                0, getWidgetsScroll(launcher)));
+
+        // Test flinging widgets.
+        widgets.flingForward();
+        Integer flingForwardY = getFromLauncher(launcher -> getWidgetsScroll(launcher));
+        executeOnLauncher(launcher -> assertTrue("Flinging forward didn't scroll widgets",
+                flingForwardY > 0));
+
+        widgets.flingBackward();
+        executeOnLauncher(launcher -> assertTrue("Flinging backward didn't scroll widgets",
+                getWidgetsScroll(launcher) < flingForwardY));
+
+        mLauncher.goHome();
+        waitForLauncherCondition("Widgets were not closed",
+                launcher -> getWidgetsView(launcher) == null);
+    }
+}
diff --git a/tests/src/com/android/launcher3/ui/workspace/ThemeIconsTest.java b/tests/src/com/android/launcher3/ui/workspace/TaplThemeIconsTest.java
similarity index 91%
rename from tests/src/com/android/launcher3/ui/workspace/ThemeIconsTest.java
rename to tests/src/com/android/launcher3/ui/workspace/TaplThemeIconsTest.java
index 8e5e9cc..a3d3344 100644
--- a/tests/src/com/android/launcher3/ui/workspace/ThemeIconsTest.java
+++ b/tests/src/com/android/launcher3/ui/workspace/TaplThemeIconsTest.java
@@ -15,6 +15,8 @@
  */
 package com.android.launcher3.ui.workspace;
 
+import static com.android.launcher3.util.TestConstants.AppNames.TEST_APP_NAME;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -34,7 +36,6 @@
 import com.android.launcher3.tapl.HomeAppIcon;
 import com.android.launcher3.tapl.HomeAppIconMenuItem;
 import com.android.launcher3.ui.AbstractLauncherUiTest;
-import com.android.launcher3.ui.TaplTestsLauncher3;
 import com.android.launcher3.util.Executors;
 
 import org.junit.Test;
@@ -48,16 +49,15 @@
  * Note running these tests will clear the workspace on the device.
  */
 @LargeTest
-public class ThemeIconsTest extends AbstractLauncherUiTest {
+public class TaplThemeIconsTest extends AbstractLauncherUiTest {
 
     private static final String APP_NAME = "IconThemedActivity";
-    private static final String SHORTCUT_APP_NAME = "LauncherTestApp";
     private static final String SHORTCUT_NAME = "Shortcut 1";
 
     @Test
     public void testIconWithoutTheme() throws Exception {
         setThemeEnabled(false);
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
 
         HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
         allApps.freeze();
@@ -75,13 +75,13 @@
     @Test
     public void testShortcutIconWithoutTheme() throws Exception {
         setThemeEnabled(false);
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
 
         HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
         allApps.freeze();
 
         try {
-            HomeAppIcon icon = allApps.getAppIcon(SHORTCUT_APP_NAME);
+            HomeAppIcon icon = allApps.getAppIcon(TEST_APP_NAME);
             HomeAppIconMenuItem shortcutItem =
                     (HomeAppIconMenuItem) icon.openDeepShortcutMenu().getMenuItem(SHORTCUT_NAME);
             shortcutItem.dragToWorkspace(false, false);
@@ -94,7 +94,7 @@
     @Test
     public void testIconWithTheme() throws Exception {
         setThemeEnabled(true);
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
 
         HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
         allApps.freeze();
@@ -112,13 +112,13 @@
     @Test
     public void testShortcutIconWithTheme() throws Exception {
         setThemeEnabled(true);
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
 
         HomeAllApps allApps = mLauncher.getWorkspace().switchToAllApps();
         allApps.freeze();
 
         try {
-            HomeAppIcon icon = allApps.getAppIcon(SHORTCUT_APP_NAME);
+            HomeAppIcon icon = allApps.getAppIcon(TEST_APP_NAME);
             HomeAppIconMenuItem shortcutItem =
                     (HomeAppIconMenuItem) icon.openDeepShortcutMenu().getMenuItem(SHORTCUT_NAME);
             shortcutItem.dragToWorkspace(false, false);
diff --git a/tests/src/com/android/launcher3/ui/workspace/TwoPanelWorkspaceTest.java b/tests/src/com/android/launcher3/ui/workspace/TaplTwoPanelWorkspaceTest.java
similarity index 64%
rename from tests/src/com/android/launcher3/ui/workspace/TwoPanelWorkspaceTest.java
rename to tests/src/com/android/launcher3/ui/workspace/TaplTwoPanelWorkspaceTest.java
index 62a8179..3693163 100644
--- a/tests/src/com/android/launcher3/ui/workspace/TwoPanelWorkspaceTest.java
+++ b/tests/src/com/android/launcher3/ui/workspace/TaplTwoPanelWorkspaceTest.java
@@ -16,6 +16,11 @@
 
 package com.android.launcher3.ui.workspace;
 
+import static com.android.launcher3.util.TestConstants.AppNames.CHROME_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.MAPS_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.MESSAGES_APP_NAME;
+import static com.android.launcher3.util.TestConstants.AppNames.STORE_APP_NAME;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -30,7 +35,6 @@
 import com.android.launcher3.tapl.Workspace;
 import com.android.launcher3.ui.AbstractLauncherUiTest;
 import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
-import com.android.launcher3.ui.TaplTestsLauncher3;
 import com.android.launcher3.util.LauncherLayoutBuilder;
 import com.android.launcher3.util.TestUtil;
 
@@ -50,7 +54,7 @@
  */
 @LargeTest
 @RunWith(AndroidJUnit4.class)
-public class TwoPanelWorkspaceTest extends AbstractLauncherUiTest {
+public class TaplTwoPanelWorkspaceTest extends AbstractLauncherUiTest {
 
     private AutoCloseable mLauncherLayout;
 
@@ -69,21 +73,21 @@
                 .atWorkspace(3, -1, 0).putApp(
                         "com.android.vending", "com.android.vending.AssetBrowserActivity");
         mLauncherLayout = TestUtil.setLauncherDefaultLayout(mTargetContext, builder);
-        TaplTestsLauncher3.initialize(this);
+        AbstractLauncherUiTest.initialize(this);
         assumeTrue(mLauncher.isTwoPanels());
 
         // Pre verifying the screens
         executeOnLauncher(launcher -> {
             launcher.enableHotseatEdu(false);
             assertPagesExist(launcher, 0, 1);
-            assertItemsOnPage(launcher, 0, "Play Store", "Maps");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME, MAPS_APP_NAME);
             assertPageEmpty(launcher, 1);
         });
     }
 
     @After
     public void tearDown() throws Exception {
-        executeOnLauncher(launcher -> launcher.enableHotseatEdu(true));
+        executeOnLauncherInTearDown(launcher -> launcher.enableHotseatEdu(true));
         if (mLauncherLayout != null) {
             mLauncherLayout.close();
         }
@@ -94,12 +98,12 @@
     public void testDragIconToRightPanel() {
         Workspace workspace = mLauncher.getWorkspace();
 
-        workspace.dragIcon(workspace.getHotseatAppIcon("Chrome"), 1);
+        workspace.dragIcon(workspace.getHotseatAppIcon(CHROME_APP_NAME), 1);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1);
-            assertItemsOnPage(launcher, 0, "Maps", "Play Store");
-            assertItemsOnPage(launcher, 1, "Chrome");
+            assertItemsOnPage(launcher, 0, MAPS_APP_NAME, STORE_APP_NAME);
+            assertItemsOnPage(launcher, 1, CHROME_APP_NAME);
         });
     }
 
@@ -108,52 +112,52 @@
     public void testSinglePageDragIconWhenMultiplePageScrollingIsPossible() {
         Workspace workspace = mLauncher.getWorkspace();
 
-        workspace.dragIcon(workspace.getHotseatAppIcon("Chrome"), 2);
+        workspace.dragIcon(workspace.getHotseatAppIcon(CHROME_APP_NAME), 2);
 
         workspace.flingBackward();
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), 3);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), 3);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3);
-            assertItemsOnPage(launcher, 0, "Play Store");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
             assertPageEmpty(launcher, 1);
-            assertItemsOnPage(launcher, 2, "Chrome");
-            assertItemsOnPage(launcher, 3, "Maps");
+            assertItemsOnPage(launcher, 2, CHROME_APP_NAME);
+            assertItemsOnPage(launcher, 3, MAPS_APP_NAME);
         });
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), 3);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), 3);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3, 4, 5);
-            assertItemsOnPage(launcher, 0, "Play Store");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
             assertPageEmpty(launcher, 1);
-            assertItemsOnPage(launcher, 2, "Chrome");
+            assertItemsOnPage(launcher, 2, CHROME_APP_NAME);
             assertPageEmpty(launcher, 3);
             assertPageEmpty(launcher, 4);
-            assertItemsOnPage(launcher, 5, "Maps");
+            assertItemsOnPage(launcher, 5, MAPS_APP_NAME);
         });
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), -1);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), -1);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3);
-            assertItemsOnPage(launcher, 0, "Play Store");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
             assertPageEmpty(launcher, 1);
-            assertItemsOnPage(launcher, 2, "Chrome");
-            assertItemsOnPage(launcher, 3, "Maps");
+            assertItemsOnPage(launcher, 2, CHROME_APP_NAME);
+            assertItemsOnPage(launcher, 3, MAPS_APP_NAME);
         });
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), -1);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), -1);
 
         workspace.flingForward();
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Chrome"), -2);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(CHROME_APP_NAME), -2);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1);
-            assertItemsOnPage(launcher, 0, "Chrome", "Play Store");
-            assertItemsOnPage(launcher, 1, "Maps");
+            assertItemsOnPage(launcher, 0, CHROME_APP_NAME, STORE_APP_NAME);
+            assertItemsOnPage(launcher, 1, MAPS_APP_NAME);
         });
     }
 
@@ -162,13 +166,13 @@
     public void testDragIconToPage2() {
         Workspace workspace = mLauncher.getWorkspace();
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), 2);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), 2);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3);
-            assertItemsOnPage(launcher, 0, "Play Store");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
             assertPageEmpty(launcher, 1);
-            assertItemsOnPage(launcher, 2, "Maps");
+            assertItemsOnPage(launcher, 2, MAPS_APP_NAME);
             assertPageEmpty(launcher, 3);
         });
     }
@@ -179,14 +183,14 @@
         Workspace workspace = mLauncher.getWorkspace();
 
         // b/299522368 sometimes the phone app is not present in the hotseat.
-        workspace.dragIcon(workspace.getHotseatAppIcon("Chrome"), 3);
+        workspace.dragIcon(workspace.getHotseatAppIcon(CHROME_APP_NAME), 3);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3);
-            assertItemsOnPage(launcher, 0, "Play Store", "Maps");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME, MAPS_APP_NAME);
             assertPageEmpty(launcher, 1);
             assertPageEmpty(launcher, 2);
-            assertItemsOnPage(launcher, 3, "Chrome");
+            assertItemsOnPage(launcher, 3, CHROME_APP_NAME);
         });
     }
 
@@ -195,44 +199,44 @@
     public void testMultiplePageDragIcon() {
         Workspace workspace = mLauncher.getWorkspace();
 
-        workspace.dragIcon(workspace.getHotseatAppIcon("Messages"), 2);
+        workspace.dragIcon(workspace.getHotseatAppIcon(MESSAGES_APP_NAME), 2);
 
         workspace.flingBackward();
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), 5);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), 5);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3, 4, 5);
-            assertItemsOnPage(launcher, 0, "Play Store");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
             assertPageEmpty(launcher, 1);
-            assertItemsOnPage(launcher, 2, "Messages");
+            assertItemsOnPage(launcher, 2, MESSAGES_APP_NAME);
             assertPageEmpty(launcher, 3);
             assertPageEmpty(launcher, 4);
-            assertItemsOnPage(launcher, 5, "Maps");
+            assertItemsOnPage(launcher, 5, MAPS_APP_NAME);
         });
 
         workspace.flingBackward();
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Messages"), 4);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MESSAGES_APP_NAME), 4);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 4, 5, 6, 7);
-            assertItemsOnPage(launcher, 0, "Play Store");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
             assertPageEmpty(launcher, 1);
             assertPageEmpty(launcher, 4);
-            assertItemsOnPage(launcher, 5, "Maps");
-            assertItemsOnPage(launcher, 6, "Messages");
+            assertItemsOnPage(launcher, 5, MAPS_APP_NAME);
+            assertItemsOnPage(launcher, 6, MESSAGES_APP_NAME);
             assertPageEmpty(launcher, 7);
         });
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Messages"), -3);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MESSAGES_APP_NAME), -3);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 4, 5);
-            assertItemsOnPage(launcher, 0, "Play Store");
-            assertItemsOnPage(launcher, 1, "Messages");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
+            assertItemsOnPage(launcher, 1, MESSAGES_APP_NAME);
             assertPageEmpty(launcher, 4);
-            assertItemsOnPage(launcher, 5, "Maps");
+            assertItemsOnPage(launcher, 5, MAPS_APP_NAME);
         });
     }
 
@@ -241,38 +245,38 @@
     public void testEmptyPageDoesNotGetRemovedIfPagePairIsNotEmpty() {
         Workspace workspace = mLauncher.getWorkspace();
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), 3);
-        workspace.dragIcon(workspace.getHotseatAppIcon("Chrome"), 0);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), 3);
+        workspace.dragIcon(workspace.getHotseatAppIcon(CHROME_APP_NAME), 0);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3);
-            assertItemsOnPage(launcher, 0, "Play Store");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
             assertPageEmpty(launcher, 1);
-            assertItemsOnPage(launcher, 2, "Chrome");
-            assertItemsOnPage(launcher, 3, "Maps");
+            assertItemsOnPage(launcher, 2, CHROME_APP_NAME);
+            assertItemsOnPage(launcher, 3, MAPS_APP_NAME);
         });
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), -1);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), -1);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3);
-            assertItemsOnPage(launcher, 0, "Play Store");
-            assertItemsOnPage(launcher, 1, "Maps");
-            assertItemsOnPage(launcher, 2, "Chrome");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
+            assertItemsOnPage(launcher, 1, MAPS_APP_NAME);
+            assertItemsOnPage(launcher, 2, CHROME_APP_NAME);
             assertPageEmpty(launcher, 3);
         });
 
         // Move Chrome to the right panel as well, to make sure pages are not deleted whichever
         // page is the empty one
         workspace.flingForward();
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Chrome"), 1);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(CHROME_APP_NAME), 1);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3);
-            assertItemsOnPage(launcher, 0, "Play Store");
-            assertItemsOnPage(launcher, 1, "Maps");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
+            assertItemsOnPage(launcher, 1, MAPS_APP_NAME);
             assertPageEmpty(launcher, 2);
-            assertItemsOnPage(launcher, 3, "Chrome");
+            assertItemsOnPage(launcher, 3, CHROME_APP_NAME);
         });
     }
 
@@ -281,25 +285,25 @@
     public void testEmptyPagesGetRemovedIfBothPagesAreEmpty() {
         Workspace workspace = mLauncher.getWorkspace();
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Play Store"), 2);
-        workspace.dragIcon(workspace.getHotseatAppIcon("Chrome"), 1);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(STORE_APP_NAME), 2);
+        workspace.dragIcon(workspace.getHotseatAppIcon(CHROME_APP_NAME), 1);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3);
-            assertItemsOnPage(launcher, 0, "Maps");
+            assertItemsOnPage(launcher, 0, MAPS_APP_NAME);
             assertPageEmpty(launcher, 1);
-            assertItemsOnPage(launcher, 2, "Play Store");
-            assertItemsOnPage(launcher, 3, "Chrome");
+            assertItemsOnPage(launcher, 2, STORE_APP_NAME);
+            assertItemsOnPage(launcher, 3, CHROME_APP_NAME);
         });
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Chrome"), -1);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(CHROME_APP_NAME), -1);
         workspace.flingForward();
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Play Store"), -2);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(STORE_APP_NAME), -2);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1);
-            assertItemsOnPage(launcher, 0, "Play Store", "Maps");
-            assertItemsOnPage(launcher, 1, "Chrome");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME, MAPS_APP_NAME);
+            assertItemsOnPage(launcher, 1, CHROME_APP_NAME);
         });
     }
 
@@ -308,28 +312,28 @@
     public void testMiddleEmptyPagesGetRemoved() {
         Workspace workspace = mLauncher.getWorkspace();
 
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), 2);
-        workspace.dragIcon(workspace.getHotseatAppIcon("Messages"), 3);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), 2);
+        workspace.dragIcon(workspace.getHotseatAppIcon(MESSAGES_APP_NAME), 3);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 2, 3, 4, 5);
-            assertItemsOnPage(launcher, 0, "Play Store");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
             assertPageEmpty(launcher, 1);
-            assertItemsOnPage(launcher, 2, "Maps");
+            assertItemsOnPage(launcher, 2, MAPS_APP_NAME);
             assertPageEmpty(launcher, 3);
             assertPageEmpty(launcher, 4);
-            assertItemsOnPage(launcher, 5, "Messages");
+            assertItemsOnPage(launcher, 5, MESSAGES_APP_NAME);
         });
 
         workspace.flingBackward();
-        workspace.dragIcon(workspace.getWorkspaceAppIcon("Maps"), 2);
+        workspace.dragIcon(workspace.getWorkspaceAppIcon(MAPS_APP_NAME), 2);
 
         executeOnLauncher(launcher -> {
             assertPagesExist(launcher, 0, 1, 4, 5);
-            assertItemsOnPage(launcher, 0, "Play Store");
+            assertItemsOnPage(launcher, 0, STORE_APP_NAME);
             assertPageEmpty(launcher, 1);
-            assertItemsOnPage(launcher, 4, "Maps");
-            assertItemsOnPage(launcher, 5, "Messages");
+            assertItemsOnPage(launcher, 4, MAPS_APP_NAME);
+            assertItemsOnPage(launcher, 5, MESSAGES_APP_NAME);
         });
     }
 
diff --git a/tests/src/com/android/launcher3/ui/workspace/TaplWorkspaceTest.java b/tests/src/com/android/launcher3/ui/workspace/TaplWorkspaceTest.java
new file mode 100644
index 0000000..4edeb42
--- /dev/null
+++ b/tests/src/com/android/launcher3/ui/workspace/TaplWorkspaceTest.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.ui.workspace;
+
+import static com.android.launcher3.util.TestConstants.AppNames.CHROME_APP_NAME;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import com.android.launcher3.Launcher;
+import com.android.launcher3.LauncherState;
+import com.android.launcher3.tapl.HomeAppIcon;
+import com.android.launcher3.tapl.Workspace;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+import com.android.launcher3.util.LauncherLayoutBuilder;
+import com.android.launcher3.util.TestUtil;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test the basic interactions of the Workspace, adding pages, moving the pages and removing pages.
+ */
+public class TaplWorkspaceTest extends AbstractLauncherUiTest {
+
+    private AutoCloseable mLauncherLayout;
+
+    private static boolean isWorkspaceScrollable(Launcher launcher) {
+        return launcher.getWorkspace().getPageCount() > launcher.getWorkspace().getPanelCount();
+    }
+
+    private int getCurrentWorkspacePage(Launcher launcher) {
+        return launcher.getWorkspace().getCurrentPage();
+    }
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        initialize(this);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        if (mLauncherLayout != null) {
+            mLauncherLayout.close();
+        }
+    }
+
+    /**
+     * Add an icon and add a page to ensure the Workspace is scrollable and also make sure we can
+     * move between workspaces. After, make sure we can launch an app from the Workspace.
+     * @throws Exception if we can't set the defaults icons that will appear at the beginning.
+     */
+    @Test
+    public void testWorkspace() throws Exception {
+        // Set workspace  that includes the chrome Activity app icon on the hotseat.
+        LauncherLayoutBuilder builder = new LauncherLayoutBuilder()
+                .atHotseat(0).putApp("com.android.chrome", "com.google.android.apps.chrome.Main");
+        mLauncherLayout = TestUtil.setLauncherDefaultLayout(mTargetContext, builder);
+        reinitializeLauncherData();
+
+        final Workspace workspace = mLauncher.getWorkspace();
+
+        // Test that ensureWorkspaceIsScrollable adds a page by dragging an icon there.
+        executeOnLauncher(launcher -> assertFalse("Initial workspace state is scrollable",
+                isWorkspaceScrollable(launcher)));
+        assertEquals("Initial workspace doesn't have the correct page", workspace.pagesPerScreen(),
+                workspace.getPageCount());
+        workspace.verifyWorkspaceAppIconIsGone("Chrome app was found on empty workspace",
+                CHROME_APP_NAME);
+        workspace.ensureWorkspaceIsScrollable();
+
+        executeOnLauncher(
+                launcher -> assertEquals(
+                        "Ensuring workspace scrollable didn't switch to next screen",
+                        workspace.pagesPerScreen(), getCurrentWorkspacePage(launcher)));
+        executeOnLauncher(
+                launcher -> assertTrue("ensureScrollable didn't make workspace scrollable",
+                        isWorkspaceScrollable(launcher)));
+        assertNotNull("ensureScrollable didn't add Chrome app",
+                workspace.getWorkspaceAppIcon(CHROME_APP_NAME));
+
+        // Test flinging workspace.
+        workspace.flingBackward();
+        assertTrue("Launcher internal state is not Home", isInState(() -> LauncherState.NORMAL));
+        executeOnLauncher(
+                launcher -> assertEquals("Flinging back didn't switch workspace to page #0",
+                        0, getCurrentWorkspacePage(launcher)));
+
+        workspace.flingForward();
+        executeOnLauncher(
+                launcher -> assertEquals("Flinging forward didn't switch workspace to next screen",
+                        workspace.pagesPerScreen(), getCurrentWorkspacePage(launcher)));
+        assertTrue("Launcher internal state is not Home", isInState(() -> LauncherState.NORMAL));
+
+        // Test starting a workspace app.
+        final HomeAppIcon app = workspace.getWorkspaceAppIcon(CHROME_APP_NAME);
+        assertNotNull("No Chrome app in workspace", app);
+    }
+
+
+    /**
+     * Similar to {@link TaplWorkspaceTest#testWorkspace} but here we also make sure we can delete
+     * the pages.
+     */
+    @Test
+    public void testAddAndDeletePageAndFling() {
+        Workspace workspace = mLauncher.getWorkspace();
+        // Get the first app from the hotseat
+        HomeAppIcon hotSeatIcon = workspace.getHotseatAppIcon(0);
+        String appName = hotSeatIcon.getIconName();
+
+        // Add one page by dragging app to page 1.
+        workspace.dragIcon(hotSeatIcon, workspace.pagesPerScreen());
+        assertEquals("Incorrect Page count Number",
+                workspace.pagesPerScreen() * 2,
+                workspace.getPageCount());
+
+        // Delete one page by dragging app to hot seat.
+        workspace.getWorkspaceAppIcon(appName).dragToHotseat(0);
+
+        // Refresh workspace to avoid using stale container error.
+        workspace = mLauncher.getWorkspace();
+        assertEquals("Incorrect Page count Number",
+                workspace.pagesPerScreen(),
+                workspace.getPageCount());
+    }
+}
diff --git a/tests/src/com/android/launcher3/util/CellContentDimensionsTest.kt b/tests/src/com/android/launcher3/util/CellContentDimensionsTest.kt
new file mode 100644
index 0000000..4770546
--- /dev/null
+++ b/tests/src/com/android/launcher3/util/CellContentDimensionsTest.kt
@@ -0,0 +1,148 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.util
+
+import android.content.Context
+import android.content.res.Configuration
+import android.util.DisplayMetrics
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class CellContentDimensionsTest {
+    private var context: Context? = null
+    private val runningContext: Context = ApplicationProvider.getApplicationContext()
+    private lateinit var iconSizeSteps: IconSizeSteps
+
+    @Before
+    fun setup() {
+        // 160dp makes 1px = 1dp
+        val config =
+            Configuration(runningContext.resources.configuration).apply {
+                this.densityDpi = DisplayMetrics.DENSITY_DEFAULT
+            }
+        context = runningContext.createConfigurationContext(config)
+        iconSizeSteps = IconSizeSteps(context!!.resources)
+    }
+
+    @Test
+    fun dimensionsFitTheCell() {
+        val cellSize = Pair(80, 104)
+        val cellContentDimensions =
+            CellContentDimensions(iconSizePx = 66, iconDrawablePaddingPx = 8, iconTextSizePx = 14)
+
+        val contentHeight =
+            cellContentDimensions.resizeToFitCellHeight(cellSize.second, iconSizeSteps)
+
+        assertThat(contentHeight).isEqualTo(93)
+        cellContentDimensions.run {
+            assertThat(iconSizePx).isEqualTo(66)
+            assertThat(iconDrawablePaddingPx).isEqualTo(8)
+            assertThat(iconTextSizePx).isEqualTo(14)
+        }
+    }
+
+    @Test
+    fun decreasePadding() {
+        val cellSize = Pair(67, 87)
+        val cellContentDimensions =
+            CellContentDimensions(iconSizePx = 66, iconDrawablePaddingPx = 8, iconTextSizePx = 14)
+
+        val contentHeight =
+            cellContentDimensions.resizeToFitCellHeight(cellSize.second, iconSizeSteps)
+
+        assertThat(contentHeight).isEqualTo(87)
+        cellContentDimensions.run {
+            assertThat(iconSizePx).isEqualTo(66)
+            assertThat(iconDrawablePaddingPx).isEqualTo(2)
+            assertThat(iconTextSizePx).isEqualTo(14)
+        }
+    }
+
+    @Test
+    fun decreaseIcon() {
+        val cellSize = Pair(65, 84)
+        val cellContentDimensions =
+            CellContentDimensions(iconSizePx = 66, iconDrawablePaddingPx = 8, iconTextSizePx = 14)
+
+        val contentHeight =
+            cellContentDimensions.resizeToFitCellHeight(cellSize.second, iconSizeSteps)
+
+        assertThat(contentHeight).isEqualTo(82)
+        cellContentDimensions.run {
+            assertThat(iconSizePx).isEqualTo(63)
+            assertThat(iconDrawablePaddingPx).isEqualTo(0)
+            assertThat(iconTextSizePx).isEqualTo(14)
+        }
+    }
+
+    @Test
+    fun decreaseText() {
+        val cellSize = Pair(63, 81)
+        val cellContentDimensions =
+            CellContentDimensions(iconSizePx = 66, iconDrawablePaddingPx = 8, iconTextSizePx = 14)
+
+        val contentHeight =
+            cellContentDimensions.resizeToFitCellHeight(cellSize.second, iconSizeSteps)
+
+        assertThat(contentHeight).isEqualTo(81)
+        cellContentDimensions.run {
+            assertThat(iconSizePx).isEqualTo(63)
+            assertThat(iconDrawablePaddingPx).isEqualTo(0)
+            assertThat(iconTextSizePx).isEqualTo(13)
+        }
+    }
+
+    @Test
+    fun decreaseIconAndTextTwoSteps() {
+        val cellSize = Pair(60, 78)
+        val cellContentDimensions =
+            CellContentDimensions(iconSizePx = 66, iconDrawablePaddingPx = 8, iconTextSizePx = 14)
+
+        val contentHeight =
+            cellContentDimensions.resizeToFitCellHeight(cellSize.second, iconSizeSteps)
+
+        assertThat(contentHeight).isEqualTo(77)
+        cellContentDimensions.run {
+            assertThat(iconSizePx).isEqualTo(61)
+            assertThat(iconDrawablePaddingPx).isEqualTo(0)
+            assertThat(iconTextSizePx).isEqualTo(12)
+        }
+    }
+
+    @Test
+    fun decreaseIconAndTextToMinimum() {
+        val cellSize = Pair(52, 63)
+        val cellContentDimensions =
+            CellContentDimensions(iconSizePx = 66, iconDrawablePaddingPx = 8, iconTextSizePx = 14)
+
+        val contentHeight =
+            cellContentDimensions.resizeToFitCellHeight(cellSize.second, iconSizeSteps)
+
+        assertThat(contentHeight).isEqualTo(63)
+        cellContentDimensions.run {
+            assertThat(iconSizePx).isEqualTo(52)
+            assertThat(iconDrawablePaddingPx).isEqualTo(0)
+            assertThat(iconTextSizePx).isEqualTo(8)
+        }
+    }
+}
diff --git a/tests/src/com/android/launcher3/util/DisplayControllerTest.kt b/tests/src/com/android/launcher3/util/DisplayControllerTest.kt
index 8e4e998..8670d40 100644
--- a/tests/src/com/android/launcher3/util/DisplayControllerTest.kt
+++ b/tests/src/com/android/launcher3/util/DisplayControllerTest.kt
@@ -30,8 +30,10 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.launcher3.LauncherPrefs
+import com.android.launcher3.LauncherPrefs.Companion.TASKBAR_PINNING
 import com.android.launcher3.util.DisplayController.CHANGE_DENSITY
 import com.android.launcher3.util.DisplayController.CHANGE_ROTATION
+import com.android.launcher3.util.DisplayController.CHANGE_TASKBAR_PINNING
 import com.android.launcher3.util.DisplayController.DisplayInfoChangeListener
 import com.android.launcher3.util.MainThreadInitializedObject.SandboxContext
 import com.android.launcher3.util.window.CachedDisplayInfo
@@ -40,11 +42,13 @@
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito.doNothing
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.`when` as whenever
-import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.any
+import org.mockito.kotlin.anyOrNull
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 import org.mockito.stubbing.Answer
 
 /** Unit tests for {@link DisplayController} */
@@ -54,13 +58,13 @@
 
     private val appContext: Context = ApplicationProvider.getApplicationContext()
 
-    @Mock private lateinit var context: SandboxContext
-    @Mock private lateinit var windowManagerProxy: WindowManagerProxy
-    @Mock private lateinit var launcherPrefs: LauncherPrefs
-    @Mock private lateinit var displayManager: DisplayManager
-    @Mock private lateinit var display: Display
-    @Mock private lateinit var resources: Resources
-    @Mock private lateinit var displayInfoChangeListener: DisplayInfoChangeListener
+    private val context: SandboxContext = mock()
+    private val windowManagerProxy: WindowManagerProxy = mock()
+    private val launcherPrefs: LauncherPrefs = mock()
+    private val displayManager: DisplayManager = mock()
+    private val display: Display = mock()
+    private val resources: Resources = mock()
+    private val displayInfoChangeListener: DisplayInfoChangeListener = mock()
 
     private lateinit var displayController: DisplayController
 
@@ -86,9 +90,9 @@
 
     @Before
     fun setUp() {
-        MockitoAnnotations.initMocks(this)
         whenever(context.getObject(eq(WindowManagerProxy.INSTANCE))).thenReturn(windowManagerProxy)
         whenever(context.getObject(eq(LauncherPrefs.INSTANCE))).thenReturn(launcherPrefs)
+        whenever(launcherPrefs.get(TASKBAR_PINNING)).thenReturn(false)
 
         // Mock WindowManagerProxy
         val displayInfo =
@@ -107,11 +111,12 @@
             bounds[i.getArgument<CachedDisplayInfo>(1).rotation]
         }
 
+        whenever(windowManagerProxy.getNavigationMode(any())).thenReturn(NavigationMode.NO_BUTTON)
         // Mock context
-        whenever(context.createWindowContext(any(), any(), nullable())).thenReturn(context)
+        whenever(context.createWindowContext(any(), any(), anyOrNull())).thenReturn(context)
         whenever(context.getSystemService(eq(DisplayManager::class.java)))
             .thenReturn(displayManager)
-        doNothing().`when`(context).registerComponentCallbacks(any())
+        doNothing().whenever(context).registerComponentCallbacks(any())
 
         // Mock display
         whenever(display.rotation).thenReturn(displayInfo.rotation)
@@ -156,4 +161,13 @@
 
         verify(displayInfoChangeListener).onDisplayInfoChanged(any(), any(), eq(CHANGE_DENSITY))
     }
+
+    @Test
+    @UiThreadTest
+    fun testTaskbarPinning() {
+        whenever(launcherPrefs.get(TASKBAR_PINNING)).thenReturn(true)
+        displayController.handleInfoChange(display)
+        verify(displayInfoChangeListener)
+            .onDisplayInfoChanged(any(), any(), eq(CHANGE_TASKBAR_PINNING))
+    }
 }
diff --git a/tests/src/com/android/launcher3/util/ExecutorRunnableTest.kt b/tests/src/com/android/launcher3/util/ExecutorRunnableTest.kt
new file mode 100644
index 0000000..972b592
--- /dev/null
+++ b/tests/src/com/android/launcher3/util/ExecutorRunnableTest.kt
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.util
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import com.android.launcher3.util.rule.TestStabilityRule
+import java.util.concurrent.ExecutorService
+import junit.framework.Assert.assertEquals
+import junit.framework.Assert.assertFalse
+import junit.framework.Assert.assertTrue
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/** Unit test for [ExecutorRunnable] */
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class ExecutorRunnableTest {
+
+    private lateinit var underTest: ExecutorRunnable<Int>
+
+    private var result: Int = -1
+    private var isTaskExecuted = false
+    private var isCallbackExecuted = false
+
+    @get:Rule(order = 0) val testStabilityRule = TestStabilityRule()
+
+    @Before
+    fun setup() {
+        reset()
+        underTest =
+            ExecutorRunnable.createAndExecute(
+                Executors.UI_HELPER_EXECUTOR,
+                {
+                    isTaskExecuted = true
+                    1
+                },
+                Executors.VIEW_PREINFLATION_EXECUTOR,
+                {
+                    isCallbackExecuted = true
+                    result = it + 1
+                }
+            )
+    }
+
+    @Test
+    fun run_and_complete() {
+        awaitAllExecutorCompleted()
+
+        assertTrue("task should be executed", isTaskExecuted)
+        assertTrue("callback should be executed", isCallbackExecuted)
+        assertEquals(2, result)
+    }
+
+    @Test
+    @TestStabilityRule.Stability(
+        flavors = TestStabilityRule.LOCAL or TestStabilityRule.PLATFORM_POSTSUBMIT
+    ) // b/316588649
+    fun run_and_cancel_cancelCallback() {
+        underTest.cancel(false)
+        awaitAllExecutorCompleted()
+
+        assertFalse("callback should not be executed.", isCallbackExecuted)
+        assertEquals(0, result)
+    }
+
+    @Test
+    fun run_and_cancelAfterCompletion_executeAll() {
+        awaitAllExecutorCompleted()
+
+        underTest.cancel(false)
+
+        assertTrue("task should be executed", isTaskExecuted)
+        assertTrue("callback should be executed", isCallbackExecuted)
+        assertEquals(2, result)
+    }
+
+    private fun awaitExecutorCompleted(executor: ExecutorService) {
+        executor.submit<Any> { null }.get()
+    }
+
+    private fun awaitAllExecutorCompleted() {
+        awaitExecutorCompleted(Executors.UI_HELPER_EXECUTOR)
+        awaitExecutorCompleted(Executors.VIEW_PREINFLATION_EXECUTOR)
+    }
+
+    private fun reset() {
+        result = 0
+        isTaskExecuted = false
+        isCallbackExecuted = false
+    }
+}
diff --git a/tests/src/com/android/launcher3/util/KotlinMockitoHelpers.kt b/tests/src/com/android/launcher3/util/KotlinMockitoHelpers.kt
deleted file mode 100644
index c9c9616..0000000
--- a/tests/src/com/android/launcher3/util/KotlinMockitoHelpers.kt
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.launcher3.util
-
-/**
- * Kotlin versions of popular mockito methods that can return null in situations when Kotlin expects
- * a non-null value. Kotlin will throw an IllegalStateException when this takes place ("x must not
- * be null"). To fix this, we can use methods that modify the return type to be nullable. This
- * causes Kotlin to skip the null checks.
- */
-import org.mockito.ArgumentCaptor
-import org.mockito.Mockito
-
-/**
- * Returns Mockito.eq() as nullable type to avoid java.lang.IllegalStateException when null is
- * returned.
- *
- * Generic T is nullable because implicitly bounded by Any?.
- */
-fun <T> eq(obj: T): T = Mockito.eq<T>(obj)
-
-/**
- * Returns Mockito.same() as nullable type to avoid java.lang.IllegalStateException when null is
- * returned.
- *
- * Generic T is nullable because implicitly bounded by Any?.
- */
-fun <T> same(obj: T): T = Mockito.same<T>(obj)
-
-/**
- * Returns Mockito.any() as nullable type to avoid java.lang.IllegalStateException when null is
- * returned.
- *
- * Generic T is nullable because implicitly bounded by Any?.
- */
-fun <T> any(type: Class<T>): T = Mockito.any<T>(type)
-
-inline fun <reified T> any(): T = any(T::class.java)
-
-/** Kotlin type-inferred version of Mockito.nullable() */
-inline fun <reified T> nullable(): T? = Mockito.nullable(T::class.java)
-
-/**
- * Returns ArgumentCaptor.capture() as nullable type to avoid java.lang.IllegalStateException when
- * null is returned.
- *
- * Generic T is nullable because implicitly bounded by Any?.
- */
-fun <T> capture(argumentCaptor: ArgumentCaptor<T>): T = argumentCaptor.capture()
-
-/**
- * Helper function for creating an argumentCaptor in kotlin.
- *
- * Generic T is nullable because implicitly bounded by Any?.
- */
-inline fun <reified T : Any> argumentCaptor(): ArgumentCaptor<T> =
-    ArgumentCaptor.forClass(T::class.java)
-
-/**
- * Helper function for creating new mocks, without the need to pass in a [Class] instance.
- *
- * Generic T is nullable because implicitly bounded by Any?.
- */
-inline fun <reified T : Any> mock(): T = Mockito.mock(T::class.java)
-
-/**
- * A kotlin implemented wrapper of [ArgumentCaptor] which prevents the following exception when
- * kotlin tests are mocking kotlin objects and the methods take non-null parameters:
- * ```
- *     java.lang.NullPointerException: capture() must not be null
- * ```
- */
-class KotlinArgumentCaptor<T> constructor(clazz: Class<T>) {
-    private val wrapped: ArgumentCaptor<T> = ArgumentCaptor.forClass(clazz)
-    fun capture(): T = wrapped.capture()
-    val value: T
-        get() = wrapped.value
-}
-
-/**
- * Helper function for creating an argumentCaptor in kotlin.
- *
- * Generic T is nullable because implicitly bounded by Any?.
- */
-inline fun <reified T : Any> kotlinArgumentCaptor(): KotlinArgumentCaptor<T> =
-    KotlinArgumentCaptor(T::class.java)
-
-/**
- * Helper function for creating and using a single-use ArgumentCaptor in kotlin.
- *
- * ```
- *    val captor = argumentCaptor<Foo>()
- *    verify(...).someMethod(captor.capture())
- *    val captured = captor.value
- * ```
- *
- * becomes:
- * ```
- *    val captured = withArgCaptor<Foo> { verify(...).someMethod(capture()) }
- * ```
- *
- * NOTE: this uses the KotlinArgumentCaptor to avoid the NullPointerException.
- */
-inline fun <reified T : Any> withArgCaptor(block: KotlinArgumentCaptor<T>.() -> Unit): T =
-    kotlinArgumentCaptor<T>().apply { block() }.value
diff --git a/tests/src/com/android/launcher3/util/LauncherModelHelper.java b/tests/src/com/android/launcher3/util/LauncherModelHelper.java
index 261436b..e806d1d 100644
--- a/tests/src/com/android/launcher3/util/LauncherModelHelper.java
+++ b/tests/src/com/android/launcher3/util/LauncherModelHelper.java
@@ -84,6 +84,17 @@
     public static final String TEST_ACTIVITY = "com.android.launcher3.tests.Activity2";
     public static final String TEST_ACTIVITY2 = "com.android.launcher3.tests.Activity3";
     public static final String TEST_ACTIVITY3 = "com.android.launcher3.tests.Activity4";
+    public static final String TEST_ACTIVITY4 = "com.android.launcher3.tests.Activity5";
+    public static final String TEST_ACTIVITY5 = "com.android.launcher3.tests.Activity6";
+    public static final String TEST_ACTIVITY6 = "com.android.launcher3.tests.Activity7";
+    public static final String TEST_ACTIVITY7 = "com.android.launcher3.tests.Activity8";
+    public static final String TEST_ACTIVITY8 = "com.android.launcher3.tests.Activity9";
+    public static final String TEST_ACTIVITY9 = "com.android.launcher3.tests.Activity10";
+    public static final String TEST_ACTIVITY10 = "com.android.launcher3.tests.Activity11";
+    public static final String TEST_ACTIVITY11 = "com.android.launcher3.tests.Activity12";
+    public static final String TEST_ACTIVITY12 = "com.android.launcher3.tests.Activity13";
+    public static final String TEST_ACTIVITY13 = "com.android.launcher3.tests.Activity14";
+    public static final String TEST_ACTIVITY14 = "com.android.launcher3.tests.Activity15";
 
     // Authority for providing a test default-workspace-layout data.
     private static final String TEST_PROVIDER_AUTHORITY =
@@ -222,7 +233,7 @@
         private final PackageManager mPm;
         private final File mDbDir;
 
-        SandboxModelContext() {
+        public SandboxModelContext() {
             super(ApplicationProvider.getApplicationContext(),
                     UserCache.INSTANCE, InstallSessionHelper.INSTANCE, LauncherPrefs.INSTANCE,
                     LauncherAppState.INSTANCE, InvariantDeviceProfile.INSTANCE,
diff --git a/tests/src/com/android/launcher3/util/LockedUserStateTest.kt b/tests/src/com/android/launcher3/util/LockedUserStateTest.kt
index 92ab2cb..2c4a54f 100644
--- a/tests/src/com/android/launcher3/util/LockedUserStateTest.kt
+++ b/tests/src/com/android/launcher3/util/LockedUserStateTest.kt
@@ -26,29 +26,27 @@
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.verifyZeroInteractions
-import org.mockito.Mockito.`when`
-import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.verifyZeroInteractions
+import org.mockito.kotlin.whenever
 
 /** Unit tests for {@link LockedUserState} */
 @SmallTest
 @RunWith(AndroidJUnit4::class)
 class LockedUserStateTest {
 
-    @Mock lateinit var userManager: UserManager
-    @Mock lateinit var context: Context
+    private val userManager: UserManager = mock()
+    private val context: Context = mock()
 
     @Before
     fun setup() {
-        MockitoAnnotations.initMocks(this)
-        `when`(context.getSystemService(UserManager::class.java)).thenReturn(userManager)
+        whenever(context.getSystemService(UserManager::class.java)).thenReturn(userManager)
     }
 
     @Test
     fun runOnUserUnlocked_runs_action_immediately_if_already_unlocked() {
-        `when`(userManager.isUserUnlocked(Process.myUserHandle())).thenReturn(true)
+        whenever(userManager.isUserUnlocked(Process.myUserHandle())).thenReturn(true)
         val action: Runnable = mock()
         LockedUserState(context).runOnUserUnlocked(action)
         verify(action).run()
@@ -56,7 +54,7 @@
 
     @Test
     fun runOnUserUnlocked_waits_to_run_action_until_user_is_unlocked() {
-        `when`(userManager.isUserUnlocked(Process.myUserHandle())).thenReturn(false)
+        whenever(userManager.isUserUnlocked(Process.myUserHandle())).thenReturn(false)
         val action: Runnable = mock()
         val state = LockedUserState(context)
         state.runOnUserUnlocked(action)
@@ -67,13 +65,13 @@
 
     @Test
     fun isUserUnlocked_returns_true_when_user_is_unlocked() {
-        `when`(userManager.isUserUnlocked(Process.myUserHandle())).thenReturn(true)
+        whenever(userManager.isUserUnlocked(Process.myUserHandle())).thenReturn(true)
         assertThat(LockedUserState(context).isUserUnlocked).isTrue()
     }
 
     @Test
     fun isUserUnlocked_returns_false_when_user_is_locked() {
-        `when`(userManager.isUserUnlocked(Process.myUserHandle())).thenReturn(false)
+        whenever(userManager.isUserUnlocked(Process.myUserHandle())).thenReturn(false)
         assertThat(LockedUserState(context).isUserUnlocked).isFalse()
     }
 }
diff --git a/tests/src/com/android/launcher3/util/ModelTestExtensions.kt b/tests/src/com/android/launcher3/util/ModelTestExtensions.kt
new file mode 100644
index 0000000..6bd182b
--- /dev/null
+++ b/tests/src/com/android/launcher3/util/ModelTestExtensions.kt
@@ -0,0 +1,101 @@
+package com.android.launcher3.util
+
+import android.content.ContentValues
+import com.android.launcher3.LauncherModel
+import com.android.launcher3.LauncherSettings.Favorites
+import com.android.launcher3.LauncherSettings.Favorites.APPWIDGET_ID
+import com.android.launcher3.LauncherSettings.Favorites.APPWIDGET_PROVIDER
+import com.android.launcher3.LauncherSettings.Favorites.APPWIDGET_SOURCE
+import com.android.launcher3.LauncherSettings.Favorites.CELLX
+import com.android.launcher3.LauncherSettings.Favorites.CELLY
+import com.android.launcher3.LauncherSettings.Favorites.CONTAINER
+import com.android.launcher3.LauncherSettings.Favorites.CONTAINER_DESKTOP
+import com.android.launcher3.LauncherSettings.Favorites.INTENT
+import com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE
+import com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION
+import com.android.launcher3.LauncherSettings.Favorites.PROFILE_ID
+import com.android.launcher3.LauncherSettings.Favorites.RESTORED
+import com.android.launcher3.LauncherSettings.Favorites.SCREEN
+import com.android.launcher3.LauncherSettings.Favorites.SPANX
+import com.android.launcher3.LauncherSettings.Favorites.SPANY
+import com.android.launcher3.LauncherSettings.Favorites.TITLE
+import com.android.launcher3.LauncherSettings.Favorites._ID
+import com.android.launcher3.model.BgDataModel
+import com.android.launcher3.model.ModelDbController
+
+object ModelTestExtensions {
+    /** Clears and reloads Launcher db to cleanup the workspace */
+    fun LauncherModel.clearModelDb() {
+        // Load the model once so that there is no pending migration:
+        loadModelSync()
+        TestUtil.runOnExecutorSync(Executors.MODEL_EXECUTOR) {
+            modelDbController.run {
+                tryMigrateDB(null /* restoreEventLogger */)
+                createEmptyDB()
+                clearEmptyDbFlag()
+            }
+        }
+        // Reload model
+        TestUtil.runOnExecutorSync(Executors.MAIN_EXECUTOR) { forceReload() }
+        loadModelSync()
+    }
+
+    /** Loads the model in memory synchronously */
+    fun LauncherModel.loadModelSync() {
+        val mockCb: BgDataModel.Callbacks = object : BgDataModel.Callbacks {}
+        TestUtil.runOnExecutorSync(Executors.MAIN_EXECUTOR) { addCallbacksAndLoad(mockCb) }
+        TestUtil.runOnExecutorSync(Executors.MODEL_EXECUTOR) {}
+        TestUtil.runOnExecutorSync(Executors.MAIN_EXECUTOR) {}
+        TestUtil.runOnExecutorSync(Executors.MAIN_EXECUTOR) { removeCallbacks(mockCb) }
+    }
+
+    /** Adds and commits a new item to Launcher.db */
+    fun LauncherModel.addItem(
+        title: String = "LauncherTestApp",
+        intent: String =
+            "#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;component=com.google.android.apps.nexuslauncher.tests/com.android.launcher3.testcomponent.BaseTestingActivity;launchFlags=0x10200000;end",
+        type: Int = ITEM_TYPE_APPLICATION,
+        restoreFlags: Int = 0,
+        screen: Int = 0,
+        container: Int = CONTAINER_DESKTOP,
+        x: Int,
+        y: Int,
+        spanX: Int = 1,
+        spanY: Int = 1,
+        id: Int = 0,
+        profileId: Int = 0,
+        tableName: String = Favorites.TABLE_NAME,
+        appWidgetId: Int = -1,
+        appWidgetSource: Int = -1,
+        appWidgetProvider: String? = null
+    ) {
+        loadModelSync()
+        TestUtil.runOnExecutorSync(Executors.MODEL_EXECUTOR) {
+            val controller: ModelDbController = modelDbController
+            controller.tryMigrateDB(null /* restoreEventLogger */)
+            modelDbController.newTransaction().use { transaction ->
+                val values =
+                    ContentValues().apply {
+                        values[_ID] = id
+                        values[TITLE] = title
+                        values[PROFILE_ID] = profileId
+                        values[CONTAINER] = container
+                        values[SCREEN] = screen
+                        values[CELLX] = x
+                        values[CELLY] = y
+                        values[SPANX] = spanX
+                        values[SPANY] = spanY
+                        values[ITEM_TYPE] = type
+                        values[RESTORED] = restoreFlags
+                        values[INTENT] = intent
+                        values[APPWIDGET_ID] = appWidgetId
+                        values[APPWIDGET_SOURCE] = appWidgetSource
+                        values[APPWIDGET_PROVIDER] = appWidgetProvider
+                    }
+                // Migrate any previous data so that the DB state is correct
+                controller.insert(tableName, values)
+                transaction.commit()
+            }
+        }
+    }
+}
diff --git a/tests/src/com/android/launcher3/util/TestConstants.java b/tests/src/com/android/launcher3/util/TestConstants.java
new file mode 100644
index 0000000..6f3c63a
--- /dev/null
+++ b/tests/src/com/android/launcher3/util/TestConstants.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.util;
+
+public class TestConstants {
+    public static class AppNames {
+
+        public static final String TEST_APP_NAME = "LauncherTestApp";
+        public static final String DUMMY_APP_NAME = "Aardwolf";
+        public static final String MAPS_APP_NAME = "Maps";
+        public static final String STORE_APP_NAME = "Play Store";
+        public static final String GMAIL_APP_NAME = "Gmail";
+        public static final String CHROME_APP_NAME = "Chrome";
+        public static final String MESSAGES_APP_NAME = "Messages";
+    }
+}
diff --git a/tests/src/com/android/launcher3/util/TestResourceHelper.kt b/tests/src/com/android/launcher3/util/TestResourceHelper.kt
index cf80ece..b4d3ba8 100644
--- a/tests/src/com/android/launcher3/util/TestResourceHelper.kt
+++ b/tests/src/com/android/launcher3/util/TestResourceHelper.kt
@@ -32,6 +32,8 @@
                 styleId.contentEquals(R.styleable.WorkspaceSpec) -> TestR.styleable.WorkspaceSpec
                 styleId.contentEquals(R.styleable.FolderSpec) -> TestR.styleable.FolderSpec
                 styleId.contentEquals(R.styleable.AllAppsSpec) -> TestR.styleable.AllAppsSpec
+                styleId.contentEquals(R.styleable.ResponsiveSpecGroup) ->
+                    TestR.styleable.ResponsiveSpecGroup
                 else -> styleId.clone()
             }
 
diff --git a/tests/src/com/android/launcher3/util/TestUtil.java b/tests/src/com/android/launcher3/util/TestUtil.java
index 21059e6..95444ba 100644
--- a/tests/src/com/android/launcher3/util/TestUtil.java
+++ b/tests/src/com/android/launcher3/util/TestUtil.java
@@ -24,12 +24,15 @@
 import static com.android.launcher3.LauncherSettings.Settings.LAYOUT_DIGEST_LABEL;
 import static com.android.launcher3.LauncherSettings.Settings.LAYOUT_DIGEST_TAG;
 
+import static org.junit.Assert.assertTrue;
+
 import android.app.Instrumentation;
 import android.app.blob.BlobHandle;
 import android.app.blob.BlobStoreManager;
 import android.content.Context;
 import android.content.pm.LauncherApps;
 import android.content.res.Resources;
+import android.graphics.Point;
 import android.os.AsyncTask;
 import android.os.Handler;
 import android.os.Looper;
@@ -46,6 +49,9 @@
 import com.android.launcher3.config.FeatureFlags;
 import com.android.launcher3.config.FeatureFlags.BooleanFlag;
 import com.android.launcher3.config.FeatureFlags.IntFlag;
+import com.android.launcher3.tapl.LauncherInstrumentation;
+import com.android.launcher3.tapl.Workspace;
+import com.android.launcher3.util.rule.TestStabilityRule;
 
 import org.junit.Assert;
 
@@ -97,7 +103,9 @@
             out.close();
 
             final String result = UiDevice.getInstance(instrumentation)
-                    .executeShellCommand("pm install --user " + userId + " " + apkFilename);
+                    .executeShellCommand(String.format("pm install -i %s --user ",
+                            instrumentation.getContext().getPackageName())
+                            + userId + " " + apkFilename);
             Assert.assertTrue(
                     "Failed to install wellbeing test apk; make sure the device is rooted",
                     "Success".equals(result.replaceAll("\\s+", "")));
@@ -125,6 +133,28 @@
     }
 
     /**
+     * @return Grid coordinates from the center and corners of the Workspace. Those are not pixels.
+     * See {@link Workspace#getIconGridDimensions()}
+     */
+    public static Point[] getCornersAndCenterPositions(LauncherInstrumentation launcher) {
+        final Point dimensions = launcher.getWorkspace().getIconGridDimensions();
+        if (TestStabilityRule.isPresubmit()) {
+            // Return only center in presubmit to fit under the presubmit SLO.
+            return new Point[]{
+                    new Point(dimensions.x / 2, dimensions.y / 2)
+            };
+        } else {
+            return new Point[]{
+                    new Point(0, 1),
+                    new Point(0, dimensions.y - 2),
+                    new Point(dimensions.x - 1, 1),
+                    new Point(dimensions.x - 1, dimensions.y - 2),
+                    new Point(dimensions.x / 2, dimensions.y / 2)
+            };
+        }
+    }
+
+    /**
      * Utility class to override a boolean flag during test. Note that the returned SafeCloseable
      * must be closed to restore the original state
      */
@@ -226,6 +256,17 @@
         }
     }
 
+    // Please don't add negative test cases for methods that fail only after a long wait.
+    public static void expectFail(String message, Runnable action) {
+        boolean failed = false;
+        try {
+            action.run();
+        } catch (AssertionError e) {
+            failed = true;
+        }
+        assertTrue(message, failed);
+    }
+
     /** Interface to indicate a runnable which can throw any exception. */
     public interface UncheckedRunnable {
         /** Method to run the task */
diff --git a/tests/src/com/android/launcher3/util/rule/FailureWatcher.java b/tests/src/com/android/launcher3/util/rule/FailureWatcher.java
index 62d70ad..10b428a 100644
--- a/tests/src/com/android/launcher3/util/rule/FailureWatcher.java
+++ b/tests/src/com/android/launcher3/util/rule/FailureWatcher.java
@@ -59,8 +59,9 @@
                         throw new AssertionError(
                                 "Launcher received events not sent by the test. This may mean "
                                         + "that the touch screen of the lab device has sent false"
-                                        + " events. See the logcat for TaplEvents tag and look "
-                                        + "for events with deviceId != -1");
+                                        + " events. See the logcat for "
+                                        + "TaplEvents|LauncherEvents|TaplTarget tag and look for "
+                                        + "events with deviceId != -1");
                     }
                 }
             }
diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java b/tests/src/com/android/launcher3/util/rule/SetFlagsRuleExt.kt
similarity index 65%
copy from src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
copy to tests/src/com/android/launcher3/util/rule/SetFlagsRuleExt.kt
index 68843f2..d682456 100644
--- a/src_ui_overrides/com/android/launcher3/uioverrides/flags/DeveloperOptionsFragment.java
+++ b/tests/src/com/android/launcher3/util/rule/SetFlagsRuleExt.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2008 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,10 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher3.uioverrides.flags;
 
-/**
- * Place holder class for developer options.
- */
-public class DeveloperOptionsFragment {
+package com.android.launcher3.util.rule
+
+import android.platform.test.flag.junit.SetFlagsRule
+
+fun SetFlagsRule.setFlags(enabled: Boolean, vararg flagName: String) {
+    if (enabled) enableFlags(*flagName) else disableFlags(*flagName)
 }
diff --git a/tests/src/com/android/launcher3/util/rule/TISBindRule.java b/tests/src/com/android/launcher3/util/rule/TISBindRule.java
deleted file mode 100644
index 3ec4a29..0000000
--- a/tests/src/com/android/launcher3/util/rule/TISBindRule.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.launcher3.util.rule;
-
-import android.app.UiAutomation;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.ServiceConnection;
-import android.os.IBinder;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.test.platform.app.InstrumentationRegistry;
-
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
-public class TISBindRule implements TestRule {
-    public static String TAG = "TISBindRule";
-    public static String INTENT_FILTER = "android.intent.action.QUICKSTEP_SERVICE";
-    public static String TIS_PERMISSIONS = "android.permission.STATUS_BAR_SERVICE";
-
-    private String getLauncherPackageName(Context context) {
-        return ComponentName.unflattenFromString(context.getString(
-                com.android.internal.R.string.config_recentsComponentName)).getPackageName();
-    }
-
-    private ServiceConnection createConnection() {
-        return new ServiceConnection() {
-            @Override
-            public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
-                Log.d(TAG, "Connected to TouchInteractionService");
-            }
-
-            @Override
-            public void onServiceDisconnected(ComponentName componentName) {
-                Log.d(TAG, "Disconnected from TouchInteractionService");
-            }
-        };
-    }
-
-    @NonNull
-    @Override
-    public Statement apply(@NonNull Statement base, @NonNull Description description) {
-        return new Statement() {
-
-            @Override
-            public void evaluate() throws Throwable {
-                Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
-                final ServiceConnection connection = createConnection();
-                UiAutomation uiAutomation =
-                        InstrumentationRegistry.getInstrumentation().getUiAutomation();
-                uiAutomation.adoptShellPermissionIdentity(TIS_PERMISSIONS);
-                Intent launchIntent = new Intent(INTENT_FILTER);
-                launchIntent.setPackage(getLauncherPackageName(context));
-                context.bindService(launchIntent, connection, Context.BIND_AUTO_CREATE);
-                uiAutomation.dropShellPermissionIdentity();
-                try {
-                    base.evaluate();
-                } finally {
-                    context.unbindService(connection);
-                }
-            }
-        };
-    }
-}
diff --git a/tests/src/com/android/launcher3/util/rule/TestIsolationRule.java b/tests/src/com/android/launcher3/util/rule/TestIsolationRule.java
new file mode 100644
index 0000000..2b45902
--- /dev/null
+++ b/tests/src/com/android/launcher3/util/rule/TestIsolationRule.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.util.rule;
+
+import androidx.annotation.NonNull;
+import androidx.test.InstrumentationRegistry;
+import androidx.test.uiautomator.UiDevice;
+
+import com.android.launcher3.tapl.LauncherInstrumentation;
+import com.android.launcher3.ui.AbstractLauncherUiTest;
+
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
+
+/**
+ * Isolates tests from some of the state created by the previous test.
+ */
+public class TestIsolationRule implements TestRule {
+    private final LauncherInstrumentation mLauncher;
+    private final boolean mRequireOneActiveActivity;
+
+    public TestIsolationRule(LauncherInstrumentation launcher, boolean requireOneActiveActivity) {
+        mLauncher = launcher;
+        mRequireOneActiveActivity = requireOneActiveActivity;
+    }
+
+    @NonNull
+    @Override
+    public Statement apply(@NonNull Statement base, @NonNull Description description) {
+        return new Statement() {
+            @Override
+            public void evaluate() throws Throwable {
+                base.evaluate();
+                // Make sure that Launcher workspace looks correct.
+
+                UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()).pressHome();
+                AbstractLauncherUiTest.checkDetectedLeaks(mLauncher, mRequireOneActiveActivity);
+            }
+        };
+    }
+}
diff --git a/tests/src/com/android/launcher3/util/rule/TestStabilityRule.java b/tests/src/com/android/launcher3/util/rule/TestStabilityRule.java
index 38de071..909aabd 100644
--- a/tests/src/com/android/launcher3/util/rule/TestStabilityRule.java
+++ b/tests/src/com/android/launcher3/util/rule/TestStabilityRule.java
@@ -83,6 +83,7 @@
 
     public static int getRunFlavor() {
         if (sRunFlavor != 0) return sRunFlavor;
+        if (isRobolectricTest()) return PLATFORM_POSTSUBMIT;
 
         final String flavorOverride = InstrumentationRegistry.getArguments().getString("flavor");
 
@@ -146,4 +147,12 @@
 
         return sRunFlavor;
     }
+
+    public static boolean isPresubmit() {
+        return getRunFlavor() == PLATFORM_PRESUBMIT;
+    }
+
+    public static boolean isRobolectricTest() {
+        return Build.FINGERPRINT.contains("robolectric");
+    }
 }
diff --git a/tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt b/tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt
index ccbae4f..e70ea18 100644
--- a/tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt
+++ b/tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt
@@ -132,7 +132,9 @@
         for (i in 0 until viewCaptureData!!.windowDataCount) {
             frameCount += viewCaptureData!!.getWindowData(i).frameDataCount
         }
-        assertTrue("Empty ViewCapture data", frameCount > 0)
+
+        val mayProduceNoFrames = description.getAnnotation(MayProduceNoFrames::class.java) != null
+        assertTrue("Empty ViewCapture data", mayProduceNoFrames || frameCount > 0)
 
         val anomalies: Map<String, String> = ViewCaptureAnalyzer.getAnomalies(viewCaptureData)
         if (!anomalies.isEmpty()) {
@@ -159,4 +161,8 @@
             )
         }
     }
+
+    @Retention(AnnotationRetention.RUNTIME)
+    @Target(AnnotationTarget.FUNCTION)
+    annotation class MayProduceNoFrames
 }
diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java b/tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java
index 4b65439..dfccffc1 100644
--- a/tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java
+++ b/tests/src/com/android/launcher3/util/viewcapture_analysis/AlphaJumpDetector.java
@@ -33,17 +33,17 @@
 
     private static final IgnoreNode IGNORED_NODES_ROOT = buildIgnoreNodesTree(List.of(
             CONTENT
-                    + "AddItemDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
+                    + "SimpleDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
                     + "/add_item_bottom_sheet|LinearLayout:id/add_item_bottom_sheet_content"
                     + "|ScrollView:id/widget_preview_scroll_view|WidgetCell:id/widget_cell"
                     + "|WidgetCellPreview:id/widget_preview_container|ImageView:id/widget_badge",
             CONTENT
-                    + "AddItemDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
+                    + "SimpleDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
                     + "/add_item_bottom_sheet|LinearLayout:id/add_item_bottom_sheet_content"
                     + "|ScrollView:id/widget_preview_scroll_view|WidgetCell:id/widget_cell"
                     + "|WidgetCellPreview:id/widget_preview_container|WidgetCell$1|FrameLayout"
                     + "|ImageView:id/icon",
-            CONTENT + "AddItemDragLayer:id/add_item_drag_layer|View",
+            CONTENT + "SimpleDragLayer:id/add_item_drag_layer|View",
             DRAG_LAYER
                     + "AppWidgetResizeFrame|FrameLayout|ImageButton:id/widget_reconfigure_button",
             DRAG_LAYER
@@ -62,18 +62,6 @@
                     + "NexusOverviewActionsView:id/overview_actions_view|FrameLayout:id"
                     + "/select_mode_buttons|ImageButton:id/close",
             DRAG_LAYER
-                    + "NexusOverviewActionsView:id/overview_actions_view|LinearLayout:id"
-                    + "/action_buttons|Button:id/action_screenshot",
-            DRAG_LAYER
-                    + "NexusOverviewActionsView:id/overview_actions_view|LinearLayout:id"
-                    + "/action_buttons|Button:id/action_select",
-            DRAG_LAYER
-                    + "NexusOverviewActionsView:id/overview_actions_view|LinearLayout:id"
-                    + "/action_buttons|Button:id/action_split",
-            DRAG_LAYER
-                    + "NexusOverviewActionsView:id/overview_actions_view|LinearLayout:id"
-                    + "/action_buttons|Space:id/action_split_space",
-            DRAG_LAYER
                     + "PopupContainerWithArrow:id/popup_container|LinearLayout:id"
                     + "/deep_shortcuts_container|DeepShortcutView:id/deep_shortcut_material"
                     + "|DeepShortcutTextView:id/bubble_text",
@@ -116,23 +104,14 @@
             RECENTS_DRAG_LAYER + "FallbackRecentsView:id/overview_panel",
             DRAG_LAYER
                     + "NexusOverviewActionsView:id/overview_actions_view"
-                    + "|LinearLayout:id/action_buttons|Button:id/action_screenshot",
+                    + "|LinearLayout:id/action_buttons",
             RECENTS_DRAG_LAYER
                     + "NexusOverviewActionsView:id/overview_actions_view"
-                    + "|LinearLayout:id/action_buttons|Button:id/action_screenshot",
+                    + "|LinearLayout:id/action_buttons",
+            DRAG_LAYER + "IconView",
             DRAG_LAYER
-                    + "NexusOverviewActionsView:id/overview_actions_view"
-                    + "|LinearLayout:id/action_buttons|Button:id/action_select",
-            RECENTS_DRAG_LAYER
-                    + "NexusOverviewActionsView:id/overview_actions_view"
-                    + "|LinearLayout:id/action_buttons|Button:id/action_select",
-            DRAG_LAYER
-                    + "NexusOverviewActionsView:id/overview_actions_view"
-                    + "|LinearLayout:id/action_buttons|Button:id/action_split",
-            RECENTS_DRAG_LAYER
-                    + "NexusOverviewActionsView:id/overview_actions_view"
-                    + "|LinearLayout:id/action_buttons|Button:id/action_split",
-            DRAG_LAYER + "IconView"
+                    + "OptionsPopupView:id/popup_container|DeepShortcutView:id/system_shortcut"
+                    + "|BubbleTextView:id/bubble_text"
     ));
 
     // Minimal increase or decrease of view's alpha between frames that triggers the error.
diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java b/tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java
index 8b88ace..fc8f818 100644
--- a/tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java
+++ b/tests/src/com/android/launcher3/util/viewcapture_analysis/FlashDetector.java
@@ -38,22 +38,25 @@
 
     private static final IgnoreNode IGNORED_NODES_ROOT = buildIgnoreNodesTree(List.of(
             CONTENT + "LauncherRootView:id/launcher|FloatingIconView",
-            DRAG_LAYER + "LauncherRecentsView:id/overview_panel|TaskView|TextView",
+            DRAG_LAYER + "LauncherRecentsView:id/overview_panel|TaskView",
+            DRAG_LAYER + "LauncherRecentsView:id/overview_panel|ClearAllButton:id/clear_all",
             DRAG_LAYER
                     + "LauncherAllAppsContainerView:id/apps_view|AllAppsRecyclerView:id"
                     + "/apps_list_view|BubbleTextView:id/icon",
             CONTENT
-                    + "AddItemDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
+                    + "SimpleDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
                     + "/add_item_bottom_sheet|LinearLayout:id/add_item_bottom_sheet_content"
                     + "|ScrollView:id/widget_preview_scroll_view|WidgetCell:id/widget_cell"
                     + "|WidgetCellPreview:id/widget_preview_container|WidgetImageView:id"
                     + "/widget_preview",
             CONTENT
-                    + "AddItemDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
+                    + "SimpleDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
                     + "/add_item_bottom_sheet|LinearLayout:id/add_item_bottom_sheet_content"
                     + "|ScrollView:id/widget_preview_scroll_view|WidgetCell:id/widget_cell"
                     + "|WidgetCellPreview:id/widget_preview_container|ImageView:id/widget_badge",
-            RECENTS_DRAG_LAYER + "FallbackRecentsView:id/overview_panel|TaskView|IconView:id/icon",
+            RECENTS_DRAG_LAYER + "FallbackRecentsView:id/overview_panel|TaskView",
+            RECENTS_DRAG_LAYER
+                    + "FallbackRecentsView:id/overview_panel|ClearAllButton:id/clear_all",
             DRAG_LAYER + "SearchContainerView:id/apps_view",
             DRAG_LAYER + "LauncherDragView",
             DRAG_LAYER + "FloatingTaskView|FloatingTaskThumbnailView:id/thumbnail",
@@ -64,7 +67,8 @@
                     + "WidgetsTwoPaneSheet|SpringRelativeLayout:id/container|LinearLayout:id"
                     + "/linear_layout_container|FrameLayout:id/recycler_view_container"
                     + "|FrameLayout:id/widgets_two_pane_sheet_recyclerview|WidgetsRecyclerView:id"
-                    + "/primary_widgets_list_view|WidgetsListHeader:id/widgets_list_header"
+                    + "/primary_widgets_list_view|WidgetsListHeader:id/widgets_list_header",
+            DRAG_LAYER + "NexusOverviewActionsView:id/overview_actions_view"
     ));
 
     // Per-AnalysisNode data that's specific to this detector.
diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/PositionJumpDetector.java b/tests/src/com/android/launcher3/util/viewcapture_analysis/PositionJumpDetector.java
index a1ddcb0..88ace68 100644
--- a/tests/src/com/android/launcher3/util/viewcapture_analysis/PositionJumpDetector.java
+++ b/tests/src/com/android/launcher3/util/viewcapture_analysis/PositionJumpDetector.java
@@ -41,12 +41,12 @@
             DRAG_LAYER + "AppWidgetResizeFrame",
             DRAG_LAYER + "LauncherAllAppsContainerView:id/apps_view",
             CONTENT
-                    + "AddItemDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
+                    + "SimpleDragLayer:id/add_item_drag_layer|AddItemWidgetsBottomSheet:id"
                     + "/add_item_bottom_sheet|LinearLayout:id/add_item_bottom_sheet_content",
             DRAG_LAYER + "WidgetsTwoPaneSheet|SpringRelativeLayout:id/container",
             DRAG_LAYER + "WidgetsFullSheet|SpringRelativeLayout:id/container",
             DRAG_LAYER + "LauncherDragView",
-            RECENTS_DRAG_LAYER + "FallbackRecentsView:id/overview_panel|TaskView",
+            RECENTS_DRAG_LAYER + "FallbackRecentsView:id/overview_panel",
             CONTENT + "LauncherRootView:id/launcher|FloatingIconView",
             DRAG_LAYER + "FloatingTaskView",
             DRAG_LAYER + "LauncherRecentsView:id/overview_panel"
diff --git a/tests/src/com/android/launcher3/util/viewcapture_analysis/ViewCaptureAnalyzer.java b/tests/src/com/android/launcher3/util/viewcapture_analysis/ViewCaptureAnalyzer.java
index 9459cc2..b27ccbf 100644
--- a/tests/src/com/android/launcher3/util/viewcapture_analysis/ViewCaptureAnalyzer.java
+++ b/tests/src/com/android/launcher3/util/viewcapture_analysis/ViewCaptureAnalyzer.java
@@ -35,8 +35,8 @@
 
     // All detectors. They will be invoked in the order listed here.
     private static final AnomalyDetector[] ANOMALY_DETECTORS = {
-            new AlphaJumpDetector(),
-            new FlashDetector(),
+//            new AlphaJumpDetector(), // b/309014345
+//            new FlashDetector(), // b/309014345
             new PositionJumpDetector()
     };
 
diff --git a/tests/tapl/com/android/launcher3/tapl/AllApps.java b/tests/tapl/com/android/launcher3/tapl/AllApps.java
index fb08ea4..2dbc29d 100644
--- a/tests/tapl/com/android/launcher3/tapl/AllApps.java
+++ b/tests/tapl/com/android/launcher3/tapl/AllApps.java
@@ -16,8 +16,12 @@
 
 package com.android.launcher3.tapl;
 
+import static android.view.KeyEvent.KEYCODE_ESCAPE;
+import static android.view.KeyEvent.KEYCODE_META_RIGHT;
+
 import static com.android.launcher3.tapl.LauncherInstrumentation.DEFAULT_POLL_INTERVAL;
 import static com.android.launcher3.tapl.LauncherInstrumentation.WAIT_TIME_MS;
+import static com.android.launcher3.testing.shared.TestProtocol.NORMAL_STATE_ORDINAL;
 
 import android.graphics.Point;
 import android.graphics.Rect;
@@ -37,17 +41,27 @@
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
  * Operations on AllApps opened from Home. Also a parent for All Apps opened from Overview.
  */
-public abstract class AllApps extends LauncherInstrumentation.VisibleContainer {
+public abstract class AllApps extends LauncherInstrumentation.VisibleContainer
+        implements KeyboardQuickSwitchSource {
     // Defer updates flag used to defer all apps updates by a test's request.
     private static final int DEFER_UPDATES_TEST = 1 << 1;
 
     private static final int MAX_SCROLL_ATTEMPTS = 40;
 
+    private static final String BOTTOM_SHEET_RES_ID = "bottom_sheet_background";
+    private static final String FAST_SCROLLER_RES_ID = "fast_scroller";
+
+    private static final Pattern EVENT_ALT_ESC_DOWN = Pattern.compile(
+            "Key event: KeyEvent.*?action=ACTION_DOWN.*?keyCode=KEYCODE_ESCAPE.*?metaState=0");
+    private static final Pattern EVENT_ALT_ESC_UP = Pattern.compile(
+            "Key event: KeyEvent.*?action=ACTION_UP.*?keyCode=KEYCODE_ESCAPE.*?metaState=0");
+
     private final int mHeight;
     private final int mIconHeight;
 
@@ -63,6 +77,16 @@
                 .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
     }
 
+    @Override
+    public LauncherInstrumentation getLauncher() {
+        return mLauncher;
+    }
+
+    @Override
+    public LauncherInstrumentation.ContainerType getStartingContainerType() {
+        return getContainerType();
+    }
+
     private boolean hasClickableIcon(UiObject2 allAppsContainer, UiObject2 appListRecycler,
             BySelector appIconSelector, int displayBottom) {
         final UiObject2 icon;
@@ -338,7 +362,69 @@
     }
 
     /**
+     * Taps outside bottom sheet to dismiss it. Available on tablets only.
+     *
+     * @param tapRight Tap on the right of bottom sheet if true, or left otherwise.
+     */
+    public void dismissByTappingOutsideForTablet(boolean tapRight) {
+        mLauncher.assertTrue("Device must be a tablet", mLauncher.isTablet());
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
+             LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                     "want to tap outside AllApps bottom sheet on the "
+                             + (tapRight ? "right" : "left"))) {
+
+            final UiObject2 container = (tapRight)
+                    ? mLauncher.waitForLauncherObject(FAST_SCROLLER_RES_ID) :
+                    mLauncher.waitForLauncherObject(BOTTOM_SHEET_RES_ID);
+
+            touchOutside(tapRight, container);
+            try (LauncherInstrumentation.Closable tapped = mLauncher.addContextLayer(
+                    "tapped outside AllApps bottom sheet")) {
+                verifyVisibleContainerOnDismiss();
+            }
+        }
+    }
+
+    protected void touchOutside(boolean tapRight, UiObject2 container) {
+        mLauncher.touchOutsideContainer(container, tapRight, false);
+    }
+
+    /** Presses the meta keyboard shortcut to dismiss AllApps. */
+    public void dismissByKeyboardShortcut() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            pressMetaKey();
+            try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                    "pressed meta key")) {
+                verifyVisibleContainerOnDismiss();
+            }
+        }
+    }
+
+    protected void pressMetaKey() {
+        mLauncher.getDevice().pressKeyCode(KEYCODE_META_RIGHT);
+    }
+
+    /** Presses the esc key to dismiss AllApps. */
+    public void dismissByEscKey() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_ESC_DOWN);
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_ESC_UP);
+            mLauncher.runToState(
+                    () -> mLauncher.getDevice().pressKeyCode(KEYCODE_ESCAPE),
+                    NORMAL_STATE_ORDINAL,
+                    "pressing esc key");
+            try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                    "pressed esc key")) {
+                verifyVisibleContainerOnDismiss();
+            }
+        }
+    }
+
+    protected abstract void verifyVisibleContainerOnDismiss();
+
+    /**
      * Return the QSB UI object on the AllApps screen.
+     *
      * @return the QSB UI object.
      */
     @NonNull
diff --git a/tests/tapl/com/android/launcher3/tapl/AppIcon.java b/tests/tapl/com/android/launcher3/tapl/AppIcon.java
index 85098c8..156568b 100644
--- a/tests/tapl/com/android/launcher3/tapl/AppIcon.java
+++ b/tests/tapl/com/android/launcher3/tapl/AppIcon.java
@@ -36,9 +36,24 @@
         super(launcher, icon);
     }
 
+    /**
+     * Find an app icon with the given name.
+     *
+     * @param appName app icon to look for
+     */
+    static BySelector getAppIconSelector(String appName) {
+        // focusable=true to avoid matching folder labels
+        return By.clazz(TextView.class).text(makeMultilinePattern(appName)).focusable(true);
+    }
+
+    /**
+     * Find an app icon with the given name.
+     *
+     * @param appName app icon to look for
+     * @param launcher (optional) - only match ui elements from Launcher's package
+     */
     static BySelector getAppIconSelector(String appName, LauncherInstrumentation launcher) {
-        return By.clazz(TextView.class).desc(makeMultilinePattern(appName))
-                .pkg(launcher.getLauncherPackageName());
+        return getAppIconSelector(appName).pkg(launcher.getLauncherPackageName());
     }
 
     static BySelector getMenuItemSelector(String text, LauncherInstrumentation launcher) {
@@ -109,13 +124,16 @@
     }
 
     /**
-     * Create a regular expression pattern that matches strings starting with the app name, where
-     * spaces in the app name are replaced with zero or more occurrences of the "\s" character
-     * (which represents a whitespace character in regular expressions), followed by any characters
-     * after the app name.
+     * Create a regular expression pattern that matches strings containing all of the non-whitespace
+     * characters of the app name, with any amount of whitespace added between characters (e.g.
+     * newline for multiline app labels).
      */
     static Pattern makeMultilinePattern(String appName) {
-        return Pattern.compile(appName.replaceAll("\\s+", "\\\\s*") + ".*",
-                Pattern.DOTALL);
+        // Remove any existing whitespace.
+        appName = appName.replaceAll("\\s", "");
+        // Allow whitespace between characters, e.g. newline for 2 line app label.
+        StringBuilder regexBuldier = new StringBuilder("\\s*");
+        appName.chars().forEach(letter -> regexBuldier.append((char) letter).append("\\s*"));
+        return Pattern.compile(regexBuldier.toString());
     }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/Background.java b/tests/tapl/com/android/launcher3/tapl/Background.java
index 677f204..9f2ce22 100644
--- a/tests/tapl/com/android/launcher3/tapl/Background.java
+++ b/tests/tapl/com/android/launcher3/tapl/Background.java
@@ -16,8 +16,6 @@
 
 package com.android.launcher3.tapl;
 
-import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
-
 import static com.android.launcher3.tapl.OverviewTask.TASK_START_EVENT;
 import static com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_STATE_ORDINAL;
 
@@ -39,7 +37,8 @@
  * Indicates the base state with a UI other than Overview running as foreground. It can also
  * indicate Launcher as long as Launcher is not in Overview state.
  */
-public abstract class Background extends LauncherInstrumentation.VisibleContainer {
+public abstract class Background extends LauncherInstrumentation.VisibleContainer
+        implements KeyboardQuickSwitchSource {
     private static final int ZERO_BUTTON_SWIPE_UP_GESTURE_DURATION = 500;
     private static final Pattern SQUARE_BUTTON_EVENT = Pattern.compile("onOverviewToggle");
 
@@ -47,6 +46,16 @@
         super(launcher);
     }
 
+    @Override
+    public LauncherInstrumentation getLauncher() {
+        return mLauncher;
+    }
+
+    @Override
+    public LauncherInstrumentation.ContainerType getStartingContainerType() {
+        return getContainerType();
+    }
+
     /**
      * Swipes up or presses the square button to switch to Overview.
      * Returns the base overview, which can be either in Launcher or the fallback recents.
@@ -233,12 +242,11 @@
                     endY = startY;
                 }
 
-                mLauncher.executeAndWaitForEvent(
+                mLauncher.executeAndWaitForLauncherStop(
                         () -> mLauncher.linearGesture(
                                 startX, startY, endX, endY, 20, false,
                                 LauncherInstrumentation.GestureScope.EXPECT_PILFER),
-                        event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED,
-                        () -> "Quick switch gesture didn't change window state", "swiping");
+                        "swiping");
             } else {
                 // Double press the recents button.
                 UiObject2 recentsButton = mLauncher.waitForNavigationUiObject("recent_apps");
@@ -247,10 +255,8 @@
                         "clicking Recents button for the first time");
                 mLauncher.getOverview();
                 mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT);
-                mLauncher.executeAndWaitForEvent(
+                mLauncher.executeAndWaitForLauncherStop(
                         () -> recentsButton.click(),
-                        event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED,
-                        () -> "Pressing recents button didn't change window state",
                         "clicking Recents button for the second time");
             }
             mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, TASK_START_EVENT);
diff --git a/tests/tapl/com/android/launcher3/tapl/BaseOverview.java b/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
index aa5c770..1bc489c 100644
--- a/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
+++ b/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
@@ -16,22 +16,38 @@
 
 package com.android.launcher3.tapl;
 
+import static android.view.KeyEvent.KEYCODE_ESCAPE;
+
+import static com.android.launcher3.tapl.LauncherInstrumentation.TASKBAR_RES_ID;
+import static com.android.launcher3.testing.shared.TestProtocol.NORMAL_STATE_ORDINAL;
+
 import android.graphics.Rect;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.test.uiautomator.By;
 import androidx.test.uiautomator.BySelector;
 import androidx.test.uiautomator.Direction;
 import androidx.test.uiautomator.UiObject2;
 
+import com.android.launcher3.testing.shared.TestProtocol;
+
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
  * Common overview panel for both Launcher and fallback recents
  */
 public class BaseOverview extends LauncherInstrumentation.VisibleContainer {
+
+    private static final Pattern EVENT_ALT_ESC_DOWN = Pattern.compile(
+            "Key event: KeyEvent.*?action=ACTION_DOWN.*?keyCode=KEYCODE_ESCAPE.*?metaState=0");
+    private static final Pattern EVENT_ALT_ESC_UP = Pattern.compile(
+            "Key event: KeyEvent.*?action=ACTION_UP.*?keyCode=KEYCODE_ESCAPE.*?metaState=0");
+
     private static final int FLINGS_FOR_DISMISS_LIMIT = 40;
 
     BaseOverview(LauncherInstrumentation launcher) {
@@ -124,8 +140,19 @@
                 flingForwardImpl();
             }
 
-            mLauncher.clickLauncherObject(
-                    mLauncher.waitForObjectInContainer(verifyActiveContainer(), clearAllSelector));
+            final Runnable clickClearAll = () -> mLauncher.clickLauncherObject(
+                    mLauncher.waitForObjectInContainer(verifyActiveContainer(),
+                            clearAllSelector));
+            if (mLauncher.is3PLauncher()) {
+                mLauncher.executeAndWaitForLauncherStop(
+                        clickClearAll,
+                        "clicking 'Clear All'");
+            } else {
+                mLauncher.runToState(
+                        clickClearAll,
+                        NORMAL_STATE_ORDINAL,
+                        "clicking 'Clear All'");
+            }
 
             mLauncher.waitUntilLauncherObjectGone(clearAllSelector);
         }
@@ -146,9 +173,12 @@
 
             OverviewTask currentTask = flingToFirstTask();
 
-            mLauncher.touchOutsideContainer(currentTask.getUiObject(),
-                    /* tapRight= */ true,
-                    /* halfwayToEdge= */ false);
+            mLauncher.runToState(
+                    () -> mLauncher.touchOutsideContainer(currentTask.getUiObject(),
+                            /* tapRight= */ true,
+                            /* halfwayToEdge= */ false),
+                    NORMAL_STATE_ORDINAL,
+                    "touching outside of first task");
 
             return new Workspace(mLauncher);
         }
@@ -181,8 +211,19 @@
     public void touchTaskbarBottomCorner(boolean tapRight) {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
             Taskbar taskbar = new Taskbar(mLauncher);
-            taskbar.touchBottomCorner(tapRight);
-            verifyActiveContainer();
+            if (mLauncher.isTransientTaskbar()) {
+                mLauncher.runToState(
+                        () -> taskbar.touchBottomCorner(tapRight),
+                        NORMAL_STATE_ORDINAL,
+                        "touching taskbar");
+                // Tapping outside Transient Taskbar returns to Workspace, wait for that state.
+                new Workspace(mLauncher);
+            } else {
+                taskbar.touchBottomCorner(tapRight);
+                // Should stay in Overview.
+                verifyActiveContainer();
+                verifyActionsViewVisibility();
+            }
         }
     }
 
@@ -201,7 +242,8 @@
             OverviewTask task = getCurrentTask();
             mLauncher.assertNotNull("current task is null", task);
             mLauncher.scrollLeftByDistance(verifyActiveContainer(),
-                    task.getVisibleWidth() + mLauncher.getOverviewPageSpacing());
+                    mLauncher.getRealDisplaySize().x - task.getUiObject().getVisibleBounds().left
+                            + mLauncher.getOverviewPageSpacing());
 
             try (LauncherInstrumentation.Closable c2 =
                          mLauncher.addContextLayer("scrolled task off screen")) {
@@ -231,14 +273,13 @@
         final List<UiObject2> taskViews = getTasks();
         mLauncher.assertNotEquals("Unable to find a task", 0, taskViews.size());
 
-        // taskViews contains up to 3 task views: the 'main' (having the widest visible part) one
-        // in the center, and parts of its right and left siblings. Find the main task view by
-        // its width.
-        final UiObject2 widestTask = Collections.max(taskViews,
-                (t1, t2) -> Integer.compare(mLauncher.getVisibleBounds(t1).width(),
-                        mLauncher.getVisibleBounds(t2).width()));
-
-        return new OverviewTask(mLauncher, widestTask, this);
+        // The widest, and most top-right task should be the current task
+        UiObject2 currentTask = Collections.max(taskViews,
+                Comparator.comparingInt((UiObject2 t) -> t.getParent().getVisibleBounds().width())
+                        .thenComparingInt((UiObject2 t) -> t.getParent().getVisibleCenter().x)
+                        .thenComparing(Comparator.comparing(
+                                (UiObject2 t) -> t.getParent().getVisibleCenter().y).reversed()));
+        return new OverviewTask(mLauncher, currentTask, this);
     }
 
     /** Returns an overview task matching TestActivity {@param activityNumber}. */
@@ -320,6 +361,22 @@
                 mLauncher.getOverviewObjectSelector("clear_all"));
     }
 
+    /**
+     * Returns the taskbar if it's a tablet, or {@code null} otherwise.
+     */
+    @Nullable
+    public Taskbar getTaskbar() {
+        if (!mLauncher.isTablet()) {
+            return null;
+        }
+        try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                "want to get the taskbar")) {
+            mLauncher.waitForSystemLauncherObject(TASKBAR_RES_ID);
+
+            return new Taskbar(mLauncher);
+        }
+    }
+
     protected boolean isActionsViewVisible() {
         if (!hasTasks() || isClearAllVisible()) {
             return false;
@@ -340,6 +397,23 @@
         return !task.isTaskSplit();
     }
 
+    /**
+     * Presses the esc key to dismiss Overview.
+     */
+    public Workspace dismissByEscKey() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_ESC_DOWN);
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_ESC_UP);
+            mLauncher.runToState(
+                    () -> mLauncher.getDevice().pressKeyCode(KEYCODE_ESCAPE),
+                    NORMAL_STATE_ORDINAL, "pressing esc key");
+            try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                    "pressed esc key")) {
+                return mLauncher.getWorkspace();
+            }
+        }
+    }
+
     private void verifyActionsViewVisibility() {
         try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                 "want to assert overview actions view visibility")) {
@@ -366,8 +440,10 @@
         }
         int focusedTaskHeight = mLauncher.getFocusedTaskHeightForTablet();
         for (UiObject2 task : taskViews) {
-            if (task.getVisibleBounds().height() == focusedTaskHeight) {
-                return new OverviewTask(mLauncher, task, this);
+            OverviewTask overviewTask = new OverviewTask(mLauncher, task, this);
+
+            if (overviewTask.getVisibleHeight() == focusedTaskHeight) {
+                return overviewTask;
             }
         }
         return null;
diff --git a/tests/tapl/com/android/launcher3/tapl/Home.java b/tests/tapl/com/android/launcher3/tapl/Home.java
index 252435b..85e28e8 100644
--- a/tests/tapl/com/android/launcher3/tapl/Home.java
+++ b/tests/tapl/com/android/launcher3/tapl/Home.java
@@ -62,4 +62,9 @@
     protected boolean zeroButtonToOverviewGestureStateTransitionWhileHolding() {
         return true;
     }
+
+    @Override
+    public boolean isHomeState() {
+        return true;
+    }
 }
\ No newline at end of file
diff --git a/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java b/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java
index 2951901..f8e1c10 100644
--- a/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java
+++ b/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java
@@ -23,7 +23,6 @@
 import com.android.launcher3.testing.shared.TestProtocol;
 
 public class HomeAllApps extends AllApps {
-    private static final String BOTTOM_SHEET_RES_ID = "bottom_sheet_background";
 
     HomeAllApps(LauncherInstrumentation launcher) {
         super(launcher);
@@ -31,8 +30,8 @@
 
     /**
      * Swipes up or down to dismiss to Workspace.
-     * @param swipeDown Swipe all apps down to dismiss, otherwise swipe up to dismiss by going home.
      *
+     * @param swipeDown Swipe all apps down to dismiss, otherwise swipe up to dismiss by going home.
      * @return the Workspace object.
      */
     @NonNull
@@ -98,25 +97,6 @@
                 .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
     }
 
-    /**
-     * Taps outside bottom sheet to dismiss and return to workspace. Available on tablets only.
-     * @param tapRight Tap on the right of bottom sheet if true, or left otherwise.
-     */
-    public Workspace dismissByTappingOutsideForTablet(boolean tapRight) {
-        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
-             LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
-                     "want to tap outside AllApps bottom sheet on the "
-                             + (tapRight ? "right" : "left"))) {
-            final UiObject2 allAppsBottomSheet =
-                    mLauncher.waitForLauncherObject(BOTTOM_SHEET_RES_ID);
-            mLauncher.touchOutsideContainer(allAppsBottomSheet, tapRight);
-            try (LauncherInstrumentation.Closable tapped = mLauncher.addContextLayer(
-                    "tapped outside AllApps bottom sheet")) {
-                return mLauncher.getWorkspace();
-            }
-        }
-    }
-
     @NonNull
     @Override
     public Qsb getQsb() {
@@ -128,4 +108,43 @@
         return mLauncher.getTestInfo(TestProtocol.REQUEST_APPS_LIST_SCROLL_Y)
                 .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
     }
+
+    @Override
+    protected void verifyVisibleContainerOnDismiss() {
+        mLauncher.getWorkspace();
+    }
+
+    @Override
+    public boolean isHomeState() {
+        return true;
+    }
+
+    /** Send the "back" gesture to go to workspace. */
+    public Workspace pressBackToWorkspace() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
+             LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                     "want to press back from all apps to workspace")) {
+            mLauncher.runToState(
+                    () -> mLauncher.pressBackImpl(),
+                    NORMAL_STATE_ORDINAL,
+                    "pressing back");
+            return new Workspace(mLauncher);
+        }
+    }
+
+    @Override
+    protected void touchOutside(boolean tapRight, UiObject2 container) {
+        mLauncher.runToState(
+                () -> super.touchOutside(tapRight, container),
+                NORMAL_STATE_ORDINAL,
+                "touching outside");
+    }
+
+    @Override
+    protected void pressMetaKey() {
+        mLauncher.runToState(
+                () -> super.pressMetaKey(),
+                NORMAL_STATE_ORDINAL,
+                "pressing meta key");
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/HomeQsb.java b/tests/tapl/com/android/launcher3/tapl/HomeQsb.java
index 5385c65..c1fc45f 100644
--- a/tests/tapl/com/android/launcher3/tapl/HomeQsb.java
+++ b/tests/tapl/com/android/launcher3/tapl/HomeQsb.java
@@ -15,6 +15,8 @@
  */
 package com.android.launcher3.tapl;
 
+import static com.android.launcher3.testing.shared.TestProtocol.ALL_APPS_STATE_ORDINAL;
+
 import androidx.test.uiautomator.UiObject2;
 
 /**
@@ -25,4 +27,13 @@
     HomeQsb(LauncherInstrumentation launcher, UiObject2 hotseat) {
         super(launcher, hotseat, "search_container_hotseat");
     }
+
+    @Override
+    protected void clickQsb() {
+        // Clicking Qsb will switch to All Apps state.
+        mLauncher.runToState(
+                () -> super.clickQsb(),
+                ALL_APPS_STATE_ORDINAL,
+                "Clicking Qsb");
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitch.java b/tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitch.java
new file mode 100644
index 0000000..5ef82ca
--- /dev/null
+++ b/tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitch.java
@@ -0,0 +1,229 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.tapl;
+
+import static com.android.launcher3.tapl.LauncherInstrumentation.KEYBOARD_QUICK_SWITCH_RES_ID;
+
+import android.view.KeyEvent;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.launcher3.testing.shared.TestProtocol;
+
+import java.util.regex.Pattern;
+
+/**
+ * Operations on the Keyboard Quick Switch View
+ */
+public final class KeyboardQuickSwitch {
+
+    private static final Pattern EVENT_ALT_TAB_DOWN = Pattern.compile(
+            "KeyboardQuickSwitchView key event: KeyEvent.*?action=ACTION_DOWN.*?keyCode=KEYCODE_TAB"
+                    + ".*?metaState=META_ALT_ON");
+    private static final Pattern EVENT_ALT_TAB_UP = Pattern.compile(
+            "KeyboardQuickSwitchView key event: KeyEvent.*?action=ACTION_UP.*?keyCode=KEYCODE_TAB"
+                    + ".*?metaState=META_ALT_ON");
+    private static final Pattern EVENT_ALT_SHIFT_TAB_DOWN = Pattern.compile(
+            "KeyboardQuickSwitchView key event: KeyEvent.*?action=ACTION_DOWN.*?keyCode=KEYCODE_TAB"
+                    + ".*?metaState=META_ALT_ON|META_SHIFT_ON");
+    private static final Pattern EVENT_ALT_SHIFT_TAB_UP = Pattern.compile(
+            "KeyboardQuickSwitchView key event: KeyEvent.*?action=ACTION_UP.*?keyCode=KEYCODE_TAB"
+                    + ".*?metaState=META_ALT_ON|META_SHIFT_ON");
+    private static final Pattern EVENT_ALT_ESC_DOWN = Pattern.compile(
+            "KeyboardQuickSwitchView key event: KeyEvent.*?action=ACTION_DOWN"
+                    + ".*?keyCode=KEYCODE_ESCAPE.*?metaState=META_ALT_ON");
+    private static final Pattern EVENT_ALT_ESC_UP = Pattern.compile(
+            "KeyboardQuickSwitchView key event: KeyEvent.*?action=ACTION_UP"
+                    + ".*?keyCode=KEYCODE_ESCAPE.*?metaState=META_ALT_ON");
+    private static final Pattern EVENT_KQS_ALT_LEFT_UP = Pattern.compile(
+            "KeyboardQuickSwitchView key event: KeyEvent.*?action=ACTION_UP"
+                    + ".*?keyCode=KEYCODE_ALT_LEFT");
+    private static final Pattern EVENT_HOME_ALT_LEFT_UP = Pattern.compile(
+            "Key event: KeyEvent.*?action=ACTION_UP"
+                    + ".*?keyCode=KEYCODE_ALT_LEFT");
+
+    private final LauncherInstrumentation mLauncher;
+    private final LauncherInstrumentation.ContainerType mStartingContainerType;
+    private final boolean mIsHomeState;
+
+    KeyboardQuickSwitch(
+            LauncherInstrumentation launcher,
+            LauncherInstrumentation.ContainerType startingContainerType,
+            boolean isHomeState) {
+        mLauncher = launcher;
+        mStartingContainerType = startingContainerType;
+        mIsHomeState = isHomeState;
+    }
+
+    /**
+     * Focuses the next task in the Keyboard quick switch view.
+     * <p>
+     * Tasks are ordered left-to-right in LTR, and vice versa in RLT, in a carousel.
+     * <ul>
+     *      <li>If no task has been focused yet, and there is only one task, then that task will be
+     *          focused</li>
+     *      <li>If no task has been focused yet, and there are two or more tasks, then the second
+     *          task will be focused</li>
+     *      <li>If the currently-focused task is at the end of the list, the first task will be
+     *          focused</li>
+     * </ul>
+     */
+    public KeyboardQuickSwitch moveFocusForward() {
+        try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
+                "want to move keyboard quick switch focus forward");
+             LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            mLauncher.waitForLauncherObject(KEYBOARD_QUICK_SWITCH_RES_ID);
+
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_TAB_DOWN);
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_TAB_UP);
+            mLauncher.assertTrue("Failed to press alt+tab",
+                    mLauncher.getDevice().pressKeyCode(
+                            KeyEvent.KEYCODE_TAB, KeyEvent.META_ALT_ON));
+
+            try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer(
+                    "pressed alt+tab")) {
+                mLauncher.waitForLauncherObject(KEYBOARD_QUICK_SWITCH_RES_ID);
+
+                return this;
+            }
+        }
+    }
+
+    /**
+     * Focuses the next task in the Keyboard quick switch view.
+     * <p>
+     * Tasks are ordered left-to-right in LTR, and vice versa in RLT, in a carousel.
+     * <ul>
+     *      <li>If no task has been focused yet, and there is only one task, then that task will be
+     *          focused</li>
+     *      <li>If no task has been focused yet, and there are two or more tasks, then the second
+     *          task will be focused</li>
+     *      <li>If the currently-focused task is at the start of the list, the last task will be
+     *          focused</li>
+     * </ul>
+     */
+    public KeyboardQuickSwitch moveFocusBackward() {
+        try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
+                "want to move keyboard quick switch focus backward");
+             LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            mLauncher.waitForLauncherObject(KEYBOARD_QUICK_SWITCH_RES_ID);
+
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_SHIFT_TAB_DOWN);
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_SHIFT_TAB_UP);
+            mLauncher.assertTrue("Failed to press alt+shift+tab",
+                    mLauncher.getDevice().pressKeyCode(
+                            KeyEvent.KEYCODE_TAB,
+                            KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON));
+
+            try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer(
+                    "pressed alt+shift+tab")) {
+                mLauncher.waitForLauncherObject(KEYBOARD_QUICK_SWITCH_RES_ID);
+
+                return this;
+            }
+        }
+    }
+
+    /**
+     * Dismisses the Keyboard Quick Switch view without launching the focused task.
+     * <p>
+     * The device will return to the same state it started in before displaying the Keyboard Quick
+     * Switch view.
+     */
+    public void dismiss() {
+        try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
+                "want to dismiss keyboard quick switch view");
+             LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            mLauncher.waitForLauncherObject(KEYBOARD_QUICK_SWITCH_RES_ID);
+
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_ESC_DOWN);
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_ESC_UP);
+            mLauncher.assertTrue("Failed to press alt+tab",
+                    mLauncher.getDevice().pressKeyCode(
+                            KeyEvent.KEYCODE_ESCAPE, KeyEvent.META_ALT_ON));
+
+            try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer(
+                    "pressed alt+esc")) {
+                mLauncher.waitUntilLauncherObjectGone(KEYBOARD_QUICK_SWITCH_RES_ID);
+
+                // Verify the final state is the same as the initial state
+                mLauncher.verifyContainerType(mStartingContainerType);
+
+                // Wait until the device has fully settled before unpressing the key code
+                if (mIsHomeState) {
+                    mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_HOME_ALT_LEFT_UP);
+                }
+                mLauncher.unpressKeyCode(KeyEvent.KEYCODE_ALT_LEFT, 0);
+            }
+        }
+    }
+
+    /**
+     * Launches the currently-focused app task.
+     * <p>
+     * This method should only be used if the focused task is for a recent running app, otherwise
+     * use {@link #launchFocusedOverviewTask()}.
+     *
+     * @param expectedPackageName the package name of the expected launched app
+     */
+    public LaunchedAppState launchFocusedAppTask(@NonNull String expectedPackageName) {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            return (LaunchedAppState) launchFocusedTask(expectedPackageName);
+        }
+    }
+
+    /**
+     * Launches the currently-focused overview task.
+     * <p>
+     * This method only should be used if the focused task is for overview, otherwise use
+     * {@link #launchFocusedAppTask(String)}.
+     */
+    public Overview launchFocusedOverviewTask() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            return (Overview) launchFocusedTask(null);
+        }
+    }
+
+    private LauncherInstrumentation.VisibleContainer launchFocusedTask(
+            @Nullable String expectedPackageName) {
+        try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
+                "want to launch focused task: "
+                        + (expectedPackageName == null ? "Overview" : expectedPackageName))) {
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_KQS_ALT_LEFT_UP);
+
+            if (expectedPackageName == null || !mIsHomeState) {
+                mLauncher.unpressKeyCode(KeyEvent.KEYCODE_ALT_LEFT, 0);
+            } else {
+                mLauncher.executeAndWaitForLauncherStop(
+                        () -> mLauncher.unpressKeyCode(KeyEvent.KEYCODE_ALT_LEFT, 0),
+                        "unpressing left alt");
+            }
+
+            try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer(
+                    "un-pressed left alt")) {
+                mLauncher.waitUntilLauncherObjectGone(KEYBOARD_QUICK_SWITCH_RES_ID);
+
+                if (expectedPackageName != null) {
+                    mLauncher.assertAppLaunched(expectedPackageName);
+                    return mLauncher.getLaunchedAppState();
+                } else {
+                    return mLauncher.getOverview();
+                }
+            }
+        }
+    }
+}
diff --git a/tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitchSource.java b/tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitchSource.java
new file mode 100644
index 0000000..677ed04
--- /dev/null
+++ b/tests/tapl/com/android/launcher3/tapl/KeyboardQuickSwitchSource.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.tapl;
+
+import static com.android.launcher3.tapl.LauncherInstrumentation.KEYBOARD_QUICK_SWITCH_RES_ID;
+
+import android.view.KeyEvent;
+
+/**
+ * {@link com.android.launcher3.tapl.LauncherInstrumentation.VisibleContainer} that can be used to
+ * show the keyboard quick switch view.
+ */
+interface KeyboardQuickSwitchSource {
+
+    /**
+     * Shows the Keyboard Quick Switch view.
+     */
+    default KeyboardQuickSwitch showQuickSwitchView() {
+        LauncherInstrumentation launcher = getLauncher();
+
+        try (LauncherInstrumentation.Closable c1 = launcher.addContextLayer(
+                "want to show keyboard quick switch object");
+             LauncherInstrumentation.Closable e = launcher.eventsCheck()) {
+            launcher.pressAndHoldKeyCode(KeyEvent.KEYCODE_TAB, KeyEvent.META_ALT_LEFT_ON);
+
+            try (LauncherInstrumentation.Closable c2 = launcher.addContextLayer(
+                    "press and held alt+tab")) {
+                launcher.waitForLauncherObject(KEYBOARD_QUICK_SWITCH_RES_ID);
+                launcher.unpressKeyCode(KeyEvent.KEYCODE_TAB, 0);
+
+                return new KeyboardQuickSwitch(
+                        launcher, getStartingContainerType(), isHomeState());
+            }
+        }
+    }
+
+    /** This method requires public access, however should not be called in tests. */
+    LauncherInstrumentation getLauncher();
+
+    /** This method requires public access, however should not be called in tests. */
+    LauncherInstrumentation.ContainerType getStartingContainerType();
+
+    /** This method requires public access, however should not be called in tests. */
+    boolean isHomeState();
+}
diff --git a/tests/tapl/com/android/launcher3/tapl/Launchable.java b/tests/tapl/com/android/launcher3/tapl/Launchable.java
index a953fa9..ed47334 100644
--- a/tests/tapl/com/android/launcher3/tapl/Launchable.java
+++ b/tests/tapl/com/android/launcher3/tapl/Launchable.java
@@ -21,10 +21,7 @@
 import android.graphics.Point;
 import android.view.MotionEvent;
 
-import androidx.test.uiautomator.By;
-import androidx.test.uiautomator.BySelector;
 import androidx.test.uiautomator.UiObject2;
-import androidx.test.uiautomator.Until;
 
 import com.android.launcher3.testing.shared.TestProtocol;
 
@@ -48,12 +45,36 @@
         return mObject;
     }
 
+    protected boolean launcherStopsAfterLaunch() {
+        return true;
+    }
+
     /**
      * Clicks the object to launch its app.
+     * We are assuming non-translucent app launches because only such launches generate
+     * LAUNCHER_ACTIVITY_STOPPED_MESSAGE.
      */
     public LaunchedAppState launch(String expectedPackageName) {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
-            return launch(By.pkg(expectedPackageName));
+            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(String.format(
+                    "want to launch an app (%s) from %s", expectedPackageName, launchableType()))) {
+                LauncherInstrumentation.log("Launchable.launch before click "
+                        + mObject.getVisibleCenter() + " in "
+                        + mLauncher.getVisibleBounds(mObject));
+
+                if (launcherStopsAfterLaunch()) {
+                    mLauncher.executeAndWaitForLauncherStop(
+                            () -> mLauncher.clickLauncherObject(mObject),
+                            "clicking the launchable");
+                } else {
+                    mLauncher.clickLauncherObject(mObject);
+                }
+
+                try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("clicked")) {
+                    expectActivityStartEvents();
+                    return mLauncher.assertAppLaunched(expectedPackageName);
+                }
+            }
         }
     }
 
@@ -61,21 +82,6 @@
 
     protected abstract String launchableType();
 
-    private LaunchedAppState launch(BySelector selector) {
-        try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
-                "want to launch an app from " + launchableType())) {
-            LauncherInstrumentation.log("Launchable.launch before click "
-                    + mObject.getVisibleCenter() + " in " + mLauncher.getVisibleBounds(mObject));
-
-            mLauncher.clickLauncherObject(mObject);
-
-            try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("clicked")) {
-                expectActivityStartEvents();
-                return assertAppLaunched(selector);
-            }
-        }
-    }
-
     /**
      * Clicks a launcher object to initiate splitscreen, where the selected app will be one of two
      * apps running on the screen. Should be called when Launcher is in a "split staging" state
@@ -83,12 +89,16 @@
      * fired when the click is executed.
      */
     public LaunchedAppState launchIntoSplitScreen() {
-        try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
-                "want to launch split tasks from " + launchableType())) {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
+             LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
+                     "want to launch split tasks from " + launchableType())) {
             LauncherInstrumentation.log("Launchable.launch before click "
-                    + mObject.getVisibleCenter() + " in " + mLauncher.getVisibleBounds(mObject));
+                    + mObject.getVisibleCenter() + " in " + mLauncher.getVisibleBounds(
+                    mObject));
 
-            mLauncher.clickLauncherObject(mObject);
+            mLauncher.executeAndWaitForLauncherStop(
+                    () -> mLauncher.clickLauncherObject(mObject),
+                    "clicking the launchable");
 
             try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("clicked")) {
                 mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, OverviewTask.SPLIT_START_EVENT);
@@ -97,14 +107,6 @@
         }
     }
 
-    protected LaunchedAppState assertAppLaunched(BySelector selector) {
-        mLauncher.assertTrue(
-                "App didn't start: (" + selector + ")",
-                mLauncher.getDevice().wait(Until.hasObject(selector),
-                        LauncherInstrumentation.WAIT_TIME_MS));
-        return new LaunchedAppState(mLauncher);
-    }
-
     Point startDrag(long downTime, Runnable expectLongClickEvents, boolean runToSpringLoadedState) {
         final Point iconCenter = getObject().getVisibleCenter();
         final Point dragStartCenter = new Point(iconCenter.x,
diff --git a/tests/tapl/com/android/launcher3/tapl/LaunchedAppState.java b/tests/tapl/com/android/launcher3/tapl/LaunchedAppState.java
index 30417c0..200f2ff 100644
--- a/tests/tapl/com/android/launcher3/tapl/LaunchedAppState.java
+++ b/tests/tapl/com/android/launcher3/tapl/LaunchedAppState.java
@@ -20,12 +20,11 @@
 import static com.android.launcher3.tapl.LauncherInstrumentation.TASKBAR_RES_ID;
 import static com.android.launcher3.tapl.LauncherInstrumentation.WAIT_TIME_MS;
 import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_DISABLE_BLOCK_TIMEOUT;
-import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_DISABLE_MANUAL_TASKBAR_STASHING;
 import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_ENABLE_BLOCK_TIMEOUT;
-import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_ENABLE_MANUAL_TASKBAR_STASHING;
 import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_SHELL_DRAG_READY;
-import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_STASHED_TASKBAR_HEIGHT;
 import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_STASHED_TASKBAR_SCALE;
+import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_TASKBAR_FROM_NAV_THRESHOLD;
+import static com.android.launcher3.testing.shared.TestProtocol.TEST_INFO_RESPONSE_FIELD;
 
 import android.graphics.Point;
 import android.graphics.Rect;
@@ -34,7 +33,6 @@
 import android.view.MotionEvent;
 import android.view.ViewConfiguration;
 
-import androidx.test.uiautomator.By;
 import androidx.test.uiautomator.Condition;
 import androidx.test.uiautomator.UiDevice;
 
@@ -55,13 +53,13 @@
     private static final int STASHED_TASKBAR_BOTTOM_EDGE_DP = 1;
 
     private final Condition<UiDevice, Boolean> mStashedTaskbarHintScaleCondition =
-            device -> mLauncher.getTestInfo(REQUEST_STASHED_TASKBAR_SCALE).getFloat(
-                    TestProtocol.TEST_INFO_RESPONSE_FIELD) - UNSTASHED_TASKBAR_HANDLE_HINT_SCALE
+            device -> Math.abs(mLauncher.getTestInfo(REQUEST_STASHED_TASKBAR_SCALE).getFloat(
+                    TestProtocol.TEST_INFO_RESPONSE_FIELD) - UNSTASHED_TASKBAR_HANDLE_HINT_SCALE)
                     < 0.00001f;
 
     private final Condition<UiDevice, Boolean> mStashedTaskbarDefaultScaleCondition =
-            device -> mLauncher.getTestInfo(REQUEST_STASHED_TASKBAR_SCALE).getFloat(
-                    TestProtocol.TEST_INFO_RESPONSE_FIELD) - 1f < 0.00001f;
+            device -> Math.abs(mLauncher.getTestInfo(REQUEST_STASHED_TASKBAR_SCALE).getFloat(
+                    TestProtocol.TEST_INFO_RESPONSE_FIELD) - 1f) < 0.00001f;
 
     LaunchedAppState(LauncherInstrumentation launcher) {
         super(launcher);
@@ -72,6 +70,11 @@
         return LauncherInstrumentation.ContainerType.LAUNCHED_APP;
     }
 
+    @Override
+    public boolean isHomeState() {
+        return false;
+    }
+
     /**
      * Returns the taskbar.
      *
@@ -80,8 +83,6 @@
     public Taskbar getTaskbar() {
         try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                 "want to get the taskbar")) {
-            mLauncher.waitForSystemLauncherObject(TASKBAR_RES_ID);
-
             return new Taskbar(mLauncher);
         }
     }
@@ -109,37 +110,35 @@
     /**
      * Returns the Taskbar in a visible state.
      *
-     * The taskbar must already be hidden when calling this method.
+     * The taskbar must already be hidden and in transient mode when calling this method.
      */
-    public Taskbar showTaskbar() {
-        mLauncher.getTestInfo(REQUEST_ENABLE_MANUAL_TASKBAR_STASHING);
+    public Taskbar swipeUpToUnstashTaskbar() {
+        mLauncher.assertTrue("Taskbar is not transient, swipe up not supported",
+                mLauncher.isTransientTaskbar());
+
         mLauncher.getTestInfo(REQUEST_ENABLE_BLOCK_TIMEOUT);
 
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
              LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
-                     "want to show the taskbar")) {
+                     "want to swipe up to unstash the taskbar")) {
             mLauncher.waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
 
-            final long downTime = SystemClock.uptimeMillis();
-            final int unstashTargetY = mLauncher.getRealDisplaySize().y
-                    - (mLauncher.getTestInfo(REQUEST_STASHED_TASKBAR_HEIGHT)
-                            .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD) / 2);
-            final Point unstashTarget = new Point(
-                    mLauncher.getRealDisplaySize().x / 2, unstashTargetY);
+            int taskbarFromNavThreshold = mLauncher.getTestInfo(REQUEST_TASKBAR_FROM_NAV_THRESHOLD)
+                    .getInt(TEST_INFO_RESPONSE_FIELD);
+            int startX = mLauncher.getRealDisplaySize().x / 2;
+            int startY = mLauncher.getRealDisplaySize().y - 1;
+            int endX = startX;
+            int endY = startY - taskbarFromNavThreshold;
 
-            mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, unstashTarget,
-                    LauncherInstrumentation.GestureScope.EXPECT_PILFER);
-            LauncherInstrumentation.log("showTaskbar: sent down");
+            mLauncher.executeAndWaitForLauncherStop(
+                    () -> mLauncher.linearGesture(startX, startY, endX, endY, 10,
+                            /* slowDown= */ true,
+                            LauncherInstrumentation.GestureScope.EXPECT_PILFER),
+                    "swiping");
+            LauncherInstrumentation.log("swipeUpToUnstashTaskbar: sent linear swipe up gesture");
 
-            try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("pressed down")) {
-                mLauncher.waitForSystemLauncherObject(TASKBAR_RES_ID);
-                mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_UP, unstashTarget,
-                        LauncherInstrumentation.GestureScope.EXPECT_PILFER);
-
-                return new Taskbar(mLauncher);
-            }
+            return new Taskbar(mLauncher);
         } finally {
-            mLauncher.getTestInfo(REQUEST_DISABLE_MANUAL_TASKBAR_STASHING);
             mLauncher.getTestInfo(REQUEST_DISABLE_BLOCK_TIMEOUT);
         }
     }
@@ -200,8 +199,8 @@
 
                     try (LauncherInstrumentation.Closable c4 = launcher.addContextLayer(
                             "dropped item")) {
-                        launchable.assertAppLaunched(By.pkg(expectedNewPackageName));
-                        launchable.assertAppLaunched(By.pkg(expectedExistingPackageName));
+                        launcher.assertAppLaunched(expectedNewPackageName);
+                        launcher.assertAppLaunched(expectedExistingPackageName);
                     }
                 }
             }
@@ -280,7 +279,8 @@
             Point stashedTaskbarHintArea = new Point(mLauncher.getRealDisplaySize().x / 2,
                     mLauncher.getRealDisplaySize().y - 1);
             mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_HOVER_ENTER,
-                    new Point(stashedTaskbarHintArea.x, stashedTaskbarHintArea.y), null);
+                    new Point(stashedTaskbarHintArea.x, stashedTaskbarHintArea.y), null,
+                    InputDevice.SOURCE_MOUSE);
 
             mLauncher.getDevice().wait(mStashedTaskbarHintScaleCondition,
                     LauncherInstrumentation.WAIT_TIME_MS);
@@ -292,7 +292,7 @@
                         mLauncher.getRealDisplaySize().y - 500);
                 mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_HOVER_EXIT,
                         new Point(outsideStashedTaskbarHintArea.x, outsideStashedTaskbarHintArea.y),
-                        null);
+                        null, InputDevice.SOURCE_MOUSE);
 
                 mLauncher.getDevice().wait(mStashedTaskbarDefaultScaleCondition,
                         LauncherInstrumentation.WAIT_TIME_MS);
@@ -343,4 +343,21 @@
             }
         }
     }
+
+    /** Send the "back" gesture to go to workspace. */
+    public Workspace pressBackToWorkspace() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
+             LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                     "want to press back from launched app to workspace")) {
+            if (mLauncher.isLauncher3()) {
+                mLauncher.pressBackImpl();
+            } else {
+                mLauncher.executeAndWaitForWallpaperAnimation(
+                        () -> mLauncher.pressBackImpl(),
+                        "pressing back"
+                );
+            }
+            return new Workspace(mLauncher);
+        }
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index c58ae16..f68e12c 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -20,21 +20,27 @@
 import static android.content.pm.PackageManager.DONT_KILL_APP;
 import static android.content.pm.PackageManager.MATCH_ALL;
 import static android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS;
+import static android.view.KeyEvent.ACTION_DOWN;
+import static android.view.MotionEvent.ACTION_SCROLL;
+import static android.view.MotionEvent.ACTION_UP;
 import static android.view.MotionEvent.AXIS_GESTURE_SWIPE_FINGER_COUNT;
 
 import static com.android.launcher3.tapl.Folder.FOLDER_CONTENT_RES_ID;
 import static com.android.launcher3.tapl.TestHelpers.getOverviewPackageName;
 import static com.android.launcher3.testing.shared.TestProtocol.NORMAL_STATE_ORDINAL;
+import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_NUM_ALL_APPS_COLUMNS;
 
 import android.app.ActivityManager;
 import android.app.Instrumentation;
 import android.app.UiAutomation;
+import android.app.UiModeManager;
 import android.content.ComponentName;
 import android.content.ContentProviderClient;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.ProviderInfo;
+import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.Insets;
 import android.graphics.Point;
@@ -48,6 +54,9 @@
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.InputDevice;
+import android.view.InputEvent;
+import android.view.KeyCharacterMap;
+import android.view.KeyEvent;
 import android.view.MotionEvent;
 import android.view.ViewConfiguration;
 import android.view.WindowManager;
@@ -169,10 +178,13 @@
     private static final String OPEN_FOLDER_RES_ID = "folder_content";
     static final String TASKBAR_RES_ID = "taskbar_view";
     private static final String SPLIT_PLACEHOLDER_RES_ID = "split_placeholder";
+    static final String KEYBOARD_QUICK_SWITCH_RES_ID = "keyboard_quick_switch_view";
     public static final int WAIT_TIME_MS = 30000;
     static final long DEFAULT_POLL_INTERVAL = 1000;
     private static final String SYSTEMUI_PACKAGE = "com.android.systemui";
     private static final String ANDROID_PACKAGE = "android";
+    private static final String ASSISTANT_PACKAGE = "com.google.android.googlequicksearchbox";
+    private static final String ASSISTANT_GO_HOME_RES_ID = "home_icon";
 
     private static WeakReference<VisibleContainer> sActiveContainer = new WeakReference<>(null);
 
@@ -204,15 +216,33 @@
      * Constructs the root of TAPL hierarchy. You get all other objects from it.
      */
     public LauncherInstrumentation() {
-        this(InstrumentationRegistry.getInstrumentation());
+        this(InstrumentationRegistry.getInstrumentation(), false);
     }
 
     /**
      * Constructs the root of TAPL hierarchy. You get all other objects from it.
-     * Deprecated: use the constructor without parameters instead.
+     */
+    public LauncherInstrumentation(boolean isLauncherTest) {
+        this(InstrumentationRegistry.getInstrumentation(), isLauncherTest);
+    }
+
+    /**
+     * Constructs the root of TAPL hierarchy. You get all other objects from it.
+     *
+     * @deprecated use the constructor without Instrumentation parameter instead.
      */
     @Deprecated
     public LauncherInstrumentation(Instrumentation instrumentation) {
+        this(instrumentation, false);
+    }
+
+    /**
+     * Constructs the root of TAPL hierarchy. You get all other objects from it.
+     *
+     * @deprecated use the constructor without Instrumentation parameter instead.
+     */
+    @Deprecated
+    public LauncherInstrumentation(Instrumentation instrumentation, boolean isLauncherTest) {
         mInstrumentation = instrumentation;
         mDevice = UiDevice.getInstance(instrumentation);
 
@@ -248,31 +278,48 @@
         assertNotNull("Cannot find content provider for " + testProviderAuthority, pi);
         ComponentName cn = new ComponentName(pi.packageName, pi.name);
 
+        final int iterations = isLauncherTest ? 300 : 100;
+
         if (pm.getComponentEnabledSetting(cn) != COMPONENT_ENABLED_STATE_ENABLED) {
             if (TestHelpers.isInLauncherProcess()) {
                 pm.setComponentEnabledSetting(cn, COMPONENT_ENABLED_STATE_ENABLED, DONT_KILL_APP);
-                // b/195031154
-                SystemClock.sleep(5000);
             } else {
                 try {
                     final int userId = getContext().getUserId();
                     final String launcherPidCommand = "pidof " + pi.packageName;
-                    final String initialPid = mDevice.executeShellCommand(launcherPidCommand)
-                            .replaceAll("\\s", "");
+                    final String initialPid = mDevice.executeShellCommand(launcherPidCommand);
+
                     mDevice.executeShellCommand(
                             "pm enable --user " + userId + " " + cn.flattenToString());
+
                     // Wait for Launcher restart after enabling test provider.
-                    for (int i = 0; i < 100; ++i) {
+                    for (int i = 0; i < iterations; ++i) {
                         final String currentPid = mDevice.executeShellCommand(launcherPidCommand)
                                 .replaceAll("\\s", "");
                         if (!currentPid.isEmpty() && !currentPid.equals(initialPid)) break;
-                        if (i == 99) fail("Launcher didn't restart after enabling test provider");
+                        if (i == iterations - 1) {
+                            fail("Launcher didn't restart after enabling test provider");
+                        }
                         SystemClock.sleep(100);
                     }
                 } catch (IOException e) {
                     fail(e.toString());
                 }
             }
+
+            // Wait for Launcher content provider to become enabled.
+            for (int i = 0; i < iterations; ++i) {
+                final ContentProviderClient testProvider = getContext().getContentResolver()
+                        .acquireContentProviderClient(mTestProviderUri);
+                if (testProvider != null) {
+                    testProvider.close();
+                    break;
+                }
+                if (i == iterations - 1) {
+                    fail("Launcher content provider is still not enabled");
+                }
+                SystemClock.sleep(100);
+            }
         }
     }
 
@@ -338,6 +385,16 @@
                 .getParcelable(TestProtocol.TEST_INFO_RESPONSE_FIELD);
     }
 
+    Insets getSystemGestureRegion() {
+        return getTestInfo(TestProtocol.REQUEST_SYSTEM_GESTURE_REGION)
+                .getParcelable(TestProtocol.TEST_INFO_RESPONSE_FIELD);
+    }
+
+    public int getNumAllAppsColumns() {
+        return getTestInfo(REQUEST_NUM_ALL_APPS_COLUMNS).getInt(
+                TestProtocol.TEST_INFO_RESPONSE_FIELD);
+    }
+
     public boolean isTablet() {
         return getTestInfo(TestProtocol.REQUEST_IS_TABLET)
                 .getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD);
@@ -363,6 +420,11 @@
                 .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
     }
 
+    public int getOverviewCurrentPageIndex() {
+        return getTestInfo(TestProtocol.REQUEST_GET_OVERVIEW_CURRENT_PAGE_INDEX)
+                .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
+    }
+
     float getExactScreenCenterX() {
         return getRealDisplaySize().x / 2f;
     }
@@ -543,6 +605,11 @@
         if (hasSystemLauncherObject(OVERVIEW_RES_ID)) return "Overview";
         if (hasLauncherObject(WORKSPACE_RES_ID)) return "Workspace";
         if (hasLauncherObject(APPS_RES_ID)) return "AllApps";
+        if (hasLauncherObject(TASKBAR_RES_ID)) return "Taskbar";
+        if (hasLauncherObject("wallpaper_carousel")) return "Launcher Settings Popup";
+        if (mDevice.hasObject(By.pkg(getLauncherPackageName()).depth(0))) {
+            return "<Launcher in invalid state>";
+        }
         return "LaunchedApp (" + getVisiblePackages() + ")";
     }
 
@@ -689,6 +756,7 @@
 
     /**
      * Set the trackpad gesture type of the interaction.
+     *
      * @param trackpadGestureType whether it's not from trackpad, two-finger, three-finger, or
      *                            four-finger gesture.
      */
@@ -713,6 +781,10 @@
         mExpectedRotationCheckEnabled = expectedRotationCheckEnabled;
     }
 
+    public boolean getExpectedRotationCheckEnabled() {
+        return mExpectedRotationCheckEnabled;
+    }
+
     public String getNavigationModeMismatchError(boolean waitForCorrectState) {
         final int waitTime = waitForCorrectState ? WAIT_TIME_MS : 0;
         final NavigationModel navigationModel = getNavigationModel();
@@ -743,7 +815,7 @@
         return isTablet() ? getLauncherPackageName() : SYSTEMUI_PACKAGE;
     }
 
-    private UiObject2 verifyContainerType(ContainerType containerType) {
+    UiObject2 verifyContainerType(ContainerType containerType) {
         waitForLauncherInitialized();
 
         if (mExpectedRotationCheckEnabled && mExpectedRotation != null) {
@@ -772,12 +844,8 @@
                     waitUntilLauncherObjectGone(WIDGETS_RES_ID);
                     waitUntilSystemLauncherObjectGone(OVERVIEW_RES_ID);
                     waitUntilSystemLauncherObjectGone(SPLIT_PLACEHOLDER_RES_ID);
-
-                    if (is3PLauncher() && isTablet()) {
-                        waitForSystemLauncherObject(TASKBAR_RES_ID);
-                    } else {
-                        waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
-                    }
+                    waitUntilLauncherObjectGone(KEYBOARD_QUICK_SWITCH_RES_ID);
+                    waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
 
                     return waitForLauncherObject(WORKSPACE_RES_ID);
                 }
@@ -786,12 +854,8 @@
                     waitUntilLauncherObjectGone(APPS_RES_ID);
                     waitUntilSystemLauncherObjectGone(OVERVIEW_RES_ID);
                     waitUntilSystemLauncherObjectGone(SPLIT_PLACEHOLDER_RES_ID);
-
-                    if (is3PLauncher() && isTablet()) {
-                        waitForSystemLauncherObject(TASKBAR_RES_ID);
-                    } else {
-                        waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
-                    }
+                    waitUntilLauncherObjectGone(KEYBOARD_QUICK_SWITCH_RES_ID);
+                    waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
 
                     return waitForLauncherObject(WIDGETS_RES_ID);
                 }
@@ -801,6 +865,7 @@
                     waitUntilSystemLauncherObjectGone(OVERVIEW_RES_ID);
                     waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
                     waitUntilSystemLauncherObjectGone(SPLIT_PLACEHOLDER_RES_ID);
+                    waitUntilLauncherObjectGone(KEYBOARD_QUICK_SWITCH_RES_ID);
 
                     return waitForLauncherObject(APPS_RES_ID);
                 }
@@ -809,8 +874,9 @@
                     waitUntilLauncherObjectGone(WIDGETS_RES_ID);
                     waitUntilSystemLauncherObjectGone(OVERVIEW_RES_ID);
                     waitUntilSystemLauncherObjectGone(SPLIT_PLACEHOLDER_RES_ID);
+                    waitUntilLauncherObjectGone(KEYBOARD_QUICK_SWITCH_RES_ID);
 
-                    if (is3PLauncher() && isTablet()) {
+                    if (is3PLauncher() && isTablet() && !isTransientTaskbar()) {
                         waitForSystemLauncherObject(TASKBAR_RES_ID);
                     } else {
                         waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
@@ -823,12 +889,13 @@
                     waitUntilLauncherObjectGone(APPS_RES_ID);
                     waitUntilLauncherObjectGone(WORKSPACE_RES_ID);
                     waitUntilLauncherObjectGone(WIDGETS_RES_ID);
-                    if (isTablet()) {
+                    if (isTablet() && !is3PLauncher()) {
                         waitForSystemLauncherObject(TASKBAR_RES_ID);
                     } else {
                         waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
                     }
                     waitUntilSystemLauncherObjectGone(SPLIT_PLACEHOLDER_RES_ID);
+                    waitUntilLauncherObjectGone(KEYBOARD_QUICK_SWITCH_RES_ID);
 
                     return waitForSystemLauncherObject(OVERVIEW_RES_ID);
                 }
@@ -843,6 +910,7 @@
                     }
 
                     waitForSystemLauncherObject(SPLIT_PLACEHOLDER_RES_ID);
+                    waitUntilLauncherObjectGone(KEYBOARD_QUICK_SWITCH_RES_ID);
                     return waitForSystemLauncherObject(OVERVIEW_RES_ID);
                 }
                 case LAUNCHED_APP: {
@@ -851,13 +919,18 @@
                     waitUntilLauncherObjectGone(WIDGETS_RES_ID);
                     waitUntilSystemLauncherObjectGone(OVERVIEW_RES_ID);
                     waitUntilSystemLauncherObjectGone(SPLIT_PLACEHOLDER_RES_ID);
+                    waitUntilLauncherObjectGone(KEYBOARD_QUICK_SWITCH_RES_ID);
 
                     if (mIgnoreTaskbarVisibility) {
                         return null;
                     }
 
                     if (isTablet()) {
-                        waitForSystemLauncherObject(TASKBAR_RES_ID);
+                        // Only check that Persistent Taskbar is visible, since Transient Taskbar
+                        // may or may not be visible by design.
+                        if (!isTransientTaskbar()) {
+                            waitForSystemLauncherObject(TASKBAR_RES_ID);
+                        }
                     } else {
                         waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
                     }
@@ -887,6 +960,12 @@
         fail("Launcher didn't initialize");
     }
 
+    public boolean isLauncherActivityStarted() {
+        return getTestInfo(
+                TestProtocol.REQUEST_IS_LAUNCHER_LAUNCHER_ACTIVITY_STARTED).
+                getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD);
+    }
+
     Parcelable executeAndWaitForLauncherEvent(Runnable command,
             UiAutomation.AccessibilityEventFilter eventFilter, Supplier<String> message,
             String actionName) {
@@ -915,6 +994,14 @@
         }
     }
 
+    void executeAndWaitForLauncherStop(Runnable command, String actionName) {
+        executeAndWaitForLauncherEvent(
+                () -> command.run(),
+                event -> TestProtocol.LAUNCHER_ACTIVITY_STOPPED_MESSAGE
+                        .equals(event.getClassName().toString()),
+                () -> "Launcher activity didn't stop", actionName);
+    }
+
     /**
      * Get the resource ID of visible floating view.
      */
@@ -931,7 +1018,7 @@
     /**
      * Using swiping up gesture to dismiss closable floating views, such as Menu or Folder Content.
      */
-    private void swipeUpToCloseFloatingView(boolean gestureStartFromLauncher) {
+    private void swipeUpToCloseFloatingView() {
         final Point displaySize = getRealDisplaySize();
 
         final Optional<String> floatingRes = getFloatingResId();
@@ -940,16 +1027,11 @@
             return;
         }
 
-        GestureScope gestureScope = gestureStartFromLauncher
-                // Without the navigation bar layer, the gesture scope on tablets remains inside the
-                // launcher process.
-                ? (isTablet() ? GestureScope.DONT_EXPECT_PILFER : GestureScope.EXPECT_PILFER)
-                : GestureScope.EXPECT_PILFER;
-        linearGesture(
-                displaySize.x / 2, displaySize.y - 1,
-                displaySize.x / 2, 0,
-                ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME,
-                false, gestureScope);
+        if (isLauncher3()) {
+            gestureToDismissPopup(displaySize);
+        } else {
+            runToState(() -> gestureToDismissPopup(displaySize), NORMAL_STATE_ORDINAL, "swiping");
+        }
 
         try (LauncherInstrumentation.Closable c1 = addContextLayer(
                 String.format("Swiped up from floating view %s to home", floatingRes.get()))) {
@@ -958,6 +1040,14 @@
         }
     }
 
+    private void gestureToDismissPopup(Point displaySize) {
+        linearGesture(
+                displaySize.x / 2, displaySize.y - 1,
+                displaySize.x / 2, 0,
+                ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME,
+                false, GestureScope.EXPECT_PILFER);
+    }
+
     /**
      * @return the Workspace object.
      * @deprecated use goHome().
@@ -969,6 +1059,25 @@
     }
 
     /**
+     * Goes to home from immersive fullscreen app by first swiping up to bring navbar, and then
+     * performing {@code goHome()} action.
+     * Currently only supports gesture navigation mode.
+     *
+     * @return the Workspace object.
+     */
+    public Workspace goHomeFromImmersiveFullscreenApp() {
+        assertTrue("expected gesture navigation mode",
+                getNavigationModel() == NavigationModel.ZERO_BUTTON);
+        final Point displaySize = getRealDisplaySize();
+        linearGesture(
+                displaySize.x / 2, displaySize.y - 1,
+                displaySize.x / 2, 0,
+                ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME,
+                false, GestureScope.EXPECT_PILFER);
+        return goHome();
+    }
+
+    /**
      * Goes to home by swiping up in zero-button mode or pressing Home button.
      * Calling it after another TAPL call is safe because all TAPL methods wait for the animations
      * to finish.
@@ -998,11 +1107,8 @@
 
                 final Point displaySize = getRealDisplaySize();
 
-                boolean gestureStartFromLauncher =
-                        isTablet() ? !isLauncher3() : isLauncherVisible();
-
                 // CLose floating views before going back to home.
-                swipeUpToCloseFloatingView(gestureStartFromLauncher);
+                swipeUpToCloseFloatingView();
 
                 if (hasLauncherObject(WORKSPACE_RES_ID)) {
                     log(action = "already at home");
@@ -1024,7 +1130,7 @@
                 action = "clicking home button";
 
                 runToState(
-                        waitForNavigationUiObject("home")::click,
+                        getHomeButton()::click,
                         NORMAL_STATE_ORDINAL,
                         !hasLauncherObject(WORKSPACE_RES_ID)
                                 && (hasLauncherObject(APPS_RES_ID)
@@ -1043,30 +1149,34 @@
      */
     public void pressBack() {
         try (Closable e = eventsCheck(); Closable c = addContextLayer("want to press back")) {
-            waitForLauncherInitialized();
-            final boolean launcherVisible =
-                    isTablet() ? isLauncherContainerVisible() : isLauncherVisible();
-            boolean isThreeFingerTrackpadGesture =
-                    mTrackpadGestureType == TrackpadGestureType.THREE_FINGER;
-            if (getNavigationModel() == NavigationModel.ZERO_BUTTON
-                    || isThreeFingerTrackpadGesture) {
-                final Point displaySize = getRealDisplaySize();
-                // TODO(b/225505986): change startY and endY back to displaySize.y / 2 once the
-                //  issue is solved.
-                int startX = isThreeFingerTrackpadGesture ? displaySize.x / 4 : 0;
-                int endX = isThreeFingerTrackpadGesture ? displaySize.x * 3 / 4 : displaySize.x / 2;
-                linearGesture(startX, displaySize.y / 4, endX, displaySize.y / 4,
-                        10, false, GestureScope.DONT_EXPECT_PILFER);
+            pressBackImpl();
+        }
+    }
+
+    void pressBackImpl() {
+        waitForLauncherInitialized();
+        final boolean launcherVisible =
+                isTablet() ? isLauncherContainerVisible() : isLauncherVisible();
+        boolean isThreeFingerTrackpadGesture =
+                mTrackpadGestureType == TrackpadGestureType.THREE_FINGER;
+        if (getNavigationModel() == NavigationModel.ZERO_BUTTON
+                || isThreeFingerTrackpadGesture) {
+            final Point displaySize = getRealDisplaySize();
+            // TODO(b/225505986): change startY and endY back to displaySize.y / 2 once the
+            //  issue is solved.
+            int startX = isThreeFingerTrackpadGesture ? displaySize.x / 4 : 0;
+            int endX = isThreeFingerTrackpadGesture ? displaySize.x * 3 / 4 : displaySize.x / 2;
+            linearGesture(startX, displaySize.y / 4, endX, displaySize.y / 4,
+                    10, false, GestureScope.DONT_EXPECT_PILFER);
+        } else {
+            waitForNavigationUiObject("back").click();
+        }
+        if (launcherVisible) {
+            if (getContext().getApplicationInfo().isOnBackInvokedCallbackEnabled()) {
+                expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ON_BACK_INVOKED);
             } else {
-                waitForNavigationUiObject("back").click();
-            }
-            if (launcherVisible) {
-                if (getContext().getApplicationInfo().isOnBackInvokedCallbackEnabled()) {
-                    expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ON_BACK_INVOKED);
-                } else {
-                    expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_KEY_BACK_DOWN);
-                    expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_KEY_BACK_UP);
-                }
+                expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_KEY_BACK_DOWN);
+                expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_KEY_BACK_UP);
             }
         }
     }
@@ -1158,6 +1268,14 @@
         }
     }
 
+    LaunchedAppState assertAppLaunched(@NonNull String expectedPackageName) {
+        BySelector packageSelector = By.pkg(expectedPackageName);
+        assertTrue("App didn't start: (" + packageSelector + ")",
+                mDevice.wait(Until.hasObject(packageSelector),
+                        LauncherInstrumentation.WAIT_TIME_MS));
+        return new LaunchedAppState(this);
+    }
+
     void waitUntilLauncherObjectGone(String resId) {
         waitUntilGoneBySelector(getLauncherObjectSelector(resId));
     }
@@ -1205,6 +1323,28 @@
     }
 
     @NonNull
+    private UiObject2 getHomeButton() {
+        UiModeManager uiManager =
+                (UiModeManager) getContext().getSystemService(Context.UI_MODE_SERVICE);
+        if (uiManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_CAR) {
+            return waitForAssistantHomeButton();
+        } else {
+            return waitForNavigationUiObject("home");
+        }
+    }
+
+    /* Assistant Home button is present when system is in car mode. */
+    @NonNull
+    UiObject2 waitForAssistantHomeButton() {
+        final UiObject2 object = mDevice.wait(
+                Until.findObject(By.res(ASSISTANT_PACKAGE, ASSISTANT_GO_HOME_RES_ID)),
+                WAIT_TIME_MS);
+        assertNotNull(
+                "Can't find an assistant UI object with id: " + ASSISTANT_GO_HOME_RES_ID, object);
+        return object;
+    }
+
+    @NonNull
     UiObject2 waitForNavigationUiObject(String resId) {
         String resPackage = getNavigationButtonResPackage();
         final UiObject2 object = mDevice.wait(
@@ -1268,6 +1408,16 @@
         }
     }
 
+    void waitForObjectFocused(UiObject2 object, String waitReason) {
+        try {
+            assertTrue("Timed out waiting for object to be focused for " + waitReason + " "
+                            + object.getResourceName(),
+                    object.wait(Until.focused(true), WAIT_TIME_MS));
+        } catch (StaleObjectException e) {
+            fail("The object disappeared from screen");
+        }
+    }
+
     @NonNull
     UiObject2 waitForObjectInContainer(UiObject2 container, BySelector selector) {
         return waitForObjectsInContainer(container, selector).get(0);
@@ -1407,7 +1557,8 @@
         }
     }
 
-    void runToState(Runnable command, int expectedState, String actionName) {
+    /** Run an action and wait for the specified Launcher state. */
+    public void runToState(Runnable command, int expectedState, String actionName) {
         final List<Integer> actualEvents = new ArrayList<>();
         executeAndWaitForLauncherEvent(
                 command,
@@ -1516,8 +1667,11 @@
         scroll(
                 container,
                 Direction.LEFT,
-                new Rect(leftGestureMargin, 0,
-                        containerRect.width() - distance - rightGestureMarginInContainer, 0),
+                new Rect(leftGestureMargin,
+                        0,
+                        Math.max(containerRect.width() - distance - leftGestureMargin,
+                                rightGestureMarginInContainer),
+                        0),
                 10,
                 true);
     }
@@ -1577,6 +1731,16 @@
                 "scrolling");
     }
 
+    void pointerScroll(float pointerX, float pointerY, Direction direction) {
+        executeAndWaitForLauncherEvent(
+                () -> injectEvent(getPointerMotionEvent(
+                        ACTION_SCROLL, pointerX, pointerY, direction)),
+                event -> TestProtocol.SCROLL_FINISHED_MESSAGE.equals(event.getClassName()),
+                () -> "Didn't receive a scroll end message: " + direction + " scroll from ("
+                        + pointerX + ", " + pointerY + ")",
+                "scrolling");
+    }
+
     // Inject a swipe gesture. Inject exactly 'steps' motion points, incrementing event time by a
     // fixed interval each time.
     public void linearGesture(int startX, int startY, int endX, int endY, int steps,
@@ -1585,32 +1749,38 @@
         final long downTime = SystemClock.uptimeMillis();
         final Point start = new Point(startX, startY);
         final Point end = new Point(endX, endY);
+        long endTime = downTime;
         sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, start, gestureScope);
-        if (mTrackpadGestureType != TrackpadGestureType.NONE) {
-            sendPointer(downTime, downTime, getPointerAction(MotionEvent.ACTION_POINTER_DOWN, 1),
-                    start, gestureScope);
-            if (mTrackpadGestureType == TrackpadGestureType.THREE_FINGER
-                    || mTrackpadGestureType == TrackpadGestureType.FOUR_FINGER) {
+        try {
+
+            if (mTrackpadGestureType != TrackpadGestureType.NONE) {
                 sendPointer(downTime, downTime,
-                        getPointerAction(MotionEvent.ACTION_POINTER_DOWN, 2),
+                        getPointerAction(MotionEvent.ACTION_POINTER_DOWN, 1),
                         start, gestureScope);
-                if (mTrackpadGestureType == TrackpadGestureType.FOUR_FINGER) {
+                if (mTrackpadGestureType == TrackpadGestureType.THREE_FINGER
+                        || mTrackpadGestureType == TrackpadGestureType.FOUR_FINGER) {
                     sendPointer(downTime, downTime,
-                            getPointerAction(MotionEvent.ACTION_POINTER_DOWN, 3),
+                            getPointerAction(MotionEvent.ACTION_POINTER_DOWN, 2),
+                            start, gestureScope);
+                    if (mTrackpadGestureType == TrackpadGestureType.FOUR_FINGER) {
+                        sendPointer(downTime, downTime,
+                                getPointerAction(MotionEvent.ACTION_POINTER_DOWN, 3),
+                                start, gestureScope);
+                    }
+                }
+            }
+            endTime = movePointer(
+                    start, end, steps, false, downTime, downTime, slowDown, gestureScope);
+            if (mTrackpadGestureType != TrackpadGestureType.NONE) {
+                for (int i = mPointerCount; i >= 2; i--) {
+                    sendPointer(downTime, downTime,
+                            getPointerAction(MotionEvent.ACTION_POINTER_UP, i - 1),
                             start, gestureScope);
                 }
             }
+        } finally {
+            sendPointer(downTime, endTime, MotionEvent.ACTION_UP, end, gestureScope);
         }
-        final long endTime = movePointer(
-                start, end, steps, false, downTime, downTime, slowDown, gestureScope);
-        if (mTrackpadGestureType != TrackpadGestureType.NONE) {
-            for (int i = mPointerCount; i >= 2; i--) {
-                sendPointer(downTime, downTime,
-                        getPointerAction(MotionEvent.ACTION_POINTER_UP, i - 1),
-                        start, gestureScope);
-            }
-        }
-        sendPointer(downTime, endTime, MotionEvent.ACTION_UP, end, gestureScope);
     }
 
     private static int getPointerAction(int action, int index) {
@@ -1640,6 +1810,41 @@
         return getContext().getResources();
     }
 
+    private static MotionEvent getPointerMotionEvent(
+            int action, float x, float y, Direction direction) {
+        MotionEvent.PointerCoords[] coordinates = new MotionEvent.PointerCoords[1];
+        coordinates[0] = new MotionEvent.PointerCoords();
+        coordinates[0].x = x;
+        coordinates[0].y = y;
+        boolean isVertical = direction == Direction.UP || direction == Direction.DOWN;
+        boolean isForward = direction == Direction.RIGHT || direction == Direction.DOWN;
+        coordinates[0].setAxisValue(
+                isVertical ? MotionEvent.AXIS_VSCROLL : MotionEvent.AXIS_HSCROLL,
+                isForward ? 1f : -1f);
+
+        MotionEvent.PointerProperties[] properties = new MotionEvent.PointerProperties[1];
+        properties[0] = new MotionEvent.PointerProperties();
+        properties[0].id = 0;
+        properties[0].toolType = MotionEvent.TOOL_TYPE_MOUSE;
+
+        final long downTime = SystemClock.uptimeMillis();
+        return MotionEvent.obtain(
+                downTime,
+                downTime,
+                action,
+                /* pointerCount= */ 1,
+                properties,
+                coordinates,
+                /* metaState= */ 0,
+                /* buttonState= */ 0,
+                /* xPrecision= */ 1f,
+                /* yPrecision= */ 1f,
+                /* deviceId= */ 0,
+                /* edgeFlags= */ 0,
+                InputDevice.SOURCE_CLASS_POINTER,
+                /* flags= */ 0);
+    }
+
     private static MotionEvent getTrackpadMotionEvent(long downTime, long eventTime,
             int action, float x, float y, int pointerCount, TrackpadGestureType gestureType) {
         MotionEvent.PointerProperties[] pointerProperties =
@@ -1690,7 +1895,7 @@
                 TestProtocol.TEST_INFO_RESPONSE_FIELD);
     }
 
-    boolean isGridOnlyOverviewEnabled() {
+    public boolean isGridOnlyOverviewEnabled() {
         return getTestInfo(TestProtocol.REQUEST_FLAG_ENABLE_GRID_ONLY_OVERVIEW).getBoolean(
                 TestProtocol.TEST_INFO_RESPONSE_FIELD);
     }
@@ -1698,11 +1903,21 @@
     public void sendPointer(long downTime, long currentTime, int action, Point point,
             GestureScope gestureScope) {
         sendPointer(downTime, currentTime, action, point, gestureScope,
-                InputDevice.SOURCE_TOUCHSCREEN);
+                InputDevice.SOURCE_TOUCHSCREEN, false);
+    }
+
+    private void injectEvent(InputEvent event) {
+        assertTrue("injectInputEvent failed: event=" + event,
+                mInstrumentation.getUiAutomation().injectInputEvent(event, true, false));
     }
 
     public void sendPointer(long downTime, long currentTime, int action, Point point,
             GestureScope gestureScope, int source) {
+        sendPointer(downTime, currentTime, action, point, gestureScope, source, false);
+    }
+
+    public void sendPointer(long downTime, long currentTime, int action, Point point,
+            GestureScope gestureScope, int source, boolean isRightClick) {
         final boolean hasTIS = hasTIS();
         int pointerCount = mPointerCount;
 
@@ -1731,16 +1946,49 @@
 
         final MotionEvent event = isTrackpadGesture
                 ? getTrackpadMotionEvent(
-                        downTime, currentTime, action, point.x, point.y, pointerCount,
-                        mTrackpadGestureType)
+                downTime, currentTime, action, point.x, point.y, pointerCount,
+                mTrackpadGestureType)
                 : getMotionEvent(downTime, currentTime, action, point.x, point.y, source);
         if (action == MotionEvent.ACTION_BUTTON_PRESS
                 || action == MotionEvent.ACTION_BUTTON_RELEASE) {
             event.setActionButton(MotionEvent.BUTTON_PRIMARY);
         }
-        assertTrue("injectInputEvent failed",
-                mInstrumentation.getUiAutomation().injectInputEvent(event, true, false));
-        event.recycle();
+        if (isRightClick) {
+            event.setButtonState(event.getButtonState() & MotionEvent.BUTTON_SECONDARY);
+        }
+        injectEvent(event);
+    }
+
+    private KeyEvent createKeyEvent(int keyCode, int metaState, boolean actionDown) {
+        long eventTime = SystemClock.uptimeMillis();
+        return KeyEvent.obtain(
+                eventTime,
+                eventTime,
+                actionDown ? ACTION_DOWN : ACTION_UP,
+                keyCode,
+                /* repeat= */ 0,
+                metaState,
+                KeyCharacterMap.VIRTUAL_KEYBOARD,
+                /* scancode= */ 0,
+                /* flags= */ 0,
+                InputDevice.SOURCE_KEYBOARD,
+                /* characters =*/ null);
+    }
+
+    /**
+     * Sends a {@link KeyEvent} with {@link ACTION_DOWN} for the given key codes without sending
+     * a {@link KeyEvent} with {@link ACTION_UP}.
+     */
+    public void pressAndHoldKeyCode(int keyCode, int metaState) {
+        injectEvent(createKeyEvent(keyCode, metaState, true));
+    }
+
+
+    /**
+     * Sends a {@link KeyEvent} with {@link ACTION_UP} for the given key codes.
+     */
+    public void unpressKeyCode(int keyCode, int metaState) {
+        injectEvent(createKeyEvent(keyCode, metaState, false));
     }
 
     public long movePointer(long downTime, long startTime, long duration, Point from, Point to,
@@ -1814,6 +2062,22 @@
         return result;
     }
 
+    @NonNull
+    UiObject2 rightClickAndGet(
+            @NonNull final UiObject2 target, @NonNull String resName, Pattern rightClickEvent) {
+        final Point targetCenter = target.getVisibleCenter();
+        final long downTime = SystemClock.uptimeMillis();
+        sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, targetCenter,
+                GestureScope.DONT_EXPECT_PILFER, InputDevice.SOURCE_MOUSE,
+                /* isRightClick= */ true);
+        expectEvent(TestProtocol.SEQUENCE_MAIN, rightClickEvent);
+        final UiObject2 result = waitForLauncherObject(resName);
+        sendPointer(downTime, SystemClock.uptimeMillis(), ACTION_UP, targetCenter,
+                GestureScope.DONT_EXPECT_PILFER, InputDevice.SOURCE_MOUSE,
+                /* isRightClick= */ true);
+        return result;
+    }
+
     private static int getSystemIntegerRes(Context context, String resName) {
         Resources res = context.getResources();
         int resId = res.getIdentifier(resName, "integer", "android");
@@ -1854,6 +2118,7 @@
         }
     }
 
+    /** Returns the bounds of the display as a Point where x is width and y is height. */
     Point getRealDisplaySize() {
         final Rect displayBounds = getContext().getSystemService(WindowManager.class)
                 .getMaximumWindowMetrics()
@@ -1909,6 +2174,11 @@
         getTestInfo(TestProtocol.REQUEST_UNSTASH_TASKBAR_IF_STASHED);
     }
 
+    /** Shows the bubble bar if it is stashed, otherwise this does nothing. */
+    public void showBubbleBarIfHidden() {
+        getTestInfo(TestProtocol.REQUEST_UNSTASH_BUBBLE_BAR_IF_STASHED);
+    }
+
     /** Blocks the taskbar from automatically stashing based on time. */
     public void enableBlockTimeout(boolean enable) {
         getTestInfo(enable
@@ -1916,6 +2186,11 @@
                 : TestProtocol.REQUEST_DISABLE_BLOCK_TIMEOUT);
     }
 
+    public boolean isTransientTaskbar() {
+        return getTestInfo(TestProtocol.REQUEST_IS_TRANSIENT_TASKBAR)
+                .getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD);
+    }
+
     /** Enables transient taskbar for testing purposes only. */
     public void enableTransientTaskbar(boolean enable) {
         getTestInfo(enable
@@ -1932,6 +2207,13 @@
         getTestInfo(TestProtocol.REQUEST_RECREATE_TASKBAR);
     }
 
+    // TODO(b/270393900): Remove with ENABLE_ALL_APPS_SEARCH_IN_TASKBAR flag cleanup.
+
+    /** Refreshes the known overview target in TIS. */
+    public void refreshOverviewTarget() {
+        getTestInfo(TestProtocol.REQUEST_REFRESH_OVERVIEW_TARGET);
+    }
+
     public List<String> getHotseatIconNames() {
         return getTestInfo(TestProtocol.REQUEST_HOTSEAT_ICON_NAMES)
                 .getStringArrayList(TestProtocol.TEST_INFO_RESPONSE_FIELD);
@@ -1946,14 +2228,16 @@
         return String.join(", ", getActivities());
     }
 
-    public boolean noLeakedActivities() {
+    /** Returns whether no leaked activities are detected. */
+    public boolean noLeakedActivities(boolean requireOneActiveActivity) {
         final String[] activities = getActivities();
+
         for (String activity : activities) {
             if (activity.contains("(destroyed)")) {
                 return false;
             }
         }
-        return activities.length <= 2;
+        return activities.length <= (requireOneActiveActivity ? 1 : 2);
     }
 
     public int getActivitiesCreated() {
@@ -1994,7 +2278,8 @@
         };
     }
 
-    boolean isLauncher3() {
+    /** Returns whether the Launcher is a Launcher3 one */
+    public boolean isLauncher3() {
         if (mIsLauncher3 == null) {
             mIsLauncher3 = "com.android.launcher3".equals(getLauncherPackageName());
         }
@@ -2086,7 +2371,14 @@
                         ? containerBounds.right + 1
                         : containerBounds.left - 1;
             }
-            int y = containerBounds.top + containerBounds.height() / 2;
+            // If IME is visible and overlaps the container bounds, touch above it.
+            final Insets systemGestureRegion = getSystemGestureRegion();
+            int bottomBound = Math.min(
+                    containerBounds.bottom,
+                    getRealDisplaySize().y - systemGestureRegion.bottom);
+            int y = (bottomBound - containerBounds.top) / 2;
+            // Do not tap in the status bar.
+            y = Math.max(y, systemGestureRegion.top);
 
             final long downTime = SystemClock.uptimeMillis();
             final Point tapTarget = new Point(x, y);
@@ -2113,4 +2405,14 @@
         }
         return result;
     }
+
+    /** Executes a runnable and waits for the wallpaper-open animation completion. */
+    public void executeAndWaitForWallpaperAnimation(Runnable r, String actionName) {
+        executeAndWaitForLauncherEvent(
+                () -> r.run(),
+                event -> TestProtocol.WALLPAPER_OPEN_ANIMATION_FINISHED_MESSAGE
+                        .equals(event.getClassName().toString()),
+                () -> "Didn't detect finishing wallpaper-open animation",
+                actionName);
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewActions.java b/tests/tapl/com/android/launcher3/tapl/OverviewActions.java
index bd2c9c1..d7c40a0 100644
--- a/tests/tapl/com/android/launcher3/tapl/OverviewActions.java
+++ b/tests/tapl/com/android/launcher3/tapl/OverviewActions.java
@@ -89,8 +89,7 @@
     private SelectModeButtons getSelectModeButtons() {
         try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                 "want to get select mode buttons")) {
-            UiObject2 selectModeButtons = mLauncher.waitForLauncherObject("select_mode_buttons");
-            return new SelectModeButtons(selectModeButtons, mLauncher);
+            return new SelectModeButtons(mLauncher);
         }
     }
 
diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewTask.java b/tests/tapl/com/android/launcher3/tapl/OverviewTask.java
index e4cfc52..f383e99 100644
--- a/tests/tapl/com/android/launcher3/tapl/OverviewTask.java
+++ b/tests/tapl/com/android/launcher3/tapl/OverviewTask.java
@@ -16,8 +16,6 @@
 
 package com.android.launcher3.tapl;
 
-import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
-
 import android.graphics.Rect;
 
 import androidx.annotation.NonNull;
@@ -36,6 +34,8 @@
  */
 public final class OverviewTask {
     private static final String SYSTEMUI_PACKAGE = "com.android.systemui";
+    private static final String TASK_SNAPSHOT_1 = "snapshot";
+    private static final String TASK_SNAPSHOT_2 = "bottomright_snapshot";
 
     static final Pattern TASK_START_EVENT = Pattern.compile("startActivityFromRecentsAsync");
     static final Pattern SPLIT_SELECT_EVENT = Pattern.compile("enterSplitSelect");
@@ -55,20 +55,75 @@
         mOverview.verifyActiveContainer();
     }
 
+    /**
+     * Returns the height of the visible task, or the combined height of two tasks in split with a
+     * divider between.
+     */
     int getVisibleHeight() {
+        if (isTaskSplit()) {
+            return getCombinedSplitTaskHeight();
+        }
+
         return mTask.getVisibleBounds().height();
     }
 
+    /**
+     * Calculates the visible height for split tasks, containing 2 snapshot tiles and a divider.
+     */
+    private int getCombinedSplitTaskHeight() {
+        UiObject2 taskSnapshot1 = findObjectInTask(TASK_SNAPSHOT_1);
+        UiObject2 taskSnapshot2 = findObjectInTask(TASK_SNAPSHOT_2);
+
+        // If the split task is partly off screen, taskSnapshot1 can be invisible.
+        if (taskSnapshot1 == null) {
+            return taskSnapshot2.getVisibleBounds().height();
+        }
+
+        int top = Math.min(
+                taskSnapshot1.getVisibleBounds().top, taskSnapshot2.getVisibleBounds().top);
+        int bottom = Math.max(
+                taskSnapshot1.getVisibleBounds().bottom, taskSnapshot2.getVisibleBounds().bottom);
+
+        return bottom - top;
+    }
+
+    /**
+     * Returns the width of the visible task, or the combined width of two tasks in split with a
+     * divider between.
+     */
     int getVisibleWidth() {
+        if (isTaskSplit()) {
+            return getCombinedSplitTaskWidth();
+        }
+
         return mTask.getVisibleBounds().width();
     }
 
+    /**
+     * Calculates the visible width for split tasks, containing 2 snapshot tiles and a divider.
+     */
+    private int getCombinedSplitTaskWidth() {
+        UiObject2 taskSnapshot1 = findObjectInTask(TASK_SNAPSHOT_1);
+        UiObject2 taskSnapshot2 = findObjectInTask(TASK_SNAPSHOT_2);
+
+        int left = Math.min(
+                taskSnapshot1.getVisibleBounds().left, taskSnapshot2.getVisibleBounds().left);
+        int right = Math.max(
+                taskSnapshot1.getVisibleBounds().right, taskSnapshot2.getVisibleBounds().right);
+
+        return right - left;
+    }
+
     int getTaskCenterX() {
-        return mTask.getVisibleCenter().x;
+        return mTask.getParent().getVisibleCenter().x;
+    }
+
+    int getTaskCenterY() {
+        return mTask.getParent().getVisibleCenter().y;
     }
 
     float getExactCenterX() {
-        return mTask.getVisibleBounds().exactCenterX();
+        return mTask.getParent().getVisibleBounds().exactCenterX();
     }
 
     UiObject2 getUiObject() {
@@ -92,7 +147,8 @@
 
             boolean taskWasFocused = mLauncher.isTablet() && getVisibleHeight() == mLauncher
                     .getFocusedTaskHeightForTablet();
-            List<Integer> originalTasksCenterX = getCurrentTasksCenterXList();
+            List<Integer> originalTasksCenterX =
+                    getCurrentTasksCenterXList().stream().sorted().toList();
             boolean isClearAllVisibleBeforeDismiss = mOverview.isClearAllVisible();
 
             dismissBySwipingUp();
@@ -103,7 +159,8 @@
                             mOverview.getFocusedTaskForTablet());
                 }
                 if (!isClearAllVisibleBeforeDismiss) {
-                    List<Integer> currentTasksCenterX = getCurrentTasksCenterXList();
+                    List<Integer> currentTasksCenterX =
+                            getCurrentTasksCenterXList().stream().sorted().toList();
                     if (originalTasksCenterX.size() == currentTasksCenterX.size()) {
                         // Check for the same number of visible tasks before and after to
                         // avoid asserting on cases of shifting all tasks to close the distance
@@ -121,7 +178,7 @@
         // Dismiss the task via flinging it up.
         final Rect taskBounds = mLauncher.getVisibleBounds(mTask);
         final int centerX = taskBounds.centerX();
-        final int centerY = taskBounds.centerY();
+        final int centerY = taskBounds.bottom - 1;
         mLauncher.executeAndWaitForLauncherEvent(
                 () -> mLauncher.linearGesture(centerX, centerY, centerX, 0, 10, false,
                         LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER),
@@ -133,8 +190,8 @@
     private List<Integer> getCurrentTasksCenterXList() {
         return mLauncher.isTablet()
                 ? mOverview.getCurrentTasksForTablet().stream()
-                    .map(OverviewTask::getTaskCenterX)
-                    .collect(Collectors.toList())
+                .map(OverviewTask::getTaskCenterX)
+                .collect(Collectors.toList())
                 : List.of(mOverview.getCurrentTask().getTaskCenterX());
     }
 
@@ -144,11 +201,8 @@
     public LaunchedAppState open() {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
             verifyActiveContainer();
-            mLauncher.executeAndWaitForEvent(
+            mLauncher.executeAndWaitForLauncherStop(
                     () -> mLauncher.clickLauncherObject(mTask),
-                    event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED,
-                    () -> "Launching task didn't open a new window: "
-                            + mTask.getParent().getContentDescription(),
                     "clicking an overview task");
             if (mOverview.getContainerType()
                     == LauncherInstrumentation.ContainerType.SPLIT_SCREEN_SELECT) {
@@ -168,7 +222,7 @@
         }
     }
 
-    /** Taps the task menu. */
+    /** Taps the task menu. Returns the task menu object. */
     @NonNull
     public OverviewTaskMenu tapMenu() {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
@@ -184,7 +238,27 @@
         }
     }
 
+    /** Taps the task menu of the split task. Returns the split task's menu object. */
+    @NonNull
+    public OverviewTaskMenu tapSplitTaskMenu() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
+             LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                     "want to tap the split task's menu")) {
+            mLauncher.clickLauncherObject(
+                    mLauncher.waitForObjectInContainer(mTask.getParent(), "bottomRight_icon"));
+
+            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
+                    "tapped the split task's menu")) {
+                return new OverviewTaskMenu(mLauncher);
+            }
+        }
+    }
+
     boolean isTaskSplit() {
-        return mLauncher.findObjectInContainer(mTask.getParent(), "bottomright_snapshot") != null;
+        return findObjectInTask(TASK_SNAPSHOT_2) != null;
+    }
+
+    private UiObject2 findObjectInTask(String resName) {
+        return mTask.getParent().findObject(mLauncher.getOverviewObjectSelector(resName));
     }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewTaskMenu.java b/tests/tapl/com/android/launcher3/tapl/OverviewTaskMenu.java
index 7c29a6c..902ad5b 100644
--- a/tests/tapl/com/android/launcher3/tapl/OverviewTaskMenu.java
+++ b/tests/tapl/com/android/launcher3/tapl/OverviewTaskMenu.java
@@ -16,6 +16,9 @@
 
 package com.android.launcher3.tapl;
 
+import static com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_MODAL_TASK_STATE_ORDINAL;
+import static com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_SPLIT_SELECT_ORDINAL;
+
 import androidx.annotation.NonNull;
 import androidx.test.uiautomator.By;
 import androidx.test.uiautomator.UiObject2;
@@ -40,8 +43,11 @@
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
              LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                      "tap split menu item")) {
-            mLauncher.clickLauncherObject(
-                    mLauncher.findObjectInContainer(mMenu, By.textStartsWith("Split")));
+            mLauncher.runToState(() -> mLauncher.clickLauncherObject(
+                            mLauncher.findObjectInContainer(mMenu, By.textStartsWith("Split"))),
+                    OVERVIEW_SPLIT_SELECT_ORDINAL,
+                    "tapping split menu item"
+            );
 
             try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
                     "tapped split menu item")) {
@@ -50,15 +56,19 @@
         }
     }
 
-    /** Taps the app info item from the overview task menu and returns the LaunchedAppState
-     * representing the App info settings page. */
+    /**
+     * Taps the app info item from the overview task menu and returns the LaunchedAppState
+     * representing the App info settings page.
+     */
     @NonNull
     public LaunchedAppState tapAppInfoMenuItem() {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
              LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                      "before tapping the app info menu item")) {
-            mLauncher.clickLauncherObject(
-                    mLauncher.findObjectInContainer(mMenu, By.text("App info")));
+            mLauncher.executeAndWaitForLauncherStop(
+                    () -> mLauncher.clickLauncherObject(
+                            mLauncher.findObjectInContainer(mMenu, By.text("App info"))),
+                    "tapped app info menu item");
 
             try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
                     "tapped app info menu item")) {
@@ -68,6 +78,25 @@
         }
     }
 
+    /** Taps the select menu item from the overview task menu. */
+    @NonNull
+    public SelectModeButtons tapSelectMenuItem() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
+             LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                     "before tapping the select menu item")) {
+
+            mLauncher.runToState(
+                    () -> mLauncher.clickLauncherObject(
+                            mLauncher.findObjectInContainer(mMenu, By.text("Select"))),
+                    OVERVIEW_MODAL_TASK_STATE_ORDINAL, "tapping select menu item");
+
+            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
+                    "select menu item opened")) {
+                return new SelectModeButtons(mLauncher);
+            }
+        }
+    }
+
     /** Returns true if an item matching the given string is present in the menu. */
     public boolean hasMenuItem(String expectedMenuItemText) {
         UiObject2 menuItem = mLauncher.findObjectInContainer(mMenu, By.text(expectedMenuItemText));
@@ -81,4 +110,11 @@
         return new OverviewTaskMenuItem(mLauncher,
                 mLauncher.waitForObjectInContainer(mMenu, By.text(menuItemName)));
     }
+
+    /**
+     * Taps outside task menu to dismiss it.
+     */
+    public void touchOutsideTaskMenuToDismiss() {
+        mLauncher.touchOutsideContainer(mMenu, false);
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/Qsb.java b/tests/tapl/com/android/launcher3/tapl/Qsb.java
index 7f3f61d..d67b8a3 100644
--- a/tests/tapl/com/android/launcher3/tapl/Qsb.java
+++ b/tests/tapl/com/android/launcher3/tapl/Qsb.java
@@ -22,13 +22,18 @@
 import androidx.test.uiautomator.UiObject2;
 import androidx.test.uiautomator.Until;
 
+import java.util.regex.Pattern;
+
 /**
  * Operations on qsb from either Home screen or AllApp screen.
  */
-public abstract class Qsb {
+public abstract class Qsb implements SearchInputSource {
 
     private static final String ASSISTANT_APP_PACKAGE = "com.google.android.googlequicksearchbox";
     private static final String ASSISTANT_ICON_RES_ID = "mic_icon";
+    private static final String LENS_ICON_RES_ID = "lens_icon";
+    private static final Pattern LENS_APP_RES_PATTERN = Pattern.compile(
+            ASSISTANT_APP_PACKAGE + ":id/lens.*");
     protected final LauncherInstrumentation mLauncher;
     private final UiObject2 mContainer;
     private final String mQsbResName;
@@ -76,15 +81,44 @@
     }
 
     /**
+     * Launches lens app by tapping lens icon on qsb.
+     */
+    @NonNull
+    public LaunchedAppState launchLens() {
+        try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                "want to click lens icon button");
+             LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            UiObject2 lensIcon = mLauncher.waitForLauncherObject(LENS_ICON_RES_ID);
+
+            LauncherInstrumentation.log("Qsb.launchLens before click "
+                    + lensIcon.getVisibleCenter() + " in "
+                    + mLauncher.getVisibleBounds(lensIcon));
+
+            mLauncher.clickLauncherObject(lensIcon);
+
+            try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("clicked")) {
+                // Package name is not enough to check if the app is launched, because many
+                // elements are having googlequicksearchbox as package name. So it checks if the
+                // corresponding app resource is displayed
+                BySelector selector = By.res(LENS_APP_RES_PATTERN);
+                mLauncher.assertTrue(
+                        "Lens app didn't start: (" + selector + ")",
+                        mLauncher.getDevice().wait(Until.hasObject(selector),
+                                LauncherInstrumentation.WAIT_TIME_MS)
+                );
+                return new LaunchedAppState(mLauncher);
+            }
+        }
+    }
+
+    /**
      * Show search result page from tapping qsb.
      */
     public SearchResultFromQsb showSearchResult() {
         try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                 "want to open search result page");
              LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
-            mLauncher.clickLauncherObject(waitForQsbObject());
-            // wait for the result rendering to complete
-            mLauncher.waitForIdle();
+            clickQsb();
             try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer(
                     "clicked qsb to open search result page")) {
                 return createSearchResult();
@@ -92,6 +126,20 @@
         }
     }
 
+    protected void clickQsb() {
+        mLauncher.clickLauncherObject(waitForQsbObject());
+    }
+
+    @Override
+    public LauncherInstrumentation getLauncher() {
+        return mLauncher;
+    }
+
+    @Override
+    public SearchResultFromQsb getSearchResultForInput() {
+        return createSearchResult();
+    }
+
     protected SearchResultFromQsb createSearchResult() {
         return new SearchResultFromQsb(mLauncher);
     }
diff --git a/tests/tapl/com/android/launcher3/tapl/SearchInputSource.java b/tests/tapl/com/android/launcher3/tapl/SearchInputSource.java
new file mode 100644
index 0000000..032948f
--- /dev/null
+++ b/tests/tapl/com/android/launcher3/tapl/SearchInputSource.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.launcher3.tapl;
+
+import androidx.test.uiautomator.UiObject2;
+
+import com.android.launcher3.testing.shared.TestProtocol;
+
+/**
+ * Container that can be used to input a search query and retrieve a {@link SearchResultFromQsb}
+ * instance.
+ */
+interface SearchInputSource {
+    String INPUT_RES = "input";
+
+    /** Set the already focused search input edit text and update search results. */
+    default SearchResultFromQsb searchForInput(String input) {
+        LauncherInstrumentation launcher = getLauncher();
+        try (LauncherInstrumentation.Closable c = launcher.addContextLayer(
+                "want to search for result with an input");
+             LauncherInstrumentation.Closable e = launcher.eventsCheck()) {
+            launcher.executeAndWaitForLauncherEvent(
+                    () -> {
+                        UiObject2 editText = launcher.waitForLauncherObject(INPUT_RES);
+                        launcher.waitForObjectFocused(editText, "search input");
+                        editText.setText(input);
+                    },
+                    event -> TestProtocol.SEARCH_RESULT_COMPLETE.equals(event.getClassName()),
+                    () -> "Didn't receive a search result completed message", "searching");
+            return getSearchResultForInput();
+        }
+    }
+
+    /** This method requires public access, however should not be called in tests. */
+    LauncherInstrumentation getLauncher();
+
+    /** This method requires public access, however should not be called in tests. */
+    SearchResultFromQsb getSearchResultForInput();
+}
diff --git a/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java b/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java
index d02e747..8d3a631 100644
--- a/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java
+++ b/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java
@@ -15,6 +15,8 @@
  */
 package com.android.launcher3.tapl;
 
+import static com.android.launcher3.testing.shared.TestProtocol.NORMAL_STATE_ORDINAL;
+
 import android.widget.TextView;
 
 import androidx.test.uiautomator.By;
@@ -25,9 +27,7 @@
 /**
  * Operations on search result page opened from qsb.
  */
-public class SearchResultFromQsb {
-    // The input resource id in the search box.
-    private static final String INPUT_RES = "input";
+public class SearchResultFromQsb implements SearchInputSource {
     private static final String BOTTOM_SHEET_RES_ID = "bottom_sheet_background";
 
     // This particular ID change should happen with caution
@@ -39,18 +39,9 @@
         mLauncher.waitForLauncherObject("search_container_all_apps");
     }
 
-    /** Set the input to the search input edit text and update search results. */
-    public void searchForInput(String input) {
-        try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
-                "want to search for result with an input");
-             LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
-            mLauncher.waitForLauncherObject(INPUT_RES).setText(input);
-        }
-    }
-
     /** Find the app from search results with app name. */
     public AppIcon findAppIcon(String appName) {
-        UiObject2 icon = mLauncher.waitForLauncherObject(By.clazz(TextView.class).text(appName));
+        UiObject2 icon = mLauncher.waitForLauncherObject(AppIcon.getAppIconSelector(appName));
         return createAppIcon(icon);
     }
 
@@ -91,18 +82,39 @@
      * Taps outside bottom sheet to dismiss and return to workspace. Available on tablets only.
      * @param tapRight Tap on the right of bottom sheet if true, or left otherwise.
      */
-    public Workspace dismissByTappingOutsideForTablet(boolean tapRight) {
+    public void dismissByTappingOutsideForTablet(boolean tapRight) {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
              LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                      "want to tap outside AllApps bottom sheet on the "
                              + (tapRight ? "right" : "left"))) {
             final UiObject2 allAppsBottomSheet =
                     mLauncher.waitForLauncherObject(BOTTOM_SHEET_RES_ID);
-            mLauncher.touchOutsideContainer(allAppsBottomSheet, tapRight);
+            tapOutside(tapRight, allAppsBottomSheet);
             try (LauncherInstrumentation.Closable tapped = mLauncher.addContextLayer(
                     "tapped outside AllApps bottom sheet")) {
-                return mLauncher.getWorkspace();
+                verifyVisibleContainerOnDismiss();
             }
         }
     }
+
+    protected void tapOutside(boolean tapRight, UiObject2 allAppsBottomSheet) {
+        mLauncher.runToState(
+                () -> mLauncher.touchOutsideContainer(allAppsBottomSheet, tapRight),
+                NORMAL_STATE_ORDINAL,
+                "tappig outside");
+    }
+
+    protected void verifyVisibleContainerOnDismiss() {
+        mLauncher.getWorkspace();
+    }
+
+    @Override
+    public LauncherInstrumentation getLauncher() {
+        return mLauncher;
+    }
+
+    @Override
+    public SearchResultFromQsb getSearchResultForInput() {
+        return this;
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/SearchResultFromTaskbarQsb.java b/tests/tapl/com/android/launcher3/tapl/SearchResultFromTaskbarQsb.java
index 6c6ab05..f4b4a91 100644
--- a/tests/tapl/com/android/launcher3/tapl/SearchResultFromTaskbarQsb.java
+++ b/tests/tapl/com/android/launcher3/tapl/SearchResultFromTaskbarQsb.java
@@ -45,4 +45,14 @@
     protected TaskbarSearchWebSuggestion createWebSuggestion(UiObject2 webSuggestion) {
         return new TaskbarSearchWebSuggestion(mLauncher, webSuggestion);
     }
+
+    @Override
+    protected void verifyVisibleContainerOnDismiss() {
+        mLauncher.getLaunchedAppState().assertTaskbarVisible();
+    }
+
+    @Override
+    protected void tapOutside(boolean tapRight, UiObject2 allAppsBottomSheet) {
+        mLauncher.touchOutsideContainer(allAppsBottomSheet, tapRight);
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/SelectModeButtons.java b/tests/tapl/com/android/launcher3/tapl/SelectModeButtons.java
index e1b73a4..e2bc17b 100644
--- a/tests/tapl/com/android/launcher3/tapl/SelectModeButtons.java
+++ b/tests/tapl/com/android/launcher3/tapl/SelectModeButtons.java
@@ -16,9 +16,17 @@
 
 package com.android.launcher3.tapl;
 
+import static android.view.KeyEvent.KEYCODE_ESCAPE;
+
+import static com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_STATE_ORDINAL;
+
 import androidx.annotation.NonNull;
 import androidx.test.uiautomator.UiObject2;
 
+import com.android.launcher3.testing.shared.TestProtocol;
+
+import java.util.regex.Pattern;
+
 /**
  * View containing select mode buttons
  */
@@ -26,9 +34,14 @@
     private final UiObject2 mSelectModeButtons;
     private final LauncherInstrumentation mLauncher;
 
-    SelectModeButtons(UiObject2 selectModeButtons,
-            LauncherInstrumentation launcherInstrumentation) {
-        mSelectModeButtons = selectModeButtons;
+    private static final Pattern EVENT_ALT_ESC_DOWN = Pattern.compile(
+            "Key event: KeyEvent.*?action=ACTION_DOWN.*?keyCode=KEYCODE_ESCAPE.*?metaState=0");
+    private static final Pattern EVENT_ALT_ESC_UP = Pattern.compile(
+            "Key event: KeyEvent.*?action=ACTION_UP.*?keyCode=KEYCODE_ESCAPE.*?metaState=0");
+
+
+    SelectModeButtons(LauncherInstrumentation launcherInstrumentation) {
+        mSelectModeButtons = launcherInstrumentation.waitForLauncherObject("select_mode_buttons");
         mLauncher = launcherInstrumentation;
     }
 
@@ -48,4 +61,25 @@
             }
         }
     }
+
+    /**
+     * Close select mode when ESC key is pressed.
+     * @return The Overview
+     */
+    @NonNull
+    public Overview dismissByEscKey() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_ESC_DOWN);
+            mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_ALT_ESC_UP);
+            mLauncher.runToState(
+                    () -> mLauncher.getDevice().pressKeyCode(KEYCODE_ESCAPE),
+                    OVERVIEW_STATE_ORDINAL,
+                    "pressing Esc");
+            try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                    "pressed esc key")) {
+                return new Overview(mLauncher);
+            }
+        }
+    }
+
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/SplitscreenDragSource.java b/tests/tapl/com/android/launcher3/tapl/SplitscreenDragSource.java
index ce1c3c0..2870877 100644
--- a/tests/tapl/com/android/launcher3/tapl/SplitscreenDragSource.java
+++ b/tests/tapl/com/android/launcher3/tapl/SplitscreenDragSource.java
@@ -15,7 +15,7 @@
  */
 package com.android.launcher3.tapl;
 
-/** Launchable that can serve as a source for dragging and dropping to splitscreen. */
+/** {@link Launchable} that can serve as a source for dragging and dropping to splitscreen. */
 interface SplitscreenDragSource {
 
     /**
@@ -35,5 +35,6 @@
         }
     }
 
+    /** This method requires public access, however should not be called in tests. */
     Launchable getLaunchable();
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/Taskbar.java b/tests/tapl/com/android/launcher3/tapl/Taskbar.java
index 8671738..e6315f3 100644
--- a/tests/tapl/com/android/launcher3/tapl/Taskbar.java
+++ b/tests/tapl/com/android/launcher3/tapl/Taskbar.java
@@ -15,9 +15,9 @@
  */
 package com.android.launcher3.tapl;
 
+import static android.view.KeyEvent.KEYCODE_META_RIGHT;
+
 import static com.android.launcher3.tapl.LauncherInstrumentation.TASKBAR_RES_ID;
-import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_DISABLE_MANUAL_TASKBAR_STASHING;
-import static com.android.launcher3.testing.shared.TestProtocol.REQUEST_ENABLE_MANUAL_TASKBAR_STASHING;
 
 import android.graphics.Point;
 import android.graphics.Rect;
@@ -31,6 +31,8 @@
 import androidx.test.uiautomator.BySelector;
 import androidx.test.uiautomator.UiObject2;
 
+import org.junit.Assert;
+
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -43,6 +45,15 @@
 
     Taskbar(LauncherInstrumentation launcher) {
         mLauncher = launcher;
+        try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                "expect new taskbar to be visible")) {
+            mLauncher.waitForSystemLauncherObject(TASKBAR_RES_ID);
+        }
+
+        if (!mLauncher.isTransientTaskbar()) {
+            Assert.assertEquals("Persistent taskbar should fill screen width",
+                    getVisibleBounds().width(), mLauncher.getRealDisplaySize().x);
+        }
     }
 
     /**
@@ -59,40 +70,39 @@
     }
 
     /**
-     * Hides this taskbar.
-     *
-     * The taskbar must already be visible when calling this method.
+     * Stashes this taskbar.
+     * <p>
+     * The taskbar must already be unstashed and in transient mode when calling this method.
      */
-    public void hide() {
-        mLauncher.getTestInfo(REQUEST_ENABLE_MANUAL_TASKBAR_STASHING);
+    public void swipeDownToStash() {
+        mLauncher.assertTrue("Taskbar is not transient, swipe down not supported",
+                mLauncher.isTransientTaskbar());
 
         try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                 "want to hide the taskbar");
              LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
             mLauncher.waitForSystemLauncherObject(TASKBAR_RES_ID);
 
-            final long downTime = SystemClock.uptimeMillis();
-            Point stashTarget = new Point(
-                    mLauncher.getRealDisplaySize().x - 1, mLauncher.getRealDisplaySize().y - 1);
+            Rect taskbarBounds = getVisibleBounds();
+            int startX = taskbarBounds.centerX();
+            int startY = taskbarBounds.centerY();
+            int endX = startX;
+            int endY = mLauncher.getRealDisplaySize().y - 1;
 
-            mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, stashTarget,
+            mLauncher.linearGesture(startX, startY, endX, endY, 10, false,
                     LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER);
-            LauncherInstrumentation.log("hideTaskbar: sent down");
-
-            try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("pressed down")) {
+            LauncherInstrumentation.log("swipeDownToStash: sent linear swipe down gesture");
+            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
+                    "expect transient taskbar to be hidden after swipe down")) {
                 mLauncher.waitUntilSystemLauncherObjectGone(TASKBAR_RES_ID);
-                mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_UP, stashTarget,
-                        LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER);
             }
-        } finally {
-            mLauncher.getTestInfo(REQUEST_DISABLE_MANUAL_TASKBAR_STASHING);
         }
     }
 
     /**
      * Opens the Taskbar all apps page.
      */
-    public AllAppsFromTaskbar openAllApps() {
+    public TaskbarAllApps openAllApps() {
         try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                 "want to open taskbar all apps");
              LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
@@ -101,7 +111,26 @@
                     mLauncher.waitForSystemLauncherObject(TASKBAR_RES_ID),
                     getAllAppsButtonSelector()));
 
-            return new AllAppsFromTaskbar(mLauncher);
+            return getAllApps();
+        }
+    }
+
+    /** Opens the Taskbar all apps page with the meta keyboard shortcut. */
+    public TaskbarAllApps openAllAppsFromKeyboardShortcut() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
+            mLauncher.getDevice().pressKeyCode(KEYCODE_META_RIGHT);
+            try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                    "pressed meta key")) {
+                return getAllApps();
+            }
+        }
+    }
+
+    /** Returns {@link TaskbarAllApps} if it is open, otherwise fails. */
+    public TaskbarAllApps getAllApps() {
+        try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                "want to get taskbar all apps object")) {
+            return new TaskbarAllApps(mLauncher);
         }
     }
 
@@ -124,7 +153,7 @@
         return By.clazz(TextView.class).text("");
     }
 
-    private Rect getVisibleBounds() {
+    public Rect getVisibleBounds() {
         return mLauncher.waitForSystemLauncherObject(TASKBAR_RES_ID).getVisibleBounds();
     }
 
diff --git a/tests/tapl/com/android/launcher3/tapl/AllAppsFromTaskbar.java b/tests/tapl/com/android/launcher3/tapl/TaskbarAllApps.java
similarity index 86%
rename from tests/tapl/com/android/launcher3/tapl/AllAppsFromTaskbar.java
rename to tests/tapl/com/android/launcher3/tapl/TaskbarAllApps.java
index 0e0291f..3d39041 100644
--- a/tests/tapl/com/android/launcher3/tapl/AllAppsFromTaskbar.java
+++ b/tests/tapl/com/android/launcher3/tapl/TaskbarAllApps.java
@@ -23,9 +23,9 @@
 /**
  * Operations on AllApps opened from the Taskbar.
  */
-public class AllAppsFromTaskbar extends AllApps {
+public class TaskbarAllApps extends AllApps {
 
-    AllAppsFromTaskbar(LauncherInstrumentation launcher) {
+    TaskbarAllApps(LauncherInstrumentation launcher) {
         super(launcher);
     }
 
@@ -68,4 +68,14 @@
     public TaskbarAllAppsQsb getQsb() {
         return new TaskbarAllAppsQsb(mLauncher, verifyActiveContainer());
     }
+
+    @Override
+    protected void verifyVisibleContainerOnDismiss() {
+        mLauncher.getLaunchedAppState().assertTaskbarVisible();
+    }
+
+    @Override
+    public boolean isHomeState() {
+        return false;
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/TaskbarAppIcon.java b/tests/tapl/com/android/launcher3/tapl/TaskbarAppIcon.java
index 099acd4..d05c112 100644
--- a/tests/tapl/com/android/launcher3/tapl/TaskbarAppIcon.java
+++ b/tests/tapl/com/android/launcher3/tapl/TaskbarAppIcon.java
@@ -25,6 +25,7 @@
 public final class TaskbarAppIcon extends AppIcon implements SplitscreenDragSource {
 
     private static final Pattern LONG_CLICK_EVENT = Pattern.compile("onTaskbarItemLongClick");
+    private static final Pattern RIGHT_CLICK_EVENT = Pattern.compile("onTaskbarItemRightClick");
 
     TaskbarAppIcon(LauncherInstrumentation launcher, UiObject2 icon) {
         super(launcher, icon);
@@ -35,11 +36,26 @@
         return LONG_CLICK_EVENT;
     }
 
+    protected Pattern getRightClickEvent() {
+        return RIGHT_CLICK_EVENT;
+    }
+
     @Override
     public TaskbarAppIconMenu openDeepShortcutMenu() {
         return (TaskbarAppIconMenu) super.openDeepShortcutMenu();
     }
 
+    /**
+     * Right-clicks the icon to open its menu.
+     */
+    public TaskbarAppIconMenu openDeepShortcutMenuWithRightClick() {
+        try (LauncherInstrumentation.Closable e = mLauncher.addContextLayer(
+                "want to return the shortcut menu when icon is right-clicked.")) {
+            return createMenu(mLauncher.rightClickAndGet(
+                    mObject, /* resName= */ "deep_shortcuts_container", getRightClickEvent()));
+        }
+    }
+
     @Override
     protected TaskbarAppIconMenu createMenu(UiObject2 menu) {
         return new TaskbarAppIconMenu(mLauncher, menu);
@@ -49,4 +65,10 @@
     public Launchable getLaunchable() {
         return this;
     }
+
+    @Override
+    protected boolean launcherStopsAfterLaunch() {
+        // false because if taskbar is showing then launcher is already stopped.
+        return false;
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenuItem.java b/tests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenuItem.java
index 424c58e..e6fdda0 100644
--- a/tests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenuItem.java
+++ b/tests/tapl/com/android/launcher3/tapl/TaskbarAppIconMenuItem.java
@@ -54,4 +54,9 @@
     public Launchable getLaunchable() {
         return this;
     }
+
+    @Override
+    protected boolean launcherStopsAfterLaunch() {
+        return false;
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/TaskbarSearchWebSuggestion.java b/tests/tapl/com/android/launcher3/tapl/TaskbarSearchWebSuggestion.java
index cd8ce42..f25af09 100644
--- a/tests/tapl/com/android/launcher3/tapl/TaskbarSearchWebSuggestion.java
+++ b/tests/tapl/com/android/launcher3/tapl/TaskbarSearchWebSuggestion.java
@@ -42,4 +42,9 @@
     public Launchable getLaunchable() {
         return this;
     }
+
+    @Override
+    protected boolean launcherStopsAfterLaunch() {
+        return false;
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/WidgetResizeFrame.java b/tests/tapl/com/android/launcher3/tapl/WidgetResizeFrame.java
index 8f51d04..ec1cbd8 100644
--- a/tests/tapl/com/android/launcher3/tapl/WidgetResizeFrame.java
+++ b/tests/tapl/com/android/launcher3/tapl/WidgetResizeFrame.java
@@ -15,6 +15,16 @@
  */
 package com.android.launcher3.tapl;
 
+import static com.android.launcher3.tapl.Launchable.DEFAULT_DRAG_STEPS;
+import static org.junit.Assert.assertTrue;
+
+import android.graphics.Point;
+import android.graphics.Rect;
+import android.os.SystemClock;
+import android.view.MotionEvent;
+
+import androidx.test.uiautomator.UiObject2;
+
 /** The resize frame that is shown for a widget on the workspace. */
 public class WidgetResizeFrame {
 
@@ -34,4 +44,36 @@
             mLauncher.getDevice().pressHome();
         }
     }
+
+    /** Resizes the widget to double its height, and returns the resize frame. */
+    public WidgetResizeFrame resize() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
+             LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
+                     "want to resize the widget frame.")) {
+            UiObject2 widget = mLauncher.waitForLauncherObject("widget_resize_frame");
+            UiObject2 bottomResizeHandle =
+                    mLauncher.waitForLauncherObject("widget_resize_bottom_handle");
+            Rect originalWidgetSize = widget.getVisibleBounds();
+            Point targetStart = bottomResizeHandle.getVisibleCenter();
+            Point targetDest = bottomResizeHandle.getVisibleCenter();
+            targetDest.offset(0, originalWidgetSize.height());
+
+            final long downTime = SystemClock.uptimeMillis();
+            mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, targetStart,
+                    LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER);
+            mLauncher.movePointer(targetStart, targetDest, DEFAULT_DRAG_STEPS,
+                    true, downTime, downTime, true,
+                    LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER);
+            mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_UP, targetDest,
+                    LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER);
+
+            try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer(
+                         "want to return resized widget resize frame")) {
+                float newHeight = mLauncher.waitForLauncherObject(
+                        "widget_resize_frame").getVisibleBounds().height();
+                assertTrue("Widget not resized.", newHeight >= originalWidgetSize.height() * 2);
+                return this;
+            }
+        }
+    }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/Widgets.java b/tests/tapl/com/android/launcher3/tapl/Widgets.java
index 79b54ba..6387b05 100644
--- a/tests/tapl/com/android/launcher3/tapl/Widgets.java
+++ b/tests/tapl/com/android/launcher3/tapl/Widgets.java
@@ -19,6 +19,7 @@
 import static com.android.launcher3.tapl.LauncherInstrumentation.WAIT_TIME_MS;
 import static com.android.launcher3.tapl.LauncherInstrumentation.log;
 
+import android.annotation.Nullable;
 import android.graphics.Rect;
 
 import androidx.test.uiautomator.By;
@@ -34,7 +35,8 @@
 /**
  * All widgets container.
  */
-public final class Widgets extends LauncherInstrumentation.VisibleContainer {
+public final class Widgets extends LauncherInstrumentation.VisibleContainer
+        implements KeyboardQuickSwitchSource {
     private static final int FLING_STEPS = 10;
     private static final int SCROLL_ATTEMPTS = 60;
 
@@ -43,6 +45,21 @@
         verifyActiveContainer();
     }
 
+    @Override
+    public LauncherInstrumentation getLauncher() {
+        return mLauncher;
+    }
+
+    @Override
+    public LauncherInstrumentation.ContainerType getStartingContainerType() {
+        return getContainerType();
+    }
+
+    @Override
+    public boolean isHomeState() {
+        return true;
+    }
+
     /**
      * Flings forward (down) and waits the fling's end.
      */
@@ -98,7 +115,13 @@
                 .getInt(TestProtocol.TEST_INFO_RESPONSE_FIELD);
     }
 
+    /** Get widget with supplied text. */
     public Widget getWidget(String labelText) {
+        return getWidget(labelText, null);
+    }
+
+    /** Get widget with supplied text and app package */
+    public Widget getWidget(String labelText, @Nullable String testAppWidgetPackage) {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
              LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                      "getting widget " + labelText + " in widgets list")) {
@@ -108,7 +131,8 @@
             mLauncher.assertTrue("Widgets container didn't become scrollable",
                     fullWidgetsPicker.wait(Until.scrollable(true), WAIT_TIME_MS));
 
-            final UiObject2 widgetsContainer = findTestAppWidgetsTableContainer();
+            final UiObject2 widgetsContainer =
+                    findTestAppWidgetsTableContainer(testAppWidgetPackage);
             mLauncher.assertTrue("Can't locate widgets list for the test app: "
                             + mLauncher.getLauncherPackageName(),
                     widgetsContainer != null);
@@ -164,14 +188,22 @@
         return searchBar;
     }
 
-    /** Finds the widgets list of this test app from the collapsed full widgets picker. */
-    private UiObject2 findTestAppWidgetsTableContainer() {
+    /**
+     * Finds the widgets list of this test app or supplied test app package from the collapsed full
+     * widgets picker.
+     */
+    private UiObject2 findTestAppWidgetsTableContainer(@Nullable String testAppWidgetPackage) {
         final BySelector headerSelector = By.res(mLauncher.getLauncherPackageName(),
                 "widgets_list_header");
         final BySelector widgetPickerSelector = By.res(mLauncher.getLauncherPackageName(),
                 "container");
-        final BySelector targetAppSelector = By.clazz("android.widget.TextView").text(
-                mLauncher.getContext().getPackageName());
+
+        String packageName =  mLauncher.getContext().getPackageName();
+        final BySelector targetAppSelector = By
+                .clazz("android.widget.TextView")
+                .text((testAppWidgetPackage == null || testAppWidgetPackage.isEmpty())
+                                ? packageName
+                                : testAppWidgetPackage);
         final BySelector widgetsContainerSelector = By.res(mLauncher.getLauncherPackageName(),
                 "widgets_table");
 
diff --git a/tests/tapl/com/android/launcher3/tapl/Workspace.java b/tests/tapl/com/android/launcher3/tapl/Workspace.java
index 6f6f292..a911de4 100644
--- a/tests/tapl/com/android/launcher3/tapl/Workspace.java
+++ b/tests/tapl/com/android/launcher3/tapl/Workspace.java
@@ -16,6 +16,7 @@
 
 package com.android.launcher3.tapl;
 
+import static android.view.KeyEvent.KEYCODE_META_RIGHT;
 import static android.view.accessibility.AccessibilityEvent.TYPE_VIEW_SCROLLED;
 
 import static com.android.launcher3.testing.shared.TestProtocol.ALL_APPS_STATE_ORDINAL;
@@ -114,6 +115,23 @@
         }
     }
 
+    /** Opens the Launcher all apps page with the meta keyboard shortcut. */
+    public HomeAllApps openAllAppsFromKeyboardShortcut() {
+        try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
+             LauncherInstrumentation.Closable c =
+                     mLauncher.addContextLayer("want to open all apps search")) {
+            verifyActiveContainer();
+            mLauncher.runToState(
+                    () -> mLauncher.getDevice().pressKeyCode(KEYCODE_META_RIGHT),
+                    ALL_APPS_STATE_ORDINAL,
+                    "pressing keyboard shortcut");
+            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
+                    "pressed meta key")) {
+                return new HomeAllApps(mLauncher);
+            }
+        }
+    }
+
     /**
      * Returns the home qsb.
      *
@@ -177,16 +195,24 @@
     }
 
     /**
-     * Ensures that workspace is scrollable. If it's not, drags an icon icons from hotseat to the
-     * second screen.
+     * Ensures that workspace is scrollable. If it's not, drags a chrome app icon from hotseat
+     * to the second screen.
      */
     public void ensureWorkspaceIsScrollable() {
+        ensureWorkspaceIsScrollable("Chrome");
+    }
+
+    /**
+     * Ensures that workspace is scrollable. If it's not, drags an icon of a given app name from
+     * hotseat to the second screen.
+     */
+    public void ensureWorkspaceIsScrollable(String appName) {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
             final UiObject2 workspace = verifyActiveContainer();
             if (!isWorkspaceScrollable(workspace)) {
                 try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                         "dragging icon to a second page of workspace to make it scrollable")) {
-                    dragIcon(workspace, getHotseatAppIcon("Chrome"), pagesPerScreen());
+                    dragIcon(workspace, getHotseatAppIcon(appName), pagesPerScreen());
                     verifyActiveContainer();
                 }
             }
@@ -320,7 +346,8 @@
                     homeAppIcon,
                     () -> new Point(0, 0),
                     () -> mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LONG_CLICK_EVENT),
-                    null);
+                    null,
+                    /* startsActivity = */ false);
 
             try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
                     "dragged the app across workspace")) {
@@ -344,7 +371,8 @@
                     homeAppIcon,
                     () -> getDropPointFromDropTargetBar(mLauncher, DELETE_TARGET_TEXT_ID),
                     () -> mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LONG_CLICK_EVENT),
-                    /* expectDropEvents= */ null);
+                    /* expectDropEvents= */ null,
+                    /* startsActivity = */ false);
 
             try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
                     "dragged the app to the drop bar")) {
@@ -353,7 +381,6 @@
         }
     }
 
-
     /**
      * Uninstall the appIcon by dragging it to the 'uninstall' drop point of the drop_target_bar.
      *
@@ -375,7 +402,8 @@
                     homeAppIcon,
                     () -> getDropPointFromDropTargetBar(launcher, UNINSTALL_TARGET_TEXT_ID),
                     expectLongClickEvents,
-                    /* expectDropEvents= */null);
+                    /* expectDropEvents= */null,
+                    /* startsActivity = */ false);
 
             launcher.waitUntilLauncherObjectGone(DROP_BAR_RES_ID);
 
@@ -433,7 +461,12 @@
     }
 
     /** Returns the index of the current page */
-    private static int geCurrentPage(LauncherInstrumentation launcher) {
+    public int getCurrentPage() {
+        return getCurrentPage(mLauncher);
+    }
+
+    /** Returns the index of the current page */
+    private static int getCurrentPage(LauncherInstrumentation launcher) {
         return launcher.getTestInfo(TestProtocol.REQUEST_WORKSPACE_CURRENT_PAGE_INDEX).getInt(
                 TestProtocol.TEST_INFO_RESPONSE_FIELD);
     }
@@ -449,14 +482,25 @@
                 o -> new FolderIcon(mLauncher, o)).collect(Collectors.toList());
     }
 
+    private static void sendUp(LauncherInstrumentation launcher, Point dest,
+            long downTime) {
+        launcher.sendPointer(
+                downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, dest,
+                LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER);
+    }
+
     private static void dropDraggedIcon(LauncherInstrumentation launcher, Point dest, long downTime,
-            @Nullable Runnable expectedEvents) {
-        launcher.runToState(
-                () -> launcher.sendPointer(
-                        downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, dest,
-                        LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER),
-                NORMAL_STATE_ORDINAL,
-                "sending UP event");
+            @Nullable Runnable expectedEvents, boolean startsActivity) {
+        if (startsActivity) {
+            launcher.executeAndWaitForLauncherStop(
+                    () -> sendUp(launcher, dest, downTime),
+                    "sending UP event");
+        } else {
+            launcher.runToState(
+                    () -> sendUp(launcher, dest, downTime),
+                    NORMAL_STATE_ORDINAL,
+                    "sending UP event");
+        }
         if (expectedEvents != null) {
             expectedEvents.run();
         }
@@ -473,7 +517,8 @@
                     LauncherInstrumentation.EVENT_START);
         }
         dragIconToWorkspace(
-                launcher, launchable, dest, expectLongClickEvents, expectDropEvents);
+                launcher, launchable, dest, expectLongClickEvents, expectDropEvents,
+                startsActivity);
     }
 
     static void dragIconToWorkspaceCellPosition(LauncherInstrumentation launcher,
@@ -502,7 +547,8 @@
                 destSupplier,
                 /* isDecelerating= */ false,
                 () -> launcher.expectEvent(TestProtocol.SEQUENCE_MAIN, LONG_CLICK_EVENT),
-                /* expectDropEvents= */ null);
+                /* expectDropEvents= */ null,
+                /* startsActivity = */ false);
     }
 
     static void dragIconToWorkspace(
@@ -510,9 +556,10 @@
             Launchable launchable,
             Supplier<Point> dest,
             Runnable expectLongClickEvents,
-            @Nullable Runnable expectDropEvents) {
+            @Nullable Runnable expectDropEvents,
+            boolean startsActivity) {
         dragIconToWorkspace(launcher, launchable, dest, /* isDecelerating */ true,
-                expectLongClickEvents, expectDropEvents);
+                expectLongClickEvents, expectDropEvents, startsActivity);
     }
 
     static void dragIconToWorkspace(
@@ -521,7 +568,8 @@
             Supplier<Point> dest,
             boolean isDecelerating,
             Runnable expectLongClickEvents,
-            @Nullable Runnable expectDropEvents) {
+            @Nullable Runnable expectDropEvents,
+            boolean startsActivity) {
         try (LauncherInstrumentation.Closable ignored = launcher.addContextLayer(
                 "want to drag icon to workspace")) {
             final long downTime = SystemClock.uptimeMillis();
@@ -553,7 +601,7 @@
             launcher.movePointer(dragStart, targetDest, DEFAULT_DRAG_STEPS, isDecelerating,
                     downTime, SystemClock.uptimeMillis(), false,
                     LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER);
-            dropDraggedIcon(launcher, targetDest, downTime, expectDropEvents);
+            dropDraggedIcon(launcher, targetDest, downTime, expectDropEvents, startsActivity);
         }
     }
 
@@ -586,7 +634,8 @@
             launcher.movePointer(dragStart, targetDest, DEFAULT_DRAG_STEPS, isDecelerating,
                     downTime, SystemClock.uptimeMillis(), false,
                     LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER);
-            dropDraggedIcon(launcher, targetDest, downTime, expectDropEvents);
+            dropDraggedIcon(launcher, targetDest, downTime, expectDropEvents,
+                    /* startsActivity = */ false);
         }
     }
 
@@ -604,7 +653,7 @@
             Point currentPosition, int destinationWorkspaceIndex, int y) {
         final long downTime = SystemClock.uptimeMillis();
         int displayX = launcher.getRealDisplaySize().x;
-        int currentPage = Workspace.geCurrentPage(launcher);
+        int currentPage = Workspace.getCurrentPage(launcher);
         int counter = 0;
         while (currentPage != destinationWorkspaceIndex) {
             counter++;
@@ -623,7 +672,7 @@
                     () -> launcher.movePointer(finalDragStart, screenEdge, DEFAULT_DRAG_STEPS,
                             true, downTime, downTime, true,
                             LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER));
-            currentPage = Workspace.geCurrentPage(launcher);
+            currentPage = Workspace.getCurrentPage(launcher);
             currentPosition = screenEdge;
         }
         return currentPosition;
@@ -652,7 +701,8 @@
         launcher.movePointer(dragStart, targetDest, DEFAULT_DRAG_STEPS, true,
                 downTime, SystemClock.uptimeMillis(), false,
                 LauncherInstrumentation.GestureScope.DONT_EXPECT_PILFER);
-        dropDraggedIcon(launcher, targetDest, downTime, expectDropEvents);
+        dropDraggedIcon(launcher, targetDest, downTime, expectDropEvents,
+                /* startsActivity = */ false);
     }
 
     /**
@@ -661,10 +711,9 @@
      */
     public void flingForward() {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
-            final UiObject2 workspace = verifyActiveContainer();
-            mLauncher.scroll(workspace, Direction.RIGHT,
-                    new Rect(0, 0, mLauncher.getEdgeSensitivityWidth() + 1, 0),
-                    FLING_STEPS, false);
+            Rect workspaceBounds = mLauncher.getVisibleBounds(verifyActiveContainer());
+            mLauncher.pointerScroll(
+                    workspaceBounds.centerX(), workspaceBounds.centerY(), Direction.RIGHT);
             verifyActiveContainer();
         }
     }
@@ -675,10 +724,9 @@
      */
     public void flingBackward() {
         try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) {
-            final UiObject2 workspace = verifyActiveContainer();
-            mLauncher.scroll(workspace, Direction.LEFT,
-                    new Rect(mLauncher.getEdgeSensitivityWidth() + 1, 0, 0, 0),
-                    FLING_STEPS, false);
+            Rect workspaceBounds = mLauncher.getVisibleBounds(verifyActiveContainer());
+            mLauncher.pointerScroll(
+                    workspaceBounds.centerX(), workspaceBounds.centerY(), Direction.LEFT);
             verifyActiveContainer();
         }
     }
diff --git a/tests/tapl/com/android/launcher3/tapl/WorkspaceDragSource.java b/tests/tapl/com/android/launcher3/tapl/WorkspaceDragSource.java
index 141476c..e5a2a2e 100644
--- a/tests/tapl/com/android/launcher3/tapl/WorkspaceDragSource.java
+++ b/tests/tapl/com/android/launcher3/tapl/WorkspaceDragSource.java
@@ -19,7 +19,7 @@
 
 import java.util.function.Supplier;
 
-/** Launchable that can serve as a source for dragging and dropping to the workspace. */
+/** {@link Launchable} that can serve as a source for dragging and dropping to the workspace. */
 interface WorkspaceDragSource {
 
     /**
@@ -81,7 +81,8 @@
                     launchable,
                     dest,
                     launchable::addExpectedEventsForLongClick,
-                    /*expectDropEvents= */ null);
+                    /*expectDropEvents= */ null,
+                    /* startsActivity = */ false);
 
             try (LauncherInstrumentation.Closable ignore = launcher.addContextLayer("dragged")) {
                 WorkspaceAppIcon appIcon =