diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index b5818c2b..b44274a 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1875,6 +1875,20 @@
                        android:value="@string/menu_key_security"/>
         </activity>
 
+        <activity
+            android:name="Settings$MoreSecurityPrivacySettingsActivity"
+            android:label="@string/more_security_privacy_settings"
+            android:exported="true">
+            <intent-filter android:priority="1">
+                <action android:name="com.android.settings.MORE_SECURITY_PRIVACY_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.safetycenter.MoreSecurityPrivacyFragment" />
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                       android:value="@string/menu_key_safety_center"/>
+        </activity>
+
         <activity android:name="MonitoringCertInfoActivity"
                 android:label=""
                 android:theme="@style/Transparent"
@@ -2510,6 +2524,8 @@
             <meta-data android:name="com.android.settings.icon_tintable" android:value="true" />
         </activity-alias>
 
+        <activity android:name=".biometrics.activeunlock.ActiveUnlockRequireBiometricSetup" android:exported="false"/>
+
         <!-- Note this must not be exported since it returns the password in the intent -->
         <activity android:name=".password.ConfirmLockPattern$InternalActivity"
             android:exported="false"
@@ -3622,7 +3638,7 @@
                   android:label="@string/notification_channel_title"
                   android:theme="@style/Theme.Panel"
                   android:excludeFromRecents="true"
-                  android:configChanges="orientation|keyboardHidden|screenSize"
+                  android:configChanges="keyboardHidden|screenSize"
                   android:exported="true">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.CHANNEL_NOTIFICATION_SETTINGS" />
diff --git a/OWNERS b/OWNERS
index 93e04a7..881e2c7 100644
--- a/OWNERS
+++ b/OWNERS
@@ -17,6 +17,8 @@
 
 # Emergency only
 lijun@google.com
+wangqi@google.com
+yanglu@google.com
 
 # Exempt resource files (because they are in a flat directory and too hard to manage via OWNERS)
-per-file *.xml=*
+per-file res/**=*
diff --git a/res-product/values/strings.xml b/res-product/values/strings.xml
index d549d66..cd208c1 100644
--- a/res-product/values/strings.xml
+++ b/res-product/values/strings.xml
@@ -155,12 +155,8 @@
     <string name="security_settings_face_enroll_introduction_control_consent_message" product="tablet"></string>
     <!-- Message on the face enrollment introduction page that explains privacy controls for face unlock when asking for parental consent. [CHAR LIMIT=NONE] -->
     <string name="security_settings_face_enroll_introduction_control_consent_message" product="device"></string>
-    <!-- Introduction detail message shown in fingerprint enrollment dialog (tablet) [CHAR LIMIT=NONE]-->
-    <string name="security_settings_fingerprint_enroll_introduction_v2_message" product="tablet">Use your fingerprint to unlock your tablet or verify it\u2019s you, like when you sign in to apps or approve a purchase.</string>
-    <!-- Introduction detail message shown in fingerprint enrollment dialog (device) [CHAR LIMIT=NONE]-->
-    <string name="security_settings_fingerprint_enroll_introduction_v2_message" product="device">Use your fingerprint to unlock your device or verify it\u2019s you, like when you sign in to apps or approve a purchase.</string>
-    <!-- Introduction detail message shown in fingerprint enrollment dialog (default) [CHAR LIMIT=NONE]-->
-    <string name="security_settings_fingerprint_enroll_introduction_v2_message" product="default">Use your fingerprint to unlock your phone or verify it\u2019s you, like when you sign in to apps or approve a purchase.</string>
+    <!-- Introduction detail message shown in fingerprint enrollment dialog [CHAR LIMIT=NONE]-->
+    <string name="security_settings_fingerprint_enroll_introduction_v3_message">Use your fingerprint to unlock your <xliff:g id="deviceName" example="Pixel">%s</xliff:g> or verify it\u2019s you, like when you sign in to apps or approve a purchase</string>
     <!-- Introduction detail message shown in fingerprint enrollment dialog when asking for parental consent [CHAR LIMIT=NONE]-->
     <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="default">Allow your child to use their fingerprint to unlock their phone or verify it\u2019s them. This happens when they sign in to apps, approve a purchase, and more.</string>
     <!-- Introduction detail message shown in fingerprint enrollment dialog when asking for parental consent [CHAR LIMIT=NONE]-->
@@ -245,6 +241,12 @@
     <string name="security_settings_fingerprint_enroll_finish_v2_message" product="device">Now you can use your fingerprint to unlock your device or verify it\u2019s you, like when you sign in to apps or approve a purchase</string>
     <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (default) [CHAR LIMIT=NONE] -->
     <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default">Now you can use your fingerprint to unlock your phone or verify it\u2019s you, like when you sign in to apps or approve a purchase</string>
+    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (tablet) [CHAR LIMIT=NONE] -->
+    <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="tablet">Now you can use your fingerprint to unlock your tablet or verify it\u2019s you, like when you sign in to apps or approve a purchase. \n\nAdd another fingerprint so it\u2019s easier to unlock when you hold your tablet in different ways.</string>
+    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (device) [CHAR LIMIT=NONE] -->
+    <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="device">Now you can use your fingerprint to unlock your device or verify it\u2019s you, like when you sign in to apps or approve a purchase.\n\nAdd another fingerprint so it\u2019s easier to unlock when you hold your device in different ways.</string>
+    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (default) [CHAR LIMIT=NONE] -->
+    <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="default">Now you can use your fingerprint to unlock your phone or verify it\u2019s you, like when you sign in to apps or approve a purchase.\n\nAdd another fingerprint so it\u2019s easier to unlock when you hold your phone in different ways.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (tablet) [CHAR LIMIT=NONE] -->
     <string name="lock_screen_pin_skip_message" product="tablet">A PIN protects the tablet if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (tablet) [CHAR LIMIT=NONE] -->
@@ -665,4 +667,25 @@
     <string name="reset_internet_text" product="default">This will end your phone call</string>
     <!-- Description for interrupting the voice call alert. [CHAR_LIMIT=NONE] -->
     <string name="reset_internet_text" product="tablet">This will end your phone call</string>
+
+    <!-- An explanation text that the pattern needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pattern_details_frp" product="default">Your phone was reset to factory settings. To use this phone, enter your previous pattern.</string>
+    <!-- An explanation text that the pattern needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pattern_details_frp" product="tablet">Your tablet was reset to factory settings. To use this tablet, enter your previous pattern.</string>
+    <!-- An explanation text that the pattern needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pattern_details_frp" product="device">Your device was reset to factory settings. To use this device, enter your previous pattern.</string>
+
+    <!-- An explanation text that the pin needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pin_details_frp" product="default">Your phone was reset to factory settings. To use this phone, enter your previous PIN.</string>
+    <!-- An explanation text that the pin needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pin_details_frp" product="tablet">Your tablet was reset to factory settings. To use this tablet, enter your previous PIN.</string>
+    <!-- An explanation text that the pin needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pin_details_frp" product="device">Your device was reset to factory settings. To use this device, enter your previous PIN.</string>
+
+    <!-- An explanation text that the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_password_details_frp" product="default">Your phone was reset to factory settings. To use this phone, enter your previous password.</string>
+    <!-- An explanation text that the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_password_details_frp" product="tablet">Your tablet was reset to factory settings. To use this tablet, enter your previous password.</string>
+    <!-- An explanation text that the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_password_details_frp" product="device">Your device was reset to factory settings. To use this device, enter your previous password.</string>
 </resources>
diff --git a/res/drawable/checkbox_circle_shape.xml b/res/drawable/checkbox_circle_shape.xml
new file mode 100644
index 0000000..68c5a2e
--- /dev/null
+++ b/res/drawable/checkbox_circle_shape.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.
+  -->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_checked="true"
+        android:drawable="@drawable/ic_check_circle_filled_24dp" />
+    <item
+        android:state_checked="false"
+        android:drawable="@drawable/ic_circle_outline_24dp" />
+</selector>
\ No newline at end of file
diff --git a/res/drawable/ic_check_circle_filled_24dp.xml b/res/drawable/ic_check_circle_filled_24dp.xml
new file mode 100644
index 0000000..8e1f1e7
--- /dev/null
+++ b/res/drawable/ic_check_circle_filled_24dp.xml
@@ -0,0 +1,27 @@
+<!--
+  ~ 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"
+        xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:tint="?androidprv:attr/colorAccentPrimaryVariant">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10c5.52,0 10,-4.48 10,-10S17.52,2 12,2zM10.59,16.6l-4.24,-4.24l1.41,-1.41l2.83,2.83l5.66,-5.66l1.41,1.41L10.59,16.6z"/>
+</vector>
diff --git a/res/drawable/ic_circle_outline_24dp.xml b/res/drawable/ic_circle_outline_24dp.xml
new file mode 100644
index 0000000..b9ffca5
--- /dev/null
+++ b/res/drawable/ic_circle_outline_24dp.xml
@@ -0,0 +1,26 @@
+<!--
+  ~ 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="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:tint="?attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_edit.xml b/res/drawable/ic_edit.xml
new file mode 100644
index 0000000..0d7cd1c
--- /dev/null
+++ b/res/drawable/ic_edit.xml
@@ -0,0 +1,26 @@
+<?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="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:tint="?android:attr/colorControlNormal">
+    <path android:fillColor="#FFFFFFFF"
+          android:pathData="M5,19H6.4L16.45,8.975L15.75,8.25L15.025,7.55L5,17.6ZM3,21V16.75L16.45,3.325Q17.025,2.75 17.863,2.75Q18.7,2.75 19.275,3.325L20.675,4.75Q21.25,5.325 21.25,6.15Q21.25,6.975 20.675,7.55L7.25,21ZM19.25,6.15 L17.85,4.75ZM16.45,8.975 L15.75,8.25 15.025,7.55 16.45,8.975Z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_pan_tool_18dp.xml b/res/drawable/ic_pan_tool_18dp.xml
index 36b133b..e3b21fa 100644
--- a/res/drawable/ic_pan_tool_18dp.xml
+++ b/res/drawable/ic_pan_tool_18dp.xml
@@ -19,12 +19,13 @@
         android:width="18dp"
         android:height="18dp"
         android:viewportWidth="48"
-        android:viewportHeight="48">
+        android:viewportHeight="48"
+        android:tint="?android:attr/colorControlNormal">
   <group>
     <clip-path
         android:pathData="M0,0h48v48H0z M 0,0"/>
     <path
         android:pathData="M46,11v29c0,4.4 -3.6,8 -8,8H23.4c-2.16,0 -4.2,-0.86 -5.7,-2.38L2,29.66s2.52,-2.46 2.6,-2.5c0.44,-0.38 0.98,-0.58 1.58,-0.58 0.44,0 0.84,0.12 1.2,0.32 0.08,0.02 8.62,4.92 8.62,4.92V8c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v14h2V3c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v19h2V5c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v17h2V11c0,-1.66 1.34,-3 3,-3s3,1.34 3,3z"
-        android:fillColor="#757575"/>
+        android:fillColor="#FFFFFF"/>
   </group>
 </vector>
diff --git a/res/drawable/ic_visibility_18dp.xml b/res/drawable/ic_visibility_18dp.xml
index 9dc269f..81df477 100644
--- a/res/drawable/ic_visibility_18dp.xml
+++ b/res/drawable/ic_visibility_18dp.xml
@@ -19,8 +19,9 @@
         android:width="18dp"
         android:height="18dp"
         android:viewportWidth="48"
-        android:viewportHeight="48">
+        android:viewportHeight="48"
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:pathData="M24,9C14,9 5.46,15.22 2,24c3.46,8.78 12,15 22,15 10.01,0 18.54,-6.22 22,-15 -3.46,-8.78 -11.99,-15 -22,-15zM24,34c-5.52,0 -10,-4.48 -10,-10s4.48,-10 10,-10 10,4.48 10,10 -4.48,10 -10,10zM24,18c-3.31,0 -6,2.69 -6,6s2.69,6 6,6 6,-2.69 6,-6 -2.69,-6 -6,-6z"
-        android:fillColor="#757575"/>
+        android:fillColor="#FFFFFF"/>
 </vector>
diff --git a/res/drawable/trackpad_gesture_dialog_bg.xml b/res/drawable/trackpad_gesture_dialog_bg.xml
new file mode 100644
index 0000000..3f2a216
--- /dev/null
+++ b/res/drawable/trackpad_gesture_dialog_bg.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     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.
+-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="rectangle">
+    <solid android:color="?android:attr/colorBackground"/>
+    <corners android:topLeftRadius="16dp"
+             android:topRightRadius="16dp"
+             android:bottomLeftRadius="0dp"
+             android:bottomRightRadius="0dp"/>
+</shape>
diff --git a/res/drawable/work_challenge_emergency_button_background.xml b/res/drawable/work_challenge_emergency_button_background.xml
new file mode 100644
index 0000000..1a92fed
--- /dev/null
+++ b/res/drawable/work_challenge_emergency_button_background.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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.
+  -->
+<inset xmlns:android="http://schemas.android.com/apk/res/android">
+    <shape android:shape="rectangle">
+        <corners android:radius="25dp"/>
+        <solid android:color="@android:color/system_accent3_100" />
+    </shape>
+</inset>
\ No newline at end of file
diff --git a/res/layout-land/confirm_lock_pattern_base.xml b/res/layout-land/confirm_lock_pattern_base.xml
index f79fc72..9961769 100644
--- a/res/layout-land/confirm_lock_pattern_base.xml
+++ b/res/layout-land/confirm_lock_pattern_base.xml
@@ -89,6 +89,19 @@
                 android:layout_marginTop="12dp"
                 android:gravity="center_vertical"/>
 
+            <Button
+                android:id="@+id/emergencyCallButton"
+                style="@style/WorkChallengeEmergencyButtonStyle"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginStart"
+                android:layout_marginEnd="?attr/sudMarginEnd"
+                android:layout_marginTop="60dp"
+                android:layout_marginBottom="14dp"
+                android:visibility="gone"
+                android:layout_gravity="center_horizontal"
+                android:text="@string/work_challenge_emergency_button_text"/>
+
         </LinearLayout>
 
     </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
diff --git a/res/layout-land/confirm_lock_pattern_normal_base.xml b/res/layout-land/confirm_lock_pattern_normal_base.xml
index ced0e2c..9a5097e 100644
--- a/res/layout-land/confirm_lock_pattern_normal_base.xml
+++ b/res/layout-land/confirm_lock_pattern_normal_base.xml
@@ -70,6 +70,19 @@
                 android:layout_marginBottom="80dp"
                 android:text="@string/cancel" />
 
+            <Button
+                android:id="@+id/emergencyCallButton"
+                style="@style/WorkChallengeEmergencyButtonStyle"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginStart"
+                android:layout_marginEnd="?attr/sudMarginEnd"
+                android:layout_marginTop="60dp"
+                android:layout_marginBottom="14dp"
+                android:visibility="gone"
+                android:layout_gravity="center_horizontal"
+                android:text="@string/work_challenge_emergency_button_text"/>
+
         </LinearLayout>
 
     </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
diff --git a/res/layout/activeunlock_require_biometric_setup.xml b/res/layout/activeunlock_require_biometric_setup.xml
new file mode 100644
index 0000000..db374ff
--- /dev/null
+++ b/res/layout/activeunlock_require_biometric_setup.xml
@@ -0,0 +1,24 @@
+<?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.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
+    style="?attr/fingerprint_layout_theme"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/choose_lock_password.xml b/res/layout/choose_lock_password.xml
index 70919a6..b748f94 100644
--- a/res/layout/choose_lock_password.xml
+++ b/res/layout/choose_lock_password.xml
@@ -67,8 +67,31 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"/>
 
+            <CheckBox
+                android:id="@+id/auto_pin_confirm_enabler"
+                android:layout_marginTop="8dp"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_horizontal"
+                android:gravity="center"
+                android:paddingLeft="14dp"
+                android:text="@string/auto_pin_confirm_user_message"
+                android:textSize="16sp"
+                android:button="@drawable/checkbox_circle_shape"
+                android:visibility="gone" />
+
         </LinearLayout>
 
+        <TextView
+            android:id="@+id/auto_pin_confirm_security_message"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="24dp"
+            android:gravity="center"
+            android:text="@string/auto_pin_confirm_opt_in_security_message"
+            android:textSize="16sp"
+            android:visibility="gone" />
+
         <Button
             android:id="@+id/screen_lock_options"
             style="@style/SudGlifButton.Tertiary"
diff --git a/res/layout/confirm_lock_password_base.xml b/res/layout/confirm_lock_password_base.xml
index a3e5659..84b6668 100644
--- a/res/layout/confirm_lock_password_base.xml
+++ b/res/layout/confirm_lock_password_base.xml
@@ -91,5 +91,17 @@
             android:layout_gravity="center_horizontal"
             android:text="@string/cancel" />
 
+        <Button
+            android:id="@+id/emergencyCallButton"
+            style="@style/WorkChallengeEmergencyButtonStyle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="?attr/sudMarginStart"
+            android:layout_marginEnd="?attr/sudMarginEnd"
+            android:layout_marginBottom="12dp"
+            android:visibility="gone"
+            android:layout_gravity="center_horizontal"
+            android:text="@string/work_challenge_emergency_button_text"/>
+
     </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
 </com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/confirm_lock_password_normal.xml b/res/layout/confirm_lock_password_normal.xml
index 645c444..c2a7b5d 100644
--- a/res/layout/confirm_lock_password_normal.xml
+++ b/res/layout/confirm_lock_password_normal.xml
@@ -84,5 +84,17 @@
             android:layout_gravity="center_horizontal"
             android:text="@string/cancel" />
 
+        <Button
+            android:id="@+id/emergencyCallButton"
+            style="@style/WorkChallengeEmergencyButtonStyle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="?attr/sudMarginStart"
+            android:layout_marginEnd="?attr/sudMarginEnd"
+            android:layout_marginBottom="12dp"
+            android:visibility="gone"
+            android:layout_gravity="center_horizontal"
+            android:text="@string/work_challenge_emergency_button_text"/>
+
     </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
 </com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/confirm_lock_pattern_base.xml b/res/layout/confirm_lock_pattern_base.xml
index 5b19105..01f028e 100644
--- a/res/layout/confirm_lock_pattern_base.xml
+++ b/res/layout/confirm_lock_pattern_base.xml
@@ -89,6 +89,19 @@
                 android:layout_marginTop="12dp"
                 android:gravity="center_vertical"/>
 
+            <Button
+                android:id="@+id/emergencyCallButton"
+                style="@style/WorkChallengeEmergencyButtonStyle"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginStart"
+                android:layout_marginEnd="?attr/sudMarginEnd"
+                android:layout_marginTop="60dp"
+                android:layout_marginBottom="14dp"
+                android:visibility="gone"
+                android:layout_gravity="center_horizontal"
+                android:text="@string/work_challenge_emergency_button_text"/>
+
         </LinearLayout>
 
     </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
diff --git a/res/layout/confirm_lock_pattern_normal_base.xml b/res/layout/confirm_lock_pattern_normal_base.xml
index 5d1ca7c..44d9ab7 100644
--- a/res/layout/confirm_lock_pattern_normal_base.xml
+++ b/res/layout/confirm_lock_pattern_normal_base.xml
@@ -71,6 +71,18 @@
                 android:layout_marginBottom="80dp"
                 android:text="@string/cancel" />
 
+            <Button
+                android:id="@+id/emergencyCallButton"
+                style="@style/WorkChallengeEmergencyButtonStyle"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginStart"
+                android:layout_marginEnd="?attr/sudMarginEnd"
+                android:layout_marginBottom="12dp"
+                android:visibility="gone"
+                android:layout_gravity="center_horizontal"
+                android:text="@string/work_challenge_emergency_button_text"/>
+
         </LinearLayout>
 
     </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
diff --git a/res/layout/fingerprint_enroll_introduction.xml b/res/layout/fingerprint_enroll_introduction.xml
index 0c10e52..e3c9a01 100644
--- a/res/layout/fingerprint_enroll_introduction.xml
+++ b/res/layout/fingerprint_enroll_introduction.xml
@@ -21,8 +21,7 @@
     style="?attr/fingerprint_layout_theme"
     android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    app:sudDescriptionText="@string/security_settings_fingerprint_enroll_introduction_v2_message">
+    android:layout_height="match_parent">
 
     <LinearLayout
         style="@style/SudContentFrame"
diff --git a/res/layout/gesture_tip1_go_home.xml b/res/layout/gesture_tip1_go_home.xml
new file mode 100644
index 0000000..7f5bd4d
--- /dev/null
+++ b/res/layout/gesture_tip1_go_home.xml
@@ -0,0 +1,62 @@
+<?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"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="32dp"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:text="@string/gesture_title_go_home"
+        android:textColor="?android:attr/textColorPrimary"/>
+
+    <TextView
+        android:id="@+id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:text="@string/gesture_summary_go_home"
+        android:textColor="?android:attr/textColorSecondary"/>
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:foregroundGravity="center_horizontal">
+
+        <com.airbnb.lottie.LottieAnimationView
+            android:id="@+id/gesture_tip1_go_home"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="16dp"
+            android:scaleType="centerInside"
+            app:lottie_autoPlay="true"
+            app:lottie_loop="true"
+            app:lottie_rawRes="@raw/gesture_tip1_go_home" />
+    </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/gesture_tip2_go_back.xml b/res/layout/gesture_tip2_go_back.xml
new file mode 100644
index 0000000..d6bce2d
--- /dev/null
+++ b/res/layout/gesture_tip2_go_back.xml
@@ -0,0 +1,62 @@
+<?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"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="32dp"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:text="@string/gesture_title_go_back"
+        android:textColor="?android:attr/textColorPrimary"/>
+
+    <TextView
+        android:id="@+id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:text="@string/gesture_summary_go_back"
+        android:textColor="?android:attr/textColorSecondary"/>
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:foregroundGravity="center_horizontal">
+
+        <com.airbnb.lottie.LottieAnimationView
+            android:id="@+id/gesture_tip2_go_back"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="16dp"
+            android:scaleType="centerInside"
+            app:lottie_autoPlay="true"
+            app:lottie_loop="true"
+            app:lottie_rawRes="@raw/gesture_tip2_go_back" />
+    </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/gesture_tip3_recent_apps.xml b/res/layout/gesture_tip3_recent_apps.xml
new file mode 100644
index 0000000..6ce11b5
--- /dev/null
+++ b/res/layout/gesture_tip3_recent_apps.xml
@@ -0,0 +1,62 @@
+<?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"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="32dp"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:text="@string/gesture_title_recent_apps"
+        android:textColor="?android:attr/textColorPrimary"/>
+
+    <TextView
+        android:id="@+id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:text="@string/gesture_summary_recent_apps"
+        android:textColor="?android:attr/textColorSecondary"/>
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:foregroundGravity="center_horizontal">
+
+        <com.airbnb.lottie.LottieAnimationView
+            android:id="@+id/gesture_tip3_recent_apps"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="16dp"
+            android:scaleType="centerInside"
+            app:lottie_autoPlay="true"
+            app:lottie_loop="true"
+            app:lottie_rawRes="@raw/gesture_tip3_recent_apps" />
+    </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/gesture_tip4_notifications.xml b/res/layout/gesture_tip4_notifications.xml
new file mode 100644
index 0000000..34c5e93
--- /dev/null
+++ b/res/layout/gesture_tip4_notifications.xml
@@ -0,0 +1,62 @@
+<?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"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="32dp"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:text="@string/gesture_title_notifications"
+        android:textColor="?android:attr/textColorPrimary"/>
+
+    <TextView
+        android:id="@+id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:text="@string/gesture_summary_notifications"
+        android:textColor="?android:attr/textColorSecondary"/>
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:foregroundGravity="center_horizontal">
+
+        <com.airbnb.lottie.LottieAnimationView
+            android:id="@+id/gesture_tip4_notifications"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="16dp"
+            android:scaleType="centerInside"
+            app:lottie_autoPlay="true"
+            app:lottie_loop="true"
+            app:lottie_rawRes="@raw/gesture_tip4_notifications" />
+    </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/gesture_tip5_switch_apps.xml b/res/layout/gesture_tip5_switch_apps.xml
new file mode 100644
index 0000000..8a90d76
--- /dev/null
+++ b/res/layout/gesture_tip5_switch_apps.xml
@@ -0,0 +1,62 @@
+<?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"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="32dp"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:text="@string/gesture_title_switch_apps"
+        android:textColor="?android:attr/textColorPrimary"/>
+
+    <TextView
+        android:id="@+id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:text="@string/gesture_summary_switch_apps"
+        android:textColor="?android:attr/textColorSecondary"/>
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:foregroundGravity="center_horizontal">
+
+        <com.airbnb.lottie.LottieAnimationView
+            android:id="@+id/gesture_tip5_switch_apps"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="16dp"
+            android:scaleType="centerInside"
+            app:lottie_autoPlay="true"
+            app:lottie_loop="true"
+            app:lottie_rawRes="@raw/gesture_tip5_switch_apps" />
+    </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/notification_channel_panel.xml b/res/layout/notification_channel_panel.xml
index e59bb5d..06635a0 100644
--- a/res/layout/notification_channel_panel.xml
+++ b/res/layout/notification_channel_panel.xml
@@ -17,6 +17,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/main_content"
     android:layout_height="@dimen/output_switcher_slice_max_height"
+    android:maxHeight="@dimen/output_switcher_slice_max_height"
     android:background="@drawable/settings_panel_background"
     android:orientation="vertical"
     android:layout_width="match_parent">
diff --git a/res/layout/trackpad_gesture_preview.xml b/res/layout/trackpad_gesture_preview.xml
new file mode 100644
index 0000000..aa227be
--- /dev/null
+++ b/res/layout/trackpad_gesture_preview.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:background="@drawable/trackpad_gesture_dialog_bg"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <androidx.viewpager.widget.ViewPager
+        android:id="@+id/viewpager"
+        android:layout_width="match_parent"
+        android:layout_height="378dp"/>
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="48dp"
+        android:layout_marginStart="8dip"
+        android:layout_marginEnd="8dip"
+        android:layout_marginTop="6dip"
+        android:layout_marginBottom="6dip"
+        android:layout_weight="1">
+
+        <Button
+            android:id="@+id/button_skip"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="6dip"
+            android:layout_marginBottom="6dip"
+            android:layout_marginStart="8dip"
+            android:layout_alignParentStart="true"
+            android:paddingVertical="14dp"
+            android:drawablePadding="9dp"
+            style="@style/ModifierKeyButtonCancel"
+            android:textColor="?android:attr/textColorPrimary"
+            android:text="@string/gesture_button_skip"/>
+
+        <Button
+            android:id="@+id/button_restart"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="6dip"
+            android:layout_marginBottom="6dip"
+            android:layout_marginStart="8dip"
+            android:layout_alignParentStart="true"
+            android:paddingVertical="14dp"
+            android:drawablePadding="9dp"
+            style="@style/ModifierKeyButtonCancel"
+            android:textColor="?android:attr/textColorPrimary"
+            android:text="@string/gesture_button_restart"/>
+
+        <LinearLayout
+            android:id="@+id/viewGroup"
+            android:layout_width="fill_parent"
+            android:layout_height="48dp"
+            android:gravity="center"/>
+
+        <Button
+            android:id="@+id/button_next"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="6dip"
+            android:layout_marginBottom="6dip"
+            android:layout_marginEnd="8dip"
+            android:layout_alignParentEnd="true"
+            android:paddingVertical="14dp"
+            android:drawablePadding="9dp"
+            style="@style/ModifierKeyButtonDone"
+            android:textColor="?androidprv:attr/textColorOnAccent"
+            android:text="@string/gesture_button_next"/>
+
+        <Button
+            android:id="@+id/button_done"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="6dip"
+            android:layout_marginBottom="6dip"
+            android:layout_marginEnd="8dip"
+            android:layout_alignParentEnd="true"
+            android:paddingVertical="14dp"
+            android:drawablePadding="9dp"
+            style="@style/ModifierKeyButtonDone"
+            android:textColor="?androidprv:attr/textColorOnAccent"
+            android:text="@string/gesture_button_done"/>
+    </RelativeLayout>
+
+</LinearLayout>
diff --git a/res/layout/udfps_enroll_view.xml b/res/layout/udfps_enroll_view.xml
index e1c2152..6bf339b 100644
--- a/res/layout/udfps_enroll_view.xml
+++ b/res/layout/udfps_enroll_view.xml
@@ -20,15 +20,6 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <!-- The layout height/width are placeholders, which will be overwritten by
-         FingerprintSensorPropertiesInternal. -->
-    <View
-        android:id="@+id/udfps_enroll_accessibility_view"
-        android:layout_gravity="center"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:contentDescription="@string/accessibility_fingerprint_label"/>
-
     <ImageView
         android:id="@+id/udfps_enroll_animation_fp_progress_view"
         android:layout_width="match_parent"
diff --git a/res/raw-sw600dp-night/lottie_long_press_power_for_power_menu.json b/res/raw-sw600dp-night/lottie_long_press_power_for_power_menu.json
new file mode 100644
index 0000000..1dfe406
--- /dev/null
+++ b/res/raw-sw600dp-night/lottie_long_press_power_for_power_menu.json
@@ -0,0 +1 @@
+{"nm":"LPress_PowerMenu_Tablet_DT","mn":"","layers":[{"ty":0,"nm":"PowerMenu","mn":"","sr":1,"st":80,"op":900,"ip":80,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[52,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.05,"y":0.7},"i":{"x":0.1,"y":1},"s":[205.999,131.163,0],"t":80,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.1,"y":0.1},"s":[205.999,151.163,0],"t":98,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[205.999,151.163,0],"t":190,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[205.999,161.163,0],"t":199}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[0],"t":80},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":98},{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[100],"t":190},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":199}],"ix":11}},"ef":[],"w":104,"h":104,"refId":"comp_0","ind":1},{"ty":4,"nm":".grey600","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[205.767,149.975,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,149.975,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"button - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-10.894,-1.74],[-13.37,0.746],[0.495,1.74],[13.37,0.746],[10.894,-1.74]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[276.726,49.579],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"button - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-4.457,-1.74],[-6.933,0.746],[0.99,0.746],[6.933,0.746],[4.457,-1.74]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":1,"k":[{"o":{"x":0.36,"y":0},"i":{"x":0.605,"y":0.583},"s":[318.15,49.579],"t":30,"ti":[0,0],"to":[0,0]},{"o":{"x":0.314,"y":0.314},"i":{"x":0.635,"y":0.635},"s":[318.15,51.979],"t":50,"ti":[0,0],"to":[0,0]},{"o":{"x":0.665,"y":0.02},"i":{"x":0.456,"y":1},"s":[318.15,51.979],"t":120,"ti":[0,0],"to":[0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[318.15,49.579],"t":140}],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"frame","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"op","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Filter - Offset","nm":"Offset Paths 1","ix":2,"a":{"a":0,"k":-1.5,"ix":1},"lj":1,"ml":{"a":0,"k":4,"ix":3}},{"ty":"st","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":1,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"d":[],"c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[205.767,151.137],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".grey700","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey700","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,151.137,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":74},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":80},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":199},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":205}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.3725,0.3882,0.4078],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,151.137,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[317.538,199.948],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0,0,0],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":4},{"ty":4,"nm":".blue400","mn":"","sr":1,"st":0,"op":1500,"ip":0,"hd":false,"cl":"blue400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[273.205,92.869,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[318,50,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-5.226],[-5.226,0],[0,5.226],[5.226,0]],"o":[[0,5.226],[5.226,0],[0,-5.226],[-5.226,0]],"v":[[-9.463,0],[0,9.463],[9.463,0],[0,-9.463]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.4,0.6157,0.9647],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.239,"y":0.604},"s":[13,13],"t":35},{"o":{"x":0.182,"y":0.996},"i":{"x":0.596,"y":1},"s":[100,100],"t":55},{"o":{"x":0.793,"y":0},"i":{"x":0.833,"y":0.833},"s":[129,129],"t":124.92},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[13,13],"t":139.919921875}],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[273.205,92.869],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":5},{"ty":4,"nm":".blue100","mn":"","sr":1,"st":0,"op":1500,"ip":0,"hd":false,"cl":"blue100","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[273.205,92.869,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[318,50,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 2","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-8.26],[-8.26,0],[0,8.26],[8.26,0]],"o":[[0,8.26],[8.26,0],[0,-8.26],[-8.26,0]],"v":[[-14.957,0],[0,14.957],[14.957,0],[0,-14.957]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.304,"y":0.758},"s":[13,13],"t":30},{"o":{"x":0.196,"y":1.618},"i":{"x":0.709,"y":0.99},"s":[100,100],"t":50},{"o":{"x":0.609,"y":-0.001},"i":{"x":0.833,"y":0.833},"s":[113.775,113.775],"t":125},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8,8],"t":140}],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[273.205,92.869],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":6},{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":true,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Rectangle 1","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"s":{"a":0,"k":[412,300],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0,0,0],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":7}],"ddd":0,"h":300,"w":412,"meta":{"a":"","k":"","d":"","g":"@lottiefiles/toolkit-js 0.22.1","tc":"#000000"},"v":"5.10.0","fr":60,"op":240,"ip":0,"assets":[{"nm":"Power menu DT","mn":"","layers":[{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[28,28,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Shape_7_5_","ix":1,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.8,-7.15],[-0.8,-7.15],[-0.8,0.75],[0.8,0.75]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.5,1.3],[0,0],[-0.1,-1.8],[3.1,0],[0,3.1],[-1.2,1],[0,0],[0,-2.2],[-3.9,0],[0,3.9]],"o":[[0,0],[1.2,1],[0,3.1],[-3.1,0],[0,-1.7],[0,0],[-1.5,1.3],[0,3.9],[3.9,0],[0,-2.2]],"v":[[4.6,-5.35],[3.5,-4.25],[5.7,0.05],[0.1,5.65],[-5.5,0.05],[-3.5,-4.25],[-4.6,-5.35],[-7.1,0.05],[0,7.15],[7.1,0.05]]},"ix":2}},{"ty":"mm","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Filter - Merge","nm":"Merge Paths 1","mm":1},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":".grey800","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey800","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[52,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[52,52,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 4","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607179","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[76,76],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 3","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607177","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[76,28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 2","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607178","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[28,76],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 1","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607176","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[28,28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[52,52,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Power menu","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12,"ix":4},"s":{"a":0,"k":[104,104],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0,0,0],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3}],"id":"comp_0","fr":60}]}
\ No newline at end of file
diff --git a/res/raw-sw600dp/lottie_button_nav_menu.json b/res/raw-sw600dp/lottie_button_nav_menu.json
new file mode 100644
index 0000000..16b5ef3
--- /dev/null
+++ b/res/raw-sw600dp/lottie_button_nav_menu.json
@@ -0,0 +1 @@
+{"v":"5.8.1","fr":60,"ip":0,"op":300,"w":412,"h":300,"nm":"Home Button","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":125,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":132,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":220,"s":[100]},{"t":227,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":115,"s":[206,192.75,0],"to":[0,-2.583,0],"ti":[0,2.583,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":155,"s":[206,177.25,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":210,"s":[206,177.25,0],"to":[0,3.417,0],"ti":[0,-3.417,0]},{"t":235,"s":[206,197.75,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[40,40,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.636,0],[0,4.636],[0,0],[-5.694,-0.823],[0,0],[0,0],[0,0],[0,5.93]],"o":[[0,4.636],[-4.636,0],[0,0],[0,5.93],[0,0],[0,0],[0,0],[5.694,-0.823],[0,0]],"v":[[8.399,61.968],[0,70.367],[-8.399,61.968],[-11.758,61.968],[-1.68,73.592],[-1.68,78.766],[1.68,78.766],[1.68,73.592],[11.758,61.968]],"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":[[-2.788,0],[0,2.788],[0,0],[2.788,0],[0,-2.788],[0,0]],"o":[[2.788,0],[0,0],[0,-2.788],[-2.788,0],[0,0],[0,2.788]],"v":[[0,67.007],[5.039,61.968],[5.039,51.89],[0,46.85],[-5.039,51.89],[-5.039,61.968]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","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},{"ty":"tr","p":{"a":0,"k":[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":70,"op":1534,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 1","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[208.25,164,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[113.25,113.25,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1500,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 3","parent":2,"td":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":110,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":118.334,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":231.666,"s":[100]},{"t":240,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1.987,43.709,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[88.3,88.3,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.7,"y":0},"t":110,"s":[{"i":[[0,-5.523],[0,0],[5.523,0],[0,0],[0,5.523],[0,0],[-5.523,0],[0,0]],"o":[[0,0],[0,5.523],[0,0],[-5.523,0],[0,0],[0,-5.523],[0,0],[5.523,0]],"v":[[161,5.5],[161,27],[151,37],[-151,37],[-161,27],[-161,5.5],[-151,-4.5],[151,-4.5]],"c":true}]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":143,"s":[{"i":[[0,-5.523],[0,0],[5.523,0],[0,0],[0,5.523],[0,0],[-5.523,0],[0,0]],"o":[[0,0],[0,5.523],[0,0],[-5.523,0],[0,0],[0,-5.523],[0,0],[5.523,0]],"v":[[161,-19.5],[161,27],[151,37],[-151,37],[-161,27],[-161,-19.5],[-151,-29.5],[151,-29.5]],"c":true}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":215,"s":[{"i":[[0,-5.523],[0,0],[5.523,0],[0,0],[0,5.523],[0,0],[-5.523,0],[0,0]],"o":[[0,0],[0,5.523],[0,0],[-5.523,0],[0,0],[0,-5.523],[0,0],[5.523,0]],"v":[[161,-19.5],[161,27],[151,37],[-151,37],[-161,27],[-161,-19.5],[-151,-29.5],[151,-29.5]],"c":true}]},{"t":240,"s":[{"i":[[0,-5.523],[0,0],[5.523,0],[0,0],[0,5.523],[0,0],[0,0.25],[0,0]],"o":[[0,0],[0,5.523],[0,0],[-5.523,0],[0,0],[0,-5.523],[0,0],[-1.125,0]],"v":[[161,5.5],[161,27],[151,37],[-151,37],[-161,27],[-161,5.5],[-161,-4.5],[161,-4.5]],"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":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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1500,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"NGA Line Outlines","parent":2,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1.5,49.474,0],"ix":2,"l":2},"a":{"a":0,"k":[45.896,0.896,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.7,"y":0},"t":115,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[185.882,0.94],[208.382,0.94]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":139,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[42.387,0.911],[63.59,0.911]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":155,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[42.385,0.887],[70.714,0.923]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":210,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[42.416,0.911],[70.714,0.923]],"c":false}]},{"t":235,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[185.992,0.94],[208.492,0.94]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.258823543787,0.521568655968,0.956862747669,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.793,"ix":5},"lc":1,"lj":1,"ml":10,"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":0,"ix":6},"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},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":115,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[208.382,0.94],[230.882,0.94]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":139,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[63.59,0.911],[87.443,0.911]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":155,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[70.714,0.923],[98.844,0.923]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":210,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[70.714,0.923],[98.844,0.923]],"c":false}]},{"t":235,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[208.492,0.94],[230.992,0.94]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.258823543787,0.521568655968,0.956862747669,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.793,"ix":5},"lc":1,"lj":1,"ml":10,"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":0,"ix":6},"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":2,"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.7,"y":0},"t":115,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-123.053,0.94],[-100.553,0.94]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":139,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[21.184,0.911],[42.387,0.911]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":155,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[14.13,0.887],[42.385,0.887]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":210,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[14.13,0.887],[42.416,0.911]],"c":false}]},{"t":235,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-123.273,0.94],[-100.773,0.94]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.258823543787,0.521568655968,0.956862747669,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.793,"ix":5},"lc":1,"lj":1,"ml":10,"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":0,"ix":6},"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":3,"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.7,"y":0},"t":115,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-145.553,0.94],[-123.053,0.94]],"c":false}]},{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":139,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-1.972,0.911],[21.184,0.911]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":155,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-14.06,0.911],[14.13,0.887]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":210,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-14.06,0.911],[14.13,0.887]],"c":false}]},{"t":235,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-145.773,0.94],[-123.273,0.94]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.258999992819,0.522000002394,0.957000014361,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.793,"ix":5},"lc":1,"lj":1,"ml":10,"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":0,"ix":6},"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":4,"mn":"ADBE Vector Group","hd":false}],"ip":115,"op":236,"st":35,"bm":0},{"ddd":0,"ind":8,"ty":3,"nm":"Null 8","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[319.75,114.25,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,"ip":0,"op":1500,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Buttons","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[319.843,229.28,0],"ix":2,"l":2},"a":{"a":0,"k":[319.843,229.28,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],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.355,-4.355],[-4.355,-4.355],[-4.355,4.355],[4.355,4.355]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.745098054409,0.752941191196,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":[345.684,229.275],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 8","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":[[-2.402,0],[0,2.402],[2.403,0],[0,-2.403]],"o":[[2.403,0],[0,-2.403],[-2.402,0],[0,2.402]],"v":[[0,4.35],[4.35,0],[0,-4.35],[-4.35,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.745098054409,0.752941191196,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":1,"k":[{"i":{"x":[0.2,0.2],"y":[1,1]},"o":{"x":[0.7,0.7],"y":[0,0]},"t":80,"s":[100,100]},{"i":{"x":[0.3,0.3],"y":[1,1]},"o":{"x":[0.7,0.7],"y":[0,0]},"t":90,"s":[0,0]},{"i":{"x":[0.3,0.3],"y":[1,1]},"o":{"x":[0.8,0.8],"y":[0,0]},"t":107,"s":[0,0]},{"t":116,"s":[100,100]}],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":[319.548,229.28],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 7","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],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-3.77,-0.005],[3.77,-4.355],[3.77,4.355],[-3.77,0.005]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.737254917622,0.745098054409,0.752941191196,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":[293.417,229.285],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 6","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1500,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Gesture Tap","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,114.812,0],"ix":2,"l":2},"a":{"a":0,"k":[273.205,92.869,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,-5.226],[-5.226,0],[0,5.226],[5.226,0]],"o":[[0,5.226],[5.226,0],[0,-5.226],[-5.226,0]],"v":[[-9.463,0],[0,9.463],[9.463,0],[0,-9.463]],"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":[273.205,92.869],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.239,0.239],"y":[0.677,0.677]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[0,0]},{"i":{"x":[0.596,0.596],"y":[1,1]},"o":{"x":[0.182,0.182],"y":[0.207,0.207]},"t":55,"s":[80,80]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.793,0.793],"y":[0,0]},"t":75,"s":[120,120]},{"t":85,"s":[0,0]}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":40,"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,-8.26],[-8.26,0],[0,8.26],[8.26,0]],"o":[[0,8.26],[8.26,0],[0,-8.26],[-8.26,0]],"v":[[-14.957,0],[0,14.957],[14.957,0],[0,-14.957]],"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":[273.205,92.869],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.304,0.304],"y":[0.802,0.802]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":30,"s":[0,0]},{"i":{"x":[0.709,0.709],"y":[0.997,0.997]},"o":{"x":[0.196,0.196],"y":[0.446,0.446]},"t":45,"s":[80,80]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.609,0.609],"y":[0,0]},"t":75,"s":[100,100]},{"t":85,"s":[0,0]}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":40,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1500,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Blue_Dot","parent":8,"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":80,"s":[0.025]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":90,"s":[-5.218]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":102,"s":[-15.702]},{"t":111,"s":[0.025]}],"ix":3},"y":{"a":0,"k":114.925,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[34.95,34.95,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.2,0.2],"y":[1,1]},"o":{"x":[0.4,0.4],"y":[0,0]},"t":80,"s":[10,10]},{"t":93,"s":[8,8]}],"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.101960785687,0.450980395079,0.909803926945,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 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":80,"op":118,"st":10,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Yellow_Dot","parent":8,"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":90,"s":[0.025]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":102,"s":[5.267]},{"t":110,"s":[0.025]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":80,"s":[114.925]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":90,"s":[120.168]},{"t":98,"s":[114.925]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[34.95,34.95,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.2,0.2],"y":[1,1]},"o":{"x":[0.4,0.4],"y":[0,0]},"t":80,"s":[10,10]},{"t":93,"s":[8,8]}],"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.976470589638,0.670588254929,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":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":80,"op":112,"st":10,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Red_Dot","parent":8,"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":90,"s":[0.025]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":102,"s":[-5.218]},{"t":110,"s":[0.025]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":80,"s":[114.925]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":90,"s":[109.683]},{"t":98,"s":[114.925]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[34.95,34.95,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.2,0.2],"y":[1,1]},"o":{"x":[0.4,0.4],"y":[0,0]},"t":80,"s":[10,10]},{"t":93,"s":[8,8]}],"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.850980401039,0.188235297799,0.145098045468,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 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":80,"op":111,"st":10,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Green_Dot","parent":8,"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":80,"s":[0.025]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":90,"s":[5.267]},{"i":{"x":[0.999],"y":[1]},"o":{"x":[0.4],"y":[0]},"t":102,"s":[15.752]},{"t":111,"s":[0.025]}],"ix":3},"y":{"a":0,"k":114.925,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[34.95,34.95,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.2,0.2],"y":[1,1]},"o":{"x":[0.4,0.4],"y":[0,0]},"t":80,"s":[10,10]},{"t":93,"s":[8,8]}],"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.117647059262,0.556862771511,0.243137255311,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 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":80,"op":112,"st":10,"bm":0},{"ddd":0,"ind":15,"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":110,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":118.334,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":231.666,"s":[100]},{"t":240,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,213.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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":110,"s":[{"i":[[0,-5.523],[0,0],[5.523,0],[0,0],[0,5.523],[0,0],[0,0.25],[0,0]],"o":[[0,0],[0,5.523],[0,0],[-5.523,0],[0,0],[0,-5.523],[0,0],[-1.125,0]],"v":[[161,5.5],[161,27],[151,37],[-151,37],[-161,27],[-161,5.5],[-161,-4.5],[161,-4.5]],"c":true}]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":143,"s":[{"i":[[0,-5.523],[0,0],[5.523,0],[0,0],[0,5.523],[0,0],[-5.523,0],[0,0]],"o":[[0,0],[0,5.523],[0,0],[-5.523,0],[0,0],[0,-5.523],[0,0],[5.523,0]],"v":[[161,-19.5],[161,27],[151,37],[-151,37],[-161,27],[-161,-19.5],[-151,-29.5],[151,-29.5]],"c":true}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":215,"s":[{"i":[[0,-5.523],[0,0],[5.523,0],[0,0],[0,5.523],[0,0],[-5.523,0],[0,0]],"o":[[0,0],[0,5.523],[0,0],[-5.523,0],[0,0],[0,-5.523],[0,0],[5.523,0]],"v":[[161,-19.5],[161,27],[151,37],[-151,37],[-161,27],[-161,-19.5],[-151,-29.5],[151,-29.5]],"c":true}]},{"t":240,"s":[{"i":[[0,-5.523],[0,0],[5.523,0],[0,0],[0,5.523],[0,0],[0,0.25],[0,0]],"o":[[0,0],[0,5.523],[0,0],[-5.523,0],[0,0],[0,-5.523],[0,0],[-1.125,0]],"v":[[161,5.5],[161,27],[151,37],[-151,37],[-161,27],[-161,5.5],[-161,-4.5],[161,-4.5]],"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":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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1500,"st":0,"bm":0},{"ddd":0,"ind":16,"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":0,"k":[206.01,149.85,0],"ix":2,"l":2},"a":{"a":0,"k":[206.01,149.85,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],[1.28,0],[0,0],[0,-1.28]],"o":[[0,-1.28],[0,0],[-1.28,0],[0,0]],"v":[[6.935,1.155],[4.625,-1.155],[-4.625,-1.155],[-6.935,1.155]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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},{"ty":"tr","p":{"a":0,"k":[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":[337.493,48.485],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","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],[1.27,0],[0,0],[0,-1.28],[0,0]],"o":[[0,-1.28],[0,0],[-1.28,0],[0,0],[0,0]],"v":[[13.86,1.155],[11.55,-1.155],[-11.56,-1.155],[-13.87,1.155],[13.87,1.155]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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},{"ty":"tr","p":{"a":0,"k":[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":[305.976,48.485],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","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],[4.15,0],[0,0],[0,4.15],[0,0],[-4.15,0],[0,0],[0,-4.15],[0,0]],"o":[[0,4.15],[0,0],[-4.15,0],[0,0],[0,-4.15],[0,0],[4.15,0],[0,0],[0,0]],"v":[[159.899,92.5],[151.998,100.02],[-151.979,100.02],[-159.879,92.5],[-159.879,-90.09],[-151.979,-97.99],[151.998,-97.99],[159.899,-90.09],[159.899,92.49]],"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],[5.671,0],[0,0],[0,-5.67],[0,0],[-5.67,0],[0,0],[0,5.67],[0,0]],"o":[[0,0],[0,-5.67],[0,0],[-5.67,0],[0,0],[0,5.67],[0,0],[5.671,0],[0,0],[0,0]],"v":[[162.259,-7.17],[162.259,-90.09],[151.998,-100.35],[-151.979,-100.35],[-162.239,-90.09],[-162.239,92.11],[-151.979,102.37],[151.998,102.37],[162.259,92.11],[162.259,-7.18]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","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},{"ty":"tr","p":{"a":0,"k":[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},{"ty":"tr","p":{"a":0,"k":[206,150],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 2","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1500,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".grey700","cl":"grey700","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,130.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":[[0,0],[0,-5.523],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[5.523,0]],"o":[[-5.523,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-5.523],[0,0]],"v":[[-151,-78.5],[-161,-68.5],[-161,-52.5],[-161,68.5],[-161,78.5],[-151,78.5],[151,78.5],[161,78.5],[161,68.5],[161,-52.5],[161,-68.5],[151,-78.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549027205,0.388235300779,0.407843142748,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":1500,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,150,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":[[15.291,0],[0,0],[0,15.652],[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0],[15.185,0],[0,0],[0,15.544]],"v":[[178.179,150],[-178.179,150],[-206,121.522],[-206,-121.522],[-178.179,-150],[178.286,-150],[206,-121.522],[206,121.63]],"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":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":1500,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw-sw600dp/lottie_long_press_power_for_power_menu.json b/res/raw-sw600dp/lottie_long_press_power_for_power_menu.json
new file mode 100644
index 0000000..424969d
--- /dev/null
+++ b/res/raw-sw600dp/lottie_long_press_power_for_power_menu.json
@@ -0,0 +1 @@
+{"nm":"LPress_PowerMenu_Tablet","mn":"","layers":[{"ty":0,"nm":"PowerMenu","mn":"","sr":1,"st":80,"op":900,"ip":80,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[52,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.05,"y":0.7},"i":{"x":0.1,"y":1},"s":[205.999,131.163,0],"t":80,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.1,"y":0.1},"s":[205.999,151.163,0],"t":98,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[205.999,151.163,0],"t":190,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[205.999,161.163,0],"t":199}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[0],"t":80},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":98},{"o":{"x":0.2,"y":0},"i":{"x":0,"y":1},"s":[100],"t":190},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":199}],"ix":11}},"ef":[],"w":104,"h":104,"refId":"comp_0","ind":1},{"ty":4,"nm":".grey300","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey300","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[205.767,149.975,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,149.975,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"button - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-10.894,-1.74],[-13.37,0.746],[0.495,1.74],[13.37,0.746],[10.894,-1.74]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8549,0.8627,0.8784],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[276.726,49.579],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"button - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-1.372],[0,0],[0,0],[1.367,0]],"o":[[-1.367,0],[0,0],[0,0],[0,-1.372],[0,0]],"v":[[-4.457,-1.74],[-6.933,0.746],[0.99,0.746],[6.933,0.746],[4.457,-1.74]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8549,0.8627,0.8784],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":1,"k":[{"o":{"x":0.36,"y":0},"i":{"x":0.605,"y":0.583},"s":[318.15,49.579],"t":30,"ti":[0,0],"to":[0,0]},{"o":{"x":0.314,"y":0.314},"i":{"x":0.635,"y":0.635},"s":[318.15,51.979],"t":50,"ti":[0,0],"to":[0,0]},{"o":{"x":0.665,"y":0.02},"i":{"x":0.456,"y":1},"s":[318.15,51.979],"t":120,"ti":[0,0],"to":[0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[318.15,49.579],"t":140}],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"frame","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"op","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Filter - Offset","nm":"Offset Paths 1","ix":2,"a":{"a":0,"k":-1.5,"ix":1},"lj":1,"ml":{"a":0,"k":4,"ix":3}},{"ty":"st","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":1,"lj":1,"ml":4,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"d":[],"c":{"a":0,"k":[0.8549,0.8627,0.8784],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[205.767,151.137],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".grey400","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,151.137,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":74},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":80},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":199},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":205}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.7412,0.7569,0.7765],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[205.767,151.137,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Tablet","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"s":{"a":0,"k":[319.538,201.948],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":4},{"ty":4,"nm":".blue400","mn":"","sr":1,"st":0,"op":1500,"ip":0,"hd":false,"cl":"blue400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[273.205,92.869,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[318,50,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-5.226],[-5.226,0],[0,5.226],[5.226,0]],"o":[[0,5.226],[5.226,0],[0,-5.226],[-5.226,0]],"v":[[-9.463,0],[0,9.463],[9.463,0],[0,-9.463]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.4,0.6157,0.9647],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.239,"y":0.604},"s":[13,13],"t":35},{"o":{"x":0.182,"y":0.996},"i":{"x":0.596,"y":1},"s":[100,100],"t":55},{"o":{"x":0.793,"y":0},"i":{"x":0.833,"y":0.833},"s":[129,129],"t":124.92},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[13,13],"t":139.919921875}],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[273.205,92.869],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":5},{"ty":4,"nm":".blue300","mn":"","sr":1,"st":0,"op":1500,"ip":0,"hd":false,"cl":"blue300","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[273.205,92.869,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[318,50,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 2","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-8.26],[-8.26,0],[0,8.26],[8.26,0]],"o":[[0,8.26],[8.26,0],[0,-8.26],[-8.26,0]],"v":[[-14.957,0],[0,14.957],[14.957,0],[0,-14.957]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.5412,0.7059,0.9725],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.304,"y":0.758},"s":[13,13],"t":30},{"o":{"x":0.196,"y":1.618},"i":{"x":0.709,"y":0.99},"s":[100,100],"t":50},{"o":{"x":0.609,"y":-0.001},"i":{"x":0.833,"y":0.833},"s":[113.775,113.775],"t":125},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8,8],"t":140}],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[273.205,92.869],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":6},{"ty":3,"mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ind":7}],"ddd":0,"h":300,"w":412,"meta":{"a":"","k":"","d":"","g":"@lottiefiles/toolkit-js 0.22.1","tc":"#000000"},"v":"5.10.0","fr":60,"op":241,"ip":1,"assets":[{"nm":"Power menu 2","mn":"","layers":[{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[28,28,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Shape_7_5_","ix":1,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.8,-7.15],[-0.8,-7.15],[-0.8,0.75],[0.8,0.75]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.5,1.3],[0,0],[-0.1,-1.8],[3.1,0],[0,3.1],[-1.2,1],[0,0],[0,-2.2],[-3.9,0],[0,3.9]],"o":[[0,0],[1.2,1],[0,3.1],[-3.1,0],[0,-1.7],[0,0],[-1.5,1.3],[0,3.9],[3.9,0],[0,-2.2]],"v":[[4.6,-5.35],[3.5,-4.25],[5.7,0.05],[0.1,5.65],[-5.5,0.05],[-3.5,-4.25],[-4.6,-5.35],[-7.1,0.05],[0,7.15],[7.1,0.05]]},"ix":2}},{"ty":"mm","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Filter - Merge","nm":"Merge Paths 1","mm":1},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0,0,0],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":".grey200","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey200","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[52,52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[52,52,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 4","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607179","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[76,76],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 3","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607177","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[76,28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 2","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607178","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[28,76],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"menu - 1","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Frame 2607176","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"s":{"a":0,"k":[40,40],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[28,28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[52,52,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Power menu","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12,"ix":4},"s":{"a":0,"k":[104,104],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3}],"id":"comp_0","fr":60}]}
\ No newline at end of file
diff --git a/res/raw-sw600dp/lottie_system_nav_3_button.json b/res/raw-sw600dp/lottie_system_nav_3_button.json
new file mode 100644
index 0000000..15bca4d
--- /dev/null
+++ b/res/raw-sw600dp/lottie_system_nav_3_button.json
@@ -0,0 +1 @@
+{"nm":"3_button_Nav","mn":"","layers":[{"ty":4,"nm":".grey600","mn":"","sr":1,"st":0,"op":712,"ip":0,"hd":false,"cl":"grey600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[4.147,0],[0,0],[0,4.148],[0,0],[-4.147,0],[0,0],[0,0],[0,-4.148]],"o":[[0,4.148],[0,0],[-4.147,0],[0,0],[0,-4.148],[0,0],[0,0],[4.147,0],[0,0]],"v":[[159.897,92.491],[151.998,100.014],[-151.969,100.014],[-159.868,92.491],[-159.868,-90.094],[-151.969,-97.994],[-57.101,-97.994],[151.998,-97.994],[159.897,-90.094]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[5.667,0],[0,0],[1.276,0],[0,0],[0,-1.276],[0,0],[1.276,0],[0,0],[0,-1.276],[0,0],[0,-5.667],[0,0],[-5.667,0],[0,0],[0,5.667],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,-1.276],[0,0],[-1.276,0],[0,0],[0,-1.276],[0,0],[-1.276,0],[0,0],[-5.667,0],[0,0],[0,5.667],[0,0],[5.667,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-5.667]],"v":[[151.997,-100.355],[138.43,-100.355],[136.119,-102.667],[126.874,-102.667],[124.562,-100.355],[113.841,-100.355],[111.529,-102.667],[88.416,-102.667],[86.104,-100.355],[-151.968,-100.355],[-162.229,-90.094],[-162.229,92.114],[-151.968,102.375],[151.998,102.375],[162.258,92.115],[162.258,33.153],[162.258,24.832],[162.258,-7.174],[162.258,-16.353],[162.258,-90.094]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.502,0.5255,0.5451],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.502,0.5255,0.5451],"t":711}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":12,"op":69,"ip":49,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[319.5,229,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":49},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":60},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":63},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":69}],"ix":5}}],"ind":2},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":103,"op":160,"ip":140,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[264.5,229,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":140},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":151},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":154},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":160}],"ix":5}}],"ind":3},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":203,"op":260,"ip":240,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[295,229,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":240},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":251},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":254},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":260}],"ix":5}}],"ind":4},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":297,"op":354,"ip":334,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[345.75,229,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":334},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":345},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":348},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":354}],"ix":5}}],"ind":5},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":419,"op":551,"ip":461,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[174.5,273.75,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":1,"k":[{"o":{"x":0.5,"y":0},"i":{"x":0,"y":1},"s":[-2,-99],"t":479,"ti":[-26.833,0],"to":[26.833,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[159,-99],"t":541}],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":461},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":476},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":541},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":551}],"ix":5}}],"ind":6},{"ty":4,"nm":".blue600","mn":"","sr":1,"st":557,"op":614,"ip":594,"hd":false,"cl":"blue600","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[19,-16,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[197.5,110.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"el","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Ellipse","nm":"Ellipse Path 1","d":1,"p":{"a":0,"k":[19,-16],"ix":3},"s":{"a":0,"k":[26,26],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.102,0.451,0.9098],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":594},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":605},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100],"t":608},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":614}],"ix":5}}],"ind":7},{"ty":0,"nm":"3 button Nav","mn":"","sr":1,"st":0,"op":712,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[30,4.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[319.843,229.28,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":60,"h":9,"refId":"comp_0","ind":8},{"ty":3,"nm":"Final Scale Up","mn":"","sr":1,"st":-239,"op":712,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.33,"y":0},"i":{"x":0,"y":1},"s":[27.6,27.6,100],"t":611},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":641}],"ix":6},"sk":{"a":0,"k":0},"p":{"s":true,"x":{"a":1,"k":[{"o":{"x":0.33,"y":0},"i":{"x":0,"y":1},"s":[198],"t":611},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[206],"t":641}],"ix":3},"y":{"a":1,"k":[{"o":{"x":0.33,"y":0},"i":{"x":0,"y":1},"s":[109.462],"t":611},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[151.5],"t":641}],"ix":4}},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"ind":9},{"ty":4,"nm":"OVERVIEW MATTE 3","mn":"","sr":1,"st":-79,"op":712,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[10.5,10.5,100],"t":-79},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":-57}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[264.476,229.28,0],"t":-79,"ti":[-0.083,37.333,0],"to":[-11.042,-1.708,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[207.809,150.364,0],"t":-57}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":-66}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":-66}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":10},{"ty":0,"nm":"FullscreenApp1_Loop","mn":"","sr":1,"st":350,"op":712,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[160,99.5,0],"ix":1},"s":{"a":0,"k":[40,40,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[-43.275,91.249,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":320,"h":199,"refId":"comp_1","ind":11,"parent":17},{"ty":4,"nm":"OVERVIEW MATTE","mn":"","sr":1,"st":-79,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[10.5,10.5,100],"t":-79},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":-57}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[264.476,229.28,0],"t":-79,"ti":[-0.083,37.333,0],"to":[-11.042,-1.708,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[207.809,150.364,0],"t":-57}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":-66}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":-66}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":12},{"ty":0,"nm":"OverviewGrid","mn":"","sr":1,"st":350,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[206,150,0],"ix":1},"s":{"a":0,"k":[144.928,144.928,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[-31.681,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":412,"h":300,"refId":"comp_2","ind":13,"parent":17},{"ty":4,"nm":"OVERVIEW MATTE 2","mn":"","sr":1,"st":-79,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[10.5,10.5,100],"t":-79},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":-57}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[264.476,229.28,0],"t":-79,"ti":[-0.083,37.333,0],"to":[-11.042,-1.708,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[207.809,150.364,0],"t":-57}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":-66}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":-66}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":14},{"ty":4,"nm":"Main Application Avatar","mn":"","sr":1,"st":350,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[204.62,44.592,0],"ix":1},"s":{"a":0,"k":[144.928,144.928,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,30.435,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":370},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":378}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[204.62,44.592],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":15,"parent":17},{"ty":4,"nm":"UI 2 MATTE 2","mn":"","sr":1,"st":-79,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[10.5,10.5,100],"t":-79},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100,100],"t":-57}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[264.476,229.28,0],"t":-79,"ti":[-0.083,37.333,0],"to":[-11.042,-1.708,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[207.809,150.364,0],"t":-57}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":-66}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":-75},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":-66}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":16},{"ty":0,"nm":"FullscreenApp2","mn":"","sr":1,"st":-79,"op":683,"ip":350,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[206,150,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.4,"y":0},"i":{"x":0.2,"y":1},"s":[362.319,362.319,100],"t":350},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[250,250,100],"t":370}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.5,"y":0},"i":{"x":0,"y":1},"s":[28.986,146.877,0],"t":479,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[623.188,146.877,0],"t":541}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":412,"h":300,"refId":"comp_3","ind":17,"parent":9},{"ty":4,"nm":"UI 2 MATTE","mn":"","sr":1,"st":160,"op":350,"ip":160,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[38.043,38.043,100],"t":160},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[362.319,362.319,100],"t":182}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.25,"y":0},"i":{"x":0,"y":1},"s":[240.857,434.122,0],"t":160,"ti":[-0.302,135.266,0],"to":[-40.006,-6.19,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[35.54,148.194,0],"t":182}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[93],"t":164},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[8],"t":173}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.319,"y":1},"s":[130,130],"t":164},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[320,200],"t":173}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":18,"parent":9},{"ty":0,"nm":"FullscreenApp2","mn":"","sr":1,"st":160,"op":350,"ip":160,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[206,150,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.5,"y":0},"i":{"x":0,"y":1},"s":[204,148.125,0],"t":778,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[368,148.125,0],"t":840}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":412,"h":300,"refId":"comp_3","ind":19,"parent":18},{"ty":4,"nm":"UI 1 MATTE","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[205.809,148.489,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.65,"y":0},"i":{"x":0.2,"y":1},"s":[100,100,100],"t":60},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[11,11,100],"t":90}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.65,"y":0},"i":{"x":0.2,"y":1},"s":[207.809,150.739,0],"t":60,"ti":[0.833,-72.417,0],"to":[-10.833,0.167,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[160.294,231.541,0],"t":90}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Bg","d":1,"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"o":{"x":0.455,"y":0},"i":{"x":0.425,"y":1},"s":[8],"t":66},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[93],"t":85}],"ix":4},"s":{"a":1,"k":[{"o":{"x":0.455,"y":0},"i":{"x":0.425,"y":1},"s":[320,200],"t":66},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[120,120],"t":85}],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,0.3137,0.3137],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":20},{"ty":0,"nm":"FullscreenApp1","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[160,98,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[204,147.75,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":320,"h":199,"refId":"comp_6","ind":21,"parent":20},{"ty":4,"nm":"3 Button Home UI","mn":"","sr":1,"st":0,"op":351,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":1,"k":[{"o":{"x":0.4,"y":0},"i":{"x":0.2,"y":1},"s":[164.329,229.28,0],"t":83},{"o":{"x":0.4,"y":0},"i":{"x":0.2,"y":1},"s":[164.329,227.28,0],"t":90},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[164.329,229.28,0],"t":120}],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"s":true,"x":{"a":0,"k":164.329,"ix":3},"y":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.2,"y":1},"s":[227.28],"t":60},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[229.28],"t":90}],"ix":4}},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"QSB","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.557,0],[0,0],[0,-3.554],[-3.557,0],[0,0],[0,3.554]],"o":[[0,0],[-3.557,0],[0,3.554],[0,0],[3.557,0],[0,-3.554]],"v":[[36.571,-6.435],[-36.571,-6.435],[-43.011,0],[-36.571,6.435],[36.571,6.435],[43.011,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[-100,-100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[100.753,229.275],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App1","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":88},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":90}],"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[160.294,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App2","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9804,0.8235,0.8118],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[180.954,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App3","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8078,0.9176,0.8392],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[202.175,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App4","ix":5,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9961,0.9373,0.7647],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[222.806,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App5","ix":6,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[243.606,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"App6","ix":7,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.557,0],[0,3.557],[3.557,0],[0,-3.557]],"o":[[3.557,0],[0,-3.557],[-3.557,0],[0,3.557]],"v":[[0,6.44],[6.44,0],[0,-6.44],[-6.44,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9804,0.8235,0.8118],"ix":4},"r":1,"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":160},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":162}],"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[264.476,229.28],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":22},{"ty":4,"nm":"OV_BG","mn":"","sr":1,"st":349,"op":712,"ip":349,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-2.043,-2.075,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,147.925,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Rectangle 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.912],[0,0],[4.912,0],[0,0],[0,4.912],[0,0],[-4.912,0],[0,0]],"o":[[0,0],[0,4.912],[0,0],[-4.912,0],[0,0],[0,-4.912],[0,0],[4.912,0]],"v":[[166.473,-89.274],[166.473,94.935],[157.58,103.828],[-154.386,103.82],[-163.279,94.927],[-163.279,-89.282],[-154.386,-98.175],[157.58,-98.167]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2353,0.251,0.2627],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[98.392,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[-3.59,-1.696],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":23},{"ty":4,"nm":".black","mn":"","sr":1,"st":0,"op":712,"ip":0,"hd":true,"cl":"black","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[15.291,0],[0,0],[0,15.652],[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0],[15.185,0],[0,0],[0,15.544]],"v":[[178.179,150],[-178.179,150],[-206,121.522],[-206,-121.522],[-178.179,-150],[178.286,-150],[206,-121.522],[206,121.63]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0,0,0],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0,0,0],"t":711}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":24}],"ddd":0,"h":300,"w":412,"meta":{"a":"","k":"","d":"","g":"@lottiefiles/toolkit-js 0.22.1","tc":"#000000"},"v":"5.10.0","fr":60,"op":652,"ip":0,"assets":[{"nm":"3 button Nav","mn":"","layers":[{"ty":4,"nm":".blue400","mn":"","sr":1,"st":0,"op":1200,"ip":0,"hd":false,"cl":"blue400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[30.196,4.36,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[30.196,4.36,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"overview","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[4.355,-4.355],[-4.355,-4.355],[-4.355,4.355],[4.355,4.355]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":1199}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[56.037,4.355],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"home","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-2.402,0],[0,2.402],[2.402,0],[0,-2.402]],"o":[[2.402,0],[0,-2.402],[-2.402,0],[0,2.402]],"v":[[0,4.35],[4.35,0],[0,-4.35],[-4.35,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":1199}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[29.901,4.36],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"back","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.77,-4.355],[-3.77,-0.005],[-3.77,0.005],[3.77,4.355]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.4,0.6157,0.9647],"t":1199}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[3.77,4.365],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1}],"id":"comp_0","fr":60},{"nm":"FullscreenApp1_Loop","mn":"","layers":[{"ty":4,"nm":"UI","mn":"","sr":1,"st":0,"op":731,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[159.105,96.755,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[159.105,96.755,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 5","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.828,0],[0,0],[0,-2.828],[0,0],[-2.828,0],[0,0],[0,2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,2.828],[0,0],[2.828,0],[0,0],[0,-2.828]],"v":[[134.205,-36.245],[-134.205,-36.245],[-139.325,-31.125],[-139.325,31.125],[-134.205,36.245],[134.205,36.245],[139.325,31.125],[139.325,-31.125]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[159.105,108.145],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 4","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.917,0],[0,0],[0,-0.917],[0,0],[-0.917,0],[0,0],[0,0.917],[0,0]],"o":[[0,0],[-0.917,0],[0,0],[0,0.917],[0,0],[0.917,0],[0,0],[0,-0.917]],"v":[[99.84,-4.355],[-99.84,-4.355],[-101.5,-2.695],[-101.5,2.695],[-99.84,4.355],[99.84,4.355],[101.5,2.695],[101.5,-2.695]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[121.28,59.365],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.011,0],[0,0],[0,-1.011],[0,0],[-1.011,0],[0,0],[0,1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,1.011],[0,0],[1.011,0],[0,0],[0,-1.011]],"v":[[120.985,-4.355],[-120.985,-4.355],[-122.815,-2.525],[-122.815,2.525],[-120.985,4.355],[120.985,4.355],[122.815,2.525],[122.815,-2.525]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[142.595,157.585],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 2","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.077,0],[0,0],[0,-1.077],[0,0],[-1.077,0],[0,0],[0,1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,1.077],[0,0],[1.077,0],[0,0],[0,-1.077]],"v":[[137.375,-4.355],[-137.375,-4.355],[-139.325,-2.405],[-139.325,2.405],[-137.375,4.355],[137.375,4.355],[139.325,2.405],[139.325,-2.405]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[159.105,47.645],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 1","ix":5,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.966,0],[0,0],[0,-0.966],[0,0],[-0.966,0],[0,0],[0,0.966],[0,0]],"o":[[0,0],[-0.966,0],[0,0],[0,0.966],[0,0],[0.966,0],[0,0],[0,-0.966]],"v":[[110.86,-4.355],[-110.86,-4.355],[-112.61,-2.605],[-112.61,2.605],[-110.86,4.355],[110.86,4.355],[112.61,2.605],[112.61,-2.605]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[132.39,35.925],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8471,0.8627,0.8824],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":1},{"ty":4,"nm":"header","mn":"","sr":1,"st":0,"op":731,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[160,11.15,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.95,0],[0,0],[0,-3.95],[0,0],[0,0],[0,0]],"o":[[0,0],[-3.95,0],[0,0],[0,0],[0,0],[0,-3.95]],"v":[[152.73,-11.14],[-152.73,-11.14],[-159.88,-3.99],[-159.88,11.14],[159.88,11.14],[159.88,-3.99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":731,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[160,99.01,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.15],[0,0],[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.15],[0,0]],"v":[[151.98,99],[159.88,91.48],[159.88,-91.1],[151.98,-99],[-151.98,-99],[-159.88,-91.1],[-159.88,91.48],[-151.98,99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3}],"id":"comp_1","fr":60},{"nm":"OverviewGrid","mn":"","layers":[{"ty":4,"nm":"Photo Grid UI","mn":"","sr":1,"st":41,"op":471,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[193.253,81.961,0],"ix":1},"s":{"a":0,"k":[88.889,88.889,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[198,165,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"TopBar","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[-2.078,-0.085],[0,0],[-0.194,-2.185]],"o":[[0,0],[0,0],[-0.038,-2.098],[0,0],[1.741,-0.085],[0,0]],"v":[[49.917,3.412],[-50.198,3.412],[-50.193,0.637],[-46.502,-2.966],[45.585,-2.994],[49.951,0.074]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[193.351,85.416],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"BlueSquares","ix":2,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,5.683],[-55.854,5.683],[-55.854,-5.683],[-35.872,-5.683]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,48.406],[-55.854,48.406],[-55.854,31.556],[-35.872,31.556]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[227.613,94.529],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"DarkGreySquares","ix":3,"cix":2,"np":6,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.354,5.683],[-55.337,5.683],[-55.337,-5.683],[-35.354,-5.683]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,48.406],[-9.991,48.406],[-9.991,31.556],[9.991,31.556]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 4","ix":4,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[33.168,28.611],[13.185,28.611],[13.185,8.629],[33.168,8.629]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 5","ix":5,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-12.696,28.611],[-32.678,28.611],[-32.678,8.629],[-12.696,8.629]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8471,0.8627,0.8824],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[204.436,94.529],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":" LightGreySquares","ix":4,"cix":2,"np":5,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,8.425],[-9.991,8.425],[-9.991,-8.425],[9.991,-8.425]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,8.425],[-78.513,8.425],[-78.513,-8.425],[-58.531,-8.425]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-13.185,-11.37],[-33.168,-11.37],[-33.168,-31.353],[-13.185,-31.353]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 4","ix":4,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,-11.37],[-78.513,-11.37],[-78.513,-31.353],[-58.531,-31.353]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9451,0.9529,0.9569],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[227.613,134.51],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 14","ix":5,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"s":{"a":0,"k":[100,61],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[193.351,112.461],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":"List Window UI","mn":"","sr":1,"st":189,"op":471,"ip":20,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[-13.064,-68.076,0],"ix":1},"s":{"a":0,"k":[88.889,88.889,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[99,165,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"AvatarBlue","ix":1,"cix":2,"np":5,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-12.81],[-58.467,-14.525],[-56.752,-16.239],[-55.038,-14.525]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-28.265],[-56.752,-26.551],[-58.467,-28.265],[-56.752,-29.98]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-42.006],[-56.752,-40.291],[-58.467,-42.006],[-56.752,-43.721]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 4","ix":4,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-48.876],[-56.752,-47.161],[-58.467,-48.876],[-56.752,-50.591]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8235,0.8902,0.9882],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"AvatarGrey","ix":2,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-19.68],[-58.467,-21.395],[-56.752,-23.11],[-55.038,-21.395]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-35.136],[-56.752,-33.421],[-58.467,-35.136],[-56.752,-36.85]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-0.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-55.747],[-56.752,-54.032],[-58.467,-55.747],[-56.752,-57.461]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Lines","ix":3,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-50.453],[36.565,-50.453]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-61.345],[-36.223,-7.065]]},"ix":2}},{"ty":"st","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":1,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"d":[],"c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":3}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Copy","ix":4,"cix":2,"np":6,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-17.428,-25.498],[-30.133,-25.498],[-30.669,-26.034],[-30.669,-27.718],[-30.133,-28.254],[-17.428,-28.254],[-16.892,-27.718],[-16.892,-26.034]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[5.573,-29.961],[-30.085,-29.961],[-30.621,-30.497],[-30.621,-32.181],[-30.085,-32.716],[5.573,-32.716],[6.109,-32.181],[6.109,-30.497]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[14.363,-34.287],[-30.133,-34.287],[-30.669,-34.822],[-30.669,-36.506],[-30.133,-37.042],[14.363,-37.042],[14.899,-36.506],[14.899,-34.822]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 4","ix":4,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-9.953,-43.195],[-30.133,-43.195],[-30.669,-43.731],[-30.669,-45.415],[-30.133,-45.95],[-9.953,-45.95],[-9.417,-45.415],[-9.417,-43.731]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 5","ix":5,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-0.22,-54.369],[-30.133,-54.369],[-30.669,-54.905],[-30.669,-56.589],[-30.133,-57.124],[-0.22,-57.124],[0.316,-56.589],[0.316,-54.905]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8471,0.8627,0.8824],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 15","ix":5,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[36.846,-61.186],[-63.128,-61.186],[-63.086,-63.61],[-58.13,-68.013],[32.833,-68.076],[36.877,-64.172]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 16","ix":6,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"s":{"a":0,"k":[100,61],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[-13,-37.25],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":"Player Window UI","mn":"","sr":1,"st":189,"op":471,"ip":20,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[193.35,187.454,0],"ix":1},"s":{"a":0,"k":[88.889,88.889,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[99.266,109.367,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":3,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[2.838,0],[0,0],[0,2.838]],"o":[[0,0],[0,0],[0,2.838],[0,0],[-2.838,0],[0,0]],"v":[[-50.057,-3.385],[49.917,-3.385],[49.917,-1.664],[44.778,3.474],[-44.919,3.474],[-50.057,-1.664]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[49.92,-50.615],[-50.054,-50.615],[-50.054,-52.336],[-44.916,-57.474],[44.781,-57.474],[49.92,-52.336]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9098,0.9176,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[193.348,214.499],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 3","ix":2,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,2.714],[1.418,0],[-2.836,-2.714]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 2","ix":2,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,-2.714],[1.418,0],[-2.836,2.714]]},"ix":2}},{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 3","ix":3,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.456,5.671],[-4.456,-5.671],[4.456,0]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[196.187,186.804],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Group 4","ix":3,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"s":{"a":0,"k":[100,61],"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8471,0.8627,0.8824],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[193.348,187.454],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":4,"nm":"Overview Avatars","mn":"","sr":1,"st":0,"op":471,"ip":20,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[204.62,44.592,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[198.4,68.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":261},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":271}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon 4","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[105.62,127.5],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":118}],"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon 3","ix":2,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[204.62,127.5],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":118}],"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon 2","ix":3,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[105.62,44.592],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":118}],"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Icon","ix":4,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.502,0.5255,0.5451],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[204.62,44.592],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":118}],"ix":7}}]}],"ind":4}],"id":"comp_2","fr":60},{"nm":"FullscreenApp2","mn":"","layers":[{"ty":4,"nm":"color Fade","mn":"","sr":1,"st":0,"op":21,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150.845,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":8},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":20}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"White app","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.16],[0,0],[4.15,0],[0,0],[0,-4.16],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.16],[0,0]],"v":[[151.989,99.167],[159.889,91.627],[159.889,-91.257],[151.989,-99.167],[-151.989,-99.167],[-159.889,-91.257],[-159.889,91.627],[-151.989,99.167]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.9804,0.8235,0.8118],"t":2},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[1,1,1],"t":8}],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":".grey200","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey200","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,62.818,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Header","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.95,0],[0,0],[0,0],[0,-3.95],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[-3.95,0],[0,0],[0,0],[0,0],[0,-3.95]],"v":[[152.739,-11.14],[-152.729,-11.14],[-152.739,-11.14],[-159.889,-3.99],[-159.889,11.14],[159.889,11.14],[159.889,-3.99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9098,0.9176,0.9294],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9098,0.9176,0.9294],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":"MessageViewMatte","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150.845,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"White app","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.16],[0,0],[4.15,0],[0,0],[0,-4.16],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.16],[0,0]],"v":[[151.989,99.167],[159.889,91.627],[159.889,-91.257],[151.989,-99.167],[-151.989,-99.167],[-159.889,-91.257],[-159.889,91.627],[-151.989,99.167]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":0,"nm":"UI","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[144,75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.47,"y":0},"i":{"x":0.34,"y":1},"s":[208.275,158.46,0],"t":96,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[228.275,158.46,0],"t":106}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":99},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":104}],"ix":11}},"ef":[],"w":288,"h":150,"refId":"comp_4","ind":4},{"ty":0,"nm":"List View","mn":"","sr":1,"st":96,"op":996,"ip":96,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[162,102.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.33,"y":0},"i":{"x":0.67,"y":1},"s":[186.02,149.855,0],"t":100,"ti":[0,0,0],"to":[0,0,0]},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[206.02,149.855,0],"t":110}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":104},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":108}],"ix":11}},"ef":[],"w":324,"h":205,"refId":"comp_5","ind":5},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[206,150.845,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"White app","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.16],[0,0],[4.15,0],[0,0],[0,-4.16],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.16],[0,0]],"v":[[151.989,99.167],[159.889,91.627],[159.889,-91.257],[151.989,-99.167],[-151.989,-99.167],[-159.889,-91.257],[-159.889,91.627],[-151.989,99.167]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[1,1,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":6}],"id":"comp_3","fr":60},{"nm":"UI","mn":"","layers":[{"ty":4,"nm":".blue100","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"blue100","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[230.751,67.338,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[230.751,67.338,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"bluemessages - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.53,0],[0,0],[0,-2.02],[0,0],[-2.02,0],[0,0],[0,2.02],[0,0]],"o":[[0,0],[-2.01,0],[0,0],[0,2.01],[0,0],[2.01,0],[0,0],[0,-0.53]],"v":[[56.776,-7.445],[-54.086,-7.445],[-57.736,-3.795],[-57.736,3.795],[-54.086,7.445],[54.086,7.445],[57.736,3.795],[57.736,-6.485]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[230.751,75.513],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"bluemessages - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.314,0],[0,0],[0,-2.314],[0,0],[-2.314,0],[0,0],[0,2.314],[0,0]],"o":[[0,0],[-2.314,0],[0,0],[0,2.314],[0,0],[2.314,0],[0,0],[0,-2.314]],"v":[[53.546,-7.47],[-53.546,-7.47],[-57.736,-3.28],[-57.736,3.28],[-53.546,7.47],[53.546,7.47],[57.736,3.28],[57.736,-3.28]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[230.751,112.147],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"bluemessages - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.016,0],[0,0],[0,-2.016],[0,0],[-2.016,0],[0,0],[0,2.016],[0,0]],"o":[[0,0],[-2.016,0],[0,0],[0,2.016],[0,0],[2.016,0],[0,0],[0,-2.016]],"v":[[54.086,-11.38],[-54.086,-11.38],[-57.736,-7.73],[-57.736,7.73],[-54.086,11.38],[54.086,11.38],[57.736,7.73],[57.736,-7.73]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[230.751,26.44],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"bluemessages - 4","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.52,0],[0,0],[0,-2.52],[-2.52,0],[0,0],[0,0.45],[0,0]],"o":[[0,0],[-2.52,0],[0,2.52],[0,0],[0.45,0],[0,0],[0,-2.52]],"v":[[40.631,-4.57],[-40.631,-4.57],[-45.201,0],[-40.631,4.57],[44.391,4.57],[45.201,3.76],[45.201,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[243.286,61.698],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8235,0.8902,0.9882],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8235,0.8902,0.9882],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":1},{"ty":4,"nm":".grey100","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey100","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[108.103,74.943,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[108.103,74.943,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greymessages - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.524,0],[0,0],[0,-2.524],[0,0],[-2.524,0],[0,0],[0,2.524],[0,0]],"o":[[0,0],[-2.524,0],[0,0],[0,2.524],[0,0],[2.524,0],[0,0],[0,-2.524]],"v":[[103.532,-5.505],[-103.533,-5.505],[-108.103,-0.935],[-108.103,0.935],[-103.533,5.505],[103.532,5.505],[108.103,0.935],[108.103,-0.935]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[108.103,144.38],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greymessages - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.524,0],[0,0],[0,-2.524],[0,0],[-2.524,0],[0,0],[0,2.524],[0,0]],"o":[[0,0],[-2.524,0],[0,0],[0,2.524],[0,0],[2.524,0],[0,0],[0,-2.524]],"v":[[44.966,-4.575],[-44.966,-4.575],[-49.536,-0.005],[-49.536,0.005],[-44.966,4.575],[44.966,4.575],[49.536,0.005],[49.536,-0.005]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[61.987,93.742],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greymessages - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.524,0],[0,0],[0,-2.524],[0,0],[-2.524,0],[0,0],[0,2.524],[0,0]],"o":[[0,0],[-2.524,0],[0,0],[0,2.524],[0,0],[2.524,0],[0,0],[0,-2.524]],"v":[[34.241,-4.575],[-34.241,-4.575],[-38.811,-0.005],[-38.811,0.005],[-34.241,4.575],[34.241,4.575],[38.811,0.005],[38.811,-0.005]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[51.262,49.174],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greymessages - 4","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,-2.53],[-4.62,0],[0,0],[0,2.54],[4.62,0]],"o":[[-4.62,0],[0,2.54],[0,0],[4.62,0],[0,-2.54],[0,0]],"v":[[-41.166,-4.59],[-49.536,0],[-41.166,4.59],[41.166,4.59],[49.536,0],[41.166,-4.59]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[61.987,4.59],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9451,0.9529,0.9569],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9451,0.9529,0.9569],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":2},{"ty":4,"nm":".grey400","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey400","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[4.56,49.159,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[4.56,49.159,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyAvatars - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-2.518,0],[0,2.518],[2.518,0],[0,-2.518]],"o":[[2.518,0],[0,-2.518],[-2.518,0],[0,2.518]],"v":[[0,4.56],[4.56,0],[0,-4.56],[-4.56,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[4.56,93.727],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyAvatars - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-2.518,0],[0,2.518],[2.518,0],[0,-2.518]],"o":[[2.518,0],[0,-2.518],[-2.518,0],[0,2.518]],"v":[[0,4.56],[4.56,0],[0,-4.56],[-4.56,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[4.56,49.159],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyAvatars - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-2.518,0],[0,2.518],[2.518,0],[0,-2.518]],"o":[[2.518,0],[0,-2.518],[-2.518,0],[0,2.518]],"v":[[0,4.56],[4.56,0],[0,-4.56],[-4.56,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[4.56,4.59],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.7412,0.7569,0.7765],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.7412,0.7569,0.7765],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":3}],"id":"comp_4","fr":60},{"nm":"List view 9","mn":"","layers":[{"ty":4,"nm":".blue100","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"blue100","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[36.341,87.407,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[36.341,87.407,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"blue avatars - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,135.116],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"blue avatars - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,63.558],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"blue avatars - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,39.699],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8235,0.8902,0.9882],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8235,0.8902,0.9882],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":1},{"ty":4,"nm":".grey300","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey300","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[36.341,123.191,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[36.341,123.191,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyavatars - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,158.975],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyavatars - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,111.267],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"greyavatars - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-3.872,0],[0,3.872],[3.872,0],[0,-3.872]],"o":[[3.872,0],[0,-3.872],[-3.872,0],[0,3.872]],"v":[[0,7.01],[7.01,0],[0,-7.01],[-7.01,0]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[36.341,87.407],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8549,0.8627,0.8784],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.8549,0.8627,0.8784],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":2},{"ty":4,"nm":".grey200","mn":"","sr":1,"st":0,"op":900,"ip":0,"hd":false,"cl":"grey200","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[119.453,99.337,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[119.453,99.337,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 1","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.376,0],[0,0],[0,-0.376],[0,0],[-0.376,0],[0,0],[0,0.376],[0,0]],"o":[[0,0],[-0.376,0],[0,0],[0,0.376],[0,0],[0.376,0],[0,0],[0,-0.376]],"v":[[14.815,-2.225],[-14.815,-2.225],[-15.495,-1.545],[-15.495,1.545],[-14.815,2.225],[14.815,2.225],[15.495,1.545],[15.495,-1.545]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[63.866,155.84],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 2","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.613,0],[0,0],[0,-0.613],[0,0],[-0.613,0],[0,0],[0,0.613],[0,0]],"o":[[0,0],[-0.613,0],[0,0],[0,0.613],[0,0],[0.613,0],[0,0],[0,-0.613]],"v":[[40.251,-2.225],[-40.251,-2.225],[-41.361,-1.115],[-41.361,1.115],[-40.251,2.225],[40.251,2.225],[41.361,1.115],[41.361,-1.115]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[89.732,162.11],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.431,0],[0,0],[0,-0.431],[0,0],[-0.431,0],[0,0],[0,0.431],[0,0]],"o":[[0,0],[-0.431,0],[0,0],[0,0.431],[0,0],[0.431,0],[0,0],[0,-0.431]],"v":[[19.75,-2.225],[-19.75,-2.225],[-20.53,-1.445],[-20.53,1.445],[-19.75,2.225],[19.75,2.225],[20.53,1.445],[20.53,-1.445]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[68.901,131.991],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 4","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.757,0],[0,0],[0,-0.757],[0,0],[-0.757,0],[0,0],[0,0.757],[0,0]],"o":[[0,0],[-0.757,0],[0,0],[0,0.757],[0,0],[0.757,0],[0,0],[0,-0.757]],"v":[[61.462,-2.225],[-61.462,-2.225],[-62.832,-0.855],[-62.832,0.855],[-61.462,2.225],[61.462,2.225],[62.832,0.855],[62.832,-0.855]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[111.203,138.251],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 5","ix":5,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.519,0],[0,0],[0,-0.519],[0,0],[-0.519,0],[0,0],[0,0.519],[0,0]],"o":[[0,0],[-0.519,0],[0,0],[0,0.519],[0,0],[0.519,0],[0,0],[0,-0.519]],"v":[[28.541,-2.225],[-28.541,-2.225],[-29.481,-1.285],[-29.481,1.285],[-28.541,2.225],[28.541,2.225],[29.481,1.285],[29.481,-1.285]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[77.852,108.132],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 6","ix":6,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.806,0],[0,0],[0,-0.806],[0,0],[-0.806,0],[0,0],[0,0.806],[0,0]],"o":[[0,0],[-0.806,0],[0,0],[0,0.806],[0,0],[0.806,0],[0,0],[0,-0.806]],"v":[[69.622,-2.225],[-69.622,-2.225],[-71.082,-0.765],[-71.082,0.765],[-69.622,2.225],[69.622,2.225],[71.082,0.765],[71.082,-0.765]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[119.453,114.401],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 7","ix":7,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.464,0],[0,0],[0,-0.464],[0,0],[-0.464,0],[0,0],[0,0.464],[0,0]],"o":[[0,0],[-0.464,0],[0,0],[0,0.464],[0,0],[0.464,0],[0,0],[0,-0.464]],"v":[[22.896,-2.225],[-22.896,-2.225],[-23.736,-1.385],[-23.736,1.385],[-22.896,2.225],[22.896,2.225],[23.736,1.385],[23.736,-1.385]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[72.107,84.283],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 8","ix":8,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.685,0],[0,0],[0,-0.685],[0,0],[-0.685,0],[0,0],[0,0.685],[0,0]],"o":[[0,0],[-0.685,0],[0,0],[0,0.685],[0,0],[0.685,0],[0,0],[0,-0.685]],"v":[[49.876,-2.225],[-49.876,-2.225],[-51.116,-0.985],[-51.116,0.985],[-49.876,2.225],[49.876,2.225],[51.116,0.985],[51.116,-0.985]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[99.488,90.542],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 9","ix":9,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.309,0],[0,0],[0,-0.309],[0,0],[-0.309,0],[0,0],[0,0.309],[0,0]],"o":[[0,0],[-0.309,0],[0,0],[0,0.309],[0,0],[0.309,0],[0,0],[0,-0.309]],"v":[[10.09,-2.225],[-10.09,-2.225],[-10.65,-1.665],[-10.65,1.665],[-10.09,2.225],[10.09,2.225],[10.65,1.665],[10.65,-1.665]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[59.021,60.423],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 10","ix":10,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.442,0],[0,0],[0,-0.442],[0,0],[-0.442,0],[0,0],[0,0.442],[0,0]],"o":[[0,0],[-0.442,0],[0,0],[0,0.442],[0,0],[0.442,0],[0,0],[0,-0.442]],"v":[[20.735,-2.225],[-20.735,-2.225],[-21.536,-1.425],[-21.536,1.425],[-20.735,2.225],[20.735,2.225],[21.536,1.425],[21.536,-1.425]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[69.907,66.693],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 11","ix":11,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.519,0],[0,0],[0,-0.519],[0,0],[-0.519,0],[0,0],[0,0.519],[0,0]],"o":[[0,0],[-0.519,0],[0,0],[0,0.519],[0,0],[0.519,0],[0,0],[0,-0.519]],"v":[[28.541,-2.225],[-28.541,-2.225],[-29.481,-1.285],[-29.481,1.285],[-28.541,2.225],[28.541,2.225],[29.481,1.285],[29.481,-1.285]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[77.852,36.564],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"faketext - 12","ix":12,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.376,0],[0,0],[0,-0.376],[0,0],[-0.376,0],[0,0],[0,0.376],[0,0]],"o":[[0,0],[-0.376,0],[0,0],[0,0.376],[0,0],[0.376,0],[0,0],[0,-0.376]],"v":[[14.815,-2.225],[-14.815,-2.225],[-15.495,-1.545],[-15.495,1.545],[-14.815,2.225],[14.815,2.225],[15.495,1.545],[15.495,-1.545]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[63.867,42.833],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9098,0.9176,0.9294],"t":0},{"o":{"x":0,"y":0},"i":{"x":1,"y":1},"s":[0.9098,0.9176,0.9294],"t":899}]},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":3}],"id":"comp_5","fr":60},{"nm":"FullscreenApp1","mn":"","layers":[{"ty":4,"nm":"UI","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[159.105,96.755,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[159.105,96.755,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 5","ix":1,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[2.828,0],[0,0],[0,-2.828],[0,0],[-2.828,0],[0,0],[0,2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,2.828],[0,0],[2.828,0],[0,0],[0,-2.828]],"v":[[134.205,-36.245],[-134.205,-36.245],[-139.325,-31.125],[-139.325,31.125],[-134.205,36.245],[134.205,36.245],[139.325,31.125],[139.325,-31.125]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[159.105,108.145],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 4","ix":2,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.917,0],[0,0],[0,-0.917],[0,0],[-0.917,0],[0,0],[0,0.917],[0,0]],"o":[[0,0],[-0.917,0],[0,0],[0,0.917],[0,0],[0.917,0],[0,0],[0,-0.917]],"v":[[99.84,-4.355],[-99.84,-4.355],[-101.5,-2.695],[-101.5,2.695],[-99.84,4.355],[99.84,4.355],[101.5,2.695],[101.5,-2.695]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[121.28,59.365],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 3","ix":3,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.011,0],[0,0],[0,-1.011],[0,0],[-1.011,0],[0,0],[0,1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,1.011],[0,0],[1.011,0],[0,0],[0,-1.011]],"v":[[120.985,-4.355],[-120.985,-4.355],[-122.815,-2.525],[-122.815,2.525],[-120.985,4.355],[120.985,4.355],[122.815,2.525],[122.815,-2.525]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[142.595,157.585],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 2","ix":4,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[1.077,0],[0,0],[0,-1.077],[0,0],[-1.077,0],[0,0],[0,1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,1.077],[0,0],[1.077,0],[0,0],[0,-1.077]],"v":[[137.375,-4.355],[-137.375,-4.355],[-139.325,-2.405],[-139.325,2.405],[-137.375,4.355],[137.375,4.355],[139.325,2.405],[139.325,-2.405]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[159.105,47.645],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"ui - 1","ix":5,"cix":2,"np":1,"it":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":1,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.966,0],[0,0],[0,-0.966],[0,0],[-0.966,0],[0,0],[0,0.966],[0,0]],"o":[[0,0],[-0.966,0],[0,0],[0,0.966],[0,0],[0.966,0],[0,0],[0,-0.966]],"v":[[110.86,-4.355],[-110.86,-4.355],[-112.61,-2.605],[-112.61,2.605],[-110.86,4.355],[110.86,4.355],[112.61,2.605],[112.61,-2.605]]},"ix":2}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[132.39,35.925],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.8471,0.8627,0.8824],"t":70},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[1,1,1],"t":76},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.8235,0.8902,0.9882],"t":82}],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}}],"ind":1},{"ty":4,"nm":"header","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[160,11.15,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.95,0],[0,0],[0,-3.95],[0,0],[0,0],[0,0]],"o":[[0,0],[-3.95,0],[0,0],[0,0],[0,0],[0,-3.95]],"v":[[152.73,-11.14],[-152.73,-11.14],[-159.88,-3.99],[-159.88,11.14],[159.88,11.14],[159.88,-3.99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.9098,0.9176,0.9294],"t":70},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[1,1,1],"t":76},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.8235,0.8902,0.9882],"t":82}],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":".white","mn":"","sr":1,"st":0,"op":91,"ip":0,"hd":false,"cl":"white","ln":"","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[160,99.01,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Group","nm":"Vector","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,4.15],[0,0],[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0]],"o":[[4.15,0],[0,0],[0,-4.15],[0,0],[-4.15,0],[0,0],[0,4.15],[0,0]],"v":[[151.98,99],[159.88,91.48],[159.88,-91.1],[151.98,-99],[-151.98,-99],[-159.88,-91.1],[-159.88,91.48],[-151.98,99]]},"ix":2}},{"ty":"fl","bm":0,"cl":"","ln":"","hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[1,1,1],"t":76},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0.8235,0.8902,0.9882],"t":82}],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3}],"id":"comp_6","fr":60}]}
\ No newline at end of file
diff --git a/res/raw-sw600dp/lottie_system_nav_fully_gestural.json b/res/raw-sw600dp/lottie_system_nav_fully_gestural.json
new file mode 100644
index 0000000..61eea23
--- /dev/null
+++ b/res/raw-sw600dp/lottie_system_nav_fully_gestural.json
@@ -0,0 +1 @@
+{"v":"5.8.1","fr":60,"ip":0,"op":954,"w":412,"h":300,"nm":"Gesture_Nav","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"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":0,"k":[206,150,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],[4.147,0],[0,0],[0,4.148],[0,0],[-4.147,0],[0,0],[0,0],[0,-4.148]],"o":[[0,4.148],[0,0],[-4.147,0],[0,0],[0,-4.148],[0,0],[0,0],[4.147,0],[0,0]],"v":[[159.897,92.491],[151.998,100.014],[-151.969,100.014],[-159.868,92.491],[-159.868,-90.094],[-151.969,-97.994],[-57.101,-97.994],[151.998,-97.994],[159.897,-90.094]],"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":[[5.667,0],[0,0],[1.276,0],[0,0],[0,-1.276],[0,0],[1.276,0],[0,0],[0,-1.276],[0,0],[0,-5.667],[0,0],[-5.667,0],[0,0],[0,5.667],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,-1.276],[0,0],[-1.276,0],[0,0],[0,-1.276],[0,0],[-1.276,0],[0,0],[-5.667,0],[0,0],[0,5.667],[0,0],[5.667,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-5.667]],"v":[[151.997,-100.355],[138.43,-100.355],[136.119,-102.667],[126.874,-102.667],[124.562,-100.355],[113.841,-100.355],[111.529,-102.667],[88.416,-102.667],[86.104,-100.355],[-151.968,-100.355],[-162.229,-90.094],[-162.229,92.114],[-151.968,102.375],[151.998,102.375],[162.258,92.115],[162.258,33.153],[162.258,24.832],[162.258,-7.174],[162.258,-16.353],[162.258,-90.094]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Gesture_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[197.5,110.5,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,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":[26,26],"ix":2},"p":{"a":0,"k":[19,-16],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":897,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":908,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":911,"s":[100]},{"t":917,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":897,"op":917,"st":860,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Gesture_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.5,273.75,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":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.5,"y":0},"t":778,"s":[-2,-99],"to":[26.833,0],"ti":[-26.833,0]},{"t":840,"s":[159,-99]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":760,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":775,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":840,"s":[100]},{"t":850,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":760,"op":850,"st":718,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Matte 8","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":571,"op":681,"st":529,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Gesture_6","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[186.5,251.25,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":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":589,"s":[19,-6],"to":[0,-11.333],"ti":[0,11.333]},{"t":630,"s":[19,-74]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":571,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":586,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":670,"s":[100]},{"t":680,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":571,"op":681,"st":529,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Matte 7","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":442,"op":515,"st":400,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Gesture_5","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[252.25,160,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,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":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":460,"s":[129,-16],"to":[0,0],"ti":[0,0]},{"t":496,"s":[70,-16]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":442,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":457,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":509,"s":[100]},{"t":515,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":442,"op":515,"st":400,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Gesture_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[127.5,134,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,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":[26,26],"ix":2},"p":{"a":0,"k":[19,-16],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":350,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":361,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":364,"s":[100]},{"t":370,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":350,"op":370,"st":313,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Matte 9","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":236,"op":309,"st":194,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Gesture_3","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,160,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,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":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":254,"s":[10,-16],"to":[0,0],"ti":[0,0]},{"t":290,"s":[70,-16]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":236,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":251,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":303,"s":[100]},{"t":309,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":236,"op":309,"st":194,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Gesture_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[223.375,225.625,0],"ix":2,"l":2},"a":{"a":0,"k":[19,-16,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":[26,26],"ix":2},"p":{"a":0,"k":[19,-16],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":140,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":151,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":154,"s":[100]},{"t":160,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":140,"op":160,"st":103,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Matte 6","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":42,"op":78,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Gesture_1","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[186.25,244.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":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.65,"y":0},"t":60,"s":[19,0],"to":[0,-20],"ti":[0,20]},{"t":77,"s":[19,-120]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":42,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":57,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":71,"s":[100]},{"t":77,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":42,"op":78,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Gesture Bar 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,246,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":[[-21.641,0],[21.641,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.311,"ix":5},"lc":2,"lj":1,"ml":10,"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":0,"ix":6},"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":1800,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Matte 17","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":910,"op":955,"st":529,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Overview Avatar 2","parent":25,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.5,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":955,"st":589,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Matte 16","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":910,"op":955,"st":529,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Overview Avatar 4","parent":25,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":910,"s":[100]},{"t":920,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-44.051,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[105.62,127.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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 4","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,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,127.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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 3","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":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[105.62,44.592],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 2","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":955,"st":589,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Matte 23","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Overview Avatar 3","parent":44,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-44.051,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[105.62,127.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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 4","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,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,127.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":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 3","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":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[105.62,44.592],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon 2","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":778,"op":910,"st":589,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Matte 14","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Overview Avatar 5","parent":43,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.5,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":778,"op":910,"st":589,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"Overview Avatar","parent":44,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.5,30.435,0],"ix":2,"l":2},"a":{"a":0,"k":[204.62,44.592,0],"ix":1,"l":2},"s":{"a":0,"k":[144.928,144.928,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.695],[4.695,0],[0,4.695],[-4.695,0]],"o":[[0,4.695],[-4.695,0],[0,-4.695],[4.695,0]],"v":[[8.5,0],[0,8.5],[-8.5,0],[0,-8.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":[204.62,44.592],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":699,"s":[0]},{"t":707,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Icon","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":589,"op":778,"st":589,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"Matte 20","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":910,"op":919,"st":529,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":"List 3","parent":33,"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.5,"y":1},"o":{"x":0.5,"y":0},"t":589,"s":[35.903,144.697,0],"to":[-0.332,-6.341,0],"ti":[0.332,6.341,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0,"y":0},"t":630,"s":[33.911,106.654,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":672,"s":[33.911,106.654,0],"to":[0.087,7.857,0],"ti":[-0.087,-6.02,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":687,"s":[34.433,153.796,0],"to":[0.087,6.02,0],"ti":[0,1.837,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0,"y":0},"t":699,"s":[34.433,142.772,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":778,"s":[34.433,142.772,0],"to":[89.01,0.604,0],"ti":[-98.973,-0.604,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":819,"s":[568.491,146.395,0],"to":[98.973,0.604,0],"ti":[-9.964,0,0]},{"t":840,"s":[628.274,146.395,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":589,"s":[362.319,362.319,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":630,"s":[210.145,210.145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":672,"s":[210.145,210.145,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":687,"s":[253.623,253.623,100]},{"t":699,"s":[250,250,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.102,0],[0,0],[0,-4.063],[0,0],[0,0],[0,0]],"o":[[0,0],[4.103,0],[0,0],[0,0],[0,0],[0,-4.063]],"v":[[-152.446,10.908],[151.827,10.87],[159.255,18.227],[159.255,33.299],[-159.873,33.337],[-159.873,18.265]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.62,39.528],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[100]},{"t":523,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","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":0,"k":{"i":[[-1.006,0],[0,0],[0,-0.592],[0,0],[1.007,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[1.007,0],[0,0],[0,0.592],[0,0],[-1.006,0],[0,0],[0,-0.592]],"v":[[-91.83,9.465],[-37.221,9.502],[-35.398,10.574],[-35.398,13.253],[-37.221,14.325],[-91.83,14.287],[-93.652,13.216],[-93.652,10.537]],"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.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.618,16.638],[-64.321,16.681],[-63.287,17.753],[-63.287,19.896],[-64.321,20.967],[-92.618,20.925],[-93.652,19.853],[-93.652,17.71]],"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.798,0],[0,0],[0,-0.592],[0,0],[0.798,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.798,0],[0,0],[0,0.592],[0,0],[-0.798,0],[0,0],[0,-0.592]],"v":[[-92.207,32.291],[-74.006,32.327],[-72.561,33.399],[-72.561,36.078],[-74.006,37.149],[-92.207,37.113],[-93.653,36.041],[-93.653,33.362]],"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.446,0],[0,0],[0,-0.592],[0,0],[0.446,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.446,0],[0,0],[0,0.592],[0,0],[-0.446,0],[0,0],[0,-0.592]],"v":[[-92.845,39.464],[-52.145,39.453],[-51.337,40.524],[-51.337,42.667],[-52.145,43.739],[-92.845,43.751],[-93.653,42.679],[-93.653,40.536]],"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.531,0],[0,0],[0,-0.592],[0,0],[0.531,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.531,0],[0,0],[0,0.592],[0,0],[-0.531,0],[0,0],[0,-0.592]],"v":[[-92.73,56.118],[-47.962,56.06],[-47.001,57.131],[-47.001,59.811],[-47.962,60.882],[-92.73,60.94],[-93.69,59.868],[-93.69,57.189]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.656,63.291],[7.016,63.274],[8.05,64.345],[8.05,66.489],[7.016,67.56],[-92.656,67.578],[-93.69,66.506],[-93.69,64.363]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.852,0],[0,0],[0,-0.593],[0,0],[0.852,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.852,0],[0,0],[0,0.592],[0,0],[-0.852,0],[0,0],[0,-0.593]],"v":[[-92.164,80.593],[-36.852,80.585],[-35.309,81.657],[-35.309,84.336],[-36.852,85.407],[-92.164,85.416],[-93.706,84.344],[-93.706,81.665]],"c":true},"ix":2},"nm":"Path 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.593],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.593]],"v":[[-92.672,87.766],[46.5,87.816],[47.534,88.889],[47.534,91.031],[46.5,92.104],[-92.672,92.054],[-93.706,90.981],[-93.706,88.839]],"c":true},"ix":2},"nm":"Path 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[-0.442,0],[0,0],[0,-0.592],[0,0],[0.442,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.442,0],[0,0],[0,0.592],[0,0],[-0.442,0],[0,0],[0,-0.592]],"v":[[-92.873,104.422],[-54.131,104.404],[-53.33,105.476],[-53.33,108.155],[-54.131,109.227],[-92.873,109.245],[-93.674,108.173],[-93.674,105.494]],"c":true},"ix":2},"nm":"Path 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[-0.647,0],[0,0],[0,-0.593],[0,0],[0.646,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.646,0],[0,0],[0,0.592],[0,0],[-0.647,0],[0,0],[0,-0.593]],"v":[[-92.502,111.595],[30.08,111.582],[31.251,112.655],[31.251,114.797],[30.08,115.87],[-92.502,115.883],[-93.673,114.81],[-93.673,112.668]],"c":true},"ix":2},"nm":"Path 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.959,0],[0,0],[0,-0.592],[0,0],[0.959,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.959,0],[0,0],[0,0.592],[0,0],[-0.959,0],[0,0],[0,-0.592]],"v":[[-92.042,127.459],[-65.006,127.415],[-63.27,128.487],[-63.27,131.166],[-65.006,132.237],[-92.042,132.281],[-93.777,131.209],[-93.777,128.53]],"c":true},"ix":2},"nm":"Path 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.706,134.632],[-12.769,134.593],[-11.697,135.666],[-11.697,137.808],[-12.769,138.881],[-92.706,138.919],[-93.777,137.847],[-93.777,135.704]],"c":true},"ix":2},"nm":"Path 12","mn":"ADBE Vector Shape - Group","hd":false},{"ind":12,"ty":"sh","ix":13,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.591,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.591,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,152.326],[-36.305,152.306],[-35.234,153.379],[-35.234,156.057],[-36.305,157.129],[-92.581,157.149],[-93.652,156.077],[-93.652,153.398]],"c":true},"ix":2},"nm":"Path 13","mn":"ADBE Vector Shape - Group","hd":false},{"ind":13,"ty":"sh","ix":14,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.591],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.591],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,159.5],[40.481,159.468],[41.553,160.539],[41.553,162.683],[40.481,163.754],[-92.581,163.786],[-93.652,162.715],[-93.652,160.571]],"c":true},"ix":2},"nm":"Path 14","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[208.562,71.266],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L1","np":15,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.107],[-4.107,0]],"o":[[0,4.107],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-12.324],[-58.907,-4.888],[-66.342,-12.324],[-58.907,-19.758]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.493,-60.227],[-58.928,-52.793],[-66.363,-60.227],[-58.928,-67.662]],"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,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.51,-107.756],[-58.945,-100.322],[-66.38,-107.756],[-58.945,-115.19]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058883368,0.854902020623,0.870588295133,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":[160.956,241.646],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvGrey","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.597,-8.51],[-59.032,-1.075],[-66.467,-8.51],[-59.032,-15.945]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.526,-56.288],[-58.907,-49.354],[-66.396,-56.288],[-58.96,-63.724]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.472,-103.942],[-58.907,-96.508],[-66.342,-103.942],[-58.907,-111.377]],"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,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-127.519],[-58.907,-120.085],[-66.342,-127.519],[-58.907,-134.954]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.890196084976,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[160.956,213.88],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvBlue","np":5,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204.5,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":910,"op":919,"st":309,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"Matte 18","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":910,"op":918,"st":529,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":"List Window UI 4","parent":33,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-311.593,422.209,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-12.81],[-58.467,-14.525],[-56.752,-16.239],[-55.038,-14.525]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-28.265],[-56.752,-26.551],[-58.467,-28.265],[-56.752,-29.98]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-42.006],[-56.752,-40.291],[-58.467,-42.006],[-56.752,-43.721]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-48.876],[-56.752,-47.161],[-58.467,-48.876],[-56.752,-50.591]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","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":"AvatarBlue","np":5,"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.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-19.68],[-58.467,-21.395],[-56.752,-23.11],[-55.038,-21.395]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-35.136],[-56.752,-33.421],[-58.467,-35.136],[-56.752,-36.85]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-55.747],[-56.752,-54.032],[-58.467,-55.747],[-56.752,-57.461]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-50.453],[36.565,-50.453]],"c":false},"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]],"o":[[0,0],[0,0]],"v":[[-36.223,-61.345],[-36.223,-7.065]],"c":false},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":10,"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":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Lines","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-17.428,-25.498],[-30.133,-25.498],[-30.669,-26.034],[-30.669,-27.718],[-30.133,-28.254],[-17.428,-28.254],[-16.892,-27.718],[-16.892,-26.034]],"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.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[5.573,-29.961],[-30.085,-29.961],[-30.621,-30.497],[-30.621,-32.181],[-30.085,-32.716],[5.573,-32.716],[6.109,-32.181],[6.109,-30.497]],"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.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[14.363,-34.287],[-30.133,-34.287],[-30.669,-34.822],[-30.669,-36.506],[-30.133,-37.042],[14.363,-37.042],[14.899,-36.506],[14.899,-34.822]],"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.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-9.953,-43.195],[-30.133,-43.195],[-30.669,-43.731],[-30.669,-45.415],[-30.133,-45.95],[-9.953,-45.95],[-9.417,-45.415],[-9.417,-43.731]],"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.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-0.22,-54.369],[-30.133,-54.369],[-30.669,-54.905],[-30.669,-56.589],[-30.133,-57.124],[-0.22,-57.124],[0.316,-56.589],[0.316,-54.905]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":"Copy","np":6,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[36.846,-61.186],[-63.128,-61.186],[-63.086,-63.61],[-58.13,-68.013],[32.833,-68.076],[36.877,-64.172]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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 15","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"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":[-13,-37.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 16","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":918,"st":778,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"Matte 19","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":910,"op":921,"st":529,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":"Player Window UI 4","parent":33,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-355.555,-0.67,0],"ix":2,"l":2},"a":{"a":0,"k":[193.35,187.454,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,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],[0,0],[2.838,0],[0,0],[0,2.838]],"o":[[0,0],[0,0],[0,2.838],[0,0],[-2.838,0],[0,0]],"v":[[-50.057,-3.385],[49.917,-3.385],[49.917,-1.664],[44.778,3.474],[-44.919,3.474],[-50.057,-1.664]],"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],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[49.92,-50.615],[-50.054,-50.615],[-50.054,-52.336],[-44.916,-57.474],[44.781,-57.474],[49.92,-52.336]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[193.348,214.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":"Group 1","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":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,2.714],[1.418,0],[-2.836,-2.714]],"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],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,-2.714],[1.418,0],[-2.836,2.714]],"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]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.456,5.671],[-4.456,-5.671],[4.456,0]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","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":[196.187,186.804],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":[193.348,187.454],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":921,"st":778,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"Matte 21","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":910,"op":918,"st":529,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":"Photo Grid UI 4","parent":33,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1.133,301.31,0],"ix":2,"l":2},"a":{"a":0,"k":[193.351,112.461,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,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],[0,0],[-2.078,-0.085],[0,0],[-0.194,-2.185]],"o":[[0,0],[0,0],[-0.038,-2.098],[0,0],[1.741,-0.085],[0,0]],"v":[[49.917,3.412],[-50.198,3.412],[-50.193,0.637],[-46.502,-2.966],[45.585,-2.994],[49.951,0.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[193.351,85.416],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","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],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]],"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],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,5.683],[-55.854,5.683],[-55.854,-5.683],[-35.872,-5.683]],"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]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,48.406],[-55.854,48.406],[-55.854,31.556],[-35.872,31.556]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","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":[227.613,94.529],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BlueSquares","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]],"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],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.354,5.683],[-55.337,5.683],[-55.337,-5.683],[-35.354,-5.683]],"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]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,48.406],[-9.991,48.406],[-9.991,31.556],[9.991,31.556]],"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,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[33.168,28.611],[13.185,28.611],[13.185,8.629],[33.168,8.629]],"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],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-12.696,28.611],[-32.678,28.611],[-32.678,8.629],[-12.696,8.629]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":[204.436,94.529],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"DarkGreySquares","np":6,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,8.425],[-9.991,8.425],[-9.991,-8.425],[9.991,-8.425]],"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],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,8.425],[-78.513,8.425],[-78.513,-8.425],[-58.531,-8.425]],"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]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-13.185,-11.37],[-33.168,-11.37],[-33.168,-31.353],[-13.185,-31.353]],"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,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,-11.37],[-78.513,-11.37],[-78.513,-31.353],[-58.531,-31.353]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[227.613,134.51],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":" LightGreySquares","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"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":[193.351,112.461],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 14","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":918,"st":630,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":"Matte 22","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":910,"op":955,"st":529,"bm":0},{"ddd":0,"ind":33,"ty":4,"nm":"News Article UI 5","tt":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],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":910,"s":[197.4]},{"t":940,"s":[206]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":910,"s":[109.552]},{"t":940,"s":[150.802]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":910,"s":[27.6,27.6,100]},{"t":940,"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":[[2.828,0],[0,0],[0,2.828],[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0],[2.828,0],[0,0],[0,2.828]],"v":[[104.906,37.499],[-104.906,37.499],[-110.026,32.379],[-110.026,-32.379],[-104.906,-37.499],[104.906,-37.499],[110.026,-32.379],[110.026,32.379]],"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.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,68.098],[-108.363,68.098],[-110.026,66.435],[-110.026,60.747],[-108.363,59.084],[48.62,59.084],[50.283,60.747],[50.283,66.435]],"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.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,-45.957],[-108.363,-45.957],[-110.026,-47.621],[-110.026,-53.308],[-108.363,-54.971],[48.62,-54.971],[50.283,-53.308],[50.283,-47.621]],"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":[[1.011,0],[0,0],[0,1.011],[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0],[1.011,0],[0,0],[0,1.011]],"v":[[82.12,55.664],[-108.196,55.664],[-110.026,53.834],[-110.026,48.48],[-108.196,46.65],[82.12,46.65],[83.95,48.48],[83.95,53.834]],"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":[[1.077,0],[0,0],[0,1.077],[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0],[1.077,0],[0,0],[0,1.077]],"v":[[108.077,-58.084],[-108.077,-58.084],[-110.026,-60.033],[-110.026,-65.149],[-108.077,-67.098],[108.077,-67.098],[110.026,-65.149],[110.026,-60.033]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0.968,0],[0,0],[0,0.968],[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0]],"o":[[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0],[0.968,0],[0,0],[0,0.968]],"v":[[66.085,-70.211],[-108.274,-70.211],[-110.026,-71.963],[-110.026,-77.473],[-108.274,-79.225],[66.085,-79.225],[67.837,-77.473],[67.837,-71.963]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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,11],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Copy","np":7,"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],[0,0],[-3.949,0],[0,0],[0,-3.949]],"o":[[0,0],[0,0],[0,-3.949],[0,0],[3.949,0],[0,0]],"v":[[159.883,11.142],[-159.883,11.142],[-159.883,-3.991],[-152.732,-11.142],[152.732,-11.142],[159.883,-3.991]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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,-88],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":910,"s":[16]},{"t":940,"s":[6]}],"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":"Bg","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":910,"op":955,"st":630,"bm":0},{"ddd":0,"ind":34,"ty":4,"nm":"Matte 13","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":35,"ty":4,"nm":"List Window UI","parent":41,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-311.593,422.209,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-12.81],[-58.467,-14.525],[-56.752,-16.239],[-55.038,-14.525]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-28.265],[-56.752,-26.551],[-58.467,-28.265],[-56.752,-29.98]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-42.006],[-56.752,-40.291],[-58.467,-42.006],[-56.752,-43.721]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-48.876],[-56.752,-47.161],[-58.467,-48.876],[-56.752,-50.591]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","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":"AvatarBlue","np":5,"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.947,0],[0,0.947],[-0.947,0],[0,-0.947]],"o":[[-0.947,0],[0,-0.947],[0.947,0],[0,0.947]],"v":[[-56.752,-19.68],[-58.467,-21.395],[-56.752,-23.11],[-55.038,-21.395]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-35.136],[-56.752,-33.421],[-58.467,-35.136],[-56.752,-36.85]],"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.947],[0.947,0],[0,0.947],[-0.947,0]],"o":[[0,0.947],[-0.947,0],[0,-0.947],[0.947,0]],"v":[[-55.038,-55.747],[-56.752,-54.032],[-58.467,-55.747],[-56.752,-57.461]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-36.223,-50.453],[36.565,-50.453]],"c":false},"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]],"o":[[0,0],[0,0]],"v":[[-36.223,-61.345],[-36.223,-7.065]],"c":false},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":10,"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":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Lines","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-17.428,-25.498],[-30.133,-25.498],[-30.669,-26.034],[-30.669,-27.718],[-30.133,-28.254],[-17.428,-28.254],[-16.892,-27.718],[-16.892,-26.034]],"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.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[5.573,-29.961],[-30.085,-29.961],[-30.621,-30.497],[-30.621,-32.181],[-30.085,-32.716],[5.573,-32.716],[6.109,-32.181],[6.109,-30.497]],"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.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[14.363,-34.287],[-30.133,-34.287],[-30.669,-34.822],[-30.669,-36.506],[-30.133,-37.042],[14.363,-37.042],[14.899,-36.506],[14.899,-34.822]],"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.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-9.953,-43.195],[-30.133,-43.195],[-30.669,-43.731],[-30.669,-45.415],[-30.133,-45.95],[-9.953,-45.95],[-9.417,-45.415],[-9.417,-43.731]],"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.296,0],[0,0],[0,0.296],[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0]],"o":[[0,0],[-0.296,0],[0,0],[0,-0.296],[0,0],[0.296,0],[0,0],[0,0.296]],"v":[[-0.22,-54.369],[-30.133,-54.369],[-30.669,-54.905],[-30.669,-56.589],[-30.133,-57.124],[-0.22,-57.124],[0.316,-56.589],[0.316,-54.905]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":"Copy","np":6,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[36.846,-61.186],[-63.128,-61.186],[-63.086,-63.61],[-58.13,-68.013],[32.833,-68.076],[36.877,-64.172]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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 15","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"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":[-13,-37.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 16","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":778,"op":910,"st":778,"bm":0},{"ddd":0,"ind":36,"ty":4,"nm":"Matte 12","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":37,"ty":4,"nm":"Player Window UI","parent":41,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-355.555,-0.67,0],"ix":2,"l":2},"a":{"a":0,"k":[193.35,187.454,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,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],[0,0],[2.838,0],[0,0],[0,2.838]],"o":[[0,0],[0,0],[0,2.838],[0,0],[-2.838,0],[0,0]],"v":[[-50.057,-3.385],[49.917,-3.385],[49.917,-1.664],[44.778,3.474],[-44.919,3.474],[-50.057,-1.664]],"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],[0,0],[-2.838,0],[0,0],[0,-2.838]],"o":[[0,0],[0,0],[0,-2.838],[0,0],[2.838,0],[0,0]],"v":[[49.92,-50.615],[-50.054,-50.615],[-50.054,-52.336],[-44.916,-57.474],[44.781,-57.474],[49.92,-52.336]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[193.348,214.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":"Group 1","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":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,2.714],[1.418,0],[-2.836,-2.714]],"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],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.836,-2.714],[1.418,0],[-2.836,2.714]],"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]],"o":[[0,0],[0,0],[0,0]],"v":[[-4.456,5.671],[-4.456,-5.671],[4.456,0]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","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":[196.187,186.804],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":[193.348,187.454],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":778,"op":910,"st":778,"bm":0},{"ddd":0,"ind":38,"ty":4,"nm":"Matte 10","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":630,"op":910,"st":529,"bm":0},{"ddd":0,"ind":39,"ty":4,"nm":"Photo Grid UI","parent":41,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1.133,301.31,0],"ix":2,"l":2},"a":{"a":0,"k":[193.351,112.461,0],"ix":1,"l":2},"s":{"a":0,"k":[322.061,322.061,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],[0,0],[-2.078,-0.085],[0,0],[-0.194,-2.185]],"o":[[0,0],[0,0],[-0.038,-2.098],[0,0],[1.741,-0.085],[0,0]],"v":[[49.917,3.412],[-50.198,3.412],[-50.193,0.637],[-46.502,-2.966],[45.585,-2.994],[49.951,0.074]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[193.351,85.416],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","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],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]],"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],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,5.683],[-55.854,5.683],[-55.854,-5.683],[-35.872,-5.683]],"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]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.872,48.406],[-55.854,48.406],[-55.854,31.556],[-35.872,31.556]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","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":[227.613,94.529],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BlueSquares","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,5.683],[-9.991,5.683],[-9.991,-5.683],[9.991,-5.683]],"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],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.354,5.683],[-55.337,5.683],[-55.337,-5.683],[-35.354,-5.683]],"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]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,48.406],[-9.991,48.406],[-9.991,31.556],[9.991,31.556]],"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,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[33.168,28.611],[13.185,28.611],[13.185,8.629],[33.168,8.629]],"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],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-12.696,28.611],[-32.678,28.611],[-32.678,8.629],[-12.696,8.629]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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":[204.436,94.529],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"DarkGreySquares","np":6,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[9.991,8.425],[-9.991,8.425],[-9.991,-8.425],[9.991,-8.425]],"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],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,8.425],[-78.513,8.425],[-78.513,-8.425],[-58.531,-8.425]],"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]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-13.185,-11.37],[-33.168,-11.37],[-33.168,-31.353],[-13.185,-31.353]],"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,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-58.531,-11.37],[-78.513,-11.37],[-78.513,-31.353],[-58.531,-31.353]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[227.613,134.51],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":" LightGreySquares","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,61],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4,"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":[193.351,112.461],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 14","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":630,"op":910,"st":630,"bm":0},{"ddd":0,"ind":40,"ty":4,"nm":"Matte 11","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":630,"op":910,"st":529,"bm":0},{"ddd":0,"ind":41,"ty":4,"nm":"News Article UI","parent":43,"tt":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.409],"y":[1.008]},"o":{"x":[0.024],"y":[0.169]},"t":630,"s":[-164.362]},{"i":{"x":[0.601],"y":[1]},"o":{"x":[0.615],"y":[0.149]},"t":655,"s":[-42.127]},{"t":667,"s":[-45.5]}],"ix":3},"y":{"a":0,"k":89.931,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[40,40,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.828,0],[0,0],[0,2.828],[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0],[2.828,0],[0,0],[0,2.828]],"v":[[104.906,37.499],[-104.906,37.499],[-110.026,32.379],[-110.026,-32.379],[-104.906,-37.499],[104.906,-37.499],[110.026,-32.379],[110.026,32.379]],"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.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,68.098],[-108.363,68.098],[-110.026,66.435],[-110.026,60.747],[-108.363,59.084],[48.62,59.084],[50.283,60.747],[50.283,66.435]],"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.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,-45.957],[-108.363,-45.957],[-110.026,-47.621],[-110.026,-53.308],[-108.363,-54.971],[48.62,-54.971],[50.283,-53.308],[50.283,-47.621]],"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":[[1.011,0],[0,0],[0,1.011],[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0],[1.011,0],[0,0],[0,1.011]],"v":[[82.12,55.664],[-108.196,55.664],[-110.026,53.834],[-110.026,48.48],[-108.196,46.65],[82.12,46.65],[83.95,48.48],[83.95,53.834]],"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":[[1.077,0],[0,0],[0,1.077],[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0],[1.077,0],[0,0],[0,1.077]],"v":[[108.077,-58.084],[-108.077,-58.084],[-110.026,-60.033],[-110.026,-65.149],[-108.077,-67.098],[108.077,-67.098],[110.026,-65.149],[110.026,-60.033]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0.968,0],[0,0],[0,0.968],[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0]],"o":[[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0],[0.968,0],[0,0],[0,0.968]],"v":[[66.085,-70.211],[-108.274,-70.211],[-110.026,-71.963],[-110.026,-77.473],[-108.274,-79.225],[66.085,-79.225],[67.837,-77.473],[67.837,-71.963]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058832645,0.86274510622,0.882352948189,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,11],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Copy","np":7,"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],[0,0],[-3.949,0],[0,0],[0,-3.949]],"o":[[0,0],[0,0],[0,-3.949],[0,0],[3.949,0],[0,0]],"v":[[159.883,11.142],[-159.883,11.142],[-159.883,-3.991],[-152.732,-11.142],[152.732,-11.142],[159.883,-3.991]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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,-88],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"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":[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":"Bg","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":630,"op":910,"st":630,"bm":0},{"ddd":0,"ind":42,"ty":4,"nm":"Matte 15","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[205,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":778,"op":910,"st":529,"bm":0},{"ddd":0,"ind":43,"ty":4,"nm":"List 4","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.5,"y":1},"o":{"x":0.5,"y":0},"t":589,"s":[207.309,149.489,0],"to":[-0.092,-1.75,0],"ti":[0.092,1.75,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0,"y":0},"t":630,"s":[206.759,138.989,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":672,"s":[206.759,138.989,0],"to":[0.024,2.169,0],"ti":[-0.024,-1.661,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":687,"s":[206.903,152,0],"to":[0.024,1.661,0],"ti":[0,0.507,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0,"y":0},"t":699,"s":[206.903,148.957,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.5,"y":0},"t":778,"s":[206.903,148.957,0],"to":[27.317,0.167,0],"ti":[-27.317,-0.167,0]},{"t":840,"s":[370.803,149.957,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":589,"s":[100.5,100.5,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":630,"s":[58,58,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":672,"s":[58,58,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":687,"s":[70,70,100]},{"t":699,"s":[69,69,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.102,0],[0,0],[0,-4.063],[0,0],[0,0],[0,0]],"o":[[0,0],[4.103,0],[0,0],[0,0],[0,0],[0,-4.063]],"v":[[-152.446,10.908],[151.827,10.87],[159.255,18.227],[159.255,33.299],[-159.873,33.337],[-159.873,18.265]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.62,39.528],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[100]},{"t":523,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","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":0,"k":{"i":[[-1.006,0],[0,0],[0,-0.592],[0,0],[1.007,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[1.007,0],[0,0],[0,0.592],[0,0],[-1.006,0],[0,0],[0,-0.592]],"v":[[-91.83,9.465],[-37.221,9.502],[-35.398,10.574],[-35.398,13.253],[-37.221,14.325],[-91.83,14.287],[-93.652,13.216],[-93.652,10.537]],"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.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.618,16.638],[-64.321,16.681],[-63.287,17.753],[-63.287,19.896],[-64.321,20.967],[-92.618,20.925],[-93.652,19.853],[-93.652,17.71]],"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.798,0],[0,0],[0,-0.592],[0,0],[0.798,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.798,0],[0,0],[0,0.592],[0,0],[-0.798,0],[0,0],[0,-0.592]],"v":[[-92.207,32.291],[-74.006,32.327],[-72.561,33.399],[-72.561,36.078],[-74.006,37.149],[-92.207,37.113],[-93.653,36.041],[-93.653,33.362]],"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.446,0],[0,0],[0,-0.592],[0,0],[0.446,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.446,0],[0,0],[0,0.592],[0,0],[-0.446,0],[0,0],[0,-0.592]],"v":[[-92.845,39.464],[-52.145,39.453],[-51.337,40.524],[-51.337,42.667],[-52.145,43.739],[-92.845,43.751],[-93.653,42.679],[-93.653,40.536]],"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.531,0],[0,0],[0,-0.592],[0,0],[0.531,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.531,0],[0,0],[0,0.592],[0,0],[-0.531,0],[0,0],[0,-0.592]],"v":[[-92.73,56.118],[-47.962,56.06],[-47.001,57.131],[-47.001,59.811],[-47.962,60.882],[-92.73,60.94],[-93.69,59.868],[-93.69,57.189]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.656,63.291],[7.016,63.274],[8.05,64.345],[8.05,66.489],[7.016,67.56],[-92.656,67.578],[-93.69,66.506],[-93.69,64.363]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.852,0],[0,0],[0,-0.593],[0,0],[0.852,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.852,0],[0,0],[0,0.592],[0,0],[-0.852,0],[0,0],[0,-0.593]],"v":[[-92.164,80.593],[-36.852,80.585],[-35.309,81.657],[-35.309,84.336],[-36.852,85.407],[-92.164,85.416],[-93.706,84.344],[-93.706,81.665]],"c":true},"ix":2},"nm":"Path 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.593],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.593]],"v":[[-92.672,87.766],[46.5,87.816],[47.534,88.889],[47.534,91.031],[46.5,92.104],[-92.672,92.054],[-93.706,90.981],[-93.706,88.839]],"c":true},"ix":2},"nm":"Path 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[-0.442,0],[0,0],[0,-0.592],[0,0],[0.442,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.442,0],[0,0],[0,0.592],[0,0],[-0.442,0],[0,0],[0,-0.592]],"v":[[-92.873,104.422],[-54.131,104.404],[-53.33,105.476],[-53.33,108.155],[-54.131,109.227],[-92.873,109.245],[-93.674,108.173],[-93.674,105.494]],"c":true},"ix":2},"nm":"Path 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[-0.647,0],[0,0],[0,-0.593],[0,0],[0.646,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.646,0],[0,0],[0,0.592],[0,0],[-0.647,0],[0,0],[0,-0.593]],"v":[[-92.502,111.595],[30.08,111.582],[31.251,112.655],[31.251,114.797],[30.08,115.87],[-92.502,115.883],[-93.673,114.81],[-93.673,112.668]],"c":true},"ix":2},"nm":"Path 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.959,0],[0,0],[0,-0.592],[0,0],[0.959,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.959,0],[0,0],[0,0.592],[0,0],[-0.959,0],[0,0],[0,-0.592]],"v":[[-92.042,127.459],[-65.006,127.415],[-63.27,128.487],[-63.27,131.166],[-65.006,132.237],[-92.042,132.281],[-93.777,131.209],[-93.777,128.53]],"c":true},"ix":2},"nm":"Path 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.706,134.632],[-12.769,134.593],[-11.697,135.666],[-11.697,137.808],[-12.769,138.881],[-92.706,138.919],[-93.777,137.847],[-93.777,135.704]],"c":true},"ix":2},"nm":"Path 12","mn":"ADBE Vector Shape - Group","hd":false},{"ind":12,"ty":"sh","ix":13,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.591,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.591,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,152.326],[-36.305,152.306],[-35.234,153.379],[-35.234,156.057],[-36.305,157.129],[-92.581,157.149],[-93.652,156.077],[-93.652,153.398]],"c":true},"ix":2},"nm":"Path 13","mn":"ADBE Vector Shape - Group","hd":false},{"ind":13,"ty":"sh","ix":14,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.591],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.591],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,159.5],[40.481,159.468],[41.553,160.539],[41.553,162.683],[40.481,163.754],[-92.581,163.786],[-93.652,162.715],[-93.652,160.571]],"c":true},"ix":2},"nm":"Path 14","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[208.562,71.266],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L1","np":15,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.107],[-4.107,0]],"o":[[0,4.107],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-12.324],[-58.907,-4.888],[-66.342,-12.324],[-58.907,-19.758]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.493,-60.227],[-58.928,-52.793],[-66.363,-60.227],[-58.928,-67.662]],"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,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.51,-107.756],[-58.945,-100.322],[-66.38,-107.756],[-58.945,-115.19]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058883368,0.854902020623,0.870588295133,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":[160.956,241.646],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvGrey","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.597,-8.51],[-59.032,-1.075],[-66.467,-8.51],[-59.032,-15.945]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.526,-56.288],[-58.907,-49.354],[-66.396,-56.288],[-58.96,-63.724]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.472,-103.942],[-58.907,-96.508],[-66.342,-103.942],[-58.907,-111.377]],"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,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-127.519],[-58.907,-120.085],[-66.342,-127.519],[-58.907,-134.954]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.890196084976,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[160.956,213.88],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvBlue","np":5,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204.5,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":527,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":778,"op":910,"st":309,"bm":0},{"ddd":0,"ind":44,"ty":4,"nm":"List 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.5,"y":1},"o":{"x":0.5,"y":0},"t":589,"s":[207.309,149.489,0],"to":[-0.092,-1.75,0],"ti":[0.092,1.75,0]},{"i":{"x":0.5,"y":0.5},"o":{"x":0,"y":0},"t":630,"s":[206.759,138.989,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":672,"s":[206.759,138.989,0],"to":[0.024,2.169,0],"ti":[-0.024,-1.661,0]},{"i":{"x":0.5,"y":1},"o":{"x":0,"y":0},"t":687,"s":[206.903,152,0],"to":[0.024,1.661,0],"ti":[0,0.507,0]},{"i":{"x":0.6,"y":0.6},"o":{"x":0,"y":0},"t":699,"s":[206.903,148.957,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.5,"y":0},"t":778,"s":[206.903,148.957,0],"to":[27.317,0.167,0],"ti":[-27.317,-0.167,0]},{"t":840,"s":[370.803,149.957,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":589,"s":[100.5,100.5,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":630,"s":[58,58,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":672,"s":[58,58,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":687,"s":[70,70,100]},{"t":699,"s":[69,69,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.102,0],[0,0],[0,-4.063],[0,0],[0,0],[0,0]],"o":[[0,0],[4.103,0],[0,0],[0,0],[0,0],[0,-4.063]],"v":[[-152.446,10.908],[151.827,10.87],[159.255,18.227],[159.255,33.299],[-159.873,33.337],[-159.873,18.265]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.62,39.528],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[100]},{"t":523,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","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":[[-1.006,0],[0,0],[0,-0.592],[0,0],[1.007,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[1.007,0],[0,0],[0,0.592],[0,0],[-1.006,0],[0,0],[0,-0.592]],"v":[[-91.83,9.465],[-37.221,9.502],[-35.398,10.574],[-35.398,13.253],[-37.221,14.325],[-91.83,14.287],[-93.652,13.216],[-93.652,10.537]],"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.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.618,16.638],[-64.321,16.681],[-63.287,17.753],[-63.287,19.896],[-64.321,20.967],[-92.618,20.925],[-93.652,19.853],[-93.652,17.71]],"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.798,0],[0,0],[0,-0.592],[0,0],[0.798,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.798,0],[0,0],[0,0.592],[0,0],[-0.798,0],[0,0],[0,-0.592]],"v":[[-92.207,32.291],[-74.006,32.327],[-72.561,33.399],[-72.561,36.078],[-74.006,37.149],[-92.207,37.113],[-93.653,36.041],[-93.653,33.362]],"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.446,0],[0,0],[0,-0.592],[0,0],[0.446,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.446,0],[0,0],[0,0.592],[0,0],[-0.446,0],[0,0],[0,-0.592]],"v":[[-92.845,39.464],[-52.145,39.453],[-51.337,40.524],[-51.337,42.667],[-52.145,43.739],[-92.845,43.751],[-93.653,42.679],[-93.653,40.536]],"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.531,0],[0,0],[0,-0.592],[0,0],[0.531,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.531,0],[0,0],[0,0.592],[0,0],[-0.531,0],[0,0],[0,-0.592]],"v":[[-92.73,56.118],[-47.962,56.06],[-47.001,57.131],[-47.001,59.811],[-47.962,60.882],[-92.73,60.94],[-93.69,59.868],[-93.69,57.189]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.656,63.291],[7.016,63.274],[8.05,64.345],[8.05,66.489],[7.016,67.56],[-92.656,67.578],[-93.69,66.506],[-93.69,64.363]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.852,0],[0,0],[0,-0.593],[0,0],[0.852,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.852,0],[0,0],[0,0.592],[0,0],[-0.852,0],[0,0],[0,-0.593]],"v":[[-92.164,80.593],[-36.852,80.585],[-35.309,81.657],[-35.309,84.336],[-36.852,85.407],[-92.164,85.416],[-93.706,84.344],[-93.706,81.665]],"c":true},"ix":2},"nm":"Path 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.593],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.593]],"v":[[-92.672,87.766],[46.5,87.816],[47.534,88.889],[47.534,91.031],[46.5,92.104],[-92.672,92.054],[-93.706,90.981],[-93.706,88.839]],"c":true},"ix":2},"nm":"Path 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[-0.442,0],[0,0],[0,-0.592],[0,0],[0.442,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.442,0],[0,0],[0,0.592],[0,0],[-0.442,0],[0,0],[0,-0.592]],"v":[[-92.873,104.422],[-54.131,104.404],[-53.33,105.476],[-53.33,108.155],[-54.131,109.227],[-92.873,109.245],[-93.674,108.173],[-93.674,105.494]],"c":true},"ix":2},"nm":"Path 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[-0.647,0],[0,0],[0,-0.593],[0,0],[0.646,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.646,0],[0,0],[0,0.592],[0,0],[-0.647,0],[0,0],[0,-0.593]],"v":[[-92.502,111.595],[30.08,111.582],[31.251,112.655],[31.251,114.797],[30.08,115.87],[-92.502,115.883],[-93.673,114.81],[-93.673,112.668]],"c":true},"ix":2},"nm":"Path 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.959,0],[0,0],[0,-0.592],[0,0],[0.959,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.959,0],[0,0],[0,0.592],[0,0],[-0.959,0],[0,0],[0,-0.592]],"v":[[-92.042,127.459],[-65.006,127.415],[-63.27,128.487],[-63.27,131.166],[-65.006,132.237],[-92.042,132.281],[-93.777,131.209],[-93.777,128.53]],"c":true},"ix":2},"nm":"Path 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.706,134.632],[-12.769,134.593],[-11.697,135.666],[-11.697,137.808],[-12.769,138.881],[-92.706,138.919],[-93.777,137.847],[-93.777,135.704]],"c":true},"ix":2},"nm":"Path 12","mn":"ADBE Vector Shape - Group","hd":false},{"ind":12,"ty":"sh","ix":13,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.591,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.591,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,152.326],[-36.305,152.306],[-35.234,153.379],[-35.234,156.057],[-36.305,157.129],[-92.581,157.149],[-93.652,156.077],[-93.652,153.398]],"c":true},"ix":2},"nm":"Path 13","mn":"ADBE Vector Shape - Group","hd":false},{"ind":13,"ty":"sh","ix":14,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.591],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.591],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,159.5],[40.481,159.468],[41.553,160.539],[41.553,162.683],[40.481,163.754],[-92.581,163.786],[-93.652,162.715],[-93.652,160.571]],"c":true},"ix":2},"nm":"Path 14","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":517,"s":[188.562,71.266],"to":[3.333,0],"ti":[-3.333,0]},{"t":527,"s":[208.562,71.266]}],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":520,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L1","np":15,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.107],[-4.107,0]],"o":[[0,4.107],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-12.324],[-58.907,-4.888],[-66.342,-12.324],[-58.907,-19.758]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.493,-60.227],[-58.928,-52.793],[-66.363,-60.227],[-58.928,-67.662]],"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,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.51,-107.756],[-58.945,-100.322],[-66.38,-107.756],[-58.945,-115.19]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058883368,0.854902020623,0.870588295133,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":517,"s":[140.956,241.646],"to":[3.333,0],"ti":[-3.333,0]},{"t":527,"s":[160.956,241.646]}],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":520,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.597,-8.51],[-59.032,-1.075],[-66.467,-8.51],[-59.032,-15.945]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.526,-56.288],[-58.907,-49.354],[-66.396,-56.288],[-58.96,-63.724]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.472,-103.942],[-58.907,-96.508],[-66.342,-103.942],[-58.907,-111.377]],"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,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-127.519],[-58.907,-120.085],[-66.342,-127.519],[-58.907,-134.954]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.890196084976,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":517,"s":[140.956,213.88],"to":[3.333,0],"ti":[-3.333,0]},{"t":527,"s":[160.956,213.88]}],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":520,"s":[0]},{"t":527,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvBlue","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204.5,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":517,"s":[0]},{"t":522,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":517,"op":778,"st":309,"bm":0},{"ddd":0,"ind":45,"ty":4,"nm":"OV_BG","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,147.925,0],"ix":2,"l":2},"a":{"a":0,"k":[-2.043,-2.075,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,-4.912],[0,0],[4.912,0],[0,0],[0,4.912],[0,0],[-4.912,0],[0,0]],"o":[[0,0],[0,4.912],[0,0],[-4.912,0],[0,0],[0,-4.912],[0,0],[4.912,0]],"v":[[166.473,-89.274],[166.473,94.935],[157.58,103.828],[-154.386,103.82],[-163.279,94.927],[-163.279,-89.282],[-154.386,-98.175],[157.58,-98.167]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":[-3.59,-1.696],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[98.392,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":589,"op":2389,"st":589,"bm":0},{"ddd":0,"ind":46,"ty":1,"nm":"Royal Blue Solid 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":365,"s":[40]},{"t":385,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,134.5,0],"ix":2,"l":2},"a":{"a":0,"k":[162.5,12.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"s","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.4,"y":0},"t":350,"s":[{"i":[[6.187,0],[0,-6.187],[-6.187,0],[0,6.187]],"o":[[-6.187,0],[0,6.187],[6.187,0],[0,-6.187]],"v":[[83.798,0.563],[72.595,11.766],[83.798,22.968],[95,11.766]],"c":true}]},{"t":385,"s":[{"i":[[142.619,0],[0,-142.619],[-142.619,0],[0,142.619]],"o":[[-142.619,0],[0,142.619],[142.619,0],[0,-142.619]],"v":[[83.798,-246.468],[-174.436,11.766],[83.798,270],[342.032,11.766]],"c":true}]}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"sw":325,"sh":25,"sc":"#2c7de8","ip":350,"op":2119,"st":319,"bm":0},{"ddd":0,"ind":47,"ty":4,"nm":"List","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.309,149.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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.102,0],[0,0],[0,-4.063],[0,0],[0,0],[0,0]],"o":[[0,0],[4.103,0],[0,0],[0,0],[0,0],[0,-4.063]],"v":[[-152.446,10.908],[151.827,10.87],[159.255,18.227],[159.255,33.299],[-159.873,33.337],[-159.873,18.265]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.62,39.528],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":309,"s":[100]},{"t":315,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","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":[[-1.006,0],[0,0],[0,-0.592],[0,0],[1.007,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[1.007,0],[0,0],[0,0.592],[0,0],[-1.006,0],[0,0],[0,-0.592]],"v":[[-91.83,9.465],[-37.221,9.502],[-35.398,10.574],[-35.398,13.253],[-37.221,14.325],[-91.83,14.287],[-93.652,13.216],[-93.652,10.537]],"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.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.618,16.638],[-64.321,16.681],[-63.287,17.753],[-63.287,19.896],[-64.321,20.967],[-92.618,20.925],[-93.652,19.853],[-93.652,17.71]],"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.798,0],[0,0],[0,-0.592],[0,0],[0.798,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.798,0],[0,0],[0,0.592],[0,0],[-0.798,0],[0,0],[0,-0.592]],"v":[[-92.207,32.291],[-74.006,32.327],[-72.561,33.399],[-72.561,36.078],[-74.006,37.149],[-92.207,37.113],[-93.653,36.041],[-93.653,33.362]],"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.446,0],[0,0],[0,-0.592],[0,0],[0.446,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.446,0],[0,0],[0,0.592],[0,0],[-0.446,0],[0,0],[0,-0.592]],"v":[[-92.845,39.464],[-52.145,39.453],[-51.337,40.524],[-51.337,42.667],[-52.145,43.739],[-92.845,43.751],[-93.653,42.679],[-93.653,40.536]],"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.531,0],[0,0],[0,-0.592],[0,0],[0.531,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.531,0],[0,0],[0,0.592],[0,0],[-0.531,0],[0,0],[0,-0.592]],"v":[[-92.73,56.118],[-47.962,56.06],[-47.001,57.131],[-47.001,59.811],[-47.962,60.882],[-92.73,60.94],[-93.69,59.868],[-93.69,57.189]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.592],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.592]],"v":[[-92.656,63.291],[7.016,63.274],[8.05,64.345],[8.05,66.489],[7.016,67.56],[-92.656,67.578],[-93.69,66.506],[-93.69,64.363]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.852,0],[0,0],[0,-0.593],[0,0],[0.852,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.852,0],[0,0],[0,0.592],[0,0],[-0.852,0],[0,0],[0,-0.593]],"v":[[-92.164,80.593],[-36.852,80.585],[-35.309,81.657],[-35.309,84.336],[-36.852,85.407],[-92.164,85.416],[-93.706,84.344],[-93.706,81.665]],"c":true},"ix":2},"nm":"Path 7","mn":"ADBE Vector Shape - Group","hd":false},{"ind":7,"ty":"sh","ix":8,"ks":{"a":0,"k":{"i":[[-0.571,0],[0,0],[0,-0.593],[0,0],[0.571,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.571,0],[0,0],[0,0.592],[0,0],[-0.571,0],[0,0],[0,-0.593]],"v":[[-92.672,87.766],[46.5,87.816],[47.534,88.889],[47.534,91.031],[46.5,92.104],[-92.672,92.054],[-93.706,90.981],[-93.706,88.839]],"c":true},"ix":2},"nm":"Path 8","mn":"ADBE Vector Shape - Group","hd":false},{"ind":8,"ty":"sh","ix":9,"ks":{"a":0,"k":{"i":[[-0.442,0],[0,0],[0,-0.592],[0,0],[0.442,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.442,0],[0,0],[0,0.592],[0,0],[-0.442,0],[0,0],[0,-0.592]],"v":[[-92.873,104.422],[-54.131,104.404],[-53.33,105.476],[-53.33,108.155],[-54.131,109.227],[-92.873,109.245],[-93.674,108.173],[-93.674,105.494]],"c":true},"ix":2},"nm":"Path 9","mn":"ADBE Vector Shape - Group","hd":false},{"ind":9,"ty":"sh","ix":10,"ks":{"a":0,"k":{"i":[[-0.647,0],[0,0],[0,-0.593],[0,0],[0.646,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.646,0],[0,0],[0,0.592],[0,0],[-0.647,0],[0,0],[0,-0.593]],"v":[[-92.502,111.595],[30.08,111.582],[31.251,112.655],[31.251,114.797],[30.08,115.87],[-92.502,115.883],[-93.673,114.81],[-93.673,112.668]],"c":true},"ix":2},"nm":"Path 10","mn":"ADBE Vector Shape - Group","hd":false},{"ind":10,"ty":"sh","ix":11,"ks":{"a":0,"k":{"i":[[-0.959,0],[0,0],[0,-0.592],[0,0],[0.959,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.959,0],[0,0],[0,0.592],[0,0],[-0.959,0],[0,0],[0,-0.592]],"v":[[-92.042,127.459],[-65.006,127.415],[-63.27,128.487],[-63.27,131.166],[-65.006,132.237],[-92.042,132.281],[-93.777,131.209],[-93.777,128.53]],"c":true},"ix":2},"nm":"Path 11","mn":"ADBE Vector Shape - Group","hd":false},{"ind":11,"ty":"sh","ix":12,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.706,134.632],[-12.769,134.593],[-11.697,135.666],[-11.697,137.808],[-12.769,138.881],[-92.706,138.919],[-93.777,137.847],[-93.777,135.704]],"c":true},"ix":2},"nm":"Path 12","mn":"ADBE Vector Shape - Group","hd":false},{"ind":12,"ty":"sh","ix":13,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.591,0],[0,0],[0,0.592],[0,0]],"o":[[0,0],[0.591,0],[0,0],[0,0.592],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,152.326],[-36.305,152.306],[-35.234,153.379],[-35.234,156.057],[-36.305,157.129],[-92.581,157.149],[-93.652,156.077],[-93.652,153.398]],"c":true},"ix":2},"nm":"Path 13","mn":"ADBE Vector Shape - Group","hd":false},{"ind":13,"ty":"sh","ix":14,"ks":{"a":0,"k":{"i":[[-0.592,0],[0,0],[0,-0.593],[0,0],[0.592,0],[0,0],[0,0.591],[0,0]],"o":[[0,0],[0.592,0],[0,0],[0,0.591],[0,0],[-0.592,0],[0,0],[0,-0.593]],"v":[[-92.581,159.5],[40.481,159.468],[41.553,160.539],[41.553,162.683],[40.481,163.754],[-92.581,163.786],[-93.652,162.715],[-93.652,160.571]],"c":true},"ix":2},"nm":"Path 14","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":309,"s":[188.562,71.266],"to":[3.333,0],"ti":[-3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":319,"s":[208.562,71.266],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":386,"s":[208.562,71.266],"to":[-3.333,0],"ti":[3.333,0]},{"t":396,"s":[188.562,71.266]}],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":315,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":319,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":386,"s":[100]},{"t":392,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"L1","np":15,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.106],[4.106,0],[0,4.107],[-4.107,0]],"o":[[0,4.107],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-12.324],[-58.907,-4.888],[-66.342,-12.324],[-58.907,-19.758]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.493,-60.227],[-58.928,-52.793],[-66.363,-60.227],[-58.928,-67.662]],"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,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.51,-107.756],[-58.945,-100.322],[-66.38,-107.756],[-58.945,-115.19]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847058883368,0.854902020623,0.870588295133,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":309,"s":[140.956,241.646],"to":[3.333,0],"ti":[-3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":319,"s":[160.956,241.646],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":386,"s":[160.956,241.646],"to":[-3.333,0],"ti":[3.333,0]},{"t":396,"s":[140.956,241.646]}],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":315,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":319,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":386,"s":[100]},{"t":392,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.597,-8.51],[-59.032,-1.075],[-66.467,-8.51],[-59.032,-15.945]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.526,-56.288],[-58.907,-49.354],[-66.396,-56.288],[-58.96,-63.724]],"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,-4.107],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.107],[4.106,0]],"v":[[-51.472,-103.942],[-58.907,-96.508],[-66.342,-103.942],[-58.907,-111.377]],"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,-4.106],[4.106,0],[0,4.106],[-4.107,0]],"o":[[0,4.106],[-4.107,0],[0,-4.106],[4.106,0]],"v":[[-51.472,-127.519],[-58.907,-120.085],[-66.342,-127.519],[-58.907,-134.954]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.890196084976,0.996078431606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 3","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":309,"s":[140.956,213.88],"to":[3.333,0],"ti":[-3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":319,"s":[160.956,213.88],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":386,"s":[160.956,213.88],"to":[-3.333,0],"ti":[3.333,0]},{"t":396,"s":[140.956,213.88]}],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":315,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":319,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":386,"s":[100]},{"t":392,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvBlue","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[204.5,150],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":309,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":319,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":390,"s":[100]},{"t":395,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":309,"op":402,"st":309,"bm":0},{"ddd":0,"ind":48,"ty":4,"nm":"Matte 4","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.309,150.364,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":390,"op":529,"st":390,"bm":0},{"ddd":0,"ind":49,"ty":4,"nm":"Text 3","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.687,-9.352],[4.676,-11.363],[-6.687,0],[4.676,11.363],[6.687,9.352],[-2.665,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.231372563979,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.5,"y":0},"t":462,"s":[412.657,162.625],"to":[-3.473,0],"ti":[3.473,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":498,"s":[391.818,162.625],"to":[0,0],"ti":[0,0]},{"i":{"x":0.338,"y":1},"o":{"x":0.465,"y":0},"t":513,"s":[391.818,162.625],"to":[0,0],"ti":[0,0]},{"t":521,"s":[417.526,162.625]}],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":473,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":481,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":514,"s":[100]},{"t":519,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 25","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":[[-5.116,0],[0,0],[0,-5.116],[0,0],[0,0],[0,0]],"o":[[0,0],[5.116,0],[0,0],[0,0],[0,0],[0,-5.116]],"v":[[-190.915,-13.649],[190.934,-13.721],[200.198,-4.457],[200.198,14.522],[-200.179,14.594],[-200.179,-4.385]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.523,40.213],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","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":0,"k":{"i":[[0,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.597,-65.09],[-83.2,-72.487],[-13.378,-72.501],[-5.979,-65.104],[-13.378,-57.707],[-83.2,-57.693]],"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,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.595,4.635],[-83.198,-2.762],[-28.418,-2.767],[-21.02,4.63],[-28.418,12.027],[-83.198,12.032]],"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,4.037],[-4.036,0],[0,0],[0,-4.035],[4.035,0],[0,0]],"o":[[0,-4.035],[0,0],[4.035,0],[0,4.037],[0,0],[-4.036,0]],"v":[[-89.959,72.522],[-82.65,65.215],[-13.78,65.26],[-6.472,72.567],[-13.78,79.874],[-82.65,79.829]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":390,"s":[204,119.04],"to":[-3.338,0],"ti":[3.338,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":404,"s":[183.975,119.04],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":513,"s":[183.975,119.04],"to":[3.333,0],"ti":[-3.333,0]},{"t":522,"s":[203.975,119.04]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.573,-129.125],[-26.057,-121.641],[-33.541,-129.125],[-26.057,-136.609]],"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,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.556,-59.478],[-26.04,-51.995],[-33.523,-59.478],[-26.04,-66.962]],"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,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.542,8.367],[-26.026,15.85],[-33.51,8.367],[-26.026,0.883]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":390,"s":[127.855,183.187],"to":[-3.333,0],"ti":[3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":404,"s":[107.855,183.187],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":513,"s":[107.855,183.187],"to":[3.333,0],"ti":[-3.333,0]},{"t":522,"s":[127.855,183.187]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.208],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.163],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.208],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.383,-21.033],[-23.767,-26.985],[-21.3,-29.452],[-15.348,-30.068],[51.285,-30.068],[57.237,-29.452],[59.704,-26.985],[60.32,-21.033],[60.32,-3.967],[59.704,1.985],[57.237,4.452],[51.285,5.068],[-15.348,5.068],[-21.3,4.452],[-23.767,1.985],[-24.383,-3.967]],"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,3.632],[-3.632,0],[0,0],[-1.407,-0.717],[-0.631,-1.237],[0,-3.682],[0,0],[0.16,-0.313],[0.275,-0.14],[0.819,0],[0,0]],"o":[[0,-3.632],[0,0],[3.682,0],[1.237,0.63],[0.717,1.407],[0,0],[0,0.819],[-0.14,0.275],[-0.312,0.16],[0,0],[-3.632,0]],"v":[[-6.103,41.588],[0.471,35.012],[49.239,35.003],[56.168,35.72],[59.04,38.594],[59.758,45.523],[59.758,45.815],[59.598,47.356],[58.96,47.994],[57.42,48.153],[0.471,48.163]],"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.616,1.208],[-1.062,0.542],[-3.162,0],[0,0],[-0.268,-0.137],[-0.12,-0.236],[0,-0.703],[0,0],[0.616,-1.208],[1.062,-0.542],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.615],[0,0],[0.703,0],[0.236,0.12],[0.137,0.268],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.542],[-0.616,-1.208],[0,0]],"v":[[-24.476,60.39],[-23.86,54.438],[-21.393,51.97],[-15.441,51.355],[58.219,51.355],[59.542,51.492],[60.09,52.04],[60.227,53.363],[60.227,65.535],[59.611,71.487],[57.143,73.954],[51.192,74.57],[-15.441,74.57],[-21.393,73.954],[-23.86,71.487],[-24.476,65.535]],"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.616,1.209],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.162],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.162],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.209],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.476,116.792],[-23.86,110.84],[-21.393,108.373],[-15.441,107.757],[50.567,107.777],[56.518,108.393],[58.986,110.86],[59.602,116.812],[59.602,121.957],[58.986,127.909],[56.518,130.376],[50.567,130.992],[-15.441,130.972],[-21.393,130.356],[-23.86,127.889],[-24.476,121.937]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843197093,0.89019613827,0.996078491211,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":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":390,"s":[295.15,100.532],"to":[-3.333,0],"ti":[3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":404,"s":[275.15,100.532],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":513,"s":[275.15,100.532],"to":[3.333,0],"ti":[-3.333,0]},{"t":522,"s":[295.15,100.532]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleBlue","np":5,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.812,0],[0,0],[0,-3.812],[3.811,0],[0,0],[0,3.812]],"o":[[0,0],[3.811,0],[0,3.812],[0,0],[-3.812,0],[0,-3.812]],"v":[[-130.188,-3.777],[123.314,-3.842],[130.215,3.06],[123.314,9.962],[-130.188,10.027],[-137.09,3.125]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":390,"s":[224.5,247.036],"to":[-3.333,0],"ti":[3.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":404,"s":[204.5,247.036],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":513,"s":[204.5,247.036],"to":[3.333,0],"ti":[-3.333,0]},{"t":522,"s":[224.5,247.036]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Field","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[400,250],"ix":2},"p":{"a":0,"k":[204,151],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Bg","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}],"ip":390,"op":529,"st":10,"bm":0},{"ddd":0,"ind":50,"ty":4,"nm":"Matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.809,150.364,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[320,200],"ix":2},"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":0,"k":8,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":182,"op":321,"st":182,"bm":0},{"ddd":0,"ind":51,"ty":4,"nm":"Text 2","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.667,"y":1},"o":{"x":0.333,"y":0},"t":305,"s":[206.809,148.489,0],"to":[3.333,0,0],"ti":[-3.333,0,0]},{"t":320,"s":[226.809,148.489,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,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":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[6.687,-9.352],[4.676,-11.363],[-6.687,0],[4.676,11.363],[6.687,9.352],[-2.665,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.231372563979,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.5,"y":0},"t":256,"s":[-4.592,162.625],"to":[4.333,0],"ti":[-4.333,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":292,"s":[21.408,162.625],"to":[0,0],"ti":[0,0]},{"i":{"x":0.338,"y":1},"o":{"x":0.465,"y":0},"t":305,"s":[21.408,162.625],"to":[0,0],"ti":[0,0]},{"t":315,"s":[-4.592,162.625]}],"ix":2},"a":{"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":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":267,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":275,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":308,"s":[100]},{"t":313,"s":[0]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 25","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":[[-5.116,0],[0,0],[0,-5.116],[0,0],[0,0],[0,0]],"o":[[0,0],[5.116,0],[0,0],[0,0],[0,0],[0,-5.116]],"v":[[-190.915,-13.649],[190.934,-13.721],[200.198,-4.457],[200.198,14.522],[-200.179,14.594],[-200.179,-4.385]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[204.523,40.213],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","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":0,"k":{"i":[[0,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.597,-65.09],[-83.2,-72.487],[-13.378,-72.501],[-5.979,-65.104],[-13.378,-57.707],[-83.2,-57.693]],"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,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.595,4.635],[-83.198,-2.762],[-28.418,-2.767],[-21.02,4.63],[-28.418,12.027],[-83.198,12.032]],"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,4.037],[-4.036,0],[0,0],[0,-4.035],[4.035,0],[0,0]],"o":[[0,-4.035],[0,0],[4.035,0],[0,4.037],[0,0],[-4.036,0]],"v":[[-89.959,72.522],[-82.65,65.215],[-13.78,65.26],[-6.472,72.567],[-13.78,79.874],[-82.65,79.829]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,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":[183.975,119.04],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.573,-129.125],[-26.057,-121.641],[-33.541,-129.125],[-26.057,-136.609]],"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,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.556,-59.478],[-26.04,-51.995],[-33.523,-59.478],[-26.04,-66.962]],"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,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.542,8.367],[-26.026,15.85],[-33.51,8.367],[-26.026,0.883]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[107.855,183.187],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.208],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.163],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.208],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.383,-21.033],[-23.767,-26.985],[-21.3,-29.452],[-15.348,-30.068],[51.285,-30.068],[57.237,-29.452],[59.704,-26.985],[60.32,-21.033],[60.32,-3.967],[59.704,1.985],[57.237,4.452],[51.285,5.068],[-15.348,5.068],[-21.3,4.452],[-23.767,1.985],[-24.383,-3.967]],"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,3.632],[-3.632,0],[0,0],[-1.407,-0.717],[-0.631,-1.237],[0,-3.682],[0,0],[0.16,-0.313],[0.275,-0.14],[0.819,0],[0,0]],"o":[[0,-3.632],[0,0],[3.682,0],[1.237,0.63],[0.717,1.407],[0,0],[0,0.819],[-0.14,0.275],[-0.312,0.16],[0,0],[-3.632,0]],"v":[[-6.103,41.588],[0.471,35.012],[49.239,35.003],[56.168,35.72],[59.04,38.594],[59.758,45.523],[59.758,45.815],[59.598,47.356],[58.96,47.994],[57.42,48.153],[0.471,48.163]],"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.616,1.208],[-1.062,0.542],[-3.162,0],[0,0],[-0.268,-0.137],[-0.12,-0.236],[0,-0.703],[0,0],[0.616,-1.208],[1.062,-0.542],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.615],[0,0],[0.703,0],[0.236,0.12],[0.137,0.268],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.542],[-0.616,-1.208],[0,0]],"v":[[-24.476,60.39],[-23.86,54.438],[-21.393,51.97],[-15.441,51.355],[58.219,51.355],[59.542,51.492],[60.09,52.04],[60.227,53.363],[60.227,65.535],[59.611,71.487],[57.143,73.954],[51.192,74.57],[-15.441,74.57],[-21.393,73.954],[-23.86,71.487],[-24.476,65.535]],"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.616,1.209],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.162],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.162],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.209],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.476,116.792],[-23.86,110.84],[-21.393,108.373],[-15.441,107.757],[50.567,107.777],[56.518,108.393],[58.986,110.86],[59.602,116.812],[59.602,121.957],[58.986,127.909],[56.518,130.376],[50.567,130.992],[-15.441,130.972],[-21.393,130.356],[-23.86,127.889],[-24.476,121.937]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843197093,0.89019613827,0.996078491211,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":[275.15,100.532],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleBlue","np":5,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.812,0],[0,0],[0,-3.812],[3.811,0],[0,0],[0,3.812]],"o":[[0,0],[3.811,0],[0,3.812],[0,0],[-3.812,0],[0,-3.812]],"v":[[-130.188,-3.777],[123.314,-3.842],[130.215,3.06],[123.314,9.962],[-130.188,10.027],[-137.09,3.125]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.909803981407,0.917647118662,0.929411824544,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[204.5,247.036],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Field","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[410,255],"ix":2},"p":{"a":0,"k":[204,151],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Bg","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}],"ip":182,"op":321,"st":10,"bm":0},{"ddd":0,"ind":52,"ty":4,"nm":"Matte","td":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.05,"y":1},"o":{"x":0.3,"y":0},"t":160,"s":[223.934,225.916,0],"to":[-11.042,-1.708,0],"ti":[-0.083,37.333,0]},{"t":182,"s":[207.809,150.364,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.05,0.05,0.2],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.4],"y":[0,0,0]},"t":160,"s":[10.5,10.5,100]},{"t":182,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.319,0.319],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":163,"s":[130,130]},{"t":172,"s":[320,200]}],"ix":2},"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.319],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":163,"s":[93]},{"t":172,"s":[8]}],"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":160,"op":183,"st":160,"bm":0},{"ddd":0,"ind":53,"ty":4,"nm":"Text","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.05,"y":1},"o":{"x":0.3,"y":0},"t":160,"s":[223.738,226.114,0],"to":[-13.873,-4.542,0],"ti":[0.498,38.167,0]},{"t":182,"s":[206.809,148.489,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.05,0.05,0.2],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.4],"y":[0,0,0]},"t":160,"s":[11.5,11.5,100]},{"t":182,"s":[80,80,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-5.116,0],[0,0],[0,-5.116],[0,0],[0,0],[0,0]],"o":[[0,0],[5.116,0],[0,0],[0,0],[0,0],[0,-5.116]],"v":[[-190.915,-13.649],[190.934,-13.721],[200.198,-4.457],[200.198,14.522],[-200.179,14.594],[-200.179,-4.385]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.909803981407,0.917647118662,0.929411824544,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":[204.523,40.213],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Header","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,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.597,-65.09],[-83.2,-72.487],[-13.378,-72.501],[-5.979,-65.104],[-13.378,-57.707],[-83.2,-57.693]],"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,4.086],[-4.086,0],[0,0],[0,-4.086],[4.086,0],[0,0]],"o":[[0,-4.086],[0,0],[4.086,0],[0,4.086],[0,0],[-4.086,0]],"v":[[-90.595,4.635],[-83.198,-2.762],[-28.418,-2.767],[-21.02,4.63],[-28.418,12.027],[-83.198,12.032]],"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,4.037],[-4.036,0],[0,0],[0,-4.035],[4.035,0],[0,0]],"o":[[0,-4.035],[0,0],[4.035,0],[0,4.037],[0,0],[-4.036,0]],"v":[[-89.959,72.522],[-82.65,65.215],[-13.78,65.26],[-6.472,72.567],[-13.78,79.874],[-82.65,79.829]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.909803981407,0.917647118662,0.929411824544,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":[183.975,119.04],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleGrey","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.573,-129.125],[-26.057,-121.641],[-33.541,-129.125],[-26.057,-136.609]],"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,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.556,-59.478],[-26.04,-51.995],[-33.523,-59.478],[-26.04,-66.962]],"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,-4.133],[4.133,0],[0,4.133],[-4.133,0]],"o":[[0,4.133],[-4.133,0],[0,-4.133],[4.133,0]],"v":[[-18.542,8.367],[-26.026,15.85],[-33.51,8.367],[-26.026,0.883]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.741176486015,0.75686275959,0.776470601559,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":[107.855,183.187],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"AvatarGrey","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.616,1.208],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.163],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.208],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.383,-21.033],[-23.767,-26.985],[-21.3,-29.452],[-15.348,-30.068],[51.285,-30.068],[57.237,-29.452],[59.704,-26.985],[60.32,-21.033],[60.32,-3.967],[59.704,1.985],[57.237,4.452],[51.285,5.068],[-15.348,5.068],[-21.3,4.452],[-23.767,1.985],[-24.383,-3.967]],"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,3.632],[-3.632,0],[0,0],[-1.407,-0.717],[-0.631,-1.237],[0,-3.682],[0,0],[0.16,-0.313],[0.275,-0.14],[0.819,0],[0,0]],"o":[[0,-3.632],[0,0],[3.682,0],[1.237,0.63],[0.717,1.407],[0,0],[0,0.819],[-0.14,0.275],[-0.312,0.16],[0,0],[-3.632,0]],"v":[[-6.103,41.588],[0.471,35.012],[49.239,35.003],[56.168,35.72],[59.04,38.594],[59.758,45.523],[59.758,45.815],[59.598,47.356],[58.96,47.994],[57.42,48.153],[0.471,48.163]],"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.616,1.208],[-1.062,0.542],[-3.162,0],[0,0],[-0.268,-0.137],[-0.12,-0.236],[0,-0.703],[0,0],[0.616,-1.208],[1.062,-0.542],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.163],[0.541,-1.063],[1.209,-0.615],[0,0],[0.703,0],[0.236,0.12],[0.137,0.268],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.542],[-0.616,-1.208],[0,0]],"v":[[-24.476,60.39],[-23.86,54.438],[-21.393,51.97],[-15.441,51.355],[58.219,51.355],[59.542,51.492],[60.09,52.04],[60.227,53.363],[60.227,65.535],[59.611,71.487],[57.143,73.954],[51.192,74.57],[-15.441,74.57],[-21.393,73.954],[-23.86,71.487],[-24.476,65.535]],"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.616,1.209],[-1.062,0.541],[-3.162,0],[0,0],[-1.208,-0.616],[-0.541,-1.063],[0,-3.162],[0,0],[0.616,-1.208],[1.062,-0.541],[3.163,0],[0,0],[1.209,0.616],[0.541,1.062],[0,3.163]],"o":[[0,-3.162],[0.541,-1.063],[1.209,-0.616],[0,0],[3.163,0],[1.062,0.541],[0.616,1.209],[0,0],[0,3.163],[-0.541,1.062],[-1.208,0.616],[0,0],[-3.162,0],[-1.062,-0.541],[-0.616,-1.208],[0,0]],"v":[[-24.476,116.792],[-23.86,110.84],[-21.393,108.373],[-15.441,107.757],[50.567,107.777],[56.518,108.393],[58.986,110.86],[59.602,116.812],[59.602,121.957],[58.986,127.909],[56.518,130.376],[50.567,130.992],[-15.441,130.972],[-21.393,130.356],[-23.86,127.889],[-24.476,121.937]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.807843197093,0.89019613827,0.996078491211,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":[275.15,100.532],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"BubbleBlue","np":5,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.812,0],[0,0],[0,-3.812],[3.811,0],[0,0],[0,3.812]],"o":[[0,0],[3.811,0],[0,3.812],[0,0],[-3.812,0],[0,-3.812]],"v":[[-130.188,-3.777],[123.314,-3.842],[130.215,3.06],[123.314,9.962],[-130.188,10.027],[-137.09,3.125]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[0.909803981407,0.917647118662,0.929411824544,1]}],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[204.5,247.036],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Field","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[410,255],"ix":2},"p":{"a":0,"k":[204,151],"ix":3},"r":{"a":0,"k":9,"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":162,"s":[0.980392217636,0.823529481888,0.811764776707,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":168,"s":[1,1,1,1]},{"t":180,"s":[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}],"ip":160,"op":183,"st":10,"bm":0},{"ddd":0,"ind":54,"ty":4,"nm":"Matte","td":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.2,"y":1},"o":{"x":0.65,"y":0},"t":60,"s":[207.809,150.739,0],"to":[-3.333,0.167,0],"ti":[-0.167,-67.167,0]},{"t":90,"s":[201.684,229.541,0]}],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.2,0.2,0.2],"y":[1,1,1]},"o":{"x":[0.65,0.65,0.4],"y":[0,0,0]},"t":60,"s":[101,101,100]},{"t":90,"s":[11.5,11.5,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.425,0.433],"y":[1,1]},"o":{"x":[0.455,0.463],"y":[0,0]},"t":66,"s":[320,200]},{"t":85,"s":[120,120]}],"ix":2},"p":{"a":0,"k":[204,149],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.425],"y":[1]},"o":{"x":[0.455],"y":[0]},"t":66,"s":[8]},{"t":85,"s":[93]}],"ix":4},"nm":"Bg","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.315594613552,0.315594613552,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":91,"st":0,"bm":0},{"ddd":0,"ind":55,"ty":4,"nm":"News Article UI 3","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.2,"y":1},"o":{"x":0.65,"y":0},"t":60,"s":[206,150.802,0],"to":[-3.083,0.292,0],"ti":[0.083,-58.917,0]},{"t":90,"s":[201.5,229.302,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.2,0.2,0.2],"y":[1,1,1]},"o":{"x":[0.65,0.65,0.4],"y":[0,0,0]},"t":60,"s":[100,100,100]},{"t":90,"s":[11,11,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.828,0],[0,0],[0,2.828],[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0]],"o":[[0,0],[-2.828,0],[0,0],[0,-2.828],[0,0],[2.828,0],[0,0],[0,2.828]],"v":[[104.906,37.499],[-104.906,37.499],[-110.026,32.379],[-110.026,-32.379],[-104.906,-37.499],[104.906,-37.499],[110.026,-32.379],[110.026,32.379]],"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.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,68.098],[-108.363,68.098],[-110.026,66.435],[-110.026,60.747],[-108.363,59.084],[48.62,59.084],[50.283,60.747],[50.283,66.435]],"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.919,0],[0,0],[0,0.919],[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0]],"o":[[0,0],[-0.919,0],[0,0],[0,-0.919],[0,0],[0.919,0],[0,0],[0,0.919]],"v":[[48.62,-45.957],[-108.363,-45.957],[-110.026,-47.621],[-110.026,-53.308],[-108.363,-54.971],[48.62,-54.971],[50.283,-53.308],[50.283,-47.621]],"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":[[1.011,0],[0,0],[0,1.011],[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0]],"o":[[0,0],[-1.011,0],[0,0],[0,-1.011],[0,0],[1.011,0],[0,0],[0,1.011]],"v":[[82.12,55.664],[-108.196,55.664],[-110.026,53.834],[-110.026,48.48],[-108.196,46.65],[82.12,46.65],[83.95,48.48],[83.95,53.834]],"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":[[1.077,0],[0,0],[0,1.077],[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0]],"o":[[0,0],[-1.077,0],[0,0],[0,-1.077],[0,0],[1.077,0],[0,0],[0,1.077]],"v":[[108.077,-58.084],[-108.077,-58.084],[-110.026,-60.033],[-110.026,-65.149],[-108.077,-67.098],[108.077,-67.098],[110.026,-65.149],[110.026,-60.033]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0.968,0],[0,0],[0,0.968],[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0]],"o":[[0,0],[-0.968,0],[0,0],[0,-0.968],[0,0],[0.968,0],[0,0],[0,0.968]],"v":[[66.085,-70.211],[-108.274,-70.211],[-110.026,-71.963],[-110.026,-77.473],[-108.274,-79.225],[66.085,-79.225],[67.837,-77.473],[67.837,-71.963]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":70,"s":[0.847058832645,0.86274510622,0.882352948189,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76,"s":[1,1,1,1]},{"t":82,"s":[0.823529481888,0.890196144581,0.988235354424,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,11],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Copy","np":7,"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],[0,0],[-3.949,0],[0,0],[0,-3.949]],"o":[[0,0],[0,0],[0,-3.949],[0,0],[3.949,0],[0,0]],"v":[[159.883,11.142],[-159.883,11.142],[-159.883,-3.991],[-152.732,-11.142],[152.732,-11.142],[159.883,-3.991]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":70,"s":[0.909803926945,0.917647063732,0.929411768913,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76,"s":[1,1,1,1]},{"t":82,"s":[0.823529481888,0.890196144581,0.988235354424,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,-88],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"TopBar","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[320,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[8]},{"t":90,"s":[8]}],"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":70,"s":[1,1,1,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76,"s":[1,1,1,1]},{"t":82,"s":[0.823529481888,0.890196144581,0.988235354424,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":"Bg","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1520,"st":-280,"bm":0},{"ddd":0,"ind":56,"ty":4,"nm":"Home UI 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.65,"y":0},"t":60,"s":[206,226.056,0],"to":[0,0.583,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.333,"y":0},"t":90,"s":[206,229.556,0],"to":[0,0,0],"ti":[0,0.583,0]},{"t":120,"s":[206,226.056,0]}],"ix":2,"l":2},"a":{"a":0,"k":[206,226.056,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.711,0],[0,0],[0,3.711],[0,0],[-3.711,0],[0,0],[0,-3.711],[0,0]],"o":[[0,0],[-3.711,0],[0,0],[0,-3.711],[0,0],[3.711,0],[0,0],[0,3.711]],"v":[[40.967,6.72],[-35.389,6.72],[-42.108,0],[-42.108,0],[-35.389,-6.72],[40.967,-6.72],[47.687,0],[47.687,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":[269.313,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[6.897,0],[0.177,6.72],[-6.543,0],[0.177,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":[209.773,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[5.99,0],[-0.729,6.72],[-7.449,0],[-0.729,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392158031,0.823529422283,0.811764717102,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":[189.114,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[5.059,0],[-1.66,6.72],[-8.38,0],[-1.66,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,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":[167.893,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[4.154,0],[-2.565,6.72],[-9.285,0],[-2.565,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":[147.269,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[3.242,0],[-3.478,6.72],[-10.198,0],[-3.478,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529481888,0.890196144581,0.988235354424,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":[126.465,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-3.711],[3.711,0],[0,3.711],[-3.711,0]],"o":[[0,3.711],[-3.711,0],[0,-3.711],[3.711,0]],"v":[[2.326,0],[-4.394,6.72],[-11.113,0],[-4.394,-6.72]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392217636,0.823529481888,0.811764776707,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":[105.591,226.056],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":183,"st":0,"bm":0},{"ddd":0,"ind":57,"ty":4,"nm":"WHITE_BG","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.809,148.489,0],"ix":2,"l":2},"a":{"a":0,"k":[205.809,148.489,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.901],[0,0],[4.901,0],[0,0],[0,4.901],[0,0],[-4.901,0],[0,0]],"o":[[0,0],[0,4.901],[0,0],[-4.901,0],[0,0],[0,-4.901],[0,0],[4.901,0]],"v":[[365.087,60.044],[365.064,242.065],[356.191,250.938],[54.163,250.875],[45.29,242.001],[45.312,59.98],[54.186,51.107],[356.213,51.171]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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}],"ip":303,"op":540,"st":-42,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/gesture_tip1_go_home.json b/res/raw/gesture_tip1_go_home.json
new file mode 100644
index 0000000..98b9f81
--- /dev/null
+++ b/res/raw/gesture_tip1_go_home.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":180,"w":624,"h":402,"nm":"Comp_Tip1_Home_DT 1","ddd":0,"assets":[{"id":"comp_0","nm":"Pre-comp_Keyboard_Still","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey100","cl":"grey100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[624.657,419.246,0],"ix":2,"l":2},"a":{"a":0,"k":[86.578,49.982,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.543,0],[0,0],[0,-2.541],[0,0],[-2.543,0],[0,0],[0,2.54],[0,0]],"o":[[0,0],[-2.543,0],[0,0],[0,2.54],[0,0],[2.543,0],[0,0],[0,-2.541]],"v":[[37.953,-19.39],[-37.953,-19.39],[-42.558,-14.79],[-42.558,14.79],[-37.953,19.39],[37.953,19.39],[42.558,14.79],[42.558,-14.79]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[85.767,82.567],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.491,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.491,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[160.948,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.49,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.49,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[12.208,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"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":[624.095,420.496,0],"ix":2,"l":2},"a":{"a":0,"k":[65.524,1.505,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.753,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"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":[623.849,420.243,0],"ix":2,"l":2},"a":{"a":0,"k":[91.704,40.453,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.854,0],[0,0],[0,0.58],[0,0],[-0.854,0],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.855,0],[0,0],[0,-0.58],[0,0],[0.854,0],[0,0],[0,0.58]],"v":[[6.542,3.986],[-6.527,4.007],[-8.083,2.954],[-8.096,-2.926],[-6.542,-3.987],[6.529,-4.007],[8.083,-2.954],[8.096,2.926]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[8.426,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.634,-0.007],[0,0],[0,0.58],[0,0],[-0.634,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.634,0],[0,0],[0,-0.58],[0,0],[0.634,0],[0,0],[0,0.58]],"v":[[9.245,3.99],[-9.225,4.003],[-10.38,2.95],[-10.393,-2.93],[-9.245,-3.99],[9.225,-4.003],[10.38,-2.95],[10.393,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[172.845,23.506],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.279,4.003],[-5.339,2.95],[-5.354,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.339,-2.95],[5.354,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[154.563,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.405,3.99],[-4.385,4.003],[-5.447,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.385,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[141.955,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,4.003],[-5.336,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.337,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[128.288,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,0],[0,0],[0.007,0.567],[0,0],[-0.58,0],[0,0],[-0.007,-0.567],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.573]],"v":[[4.519,3.92],[-4.499,3.933],[-5.56,2.9],[-5.573,-2.88],[-4.519,-3.92],[4.499,-3.933],[5.56,-2.9],[5.573,2.88]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[115.59,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.519,3.99],[-4.499,4.003],[-5.559,2.95],[-5.574,-2.93],[-4.518,-3.99],[4.499,-4.003],[5.561,-2.95],[5.574,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[102.5,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.574],[0,0],[-0.581,0.006],[0,0],[-0.007,-0.573],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.574]],"v":[[4.309,3.937],[-4.288,3.95],[-5.35,2.91],[-5.363,-2.89],[-4.308,-3.936],[4.289,-3.95],[5.35,-2.91],[5.363,2.89]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[89.401,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[76.406,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.587,-0.007],[0,0],[0,0.58],[0,0],[-0.587,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.587,0],[0,0],[0,-0.58],[0,0],[0.587,0],[0,0],[0,0.58]],"v":[[4.252,3.99],[-4.232,4.003],[-5.3,2.95],[-5.313,-2.93],[-4.252,-3.99],[4.232,-4.003],[5.3,-2.95],[5.313,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[63.226,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.594,-0.007],[0,0],[0,0.58],[0,0],[-0.594,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.595,0],[0,0],[0,-0.58],[0,0],[0.594,0],[0,0],[0,0.58]],"v":[[4.336,3.99],[-4.314,4.003],[-5.402,2.95],[-5.417,-2.93],[-4.335,-3.99],[4.316,-4.003],[5.404,-2.95],[5.417,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[50.227,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.327,-2.93],[-4.273,-3.99],[4.251,-4.003],[5.312,-2.95],[5.326,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[37.175,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.608,0],[0,0],[0,-0.58],[0,0],[0.608,0],[0,0],[0,0.58]],"v":[[13.396,3.99],[-13.376,4.003],[-14.478,2.95],[-14.491,-2.93],[-13.396,-3.99],[13.376,-4.003],[14.477,-2.95],[14.491,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[168.741,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 13","np":2,"cix":2,"bm":0,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[28.374,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 14","np":2,"cix":2,"bm":0,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[41.483,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 15","np":2,"cix":2,"bm":0,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[54.599,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 16","np":2,"cix":2,"bm":0,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.715,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 17","np":2,"cix":2,"bm":0,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.831,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 18","np":2,"cix":2,"bm":0,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.947,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 19","np":2,"cix":2,"bm":0,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[107.062,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 20","np":2,"cix":2,"bm":0,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[120.172,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 21","np":2,"cix":2,"bm":0,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[133.288,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 22","np":2,"cix":2,"bm":0,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[146.404,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 23","np":2,"cix":2,"bm":0,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.489,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.491,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[177.641,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 24","np":2,"cix":2,"bm":0,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,45.749],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 25","np":2,"cix":2,"bm":0,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,41.349],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 26","np":2,"cix":2,"bm":0,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[151.143,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 27","np":2,"cix":2,"bm":0,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.49,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[137.873,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 28","np":2,"cix":2,"bm":0,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[30.831,3.99],[-30.811,4.003],[-31.871,2.95],[-31.885,-2.93],[-30.83,-3.99],[30.811,-4.003],[31.873,-2.95],[31.885,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.099,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 29","np":2,"cix":2,"bm":0,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.604,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 30","np":2,"cix":2,"bm":0,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.45,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[45.141,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 31","np":2,"cix":2,"bm":0,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[18.609,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 32","np":2,"cix":2,"bm":0,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.754,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 33","np":2,"cix":2,"bm":0,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.6,0],[0,0],[0,-0.58],[0,0],[0.6,0],[0,0],[0,0.58]],"v":[[8.71,3.99],[-8.697,4.003],[-9.786,2.95],[-9.799,-2.93],[-8.71,-3.99],[8.697,-4.003],[9.786,-2.95],[9.799,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[10.282,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 34","np":2,"cix":2,"bm":0,"ix":34,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[23.922,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 35","np":2,"cix":2,"bm":0,"ix":35,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.687,-0.007],[0,0],[0,0.58],[0,0],[-0.688,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.695,0],[0,0],[0,-0.58],[0,0],[0.694,0],[0,0],[0,0.58]],"v":[[5.13,3.99],[-5.109,4.003],[-6.371,2.95],[-6.384,-2.93],[-5.129,-3.99],[5.11,-4.003],[6.371,-2.95],[6.385,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[176.814,14.013],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 36","np":2,"cix":2,"bm":0,"ix":36,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.554,-0.007],[0,0],[0.007,0.587],[0,0],[-0.554,0.007],[0,0],[-0.007,-0.587],[0,0]],"o":[[0,0],[-0.554,0.013],[0,0],[0,-0.58],[0,0],[0.554,-0.013],[0,0],[0,0.58]],"v":[[4.385,3.993],[-4.366,3.993],[-5.38,2.947],[-5.393,-2.934],[-4.386,-3.993],[4.365,-3.993],[5.38,-2.947],[5.393,2.934]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[163.121,14.016],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 37","np":2,"cix":2,"bm":0,"ix":37,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.278,4.003],[-5.339,2.95],[-5.353,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.34,-2.95],[5.353,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[149.951,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 38","np":2,"cix":2,"bm":0,"ix":38,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.406,3.99],[-4.385,4.003],[-5.446,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.386,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[136.842,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 39","np":2,"cix":2,"bm":0,"ix":39,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.057,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 40","np":2,"cix":2,"bm":0,"ix":40,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.332,3.99],[-4.312,4.003],[-5.374,2.95],[-5.387,-2.93],[-4.333,-3.99],[4.312,-4.003],[5.372,-2.95],[5.387,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[111.378,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 41","np":2,"cix":2,"bm":0,"ix":41,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.342,3.99],[-4.322,4.003],[-5.383,2.95],[-5.396,-2.93],[-4.342,-3.99],[4.322,-4.003],[5.383,-2.95],[5.396,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[98.292,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 42","np":2,"cix":2,"bm":0,"ix":42,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.236,3.99],[-4.215,4.003],[-5.277,2.95],[-5.29,-2.93],[-4.234,-3.99],[4.215,-4.003],[5.277,-2.95],[5.29,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.249,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 43","np":2,"cix":2,"bm":0,"ix":43,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[71.994,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 44","np":2,"cix":2,"bm":0,"ix":44,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.222,3.99],[-4.202,4.003],[-5.264,2.95],[-5.277,-2.93],[-4.223,-3.99],[4.202,-4.003],[5.262,-2.95],[5.277,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[59.445,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 45","np":2,"cix":2,"bm":0,"ix":45,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.219,3.99],[-4.199,4.003],[-5.26,2.95],[-5.273,-2.93],[-4.219,-3.99],[4.199,-4.003],[5.26,-2.95],[5.273,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[46.226,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 46","np":2,"cix":2,"bm":0,"ix":46,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.326,-2.93],[-4.273,-3.99],[4.252,-4.003],[5.312,-2.95],[5.327,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[33.224,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 47","np":2,"cix":2,"bm":0,"ix":47,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.674,-0.007],[0,0],[0,0.58],[0,0],[-0.674,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.674,0],[0,0],[0,-0.58],[0,0],[0.674,0],[0,0],[0,0.58]],"v":[[5.139,3.99],[-5.126,4.003],[-6.348,2.95],[-6.361,-2.93],[-5.139,-3.99],[5.126,-4.003],[6.348,-2.95],[6.361,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[6.724,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 48","np":2,"cix":2,"bm":0,"ix":48,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[20.204,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 49","np":2,"cix":2,"bm":0,"ix":49,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.694,-0.007],[0,0],[0,0.58],[0,0],[-0.694,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.688,0],[0,0],[0,-0.58],[0,0],[0.688,0],[0,0],[0,0.58]],"v":[[7.46,3.99],[-7.446,4.003],[-8.701,2.95],[-8.714,-2.93],[-7.46,-3.99],[7.445,-4.003],[8.701,-2.95],[8.714,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[174.524,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 50","np":2,"cix":2,"bm":0,"ix":50,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[158.224,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 51","np":2,"cix":2,"bm":0,"ix":51,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.314,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.294,-3.99],[5.322,-2.95],[5.336,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[145.329,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 52","np":2,"cix":2,"bm":0,"ix":52,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[132.426,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 53","np":2,"cix":2,"bm":0,"ix":53,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.322,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[119.531,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 54","np":2,"cix":2,"bm":0,"ix":54,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.315,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[106.635,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 55","np":2,"cix":2,"bm":0,"ix":55,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.733,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 56","np":2,"cix":2,"bm":0,"ix":56,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.837,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 57","np":2,"cix":2,"bm":0,"ix":57,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.935,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 58","np":2,"cix":2,"bm":0,"ix":58,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[55.039,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 59","np":2,"cix":2,"bm":0,"ix":59,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[42.144,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 60","np":2,"cix":2,"bm":0,"ix":60,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[29.241,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 61","np":2,"cix":2,"bm":0,"ix":61,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[16.346,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 62","np":2,"cix":2,"bm":0,"ix":62,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.369,-0.001],[0,0],[-0.001,-0.368],[0,0],[-0.368,0],[0,0],[0.001,0.369],[0,0]],"o":[[0,0],[-0.368,0.001],[0,0],[0.001,0.369],[0,0],[0.369,-0.001],[0,0],[-0.001,-0.368]],"v":[[3.492,-4.001],[-3.51,-3.985],[-4.176,-3.317],[-4.161,3.336],[-3.492,4.002],[3.51,3.986],[4.176,3.317],[4.161,-3.336]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[4.615,4.262],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 63","np":2,"cix":2,"bm":0,"ix":63,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".grey200","cl":"grey200","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[623.849,310.757,0],"ix":2,"l":2},"a":{"a":0,"k":[98.599,0.25,0],"ix":1,"l":2},"s":{"a":0,"k":[200,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.978,0],[0,0],[0,-3.972],[0,0],[-3.978,0],[0,0],[0,3.973],[0,0]],"o":[[0,0],[-3.978,0],[0,0],[0,3.973],[0,0],[3.978,0],[0,0],[0,-3.972]],"v":[[91.147,-54.743],[-91.147,-54.743],[-98.349,-47.551],[-98.349,47.549],[-91.147,54.743],[91.147,54.743],[98.349,47.549],[98.349,-47.551]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[98.599,54.993],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue300","cl":"blue300","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":65,"s":[100]},{"t":75,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[-0.001,-10.919],[10.919,0.001],[-0.001,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176497936,0.705882370472,0.972549080849,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[58.296,11.17],"to":[0,-6.362],"ti":[0,6.362]},{"t":65,"s":[58.296,-27]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[-0.001,-10.919],[10.919,0.001],[-0.001,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[34.158,11.17],"to":[0,-6.362],"ti":[0,6.362]},{"t":65,"s":[34.158,-27]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[10.169,11.17],"to":[0,-6.362],"ti":[0,6.362]},{"t":65,"s":[10.169,-27]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".blue300to0","cl":"blue300to0","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":65,"s":[100]},{"t":75,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":30,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.167,0.167],"y":[0,0.167]},"t":65,"s":[20,58]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[0,-23],"to":[0,-3],"ti":[0,6.5]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[0,-41],"to":[0,-6.5],"ti":[0,3.5]},{"t":75,"s":[0,-62]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[0,-40],"ix":5},"e":{"a":0,"k":[0,-10],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[58.05,7.091],"ix":2},"a":{"a":0,"k":[0,-26.682],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"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":30,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.167,0.167],"y":[0,0.167]},"t":65,"s":[20,58]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[0,-23],"to":[0,-3],"ti":[0,6.5]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[0,-41],"to":[0,-6.5],"ti":[0,3.5]},{"t":75,"s":[0,-62]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[0,-40],"ix":5},"e":{"a":0,"k":[0,-10],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[34.05,7.646],"ix":2},"a":{"a":0,"k":[0,-26.128],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"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":30,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.167,0.167],"y":[0,0.167]},"t":65,"s":[20,58]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[0,-23],"to":[0,-3],"ti":[0,6.5]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[0,-41],"to":[0,-6.5],"ti":[0,3.5]},{"t":75,"s":[0,-62]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[0,-40],"ix":5},"e":{"a":0,"k":[0,-10],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[10.3,7.289],"ix":2},"a":{"a":0,"k":[0,-26.484],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"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":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[201,201],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.854901969433,0.86274510622,0.878431379795,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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.541176470588,0.705882352941,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":[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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Pre-comp_Keyboard_Still","tt":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":[313,134,0],"ix":2,"l":2},"a":{"a":0,"k":[624,402,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1248,"h":804,"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/gesture_tip2_go_back.json b/res/raw/gesture_tip2_go_back.json
new file mode 100644
index 0000000..ce77e57
--- /dev/null
+++ b/res/raw/gesture_tip2_go_back.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":330,"w":624,"h":402,"nm":"Comp_Tip2_Back_DT 1","ddd":0,"assets":[{"id":"comp_0","nm":"Pre-comp_Keyboard_Still","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey100","cl":"grey100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[624.657,419.246,0],"ix":2,"l":2},"a":{"a":0,"k":[86.578,49.982,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.543,0],[0,0],[0,-2.541],[0,0],[-2.543,0],[0,0],[0,2.54],[0,0]],"o":[[0,0],[-2.543,0],[0,0],[0,2.54],[0,0],[2.543,0],[0,0],[0,-2.541]],"v":[[37.953,-19.39],[-37.953,-19.39],[-42.558,-14.79],[-42.558,14.79],[-37.953,19.39],[37.953,19.39],[42.558,14.79],[42.558,-14.79]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[85.767,82.567],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.491,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.491,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[160.948,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.49,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.49,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[12.208,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"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":[624.095,420.496,0],"ix":2,"l":2},"a":{"a":0,"k":[65.524,1.505,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.753,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"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":[623.849,420.243,0],"ix":2,"l":2},"a":{"a":0,"k":[91.704,40.453,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.854,0],[0,0],[0,0.58],[0,0],[-0.854,0],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.855,0],[0,0],[0,-0.58],[0,0],[0.854,0],[0,0],[0,0.58]],"v":[[6.542,3.986],[-6.527,4.007],[-8.083,2.954],[-8.096,-2.926],[-6.542,-3.987],[6.529,-4.007],[8.083,-2.954],[8.096,2.926]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[8.426,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.634,-0.007],[0,0],[0,0.58],[0,0],[-0.634,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.634,0],[0,0],[0,-0.58],[0,0],[0.634,0],[0,0],[0,0.58]],"v":[[9.245,3.99],[-9.225,4.003],[-10.38,2.95],[-10.393,-2.93],[-9.245,-3.99],[9.225,-4.003],[10.38,-2.95],[10.393,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[172.845,23.506],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.279,4.003],[-5.339,2.95],[-5.354,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.339,-2.95],[5.354,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[154.563,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.405,3.99],[-4.385,4.003],[-5.447,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.385,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[141.955,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,4.003],[-5.336,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.337,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[128.288,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,0],[0,0],[0.007,0.567],[0,0],[-0.58,0],[0,0],[-0.007,-0.567],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.573]],"v":[[4.519,3.92],[-4.499,3.933],[-5.56,2.9],[-5.573,-2.88],[-4.519,-3.92],[4.499,-3.933],[5.56,-2.9],[5.573,2.88]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[115.59,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.519,3.99],[-4.499,4.003],[-5.559,2.95],[-5.574,-2.93],[-4.518,-3.99],[4.499,-4.003],[5.561,-2.95],[5.574,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[102.5,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.574],[0,0],[-0.581,0.006],[0,0],[-0.007,-0.573],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.574]],"v":[[4.309,3.937],[-4.288,3.95],[-5.35,2.91],[-5.363,-2.89],[-4.308,-3.936],[4.289,-3.95],[5.35,-2.91],[5.363,2.89]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[89.401,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[76.406,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.587,-0.007],[0,0],[0,0.58],[0,0],[-0.587,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.587,0],[0,0],[0,-0.58],[0,0],[0.587,0],[0,0],[0,0.58]],"v":[[4.252,3.99],[-4.232,4.003],[-5.3,2.95],[-5.313,-2.93],[-4.252,-3.99],[4.232,-4.003],[5.3,-2.95],[5.313,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[63.226,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.594,-0.007],[0,0],[0,0.58],[0,0],[-0.594,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.595,0],[0,0],[0,-0.58],[0,0],[0.594,0],[0,0],[0,0.58]],"v":[[4.336,3.99],[-4.314,4.003],[-5.402,2.95],[-5.417,-2.93],[-4.335,-3.99],[4.316,-4.003],[5.404,-2.95],[5.417,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[50.227,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.327,-2.93],[-4.273,-3.99],[4.251,-4.003],[5.312,-2.95],[5.326,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[37.175,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.608,0],[0,0],[0,-0.58],[0,0],[0.608,0],[0,0],[0,0.58]],"v":[[13.396,3.99],[-13.376,4.003],[-14.478,2.95],[-14.491,-2.93],[-13.396,-3.99],[13.376,-4.003],[14.477,-2.95],[14.491,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[168.741,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 13","np":2,"cix":2,"bm":0,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[28.374,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 14","np":2,"cix":2,"bm":0,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[41.483,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 15","np":2,"cix":2,"bm":0,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[54.599,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 16","np":2,"cix":2,"bm":0,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.715,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 17","np":2,"cix":2,"bm":0,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.831,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 18","np":2,"cix":2,"bm":0,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.947,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 19","np":2,"cix":2,"bm":0,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[107.062,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 20","np":2,"cix":2,"bm":0,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[120.172,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 21","np":2,"cix":2,"bm":0,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[133.288,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 22","np":2,"cix":2,"bm":0,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[146.404,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 23","np":2,"cix":2,"bm":0,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.489,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.491,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[177.641,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 24","np":2,"cix":2,"bm":0,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,45.749],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 25","np":2,"cix":2,"bm":0,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,41.349],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 26","np":2,"cix":2,"bm":0,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[151.143,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 27","np":2,"cix":2,"bm":0,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.49,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[137.873,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 28","np":2,"cix":2,"bm":0,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[30.831,3.99],[-30.811,4.003],[-31.871,2.95],[-31.885,-2.93],[-30.83,-3.99],[30.811,-4.003],[31.873,-2.95],[31.885,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.099,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 29","np":2,"cix":2,"bm":0,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.604,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 30","np":2,"cix":2,"bm":0,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.45,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[45.141,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 31","np":2,"cix":2,"bm":0,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[18.609,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 32","np":2,"cix":2,"bm":0,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.754,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 33","np":2,"cix":2,"bm":0,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.6,0],[0,0],[0,-0.58],[0,0],[0.6,0],[0,0],[0,0.58]],"v":[[8.71,3.99],[-8.697,4.003],[-9.786,2.95],[-9.799,-2.93],[-8.71,-3.99],[8.697,-4.003],[9.786,-2.95],[9.799,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[10.282,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 34","np":2,"cix":2,"bm":0,"ix":34,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[23.922,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 35","np":2,"cix":2,"bm":0,"ix":35,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.687,-0.007],[0,0],[0,0.58],[0,0],[-0.688,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.695,0],[0,0],[0,-0.58],[0,0],[0.694,0],[0,0],[0,0.58]],"v":[[5.13,3.99],[-5.109,4.003],[-6.371,2.95],[-6.384,-2.93],[-5.129,-3.99],[5.11,-4.003],[6.371,-2.95],[6.385,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[176.814,14.013],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 36","np":2,"cix":2,"bm":0,"ix":36,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.554,-0.007],[0,0],[0.007,0.587],[0,0],[-0.554,0.007],[0,0],[-0.007,-0.587],[0,0]],"o":[[0,0],[-0.554,0.013],[0,0],[0,-0.58],[0,0],[0.554,-0.013],[0,0],[0,0.58]],"v":[[4.385,3.993],[-4.366,3.993],[-5.38,2.947],[-5.393,-2.934],[-4.386,-3.993],[4.365,-3.993],[5.38,-2.947],[5.393,2.934]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[163.121,14.016],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 37","np":2,"cix":2,"bm":0,"ix":37,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.278,4.003],[-5.339,2.95],[-5.353,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.34,-2.95],[5.353,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[149.951,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 38","np":2,"cix":2,"bm":0,"ix":38,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.406,3.99],[-4.385,4.003],[-5.446,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.386,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[136.842,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 39","np":2,"cix":2,"bm":0,"ix":39,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.057,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 40","np":2,"cix":2,"bm":0,"ix":40,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.332,3.99],[-4.312,4.003],[-5.374,2.95],[-5.387,-2.93],[-4.333,-3.99],[4.312,-4.003],[5.372,-2.95],[5.387,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[111.378,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 41","np":2,"cix":2,"bm":0,"ix":41,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.342,3.99],[-4.322,4.003],[-5.383,2.95],[-5.396,-2.93],[-4.342,-3.99],[4.322,-4.003],[5.383,-2.95],[5.396,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[98.292,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 42","np":2,"cix":2,"bm":0,"ix":42,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.236,3.99],[-4.215,4.003],[-5.277,2.95],[-5.29,-2.93],[-4.234,-3.99],[4.215,-4.003],[5.277,-2.95],[5.29,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.249,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 43","np":2,"cix":2,"bm":0,"ix":43,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[71.994,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 44","np":2,"cix":2,"bm":0,"ix":44,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.222,3.99],[-4.202,4.003],[-5.264,2.95],[-5.277,-2.93],[-4.223,-3.99],[4.202,-4.003],[5.262,-2.95],[5.277,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[59.445,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 45","np":2,"cix":2,"bm":0,"ix":45,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.219,3.99],[-4.199,4.003],[-5.26,2.95],[-5.273,-2.93],[-4.219,-3.99],[4.199,-4.003],[5.26,-2.95],[5.273,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[46.226,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 46","np":2,"cix":2,"bm":0,"ix":46,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.326,-2.93],[-4.273,-3.99],[4.252,-4.003],[5.312,-2.95],[5.327,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[33.224,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 47","np":2,"cix":2,"bm":0,"ix":47,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.674,-0.007],[0,0],[0,0.58],[0,0],[-0.674,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.674,0],[0,0],[0,-0.58],[0,0],[0.674,0],[0,0],[0,0.58]],"v":[[5.139,3.99],[-5.126,4.003],[-6.348,2.95],[-6.361,-2.93],[-5.139,-3.99],[5.126,-4.003],[6.348,-2.95],[6.361,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[6.724,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 48","np":2,"cix":2,"bm":0,"ix":48,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[20.204,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 49","np":2,"cix":2,"bm":0,"ix":49,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.694,-0.007],[0,0],[0,0.58],[0,0],[-0.694,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.688,0],[0,0],[0,-0.58],[0,0],[0.688,0],[0,0],[0,0.58]],"v":[[7.46,3.99],[-7.446,4.003],[-8.701,2.95],[-8.714,-2.93],[-7.46,-3.99],[7.445,-4.003],[8.701,-2.95],[8.714,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[174.524,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 50","np":2,"cix":2,"bm":0,"ix":50,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[158.224,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 51","np":2,"cix":2,"bm":0,"ix":51,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.314,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.294,-3.99],[5.322,-2.95],[5.336,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[145.329,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 52","np":2,"cix":2,"bm":0,"ix":52,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[132.426,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 53","np":2,"cix":2,"bm":0,"ix":53,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.322,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[119.531,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 54","np":2,"cix":2,"bm":0,"ix":54,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.315,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[106.635,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 55","np":2,"cix":2,"bm":0,"ix":55,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.733,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 56","np":2,"cix":2,"bm":0,"ix":56,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.837,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 57","np":2,"cix":2,"bm":0,"ix":57,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.935,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 58","np":2,"cix":2,"bm":0,"ix":58,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[55.039,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 59","np":2,"cix":2,"bm":0,"ix":59,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[42.144,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 60","np":2,"cix":2,"bm":0,"ix":60,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[29.241,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 61","np":2,"cix":2,"bm":0,"ix":61,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[16.346,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 62","np":2,"cix":2,"bm":0,"ix":62,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.369,-0.001],[0,0],[-0.001,-0.368],[0,0],[-0.368,0],[0,0],[0.001,0.369],[0,0]],"o":[[0,0],[-0.368,0.001],[0,0],[0.001,0.369],[0,0],[0.369,-0.001],[0,0],[-0.001,-0.368]],"v":[[3.492,-4.001],[-3.51,-3.985],[-4.176,-3.317],[-4.161,3.336],[-3.492,4.002],[3.51,3.986],[4.176,3.317],[4.161,-3.336]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[4.615,4.262],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 63","np":2,"cix":2,"bm":0,"ix":63,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".grey200","cl":"grey200","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[623.849,310.757,0],"ix":2,"l":2},"a":{"a":0,"k":[98.599,0.25,0],"ix":1,"l":2},"s":{"a":0,"k":[200,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.978,0],[0,0],[0,-3.972],[0,0],[-3.978,0],[0,0],[0,3.973],[0,0]],"o":[[0,0],[-3.978,0],[0,0],[0,3.973],[0,0],[3.978,0],[0,0],[0,-3.972]],"v":[[91.147,-54.743],[-91.147,-54.743],[-98.349,-47.551],[-98.349,47.549],[-91.147,54.743],[91.147,54.743],[98.349,47.549],[98.349,-47.551]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[98.599,54.993],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue300","cl":"blue300","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":180,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":190,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":215,"s":[100]},{"t":225,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[-0.001,-10.919],[10.919,0.001],[-0.001,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[56.4,-7.75],"to":[6.433,0],"ti":[-6.433,0]},{"t":215,"s":[95,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[33,-7.75],"to":[6.383,0],"ti":[-6.383,0]},{"t":215,"s":[71.3,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[9.419,-7.75],"to":[6.333,0],"ti":[-6.333,0]},{"t":215,"s":[47.419,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":1980,"st":180,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".blue300","cl":"blue300","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":65,"s":[100]},{"t":75,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[59.5,-7.75],"to":[-6.367,0],"ti":[6.367,0]},{"t":65,"s":[21.3,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[35.919,-7.75],"to":[-6.417,0],"ti":[6.417,0]},{"t":65,"s":[-2.581,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[12.169,-7.75],"to":[-6.417,0],"ti":[6.417,0]},{"t":65,"s":[-26.331,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue300to0","cl":"blue300to0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":180,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":190,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":215,"s":[100]},{"t":225,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":180,"s":[70,20]},{"i":{"x":[0.833,0.833],"y":[0.833,1]},"o":{"x":[0.167,0.167],"y":[0.071,0]},"t":215,"s":[109,20]},{"t":225,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[21,-41],"to":[3.25,0],"ti":[-10.667,0]},{"i":{"x":0.833,"y":0.741},"o":{"x":0.167,"y":0.11},"t":215,"s":[40.5,-41],"to":[10.667,0],"ti":[-7.417,0]},{"t":225,"s":[85,-41]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[34,0],"ix":5},"e":{"a":0,"k":[-50,0],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-4.453,-7.514],"ix":2},"a":{"a":0,"k":[-14.253,-40.724],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":1980,"st":180,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue300to0","cl":"blue300to0","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":65,"s":[100]},{"t":75,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":30,"s":[70,20]},{"i":{"x":[0.833,0.833],"y":[0.833,1]},"o":{"x":[0.167,0.167],"y":[0.074,0]},"t":65,"s":[106,20]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[25,-41],"to":[-3,0],"ti":[10.167,0]},{"i":{"x":0.833,"y":0.741},"o":{"x":0.167,"y":0.114},"t":65,"s":[7,-41],"to":[-10.167,0],"ti":[7.167,0]},{"t":75,"s":[-36,-41]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[25,0],"ix":5},"e":{"a":0,"k":[84,0],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-4.453,-7.514],"ix":2},"a":{"a":0,"k":[-14.253,-40.724],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"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":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[201,201],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.854901969433,0.86274510622,0.878431379795,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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.541176470588,0.705882352941,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":[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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"Pre-comp_Keyboard_Still","tt":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":[313,134,0],"ix":2,"l":2},"a":{"a":0,"k":[624,402,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1248,"h":804,"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/gesture_tip3_recent_apps.json b/res/raw/gesture_tip3_recent_apps.json
new file mode 100644
index 0000000..4324d75
--- /dev/null
+++ b/res/raw/gesture_tip3_recent_apps.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":270,"w":624,"h":402,"nm":"Comp_Tip4_Recentapps_DT 1","ddd":0,"assets":[{"id":"comp_0","nm":"Pre-comp_Keyboard_Still","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey100","cl":"grey100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[624.657,419.246,0],"ix":2,"l":2},"a":{"a":0,"k":[86.578,49.982,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.543,0],[0,0],[0,-2.541],[0,0],[-2.543,0],[0,0],[0,2.54],[0,0]],"o":[[0,0],[-2.543,0],[0,0],[0,2.54],[0,0],[2.543,0],[0,0],[0,-2.541]],"v":[[37.953,-19.39],[-37.953,-19.39],[-42.558,-14.79],[-42.558,14.79],[-37.953,19.39],[37.953,19.39],[42.558,14.79],[42.558,-14.79]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[85.767,82.567],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.491,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.491,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[160.948,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.49,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.49,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[12.208,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"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":[624.095,420.496,0],"ix":2,"l":2},"a":{"a":0,"k":[65.524,1.505,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.753,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"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":[623.849,420.243,0],"ix":2,"l":2},"a":{"a":0,"k":[91.704,40.453,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.854,0],[0,0],[0,0.58],[0,0],[-0.854,0],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.855,0],[0,0],[0,-0.58],[0,0],[0.854,0],[0,0],[0,0.58]],"v":[[6.542,3.986],[-6.527,4.007],[-8.083,2.954],[-8.096,-2.926],[-6.542,-3.987],[6.529,-4.007],[8.083,-2.954],[8.096,2.926]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[8.426,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.634,-0.007],[0,0],[0,0.58],[0,0],[-0.634,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.634,0],[0,0],[0,-0.58],[0,0],[0.634,0],[0,0],[0,0.58]],"v":[[9.245,3.99],[-9.225,4.003],[-10.38,2.95],[-10.393,-2.93],[-9.245,-3.99],[9.225,-4.003],[10.38,-2.95],[10.393,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[172.845,23.506],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.279,4.003],[-5.339,2.95],[-5.354,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.339,-2.95],[5.354,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[154.563,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.405,3.99],[-4.385,4.003],[-5.447,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.385,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[141.955,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,4.003],[-5.336,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.337,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[128.288,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,0],[0,0],[0.007,0.567],[0,0],[-0.58,0],[0,0],[-0.007,-0.567],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.573]],"v":[[4.519,3.92],[-4.499,3.933],[-5.56,2.9],[-5.573,-2.88],[-4.519,-3.92],[4.499,-3.933],[5.56,-2.9],[5.573,2.88]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[115.59,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.519,3.99],[-4.499,4.003],[-5.559,2.95],[-5.574,-2.93],[-4.518,-3.99],[4.499,-4.003],[5.561,-2.95],[5.574,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[102.5,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.574],[0,0],[-0.581,0.006],[0,0],[-0.007,-0.573],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.574]],"v":[[4.309,3.937],[-4.288,3.95],[-5.35,2.91],[-5.363,-2.89],[-4.308,-3.936],[4.289,-3.95],[5.35,-2.91],[5.363,2.89]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[89.401,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[76.406,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.587,-0.007],[0,0],[0,0.58],[0,0],[-0.587,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.587,0],[0,0],[0,-0.58],[0,0],[0.587,0],[0,0],[0,0.58]],"v":[[4.252,3.99],[-4.232,4.003],[-5.3,2.95],[-5.313,-2.93],[-4.252,-3.99],[4.232,-4.003],[5.3,-2.95],[5.313,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[63.226,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.594,-0.007],[0,0],[0,0.58],[0,0],[-0.594,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.595,0],[0,0],[0,-0.58],[0,0],[0.594,0],[0,0],[0,0.58]],"v":[[4.336,3.99],[-4.314,4.003],[-5.402,2.95],[-5.417,-2.93],[-4.335,-3.99],[4.316,-4.003],[5.404,-2.95],[5.417,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[50.227,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.327,-2.93],[-4.273,-3.99],[4.251,-4.003],[5.312,-2.95],[5.326,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[37.175,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.608,0],[0,0],[0,-0.58],[0,0],[0.608,0],[0,0],[0,0.58]],"v":[[13.396,3.99],[-13.376,4.003],[-14.478,2.95],[-14.491,-2.93],[-13.396,-3.99],[13.376,-4.003],[14.477,-2.95],[14.491,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[168.741,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 13","np":2,"cix":2,"bm":0,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[28.374,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 14","np":2,"cix":2,"bm":0,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[41.483,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 15","np":2,"cix":2,"bm":0,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[54.599,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 16","np":2,"cix":2,"bm":0,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.715,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 17","np":2,"cix":2,"bm":0,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.831,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 18","np":2,"cix":2,"bm":0,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.947,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 19","np":2,"cix":2,"bm":0,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[107.062,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 20","np":2,"cix":2,"bm":0,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[120.172,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 21","np":2,"cix":2,"bm":0,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[133.288,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 22","np":2,"cix":2,"bm":0,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[146.404,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 23","np":2,"cix":2,"bm":0,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.489,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.491,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[177.641,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 24","np":2,"cix":2,"bm":0,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,45.749],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 25","np":2,"cix":2,"bm":0,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,41.349],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 26","np":2,"cix":2,"bm":0,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[151.143,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 27","np":2,"cix":2,"bm":0,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.49,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[137.873,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 28","np":2,"cix":2,"bm":0,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[30.831,3.99],[-30.811,4.003],[-31.871,2.95],[-31.885,-2.93],[-30.83,-3.99],[30.811,-4.003],[31.873,-2.95],[31.885,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.099,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 29","np":2,"cix":2,"bm":0,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.604,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 30","np":2,"cix":2,"bm":0,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.45,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[45.141,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 31","np":2,"cix":2,"bm":0,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[18.609,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 32","np":2,"cix":2,"bm":0,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.754,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 33","np":2,"cix":2,"bm":0,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.6,0],[0,0],[0,-0.58],[0,0],[0.6,0],[0,0],[0,0.58]],"v":[[8.71,3.99],[-8.697,4.003],[-9.786,2.95],[-9.799,-2.93],[-8.71,-3.99],[8.697,-4.003],[9.786,-2.95],[9.799,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[10.282,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 34","np":2,"cix":2,"bm":0,"ix":34,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[23.922,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 35","np":2,"cix":2,"bm":0,"ix":35,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.687,-0.007],[0,0],[0,0.58],[0,0],[-0.688,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.695,0],[0,0],[0,-0.58],[0,0],[0.694,0],[0,0],[0,0.58]],"v":[[5.13,3.99],[-5.109,4.003],[-6.371,2.95],[-6.384,-2.93],[-5.129,-3.99],[5.11,-4.003],[6.371,-2.95],[6.385,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[176.814,14.013],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 36","np":2,"cix":2,"bm":0,"ix":36,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.554,-0.007],[0,0],[0.007,0.587],[0,0],[-0.554,0.007],[0,0],[-0.007,-0.587],[0,0]],"o":[[0,0],[-0.554,0.013],[0,0],[0,-0.58],[0,0],[0.554,-0.013],[0,0],[0,0.58]],"v":[[4.385,3.993],[-4.366,3.993],[-5.38,2.947],[-5.393,-2.934],[-4.386,-3.993],[4.365,-3.993],[5.38,-2.947],[5.393,2.934]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[163.121,14.016],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 37","np":2,"cix":2,"bm":0,"ix":37,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.278,4.003],[-5.339,2.95],[-5.353,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.34,-2.95],[5.353,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[149.951,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 38","np":2,"cix":2,"bm":0,"ix":38,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.406,3.99],[-4.385,4.003],[-5.446,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.386,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[136.842,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 39","np":2,"cix":2,"bm":0,"ix":39,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.057,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 40","np":2,"cix":2,"bm":0,"ix":40,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.332,3.99],[-4.312,4.003],[-5.374,2.95],[-5.387,-2.93],[-4.333,-3.99],[4.312,-4.003],[5.372,-2.95],[5.387,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[111.378,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 41","np":2,"cix":2,"bm":0,"ix":41,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.342,3.99],[-4.322,4.003],[-5.383,2.95],[-5.396,-2.93],[-4.342,-3.99],[4.322,-4.003],[5.383,-2.95],[5.396,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[98.292,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 42","np":2,"cix":2,"bm":0,"ix":42,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.236,3.99],[-4.215,4.003],[-5.277,2.95],[-5.29,-2.93],[-4.234,-3.99],[4.215,-4.003],[5.277,-2.95],[5.29,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.249,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 43","np":2,"cix":2,"bm":0,"ix":43,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[71.994,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 44","np":2,"cix":2,"bm":0,"ix":44,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.222,3.99],[-4.202,4.003],[-5.264,2.95],[-5.277,-2.93],[-4.223,-3.99],[4.202,-4.003],[5.262,-2.95],[5.277,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[59.445,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 45","np":2,"cix":2,"bm":0,"ix":45,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.219,3.99],[-4.199,4.003],[-5.26,2.95],[-5.273,-2.93],[-4.219,-3.99],[4.199,-4.003],[5.26,-2.95],[5.273,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[46.226,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 46","np":2,"cix":2,"bm":0,"ix":46,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.326,-2.93],[-4.273,-3.99],[4.252,-4.003],[5.312,-2.95],[5.327,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[33.224,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 47","np":2,"cix":2,"bm":0,"ix":47,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.674,-0.007],[0,0],[0,0.58],[0,0],[-0.674,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.674,0],[0,0],[0,-0.58],[0,0],[0.674,0],[0,0],[0,0.58]],"v":[[5.139,3.99],[-5.126,4.003],[-6.348,2.95],[-6.361,-2.93],[-5.139,-3.99],[5.126,-4.003],[6.348,-2.95],[6.361,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[6.724,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 48","np":2,"cix":2,"bm":0,"ix":48,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[20.204,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 49","np":2,"cix":2,"bm":0,"ix":49,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.694,-0.007],[0,0],[0,0.58],[0,0],[-0.694,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.688,0],[0,0],[0,-0.58],[0,0],[0.688,0],[0,0],[0,0.58]],"v":[[7.46,3.99],[-7.446,4.003],[-8.701,2.95],[-8.714,-2.93],[-7.46,-3.99],[7.445,-4.003],[8.701,-2.95],[8.714,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[174.524,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 50","np":2,"cix":2,"bm":0,"ix":50,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[158.224,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 51","np":2,"cix":2,"bm":0,"ix":51,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.314,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.294,-3.99],[5.322,-2.95],[5.336,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[145.329,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 52","np":2,"cix":2,"bm":0,"ix":52,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[132.426,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 53","np":2,"cix":2,"bm":0,"ix":53,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.322,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[119.531,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 54","np":2,"cix":2,"bm":0,"ix":54,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.315,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[106.635,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 55","np":2,"cix":2,"bm":0,"ix":55,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.733,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 56","np":2,"cix":2,"bm":0,"ix":56,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.837,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 57","np":2,"cix":2,"bm":0,"ix":57,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.935,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 58","np":2,"cix":2,"bm":0,"ix":58,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[55.039,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 59","np":2,"cix":2,"bm":0,"ix":59,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[42.144,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 60","np":2,"cix":2,"bm":0,"ix":60,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[29.241,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 61","np":2,"cix":2,"bm":0,"ix":61,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[16.346,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 62","np":2,"cix":2,"bm":0,"ix":62,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.369,-0.001],[0,0],[-0.001,-0.368],[0,0],[-0.368,0],[0,0],[0.001,0.369],[0,0]],"o":[[0,0],[-0.368,0.001],[0,0],[0.001,0.369],[0,0],[0.369,-0.001],[0,0],[-0.001,-0.368]],"v":[[3.492,-4.001],[-3.51,-3.985],[-4.176,-3.317],[-4.161,3.336],[-3.492,4.002],[3.51,3.986],[4.176,3.317],[4.161,-3.336]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[4.615,4.262],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 63","np":2,"cix":2,"bm":0,"ix":63,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".grey200","cl":"grey200","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[623.849,310.757,0],"ix":2,"l":2},"a":{"a":0,"k":[98.599,0.25,0],"ix":1,"l":2},"s":{"a":0,"k":[200,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.978,0],[0,0],[0,-3.972],[0,0],[-3.978,0],[0,0],[0,3.973],[0,0]],"o":[[0,0],[-3.978,0],[0,0],[0,3.973],[0,0],[3.978,0],[0,0],[0,-3.972]],"v":[[91.147,-54.743],[-91.147,-54.743],[-98.349,-47.551],[-98.349,47.549],[-91.147,54.743],[91.147,54.743],[98.349,47.549],[98.349,-47.551]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[98.599,54.993],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue300","cl":"blue300","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":170,"s":[100]},{"t":180,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[-0.001,-10.919],[10.919,0.001],[-0.001,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[58.296,11.17],"to":[0,-6.362],"ti":[0,6.362]},{"t":65,"s":[58.296,-27]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[-0.001,-10.919],[10.919,0.001],[-0.001,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[34.158,11.17],"to":[0,-6.362],"ti":[0,6.362]},{"t":65,"s":[34.158,-27]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[10.169,11.17],"to":[0,-6.362],"ti":[0,6.362]},{"t":65,"s":[10.169,-27]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".blue300to0","cl":"blue300to0","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":170,"s":[100]},{"t":180,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":30,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.167,0.167],"y":[0,0.167]},"t":65,"s":[20,58]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[0,-23],"to":[0,-3],"ti":[0,6.5]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[0,-41],"to":[0,-6.5],"ti":[0,3.5]},{"t":75,"s":[0,-62]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[0,-40],"ix":5},"e":{"a":0,"k":[0,-10],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[58.05,7.091],"ix":2},"a":{"a":0,"k":[0,-26.682],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"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":30,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.167,0.167],"y":[0,0.167]},"t":65,"s":[20,58]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[0,-23],"to":[0,-3],"ti":[0,6.5]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[0,-41],"to":[0,-6.5],"ti":[0,3.5]},{"t":75,"s":[0,-62]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[0,-40],"ix":5},"e":{"a":0,"k":[0,-10],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[34.05,7.646],"ix":2},"a":{"a":0,"k":[0,-26.128],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"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":30,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.167,0.167],"y":[0,0.167]},"t":65,"s":[20,58]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[0,-23],"to":[0,-3],"ti":[0,6.5]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":65,"s":[0,-41],"to":[0,-6.5],"ti":[0,3.5]},{"t":75,"s":[0,-62]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[0,-40],"ix":5},"e":{"a":0,"k":[0,-10],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[10.3,7.289],"ix":2},"a":{"a":0,"k":[0,-26.484],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"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":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[201,201],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.854901969433,0.86274510622,0.878431379795,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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.541176470588,0.705882352941,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":[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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Pre-comp_Keyboard_Still","tt":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":[313,134,0],"ix":2,"l":2},"a":{"a":0,"k":[624,402,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1248,"h":804,"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/gesture_tip4_notifications.json b/res/raw/gesture_tip4_notifications.json
new file mode 100644
index 0000000..ac88eee
--- /dev/null
+++ b/res/raw/gesture_tip4_notifications.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":180,"w":624,"h":402,"nm":"Comp_Tip5_Notifications_DT 1","ddd":0,"assets":[{"id":"comp_0","nm":"Pre-comp_Keyboard_Still","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey100","cl":"grey100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[624.657,419.246,0],"ix":2,"l":2},"a":{"a":0,"k":[86.578,49.982,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.543,0],[0,0],[0,-2.541],[0,0],[-2.543,0],[0,0],[0,2.54],[0,0]],"o":[[0,0],[-2.543,0],[0,0],[0,2.54],[0,0],[2.543,0],[0,0],[0,-2.541]],"v":[[37.953,-19.39],[-37.953,-19.39],[-42.558,-14.79],[-42.558,14.79],[-37.953,19.39],[37.953,19.39],[42.558,14.79],[42.558,-14.79]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[85.767,82.567],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.491,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.491,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[160.948,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.49,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.49,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[12.208,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"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":[624.095,420.496,0],"ix":2,"l":2},"a":{"a":0,"k":[65.524,1.505,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.753,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"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":[623.849,420.243,0],"ix":2,"l":2},"a":{"a":0,"k":[91.704,40.453,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.854,0],[0,0],[0,0.58],[0,0],[-0.854,0],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.855,0],[0,0],[0,-0.58],[0,0],[0.854,0],[0,0],[0,0.58]],"v":[[6.542,3.986],[-6.527,4.007],[-8.083,2.954],[-8.096,-2.926],[-6.542,-3.987],[6.529,-4.007],[8.083,-2.954],[8.096,2.926]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[8.426,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.634,-0.007],[0,0],[0,0.58],[0,0],[-0.634,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.634,0],[0,0],[0,-0.58],[0,0],[0.634,0],[0,0],[0,0.58]],"v":[[9.245,3.99],[-9.225,4.003],[-10.38,2.95],[-10.393,-2.93],[-9.245,-3.99],[9.225,-4.003],[10.38,-2.95],[10.393,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[172.845,23.506],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.279,4.003],[-5.339,2.95],[-5.354,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.339,-2.95],[5.354,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[154.563,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.405,3.99],[-4.385,4.003],[-5.447,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.385,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[141.955,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,4.003],[-5.336,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.337,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[128.288,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,0],[0,0],[0.007,0.567],[0,0],[-0.58,0],[0,0],[-0.007,-0.567],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.573]],"v":[[4.519,3.92],[-4.499,3.933],[-5.56,2.9],[-5.573,-2.88],[-4.519,-3.92],[4.499,-3.933],[5.56,-2.9],[5.573,2.88]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[115.59,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.519,3.99],[-4.499,4.003],[-5.559,2.95],[-5.574,-2.93],[-4.518,-3.99],[4.499,-4.003],[5.561,-2.95],[5.574,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[102.5,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.574],[0,0],[-0.581,0.006],[0,0],[-0.007,-0.573],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.574]],"v":[[4.309,3.937],[-4.288,3.95],[-5.35,2.91],[-5.363,-2.89],[-4.308,-3.936],[4.289,-3.95],[5.35,-2.91],[5.363,2.89]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[89.401,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[76.406,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.587,-0.007],[0,0],[0,0.58],[0,0],[-0.587,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.587,0],[0,0],[0,-0.58],[0,0],[0.587,0],[0,0],[0,0.58]],"v":[[4.252,3.99],[-4.232,4.003],[-5.3,2.95],[-5.313,-2.93],[-4.252,-3.99],[4.232,-4.003],[5.3,-2.95],[5.313,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[63.226,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.594,-0.007],[0,0],[0,0.58],[0,0],[-0.594,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.595,0],[0,0],[0,-0.58],[0,0],[0.594,0],[0,0],[0,0.58]],"v":[[4.336,3.99],[-4.314,4.003],[-5.402,2.95],[-5.417,-2.93],[-4.335,-3.99],[4.316,-4.003],[5.404,-2.95],[5.417,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[50.227,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.327,-2.93],[-4.273,-3.99],[4.251,-4.003],[5.312,-2.95],[5.326,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[37.175,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.608,0],[0,0],[0,-0.58],[0,0],[0.608,0],[0,0],[0,0.58]],"v":[[13.396,3.99],[-13.376,4.003],[-14.478,2.95],[-14.491,-2.93],[-13.396,-3.99],[13.376,-4.003],[14.477,-2.95],[14.491,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[168.741,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 13","np":2,"cix":2,"bm":0,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[28.374,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 14","np":2,"cix":2,"bm":0,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[41.483,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 15","np":2,"cix":2,"bm":0,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[54.599,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 16","np":2,"cix":2,"bm":0,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.715,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 17","np":2,"cix":2,"bm":0,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.831,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 18","np":2,"cix":2,"bm":0,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.947,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 19","np":2,"cix":2,"bm":0,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[107.062,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 20","np":2,"cix":2,"bm":0,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[120.172,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 21","np":2,"cix":2,"bm":0,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[133.288,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 22","np":2,"cix":2,"bm":0,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[146.404,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 23","np":2,"cix":2,"bm":0,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.489,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.491,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[177.641,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 24","np":2,"cix":2,"bm":0,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,45.749],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 25","np":2,"cix":2,"bm":0,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,41.349],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 26","np":2,"cix":2,"bm":0,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[151.143,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 27","np":2,"cix":2,"bm":0,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.49,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[137.873,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 28","np":2,"cix":2,"bm":0,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[30.831,3.99],[-30.811,4.003],[-31.871,2.95],[-31.885,-2.93],[-30.83,-3.99],[30.811,-4.003],[31.873,-2.95],[31.885,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.099,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 29","np":2,"cix":2,"bm":0,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.604,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 30","np":2,"cix":2,"bm":0,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.45,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[45.141,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 31","np":2,"cix":2,"bm":0,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[18.609,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 32","np":2,"cix":2,"bm":0,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.754,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 33","np":2,"cix":2,"bm":0,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.6,0],[0,0],[0,-0.58],[0,0],[0.6,0],[0,0],[0,0.58]],"v":[[8.71,3.99],[-8.697,4.003],[-9.786,2.95],[-9.799,-2.93],[-8.71,-3.99],[8.697,-4.003],[9.786,-2.95],[9.799,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[10.282,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 34","np":2,"cix":2,"bm":0,"ix":34,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[23.922,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 35","np":2,"cix":2,"bm":0,"ix":35,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.687,-0.007],[0,0],[0,0.58],[0,0],[-0.688,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.695,0],[0,0],[0,-0.58],[0,0],[0.694,0],[0,0],[0,0.58]],"v":[[5.13,3.99],[-5.109,4.003],[-6.371,2.95],[-6.384,-2.93],[-5.129,-3.99],[5.11,-4.003],[6.371,-2.95],[6.385,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[176.814,14.013],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 36","np":2,"cix":2,"bm":0,"ix":36,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.554,-0.007],[0,0],[0.007,0.587],[0,0],[-0.554,0.007],[0,0],[-0.007,-0.587],[0,0]],"o":[[0,0],[-0.554,0.013],[0,0],[0,-0.58],[0,0],[0.554,-0.013],[0,0],[0,0.58]],"v":[[4.385,3.993],[-4.366,3.993],[-5.38,2.947],[-5.393,-2.934],[-4.386,-3.993],[4.365,-3.993],[5.38,-2.947],[5.393,2.934]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[163.121,14.016],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 37","np":2,"cix":2,"bm":0,"ix":37,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.278,4.003],[-5.339,2.95],[-5.353,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.34,-2.95],[5.353,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[149.951,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 38","np":2,"cix":2,"bm":0,"ix":38,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.406,3.99],[-4.385,4.003],[-5.446,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.386,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[136.842,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 39","np":2,"cix":2,"bm":0,"ix":39,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.057,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 40","np":2,"cix":2,"bm":0,"ix":40,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.332,3.99],[-4.312,4.003],[-5.374,2.95],[-5.387,-2.93],[-4.333,-3.99],[4.312,-4.003],[5.372,-2.95],[5.387,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[111.378,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 41","np":2,"cix":2,"bm":0,"ix":41,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.342,3.99],[-4.322,4.003],[-5.383,2.95],[-5.396,-2.93],[-4.342,-3.99],[4.322,-4.003],[5.383,-2.95],[5.396,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[98.292,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 42","np":2,"cix":2,"bm":0,"ix":42,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.236,3.99],[-4.215,4.003],[-5.277,2.95],[-5.29,-2.93],[-4.234,-3.99],[4.215,-4.003],[5.277,-2.95],[5.29,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.249,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 43","np":2,"cix":2,"bm":0,"ix":43,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[71.994,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 44","np":2,"cix":2,"bm":0,"ix":44,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.222,3.99],[-4.202,4.003],[-5.264,2.95],[-5.277,-2.93],[-4.223,-3.99],[4.202,-4.003],[5.262,-2.95],[5.277,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[59.445,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 45","np":2,"cix":2,"bm":0,"ix":45,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.219,3.99],[-4.199,4.003],[-5.26,2.95],[-5.273,-2.93],[-4.219,-3.99],[4.199,-4.003],[5.26,-2.95],[5.273,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[46.226,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 46","np":2,"cix":2,"bm":0,"ix":46,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.326,-2.93],[-4.273,-3.99],[4.252,-4.003],[5.312,-2.95],[5.327,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[33.224,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 47","np":2,"cix":2,"bm":0,"ix":47,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.674,-0.007],[0,0],[0,0.58],[0,0],[-0.674,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.674,0],[0,0],[0,-0.58],[0,0],[0.674,0],[0,0],[0,0.58]],"v":[[5.139,3.99],[-5.126,4.003],[-6.348,2.95],[-6.361,-2.93],[-5.139,-3.99],[5.126,-4.003],[6.348,-2.95],[6.361,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[6.724,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 48","np":2,"cix":2,"bm":0,"ix":48,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[20.204,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 49","np":2,"cix":2,"bm":0,"ix":49,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.694,-0.007],[0,0],[0,0.58],[0,0],[-0.694,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.688,0],[0,0],[0,-0.58],[0,0],[0.688,0],[0,0],[0,0.58]],"v":[[7.46,3.99],[-7.446,4.003],[-8.701,2.95],[-8.714,-2.93],[-7.46,-3.99],[7.445,-4.003],[8.701,-2.95],[8.714,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[174.524,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 50","np":2,"cix":2,"bm":0,"ix":50,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[158.224,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 51","np":2,"cix":2,"bm":0,"ix":51,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.314,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.294,-3.99],[5.322,-2.95],[5.336,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[145.329,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 52","np":2,"cix":2,"bm":0,"ix":52,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[132.426,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 53","np":2,"cix":2,"bm":0,"ix":53,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.322,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[119.531,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 54","np":2,"cix":2,"bm":0,"ix":54,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.315,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[106.635,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 55","np":2,"cix":2,"bm":0,"ix":55,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.733,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 56","np":2,"cix":2,"bm":0,"ix":56,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.837,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 57","np":2,"cix":2,"bm":0,"ix":57,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.935,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 58","np":2,"cix":2,"bm":0,"ix":58,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[55.039,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 59","np":2,"cix":2,"bm":0,"ix":59,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[42.144,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 60","np":2,"cix":2,"bm":0,"ix":60,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[29.241,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 61","np":2,"cix":2,"bm":0,"ix":61,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[16.346,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 62","np":2,"cix":2,"bm":0,"ix":62,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.369,-0.001],[0,0],[-0.001,-0.368],[0,0],[-0.368,0],[0,0],[0.001,0.369],[0,0]],"o":[[0,0],[-0.368,0.001],[0,0],[0.001,0.369],[0,0],[0.369,-0.001],[0,0],[-0.001,-0.368]],"v":[[3.492,-4.001],[-3.51,-3.985],[-4.176,-3.317],[-4.161,3.336],[-3.492,4.002],[3.51,3.986],[4.176,3.317],[4.161,-3.336]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[4.615,4.262],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 63","np":2,"cix":2,"bm":0,"ix":63,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".grey200","cl":"grey200","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[623.849,310.757,0],"ix":2,"l":2},"a":{"a":0,"k":[98.599,0.25,0],"ix":1,"l":2},"s":{"a":0,"k":[200,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.978,0],[0,0],[0,-3.972],[0,0],[-3.978,0],[0,0],[0,3.973],[0,0]],"o":[[0,0],[-3.978,0],[0,0],[0,3.973],[0,0],[3.978,0],[0,0],[0,-3.972]],"v":[[91.147,-54.743],[-91.147,-54.743],[-98.349,-47.551],[-98.349,47.549],[-91.147,54.743],[91.147,54.743],[98.349,47.549],[98.349,-47.551]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[98.599,54.993],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue300","cl":"blue300","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":65,"s":[100]},{"t":75,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[-0.001,-10.919],[10.919,0.001],[-0.001,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[58.296,-27],"to":[0,6.362],"ti":[0,-6.362]},{"t":65,"s":[58.296,11.17]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[-0.001,-10.919],[10.919,0.001],[-0.001,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[34.158,-27],"to":[0,6.362],"ti":[0,-6.362]},{"t":65,"s":[34.158,11.17]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[10.169,-27],"to":[0,6.362],"ti":[0,-6.362]},{"t":65,"s":[10.169,11.17]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".blue300to0","cl":"blue300to0","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":65,"s":[100]},{"t":75,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":30,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":65,"s":[20,58]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[0,-64],"to":[0,3.333],"ti":[0,-6.833]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.2,"y":0},"t":65,"s":[0,-44],"to":[0,6.833],"ti":[0,-3.5]},{"t":75,"s":[0,-23]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[0,-40],"ix":5},"e":{"a":0,"k":[0,-90],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[58.05,7.091],"ix":2},"a":{"a":0,"k":[0,-26.682],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"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":30,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":65,"s":[20,58]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[0,-64],"to":[0,3.333],"ti":[0,-6.833]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.2,"y":0},"t":65,"s":[0,-44],"to":[0,6.833],"ti":[0,-3.5]},{"t":75,"s":[0,-23]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[0,-40],"ix":5},"e":{"a":0,"k":[0,-90],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[34.05,7.646],"ix":2},"a":{"a":0,"k":[0,-26.128],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"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":30,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[1,0.833]},"o":{"x":[0.2,0.2],"y":[0,0]},"t":65,"s":[20,58]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[0,-64],"to":[0,3.333],"ti":[0,-6.833]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.2,"y":0},"t":65,"s":[0,-44],"to":[0,6.833],"ti":[0,-3.5]},{"t":75,"s":[0,-23]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[0,-40],"ix":5},"e":{"a":0,"k":[0,-90],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[10.3,7.289],"ix":2},"a":{"a":0,"k":[0,-26.484],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"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":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[201,201],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.854901969433,0.86274510622,0.878431379795,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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.541176470588,0.705882352941,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":[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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Pre-comp_Keyboard_Still","tt":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":[313,134,0],"ix":2,"l":2},"a":{"a":0,"k":[624,402,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1248,"h":804,"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/gesture_tip5_switch_apps.json b/res/raw/gesture_tip5_switch_apps.json
new file mode 100644
index 0000000..96a0190
--- /dev/null
+++ b/res/raw/gesture_tip5_switch_apps.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":330,"w":624,"h":402,"nm":"Comp_Tip6_Switchapps_DT 1","ddd":0,"assets":[{"id":"comp_0","nm":"Pre-comp_Keyboard_Still","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey100","cl":"grey100","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[624.657,419.246,0],"ix":2,"l":2},"a":{"a":0,"k":[86.578,49.982,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.543,0],[0,0],[0,-2.541],[0,0],[-2.543,0],[0,0],[0,2.54],[0,0]],"o":[[0,0],[-2.543,0],[0,0],[0,2.54],[0,0],[2.543,0],[0,0],[0,-2.541]],"v":[[37.953,-19.39],[-37.953,-19.39],[-42.558,-14.79],[-42.558,14.79],[-37.953,19.39],[37.953,19.39],[42.558,14.79],[42.558,-14.79]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[85.767,82.567],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.491,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.491,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[160.948,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.49,0],[0,0],[0,-0.49],[0,0],[-0.49,0],[0,0],[0,0.49],[0,0]],"o":[[0,0],[-0.49,0],[0,0],[0,0.49],[0,0],[0.49,0],[0,0],[0,-0.49]],"v":[[11.07,-3.094],[-11.07,-3.094],[-11.958,-2.206],[-11.958,2.206],[-11.07,3.094],[11.07,3.094],[11.958,2.206],[11.958,-2.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.945098042488,0.952941179276,0.956862747669,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":[12.208,3.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"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":[624.095,420.496,0],"ix":2,"l":2},"a":{"a":0,"k":[65.524,1.505,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.753,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"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":[623.849,420.243,0],"ix":2,"l":2},"a":{"a":0,"k":[91.704,40.453,0],"ix":1,"l":2},"s":{"a":0,"k":[200,200,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.854,0],[0,0],[0,0.58],[0,0],[-0.854,0],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.855,0],[0,0],[0,-0.58],[0,0],[0.854,0],[0,0],[0,0.58]],"v":[[6.542,3.986],[-6.527,4.007],[-8.083,2.954],[-8.096,-2.926],[-6.542,-3.987],[6.529,-4.007],[8.083,-2.954],[8.096,2.926]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[8.426,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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.634,-0.007],[0,0],[0,0.58],[0,0],[-0.634,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.634,0],[0,0],[0,-0.58],[0,0],[0.634,0],[0,0],[0,0.58]],"v":[[9.245,3.99],[-9.225,4.003],[-10.38,2.95],[-10.393,-2.93],[-9.245,-3.99],[9.225,-4.003],[10.38,-2.95],[10.393,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[172.845,23.506],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.279,4.003],[-5.339,2.95],[-5.354,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.339,-2.95],[5.354,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[154.563,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.405,3.99],[-4.385,4.003],[-5.447,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.385,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[141.955,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,4.003],[-5.336,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.337,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[128.288,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,0],[0,0],[0.007,0.567],[0,0],[-0.58,0],[0,0],[-0.007,-0.567],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.573]],"v":[[4.519,3.92],[-4.499,3.933],[-5.56,2.9],[-5.573,-2.88],[-4.519,-3.92],[4.499,-3.933],[5.56,-2.9],[5.573,2.88]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[115.59,23.516],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.519,3.99],[-4.499,4.003],[-5.559,2.95],[-5.574,-2.93],[-4.518,-3.99],[4.499,-4.003],[5.561,-2.95],[5.574,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[102.5,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.574],[0,0],[-0.581,0.006],[0,0],[-0.007,-0.573],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.573],[0,0],[0.581,0],[0,0],[0,0.574]],"v":[[4.309,3.937],[-4.288,3.95],[-5.35,2.91],[-5.363,-2.89],[-4.308,-3.936],[4.289,-3.95],[5.35,-2.91],[5.363,2.89]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[89.401,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[76.406,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.587,-0.007],[0,0],[0,0.58],[0,0],[-0.587,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.587,0],[0,0],[0,-0.58],[0,0],[0.587,0],[0,0],[0,0.58]],"v":[[4.252,3.99],[-4.232,4.003],[-5.3,2.95],[-5.313,-2.93],[-4.252,-3.99],[4.232,-4.003],[5.3,-2.95],[5.313,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[63.226,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.594,-0.007],[0,0],[0,0.58],[0,0],[-0.594,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.595,0],[0,0],[0,-0.58],[0,0],[0.594,0],[0,0],[0,0.58]],"v":[[4.336,3.99],[-4.314,4.003],[-5.402,2.95],[-5.417,-2.93],[-4.335,-3.99],[4.316,-4.003],[5.404,-2.95],[5.417,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[50.227,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.327,-2.93],[-4.273,-3.99],[4.251,-4.003],[5.312,-2.95],[5.326,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[37.175,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.608,0],[0,0],[0,-0.58],[0,0],[0.608,0],[0,0],[0,0.58]],"v":[[13.396,3.99],[-13.376,4.003],[-14.478,2.95],[-14.491,-2.93],[-13.396,-3.99],[13.376,-4.003],[14.477,-2.95],[14.491,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[168.741,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 13","np":2,"cix":2,"bm":0,"ix":13,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[28.374,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 14","np":2,"cix":2,"bm":0,"ix":14,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[41.483,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 15","np":2,"cix":2,"bm":0,"ix":15,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[54.599,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 16","np":2,"cix":2,"bm":0,"ix":16,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.715,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 17","np":2,"cix":2,"bm":0,"ix":17,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.831,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 18","np":2,"cix":2,"bm":0,"ix":18,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.947,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 19","np":2,"cix":2,"bm":0,"ix":19,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.296,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[107.062,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 20","np":2,"cix":2,"bm":0,"ix":20,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.297,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[120.172,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 21","np":2,"cix":2,"bm":0,"ix":21,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.297,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[133.288,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 22","np":2,"cix":2,"bm":0,"ix":22,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,3.99],[-5.296,2.95],[-5.31,-2.93],[-4.295,-3.99],[4.275,-3.99],[5.296,-2.95],[5.31,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[146.404,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 23","np":2,"cix":2,"bm":0,"ix":23,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.489,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.491,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[177.641,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 24","np":2,"cix":2,"bm":0,"ix":24,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,45.749],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 25","np":2,"cix":2,"bm":0,"ix":25,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,1.88],[-4.428,1.893],[-5.489,0.84],[-5.503,-0.82],[-4.448,-1.88],[4.429,-1.893],[5.491,-0.84],[5.504,0.82]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[164.412,41.349],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 26","np":2,"cix":2,"bm":0,"ix":26,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[151.143,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 27","np":2,"cix":2,"bm":0,"ix":27,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.448,-3.99],[4.429,-4.003],[5.49,-2.95],[5.504,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[137.873,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 28","np":2,"cix":2,"bm":0,"ix":28,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[30.831,3.99],[-30.811,4.003],[-31.871,2.95],[-31.885,-2.93],[-30.83,-3.99],[30.811,-4.003],[31.873,-2.95],[31.885,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.099,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 29","np":2,"cix":2,"bm":0,"ix":29,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.429,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.429,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.604,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 30","np":2,"cix":2,"bm":0,"ix":30,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.491,2.95],[-5.503,-2.93],[-4.45,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[45.141,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 31","np":2,"cix":2,"bm":0,"ix":31,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[18.609,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 32","np":2,"cix":2,"bm":0,"ix":32,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[5.754,43.453],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 33","np":2,"cix":2,"bm":0,"ix":33,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.601,-0.007],[0,0],[0,0.58],[0,0],[-0.601,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.6,0],[0,0],[0,-0.58],[0,0],[0.6,0],[0,0],[0,0.58]],"v":[[8.71,3.99],[-8.697,4.003],[-9.786,2.95],[-9.799,-2.93],[-8.71,-3.99],[8.697,-4.003],[9.786,-2.95],[9.799,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[10.282,33.62],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 34","np":2,"cix":2,"bm":0,"ix":34,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.428,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[23.922,23.513],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 35","np":2,"cix":2,"bm":0,"ix":35,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.687,-0.007],[0,0],[0,0.58],[0,0],[-0.688,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.695,0],[0,0],[0,-0.58],[0,0],[0.694,0],[0,0],[0,0.58]],"v":[[5.13,3.99],[-5.109,4.003],[-6.371,2.95],[-6.384,-2.93],[-5.129,-3.99],[5.11,-4.003],[6.371,-2.95],[6.385,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[176.814,14.013],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 36","np":2,"cix":2,"bm":0,"ix":36,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.554,-0.007],[0,0],[0.007,0.587],[0,0],[-0.554,0.007],[0,0],[-0.007,-0.587],[0,0]],"o":[[0,0],[-0.554,0.013],[0,0],[0,-0.58],[0,0],[0.554,-0.013],[0,0],[0,0.58]],"v":[[4.385,3.993],[-4.366,3.993],[-5.38,2.947],[-5.393,-2.934],[-4.386,-3.993],[4.365,-3.993],[5.38,-2.947],[5.393,2.934]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[163.121,14.016],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 37","np":2,"cix":2,"bm":0,"ix":37,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.299,3.99],[-4.278,4.003],[-5.339,2.95],[-5.353,-2.93],[-4.298,-3.99],[4.279,-4.003],[5.34,-2.95],[5.353,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[149.951,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 38","np":2,"cix":2,"bm":0,"ix":38,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.58,-0.007],[0,0],[0.006,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.58,0],[0,0],[0,0.58]],"v":[[4.406,3.99],[-4.385,4.003],[-5.446,2.95],[-5.46,-2.93],[-4.405,-3.99],[4.386,-4.003],[5.447,-2.95],[5.46,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[136.842,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 39","np":2,"cix":2,"bm":0,"ix":39,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[124.057,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 40","np":2,"cix":2,"bm":0,"ix":40,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.332,3.99],[-4.312,4.003],[-5.374,2.95],[-5.387,-2.93],[-4.333,-3.99],[4.312,-4.003],[5.372,-2.95],[5.387,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[111.378,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 41","np":2,"cix":2,"bm":0,"ix":41,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.342,3.99],[-4.322,4.003],[-5.383,2.95],[-5.396,-2.93],[-4.342,-3.99],[4.322,-4.003],[5.383,-2.95],[5.396,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[98.292,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 42","np":2,"cix":2,"bm":0,"ix":42,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.007,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.236,3.99],[-4.215,4.003],[-5.277,2.95],[-5.29,-2.93],[-4.234,-3.99],[4.215,-4.003],[5.277,-2.95],[5.29,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[85.249,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 43","np":2,"cix":2,"bm":0,"ix":43,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.295,3.99],[-4.275,4.003],[-5.337,2.95],[-5.35,-2.93],[-4.295,-3.99],[4.275,-4.003],[5.336,-2.95],[5.35,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[71.994,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 44","np":2,"cix":2,"bm":0,"ix":44,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.222,3.99],[-4.202,4.003],[-5.264,2.95],[-5.277,-2.93],[-4.223,-3.99],[4.202,-4.003],[5.262,-2.95],[5.277,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[59.445,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 45","np":2,"cix":2,"bm":0,"ix":45,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.581,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.581,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.219,3.99],[-4.199,4.003],[-5.26,2.95],[-5.273,-2.93],[-4.219,-3.99],[4.199,-4.003],[5.26,-2.95],[5.273,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[46.226,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 46","np":2,"cix":2,"bm":0,"ix":46,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.271,3.99],[-4.253,4.003],[-5.314,2.95],[-5.326,-2.93],[-4.273,-3.99],[4.252,-4.003],[5.312,-2.95],[5.327,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[33.224,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 47","np":2,"cix":2,"bm":0,"ix":47,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.674,-0.007],[0,0],[0,0.58],[0,0],[-0.674,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.674,0],[0,0],[0,-0.58],[0,0],[0.674,0],[0,0],[0,0.58]],"v":[[5.139,3.99],[-5.126,4.003],[-6.348,2.95],[-6.361,-2.93],[-5.139,-3.99],[5.126,-4.003],[6.348,-2.95],[6.361,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[6.724,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 48","np":2,"cix":2,"bm":0,"ix":48,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.581,-0.007],[0,0],[0.007,0.58],[0,0],[-0.58,0.007],[0,0],[-0.006,-0.58],[0,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.58],[0,0],[0.581,0],[0,0],[0,0.58]],"v":[[4.449,3.99],[-4.43,4.003],[-5.49,2.95],[-5.503,-2.93],[-4.449,-3.99],[4.428,-4.003],[5.49,-2.95],[5.503,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[20.204,14.02],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 49","np":2,"cix":2,"bm":0,"ix":49,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.694,-0.007],[0,0],[0,0.58],[0,0],[-0.694,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.688,0],[0,0],[0,-0.58],[0,0],[0.688,0],[0,0],[0,0.58]],"v":[[7.46,3.99],[-7.446,4.003],[-8.701,2.95],[-8.714,-2.93],[-7.46,-3.99],[7.445,-4.003],[8.701,-2.95],[8.714,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[174.524,4.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 50","np":2,"cix":2,"bm":0,"ix":50,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[158.224,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 51","np":2,"cix":2,"bm":0,"ix":51,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.314,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.294,-3.99],[5.322,-2.95],[5.336,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[145.329,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 52","np":2,"cix":2,"bm":0,"ix":52,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[132.426,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 53","np":2,"cix":2,"bm":0,"ix":53,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.322,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[119.531,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 54","np":2,"cix":2,"bm":0,"ix":54,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.315,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[106.635,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 55","np":2,"cix":2,"bm":0,"ix":55,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.56,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.56,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.324,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[93.733,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 56","np":2,"cix":2,"bm":0,"ix":56,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[80.837,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 57","np":2,"cix":2,"bm":0,"ix":57,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[67.935,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 58","np":2,"cix":2,"bm":0,"ix":58,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[55.039,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 59","np":2,"cix":2,"bm":0,"ix":59,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.295,3.99],[-5.323,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[42.144,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 60","np":2,"cix":2,"bm":0,"ix":60,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.561,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.561,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.294,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.314,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[29.241,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 61","np":2,"cix":2,"bm":0,"ix":61,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.561,-0.007],[0,0],[0,0.58],[0,0],[-0.56,0.007],[0,0],[0,-0.58],[0,0]],"o":[[0,0],[-0.56,0.013],[0,0],[0,-0.58],[0,0],[0.561,-0.013],[0,0],[0,0.58]],"v":[[4.316,3.99],[-4.296,3.99],[-5.322,2.95],[-5.337,-2.93],[-4.316,-3.99],[4.296,-3.99],[5.324,-2.95],[5.337,2.93]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[16.346,4.259],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 62","np":2,"cix":2,"bm":0,"ix":62,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.369,-0.001],[0,0],[-0.001,-0.368],[0,0],[-0.368,0],[0,0],[0.001,0.369],[0,0]],"o":[[0,0],[-0.368,0.001],[0,0],[0.001,0.369],[0,0],[0.369,-0.001],[0,0],[-0.001,-0.368]],"v":[[3.492,-4.001],[-3.51,-3.985],[-4.176,-3.317],[-4.161,3.336],[-3.492,4.002],[3.51,3.986],[4.176,3.317],[4.161,-3.336]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,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":[4.615,4.262],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 63","np":2,"cix":2,"bm":0,"ix":63,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".grey200","cl":"grey200","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[623.849,310.757,0],"ix":2,"l":2},"a":{"a":0,"k":[98.599,0.25,0],"ix":1,"l":2},"s":{"a":0,"k":[200,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.978,0],[0,0],[0,-3.972],[0,0],[-3.978,0],[0,0],[0,3.973],[0,0]],"o":[[0,0],[-3.978,0],[0,0],[0,3.973],[0,0],[3.978,0],[0,0],[0,-3.972]],"v":[[91.147,-54.743],[-91.147,-54.743],[-98.349,-47.551],[-98.349,47.549],[-91.147,54.743],[91.147,54.743],[98.349,47.549],[98.349,-47.551]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909803926945,0.917647063732,0.929411768913,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":[98.599,54.993],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":1800,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue300","cl":"blue300","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":180,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":190,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":215,"s":[100]},{"t":225,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[-0.001,-10.919],[10.919,0.001],[-0.001,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[56.4,-7.75],"to":[6.433,0],"ti":[-6.433,0]},{"t":215,"s":[95,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[33,-7.75],"to":[6.383,0],"ti":[-6.383,0]},{"t":215,"s":[71.3,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[9.419,-7.75],"to":[6.333,0],"ti":[-6.333,0]},{"t":215,"s":[47.419,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[-14.331,-7.75],"to":[6.333,0],"ti":[-6.333,0]},{"t":215,"s":[23.669,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":1980,"st":180,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".blue300","cl":"blue300","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":65,"s":[100]},{"t":75,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[-0.001,-10.919],[10.919,0.001],[-0.001,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[82.9,-7.75],"to":[-6.317,0],"ti":[6.317,0]},{"t":65,"s":[45,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"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":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[59.5,-7.75],"to":[-6.367,0],"ti":[6.367,0]},{"t":65,"s":[21.3,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[35.919,-7.75],"to":[-6.417,0],"ti":[6.417,0]},{"t":65,"s":[-2.581,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 3","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-6.031,0],[0,-6.031],[6.031,0],[0,6.03]],"o":[[6.031,0],[0,6.03],[-6.031,0],[0,-6.031]],"v":[[0,-10.919],[10.919,0.001],[0,10.919],[-10.919,0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549079446,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[12.169,-7.75],"to":[-6.417,0],"ti":[6.417,0]},{"t":65,"s":[-26.331,-7.75]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 4","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue300to0","cl":"blue300to0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":180,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":190,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":215,"s":[100]},{"t":225,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":180,"s":[91,20]},{"i":{"x":[0.833,0.833],"y":[0.833,1]},"o":{"x":[0.167,0.167],"y":[0.058,0]},"t":215,"s":[129,20]},{"t":225,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[11.5,-41],"to":[3.167,0],"ti":[-12.25,0]},{"i":{"x":0.833,"y":0.741},"o":{"x":0.167,"y":0.09},"t":215,"s":[30.5,-41],"to":[12.25,0],"ti":[-9.083,0]},{"t":225,"s":[85,-41]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[-10,0],"ix":5},"e":{"a":0,"k":[-50,0],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-4.453,-7.514],"ix":2},"a":{"a":0,"k":[-14.253,-40.724],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":1980,"st":180,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue300to0","cl":"blue300to0","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":65,"s":[100]},{"t":75,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,235.98,0],"ix":2,"l":2},"a":{"a":0,"k":[34.733,11.17,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":30,"s":[91,20]},{"i":{"x":[0.833,0.833],"y":[0.833,1]},"o":{"x":[0.167,0.167],"y":[0.058,0]},"t":65,"s":[129,20]},{"t":75,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":30,"s":[37.5,-41],"to":[-3.167,0],"ti":[12.25,0]},{"i":{"x":0.833,"y":0.741},"o":{"x":0.167,"y":0.09},"t":65,"s":[18.5,-41],"to":[-12.25,0],"ti":[9.083,0]},{"t":75,"s":[-36,-41]}],"ix":3},"r":{"a":0,"k":19.046,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"gf","o":{"a":0,"k":50,"ix":10},"r":1,"bm":0,"g":{"p":3,"k":{"a":0,"k":[0,0.541,0.706,0.973,0.5,0.541,0.706,0.973,1,0.541,0.706,0.973,0,0.8,0.5,0.4,1,0],"ix":9}},"s":{"a":0,"k":[25,0],"ix":5},"e":{"a":0,"k":[126,0],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-4.453,-7.514],"ix":2},"a":{"a":0,"k":[-14.253,-40.724],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"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":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[201,201],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.854901969433,0.86274510622,0.878431379795,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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[312,212,0],"ix":2,"l":2},"a":{"a":0,"k":[9.512,15.996,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":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.541176470588,0.705882352941,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":[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":[9.512,15.996],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"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 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"Pre-comp_Keyboard_Still","tt":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":[313,134,0],"ix":2,"l":2},"a":{"a":0,"k":[624,402,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":1248,"h":804,"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 644486d..4295dd4 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -19,4 +19,5 @@
     <dimen name="biometric_auth_pattern_view_size">248dp</dimen>
     <dimen name="biometric_auth_pattern_view_max_size">348dp</dimen>
 
+    <dimen name="output_switcher_slice_max_height">300dp</dimen>
 </resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index 0c610e3..5c5a07f 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -101,6 +101,14 @@
         -->
     </string-array>
 
+    <!-- List containing the component names of pre-installed speech services. -->
+    <string-array name="config_preinstalled_speech_services" translatable="false">
+        <!--
+        <item>com.example.package.first/com.example.class.FirstService</item>
+        <item>com.example.package.second/com.example.class.SecondService</item>
+        -->
+    </string-array>
+
     <!-- List containing the component names of pre-installed interaction control services. -->
     <string-array name="config_preinstalled_interaction_control_services" translatable="false">
         <!--
@@ -109,8 +117,9 @@
         -->
     </string-array>
 
-    <!-- List containing the order of services in screen reader category by componentname.
-         All componentnames in a category need to be specified to guarantee correct behavior.-->
+    <!-- List containing the order of services in screen reader category by {@link ComponentName}.
+         All {@link ComponentName} in a category need to be specified to guarantee correct
+         behavior.-->
     <string-array name="config_order_screen_reader_services" translatable="false">
         <!--
         <item>com.example.package.first/com.example.class.FirstService</item>
@@ -119,8 +128,8 @@
     </string-array>
 
     <!-- List containing the order of services in captions category by preference key or
-         componentname. All preference keys in a category need to be specified to guarantee correct
-         behavior.-->
+         {@link ComponentName}. All preference keys in a category need to be specified to guarantee
+         correct behavior.-->
     <string-array name="config_order_captions_services" translatable="false">
         <!--
         <item>com.example.package.first/com.example.class.FirstService</item>
@@ -131,8 +140,8 @@
         -->
     </string-array>
 
-    <!-- List containing the order of services in audio and caption category by preference key
-         or componentname. All preference keys in a category need to be specified to guarantee
+    <!-- List containing the order of services in audio and caption category by preference key or
+         {@link ComponentName}. All preference keys in a category need to be specified to guarantee
          correct behavior.-->
     <string-array name="config_order_audio_services" translatable="false">
         <!--
@@ -144,8 +153,8 @@
         -->
     </string-array>
 
-    <!-- List containing the order of services in display category by preference key
-         or componentname. All preference keys in a category need to be specified to guarantee
+    <!-- List containing the order of services in display category by preference key or
+         {@link ComponentName}. All preference keys in a category need to be specified to guarantee
          correct behavior.-->
     <string-array name="config_order_display_services" translatable="false">
         <!--
@@ -157,8 +166,21 @@
         -->
     </string-array>
 
-    <!-- List containing the order of services in interaction control category by preference key
-         or componentname. All preference keys in a category need to be specified to guarantee
+    <!-- List containing the order of services in speech category by preference key or
+         {@link ComponentName}. All preference keys in a category need to be specified to guarantee
+         correct behavior.-->
+    <string-array name="config_order_speech_services" translatable="false">
+        <!--
+        <item>com.example.package.first/com.example.class.FirstService</item>
+        <item>com.example.package.second/com.example.class.SecondService</item>
+        <item>font_size_preference_screen</item>
+        <item>dark_ui_mode_accessibility</item>
+        <item>...</item>
+        -->
+    </string-array>
+
+    <!-- List containing the order of services in interaction control category by preference key or
+         {@link ComponentName}. All preference keys in a category need to be specified to guarantee
          correct behavior.-->
     <string-array name="config_order_interaction_control_services" translatable="false">
         <!--
@@ -578,13 +600,7 @@
     <!-- The option list for switch screen resolution -->
     <string-array name="config_screen_resolution_options_strings" translatable="false">
         <item>@string/screen_resolution_option_high</item>
-        <item>@string/screen_resolution_option_highest</item>
-    </string-array>
-
-    <!-- The option summary list for screen resolution -->
-    <string-array name="config_screen_resolution_summaries_strings" translatable="false">
-        <item>@string/screen_resolution_summary_high</item>
-        <item>@string/screen_resolution_summary_highest</item>
+        <item>@string/screen_resolution_option_full</item>
     </string-array>
 
     <!-- Whether to aggregate for network selection list-->
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 85cb43b..3dfdc8a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -827,6 +827,8 @@
     <!-- Biometric settings --><skip />
     <!-- Title shown for menu item that launches biometric settings. [CHAR LIMIT=66] -->
     <string name="security_settings_biometric_preference_title">Face &amp; Fingerprint Unlock</string>
+    <!-- Title shown for work menu item that launches biometric settings. [CHAR LIMIT=66] -->
+    <string name="security_settings_work_biometric_preference_title">Face &amp; Fingerprint Unlock for work</string>
     <!-- Message shown in summary field of biometric settings. [CHAR LIMIT=66] -->
     <string name="security_settings_biometric_preference_summary_none_enrolled">Tap to set up</string>
     <!-- Message shown in summary field of biometric settings when face is enrolled, and multiple fingerprints are enrolled. [CHAR LIMIT=66]-->
@@ -837,6 +839,8 @@
     <string name="biometric_settings_intro">When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area</string>
     <!-- Biometric category title - biometric options for unlocking the device. [CHAR LIMIT=50] -->
     <string name="biometric_settings_category_ways_to_unlock">Ways to unlock</string>
+    <!-- Biometric category title - biometric options for unlocking the device. [CHAR LIMIT=60] -->
+    <string name="biometric_settings_category_use_face_fingerprint">Use face or fingerprint to</string>
     <!-- Text shown on a toggle which allows or disallows the device to use biometric for unlocking the device. [CHAR LIMIT=50] -->
     <string name="biometric_settings_use_biometric_unlock_phone">Unlock your phone</string>
     <!-- Text shown on a toggle which allows or disallows the device to use biometric for authentication. [CHAR LIMIT=50] -->
@@ -930,18 +934,6 @@
     <string name="security_settings_udfps_enroll_progress_a11y_message">Enrolling fingerprint <xliff:g id="percentage" example="10">%d</xliff:g> percent</string>
     <!-- Title shown in fingerprint enrollment dialog once enrollment is completed [CHAR LIMIT=29] -->
     <string name="security_settings_fingerprint_enroll_finish_title">Fingerprint added</string>
-    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (tablet) [CHAR LIMIT=NONE] -->
-    <string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet">Now you can use your fingerprint to unlock your tablet or verify it\u2019s you, like when you sign in to apps or approve a purchase</string>
-    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (device) [CHAR LIMIT=NONE] -->
-    <string name="security_settings_fingerprint_enroll_finish_v2_message" product="device">Now you can use your fingerprint to unlock your device or verify it\u2019s you, like when you sign in to apps or approve a purchase</string>
-    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (default) [CHAR LIMIT=NONE] -->
-    <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default">Now you can use your fingerprint to unlock your phone or verify it\u2019s you, like when you sign in to apps or approve a purchase</string>
-    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (tablet) [CHAR LIMIT=NONE] -->
-    <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="tablet">Now you can use your fingerprint to unlock your tablet or verify it\u2019s you, like when you sign in to apps or approve a purchase. \n\nAdd another fingerprint so it\u2019s easier to unlock when you hold your tablet in different ways.</string>
-    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (device) [CHAR LIMIT=NONE] -->
-    <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="device">Now you can use your fingerprint to unlock your device or verify it\u2019s you, like when you sign in to apps or approve a purchase.\n\nAdd another fingerprint so it\u2019s easier to unlock when you hold your device in different ways.</string>
-    <!-- Message shown in fingerprint enrollment dialog once enrollment is completed (default) [CHAR LIMIT=NONE] -->
-    <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="default">Now you can use your fingerprint to unlock your phone or verify it\u2019s you, like when you sign in to apps or approve a purchase.\n\nAdd another fingerprint so it\u2019s easier to unlock when you hold your phone in different ways.</string>
     <!-- Title for require screen on to auth toggle shown in fingerprint enrollment dialog once enrollment is completed. [CHAR LIMIT=NONE] -->
     <string name="security_settings_require_screen_on_to_auth_title">Touch to unlock anytime</string>
     <!-- Description for require screen on to auth toggle shown in fingerprint enrollment dialog once enrollment is completed. [CHAR LIMIT=NONE] -->
@@ -1022,6 +1014,15 @@
     <!-- Title for the section that has additional privacy settings. [CHAR LIMIT=60] -->
     <string name="privacy_advanced_settings">More privacy settings</string>
 
+    <!-- Title for the subpage in the "Security & privacy". This page consists of the more security and privacy settings. Can be navigated by Settings -> Security & privacy -> More Settings [CHAR LIMIT=NONE] -->
+    <string name="more_security_privacy_settings">More settings</string>
+    <!-- Title for the section that has security entries in the More Settings page. [CHAR LIMIT=60] -->
+    <string name="security_header">Security</string>
+    <!-- Title for the section that has privacy entries in the More Settings page. [CHAR LIMIT=60] -->
+    <string name="privacy_header">Privacy</string>
+    <!-- Title for the section that has work profile entries in the More Settings page. [CHAR LIMIT=60] -->
+    <string name="work_profile_category_header">Work profile</string>
+
     <!-- Text shown when "Add fingerprint" button is disabled -->
     <string name="fingerprint_add_max">You can add up to <xliff:g id="count" example="5">%d</xliff:g> fingerprints</string>
     <!-- Text shown when users has enrolled a maximum number of fingerprints [CHAR LIMIT=NONE] -->
@@ -1045,6 +1046,10 @@
     <string name="no_screen_lock_issue_summary">For added security, set a PIN, pattern, or password for this device.</string>
     <!-- Action label for the issue card in Safety Center when no screen lock is set [CHAR LIMIT=50] -->
     <string name="no_screen_lock_issue_action_label">Set screen lock</string>
+    <!-- Title of the notification shown by Safety Center when no screen lock is set. This notification is shown in the notification shade, outside of the main Safety Center UI. [CHAR LIMIT=50] -->
+    <string name="no_screen_lock_issue_notification_title">Device has no screen lock</string>
+    <!-- Summary/body text of the notification shown by Safety Center when no screen lock is set. This notification is shown in the notification shade, outside of the main Safety Center UI. [CHAR LIMIT=NONE] -->
+    <string name="no_screen_lock_issue_notification_text">For added security, set a PIN, pattern, or password for this device.</string>
 
     <!-- Unlock Picker Settings --><skip />
 
@@ -1091,6 +1096,15 @@
     <!-- Title for dialog in screen lock settings, allowing users to choose other types of screen locks. [CHAR LIMIT=40] -->
     <string name="setup_lock_settings_options_dialog_title">Screen lock options</string>
 
+    <!-- Title of the lock screen auto pin confirm setting. [CHAR LIMIT=NONE] -->
+    <string name="lock_screen_auto_pin_confirm_title">Auto-confirm unlock</string>
+    <!-- Summary of the lock screen auto pin confirm setting. [CHAR LIMIT=NONE] -->
+    <string name="lock_screen_auto_pin_confirm_summary">Unlock automatically if you input a correct PIN of 6 digits or more. This is slightly less secure than tapping Enter to confirm.</string>
+    <!-- Message shown to check auto pin confirmation feature when the user is updating the PIN. [CHAR LIMIT=NONE] -->
+    <string name="auto_pin_confirm_user_message">Auto-confirm correct PIN</string>
+    <!-- Message shown to explain the security concern if a user opts-in to the auto-pin feature. [CHAR LIMIT=NONE] -->
+    <string name="auto_pin_confirm_opt_in_security_message">Confirming your PIN by tapping Enter is more secure than using auto-confirm</string>
+
     <!--  Main Security lock settings --><skip />
     <!--  Title for PreferenceScreen to launch picker for security method when there is none [CHAR LIMIT=22] -->
     <string name="unlock_set_unlock_launch_picker_title">Screen lock</string>
@@ -1251,6 +1265,12 @@
       other   {PIN must be at least # digits}
     }</string>
 
+    <!-- Hint shown in dialog screen when PIN is too short with Additional text indicating minAutoConfirmLen(eg: 6) digits PIN offer additional security -->
+    <string name="lockpassword_pin_too_short_autoConfirm_extra_message">{count, plural,
+        =1      {PIN must contain at least # digit, but a {minAutoConfirmLen}-digit PIN is recommended for added security}
+        other   {PIN must be at least # digits, but a {minAutoConfirmLen}-digit PIN is recommended for added security}
+        }</string>
+
     <!-- Error shown in popup when password is too long -->
     <string name="lockpassword_password_too_long">{count, plural,
       =1      {Must be fewer than # character}
@@ -2190,14 +2210,10 @@
 
     <!-- Display settings screen, screen resolution settings title [CHAR LIMIT=30] -->
     <string name="screen_resolution_title">Screen resolution</string>
-    <!-- Display settings screen, screen resolution option for "FHD+" [CHAR LIMIT=45] -->
+    <!-- Display settings screen, screen resolution option for high resolution [CHAR LIMIT=45] -->
     <string name="screen_resolution_option_high">High resolution</string>
-    <!-- Display settings screen, screen resolution option for "QHD+" [CHAR LIMIT=45] -->
-    <string name="screen_resolution_option_highest">Full resolution</string>
-    <!-- Display settings screen, "FHD+" screen resolution summary [CHAR LIMIT=NONE] -->
-    <string name="screen_resolution_summary_high">1080p FHD+</string>
-    <!-- Display settings screen, "QHD+" screen resolution summary [CHAR LIMIT=NONE] -->
-    <string name="screen_resolution_summary_highest">1440p QHD+</string>
+    <!-- Display settings screen, screen resolution option for full resolution [CHAR LIMIT=45] -->
+    <string name="screen_resolution_option_full">Full resolution</string>
     <!-- The footer message for switch screen resolution [CHAR LIMIT=NONE] -->
     <string name="screen_resolution_footer">Full resolution uses more of your battery. Switching your resolution may cause some apps to restart.</string>
     <!-- Message announced to a11y users when they selected one resolution [CHAR LIMIT=NONE] -->
@@ -2474,11 +2490,11 @@
     <!-- Message for the dialog asking to user to change the preferred SIM  [CHAR LIMIT=NONE] -->
     <string name="sim_preferred_message"><xliff:g id="new_sim">%1$s</xliff:g> is the only SIM in your device. Do you want to use this SIM for mobile data, calls, and SMS messages?</string>
 
-    <!-- Title for the dialog asking to user to enable auto data switch upon enabling multi-SIM  [CHAR LIMIT=30] -->
-    <string name="enable_auto_data_switch_dialog_title">Switch SIMs automatically?</string>
-    <!-- Message for the dialog asking to user to change the preferred SIM  [CHAR LIMIT=NONE] -->
-    <string name="enable_auto_data_switch_dialog_message">Allow your phone to automatically switch to <xliff:g id="backup_carrier" example="T-mobile">%1$s</xliff:g> for mobile data when it has better availability.</string>
-    <!-- Message for the dialog asking to user to change the preferred SIM  [CHAR LIMIT=NONE] -->
+    <!-- Title for the dialog asking user to enable auto data switch upon enabling multi-SIM  [CHAR LIMIT=30] -->
+    <string name="enable_auto_data_switch_dialog_title">Improve mobile data coverage?</string>
+    <!-- Message for the dialog asking user to enable auto data switch upon enabling multi-SIM  [CHAR LIMIT=NONE] -->
+    <string name="enable_auto_data_switch_dialog_message">Allow your device to automatically switch to <xliff:g id="backup_carrier" example="T-mobile">%1$s</xliff:g> for mobile data when it has better availability.</string>
+    <!-- Warning for the dialog asking user to enable auto data switch for switching data between work and personal profile  [CHAR LIMIT=NONE] -->
     <string name="auto_data_switch_dialog_managed_profile_warning">\n\nCalls, messages, and network traffic may be visible to your organization.</string>
 
     <!-- Instructions telling the user that they entered the wrong SIM PIN for the last time.
@@ -3316,13 +3332,6 @@
          continue. [CHAR LIMIT=100] -->
     <string name="lockpassword_strong_auth_required_work_password">For added security, enter your work password</string>
 
-    <!-- An explanation text that the pattern needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
-    <string name="lockpassword_confirm_your_pattern_details_frp">Your phone was reset to factory settings. To use this phone, enter your previous pattern.</string>
-    <!-- An explanation text that the pin needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
-    <string name="lockpassword_confirm_your_pin_details_frp">Your phone was reset to factory settings. To use this phone, enter your previous PIN.</string>
-    <!-- An explanation text that the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
-    <string name="lockpassword_confirm_your_password_details_frp">Your phone was reset to factory settings. To use this phone, enter your previous password.</string>
-
     <!-- Header shown when pattern needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
     <string name="lockpassword_confirm_your_pattern_header_frp">Verify pattern</string>
     <!-- Header shown when the pin needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
@@ -3339,6 +3348,8 @@
     <!-- Security & location settings screen, change unlock pattern screen instruction if user
          draws incorrect pattern [CHAR LIMIT=30] -->
     <string name="lockpattern_need_to_unlock_wrong">Wrong pattern</string>
+    <!-- Work challenge screen, this string is the label for an emergency call button, which opens the personal safety app to allow the user to make an emergency call. [CHAR LIMIT=20] -->
+    <string name="work_challenge_emergency_button_text">Emergency</string>
 
     <!-- Lock Pattern settings -->
     <!-- Security & location settings screen, header -->
@@ -3796,6 +3807,8 @@
     <string name="language_and_input_for_work_category_title">Work profile keyboards &amp; tools</string>
     <!-- Title for the 'Virtual keyboards for work' preference. [CHAR LIMIT=45] -->
     <string name="virtual_keyboards_for_work_title">On-screen keyboard for work</string>
+    <!-- Summary text for none selected keyboard default layout -->
+    <string name="keyboard_default_layout">Default</string>
 
     <!-- Title for the button to trigger the 'trackpad settings' page if only connect with a touchpad. [CHAR LIMIT=35] -->
     <string name="trackpad_settings">Touchpad</string>
@@ -3823,6 +3836,36 @@
     <!-- Title for the button to trigger the 'touch gesture' education. [CHAR LIMIT=35] -->
     <string name="trackpad_touch_gesture">Learn touchpad gestures</string>
 
+    <!-- Title text for 'Go home' gesture education [CHAR LIMIT=35] -->
+    <string name="gesture_title_go_home">Go home</string>
+    <!-- Summary text for 'Go home' gesture education [CHAR LIMIT=60] -->
+    <string name="gesture_summary_go_home">Swipe up with three fingers anywhere on your touchpad</string>
+    <!-- Title text for 'Go back' gesture education [CHAR LIMIT=35] -->
+    <string name="gesture_title_go_back">Go back</string>
+    <!-- Summary text for 'Go back' gesture education [CHAR LIMIT=60] -->
+    <string name="gesture_summary_go_back">Swipe from the left or right with three fingers</string>
+    <!-- Title text for 'View recent apps' gesture education [CHAR LIMIT=35] -->
+    <string name="gesture_title_recent_apps">View recent apps</string>
+    <!-- Summary text for 'View recent apps' gesture education [CHAR LIMIT=60] -->
+    <string name="gesture_summary_recent_apps">Swipe up with three fingers, hold, then release</string>
+    <!-- Title text for 'View notifications' gesture education [CHAR LIMIT=35] -->
+    <string name="gesture_title_notifications">View notifications &amp; Quick Settings</string>
+    <!-- Summary text for 'View notifications' gesture education [CHAR LIMIT=60] -->
+    <string name="gesture_summary_notifications">Swipe down with three fingers on your home screen</string>
+    <!-- Title text for 'Switch apps' gesture education [CHAR LIMIT=35] -->
+    <string name="gesture_title_switch_apps">Switch apps</string>
+    <!-- Summary text for 'Switch apps' gesture education [CHAR LIMIT=60] -->
+    <string name="gesture_summary_switch_apps">Swipe left or right with four fingers</string>
+
+    <!-- Text for 'Skip' button in gesture education [CHAR LIMIT=10] -->
+    <string name="gesture_button_skip">Skip</string>
+    <!-- Text for 'Next' button in gesture education [CHAR LIMIT=10] -->
+    <string name="gesture_button_next">Next</string>
+    <!-- Text for 'Restart' button in gesture education [CHAR LIMIT=10] -->
+    <string name="gesture_button_restart">Restart</string>
+    <!-- Text for 'Done' button in gesture education [CHAR LIMIT=10] -->
+    <string name="gesture_button_done">Done</string>
+
     <!-- Title text for 'Go back' [CHAR LIMIT=35] -->
     <string name="trackpad_go_back_title">Go back</string>
     <!-- Summary text for 'Go back' [CHAR LIMIT=60] -->
@@ -6522,15 +6565,15 @@
     <!-- Summary of multimedia messaging service settings.  [CHAR LIMIT=100] -->
     <string name="mms_message_summary">Send &amp; receive when mobile data is off</string>
 
-    <!-- Title of a preference for whether to allow data during calls that is shown when mobile
-         data is turned off. This is needed for some multi-SIM scenarios, because the SIM that is
-         default for data might not be available during a phone call. [CHAR LIMIT=60] -->
+    <!-- Title of a preference for whether to allow auto data switch that is shown for backup
+         data SIM. This is needed for some multi-SIM scenarios, because the SIM that is
+         default for data might be unavailable while the backup is in coverage. [CHAR LIMIT=60] -->
     <string name="auto_data_switch_title">Switch mobile data automatically</string>
-    <!-- Title of a preference for whether to allow data during calls that is shown when mobile
-         data is turned off. This is needed for some multi-SIM scenarios, because the SIM that is
-         default for data might not be available during a phone call. [CHAR LIMIT=NONE] -->
+    <!-- Summary of a preference for whether to allow auto data switch that is shown for backup
+         data SIM. This is needed for some multi-SIM scenarios, because the SIM that is
+         default for data might be unavailable while the backup is in coverage. [CHAR LIMIT=NONE]-->
     <string name="auto_data_switch_summary">
-        Temporarily use this network when it has better availability for calls and internet
+        Use this network when it has better availability
     </string>
 
     <!-- Work SIM title.  [CHAR LIMIT=50] -->
@@ -6788,6 +6831,9 @@
     <!-- Search keyword for biometric settings. [CHAR_LIMIT=NONE]-->
     <string name="keywords_biometric_settings">face, fingerprint, add fingerprint</string>
 
+    <!-- Search keyword for active unlock settings. [CHAR_LIMIT=NONE]-->
+    <string name="keywords_active_unlock_settings">watch unlock, add watch unlock</string>
+
     <!-- Search keywords for adaptive brightness setting [CHAR LIMIT=NONE]-->
     <string name="keywords_display_auto_brightness">dim screen, touchscreen, battery, smart brightness, dynamic brightness, Auto brightness</string>
 
@@ -6869,6 +6915,9 @@
     <!-- List of synonyms for the always show time and info [CHAR LIMIT=NONE] -->
     <string name="keywords_always_show_time_info">always on display, AOD</string>
 
+    <!-- List of synonyms for the nfc tag apps control [CHAR LIMIT=NONE] -->
+    <string name="keywords_change_nfc_tag_apps_state">nfc, tag, reader</string>
+
     <!-- Summary for sound settings, explaining a few important settings under it [CHAR LIMIT=NONE]-->
     <string name="sound_dashboard_summary">Volume, vibration, Do Not Disturb</string>
 
@@ -10191,6 +10240,15 @@
     <!-- Apps > App Details > Wifi access > Description. [CHAR LIMIT=NONE] -->
     <string name="change_wifi_state_app_detail_summary">Allow this app to turn Wi-Fi on or off, scan and connect to Wi-Fi networks, add or remove networks, or start a local-only hotspot</string>
 
+    <!-- Title for NFC launch [CHAR LIMIT=35] -->
+    <string name="change_nfc_tag_apps_title">NFC launch</string>
+
+    <!-- Apps > App Details > Nfc launch > Switch title. [CHAR LIMIT=NONE] -->
+    <string name="change_nfc_tag_apps_detail_switch">Allow launch on NFC scan</string>
+
+    <!-- Apps > App Details > Nfc launch > Description. [CHAR LIMIT=NONE] -->
+    <string name="change_nfc_tag_apps_detail_summary">Allow this app to launch when a NFC tag is scanned.\nIf this permission is on, the app will be available as an option whenever a tag is detected.</string>
+
     <!-- Title for media output settings -->
     <string name="media_output_title">Play media to</string>
 
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 0dc19be..42ccf0d 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -406,6 +406,17 @@
         <item name="android:layout_gravity">start|top</item>
     </style>
 
+    <style name="WorkChallengeEmergencyButtonStyle">
+        <item name="android:background">@drawable/work_challenge_emergency_button_background</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:outlineProvider">none</item>
+        <item name="android:paddingTop">15dp</item>
+        <item name="android:paddingBottom">15dp</item>
+        <item name="android:paddingLeft">30dp</item>
+        <item name="android:paddingRight">30dp</item>
+        <item name="android:textSize">16dp</item>
+    </style>
+
     <style name="device_info_dialog_label">
         <item name="android:textAlignment">viewStart</item>
         <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index caba415..f8f32cb 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -170,6 +170,11 @@
     </PreferenceCategory>
 
     <PreferenceCategory
+        android:key="speech_category"
+        android:persistent="false"
+        android:title="@string/speech_category_title"/>
+
+    <PreferenceCategory
         android:persistent="false"
         android:title="@string/general_category_title">
 
diff --git a/res/xml/bubble_notification_settings.xml b/res/xml/bubble_notification_settings.xml
index 651781b..7cf8e53 100644
--- a/res/xml/bubble_notification_settings.xml
+++ b/res/xml/bubble_notification_settings.xml
@@ -27,6 +27,7 @@
             android:key="bubbles_illustration"
             settings:searchable="false"
             app:lottie_rawRes="@raw/lottie_bubbles"
+            settings:dynamicColor="true"
             settings:controller="com.android.settings.notification.BubbleNotificationIllustrationPreferenceController"/>
 
         <com.android.settingslib.widget.MainSwitchPreference
diff --git a/res/xml/button_navigation_settings.xml b/res/xml/button_navigation_settings.xml
index 1153c67..2459b60 100644
--- a/res/xml/button_navigation_settings.xml
+++ b/res/xml/button_navigation_settings.xml
@@ -26,6 +26,7 @@
     <com.android.settingslib.widget.IllustrationPreference
         android:key="gesture_power_menu_video"
         settings:searchable="false"
+        settings:dynamicColor="true"
         settings:lottie_imageAssetsFolder="button_nav_menu"
         settings:lottie_rawRes="@raw/lottie_button_nav_menu"/>
 
diff --git a/res/xml/change_nfc_tag_apps_details.xml b/res/xml/change_nfc_tag_apps_details.xml
new file mode 100644
index 0000000..74ccfde
--- /dev/null
+++ b/res/xml/change_nfc_tag_apps_details.xml
@@ -0,0 +1,30 @@
+<?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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    android:key="change_nfc_tag_apps"
+    android:title="@string/change_nfc_tag_apps_title">
+
+  <com.android.settings.widget.FilterTouchesSwitchPreference
+      android:key="app_ops_settings_switch"
+      android:title="@string/change_nfc_tag_apps_detail_switch"/>
+
+  <com.android.settingslib.widget.FooterPreference
+      android:key="app_ops_settings_preference"
+      android:title="@string/change_nfc_tag_apps_detail_summary"
+      android:selectable="false"/>
+
+</PreferenceScreen>
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index ea2b938..82d7e43 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -48,14 +48,6 @@
             android:key="reboot_with_mte"
             android:title="@string/reboot_with_mte_title" />
 
-        <com.android.settingslib.RestrictedPreference
-                android:id="@+id/memtag_page"
-                android:key="memtag_page"
-                android:title="@string/memtag_title"
-                settings:keywords="@string/keywords_memtag"
-                android:fragment="com.android.settings.security.MemtagPage"
-                settings:controller="com.android.settings.security.MemtagPagePreferenceController" />
-
         <Preference
             android:key="local_backup_password"
             android:title="@string/local_backup_password_title"
diff --git a/res/xml/keyboard_settings_enabled_locales_list.xml b/res/xml/keyboard_settings_enabled_locales_list.xml
index 06b8d5f..79d45ca 100644
--- a/res/xml/keyboard_settings_enabled_locales_list.xml
+++ b/res/xml/keyboard_settings_enabled_locales_list.xml
@@ -16,8 +16,5 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:title="@string/physical_keyboard_title">
-    <PreferenceCategory
-        android:key="enabled_locales_keyboard_layout"
-        android:title="@string/enabled_locales_keyboard_layout">
-    </PreferenceCategory>
+
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/more_security_privacy_settings.xml b/res/xml/more_security_privacy_settings.xml
new file mode 100644
index 0000000..00957f7
--- /dev/null
+++ b/res/xml/more_security_privacy_settings.xml
@@ -0,0 +1,227 @@
+<?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.
+-->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="more_security_privacy_settings"
+    android:title="@string/more_security_privacy_settings">
+
+    <!-- work profile security section. See also: security_advanced_settings.xml and
+    privacy_advanced_settings.xml. That page also has some duplicate entries -->
+    <PreferenceCategory
+        android:order="10"
+        android:key="work_profile_category"
+        android:title="@string/work_profile_category_header">
+
+        <!-- security_settings_unification -->
+        <com.android.settingslib.RestrictedSwitchPreference
+            android:key="unification"
+            android:title="@string/lock_settings_profile_unification_title"
+            android:summary="@string/lock_settings_profile_unification_summary"
+            settings:keywords="@string/keywords_unification" />
+
+        <com.android.settingslib.RestrictedPreference
+            android:key="unlock_set_or_change_profile"
+            android:title="@string/unlock_set_unlock_launch_picker_title_profile"
+            android:summary="@string/unlock_set_unlock_mode_pattern"
+            settings:keywords="@string/keywords_lockscreen" />
+
+        <SwitchPreference
+            android:key="visiblepattern_profile"
+            android:title="@string/lockpattern_settings_enable_visible_pattern_title_profile" />
+
+        <com.android.settingslib.RestrictedPreference
+            android:key="fingerprint_settings_profile"
+            android:title="@string/security_settings_work_fingerprint_preference_title"
+            android:summary="@string/summary_placeholder" />
+
+        <com.android.settingslib.RestrictedPreference
+            android:key="face_settings_profile"
+            android:title="@string/security_settings_face_profile_preference_title"
+            android:summary="@string/summary_placeholder" />
+
+        <com.android.settingslib.RestrictedPreference
+            android:key="biometric_settings_profile"
+            android:title="@string/security_settings_work_biometric_preference_title"
+            android:summary="@string/summary_placeholder" />
+
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="privacy_work_profile_notifications_category"
+        android:title="@string/profile_section_header_for_advanced_privacy"
+        android:layout="@layout/preference_category_no_label"
+        android:order="20">
+
+        <com.android.settings.RestrictedListPreference
+            android:key="privacy_lock_screen_work_profile_notifications"
+            android:title="@string/locked_work_profile_notification_title"
+            android:summary="@string/summary_placeholder"
+            android:order="21"
+            settings:searchable="false"/>
+    </PreferenceCategory>
+
+    <!-- Connected work and personal apps -->
+    <Preference
+        android:key="interact_across_profiles_privacy"
+        android:title="@string/interact_across_profiles_title"
+        android:order="25"
+        android:fragment="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesSettings"
+        settings:searchable="false"
+        settings:controller="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesController" />
+
+    <!-- Main security section - for trust agents added in code. -->
+    <PreferenceCategory
+        android:order="30"
+        android:key="security_category"
+        android:title="@string/security_header" />
+
+    <PreferenceCategory
+        android:order="40"
+        android:key="security_settings_device_admin_category"
+        android:layout="@layout/preference_category_no_label">
+
+        <Preference
+            android:key="manage_device_admin"
+            android:title="@string/manage_device_admin"
+            android:summary="@string/summary_placeholder"
+            android:fragment=
+                "com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminSettings"
+            settings:controller=
+                "com.android.settings.enterprise.ManageDeviceAdminPreferenceController" />
+
+        <Preference
+            android:key="enterprise_privacy"
+            android:title="@string/enterprise_privacy_settings"
+            android:summary="@string/summary_placeholder"
+            android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings"
+            settings:controller="com.android.settings.enterprise.EnterprisePrivacyPreferenceController"/>
+
+        <Preference
+            android:key="financed_privacy"
+            android:title="@string/financed_privacy_settings"
+            android:summary="@string/summary_placeholder"
+            android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings"
+            settings:controller="com.android.settings.enterprise.FinancedPrivacyPreferenceController"/>
+
+    </PreferenceCategory>
+
+    <Preference
+        android:order="50"
+        android:key="sim_lock_settings"
+        android:title="@string/sim_lock_settings_category"
+        settings:isPreferenceVisible="@bool/config_show_sim_info"
+        settings:controller="com.android.settings.security.SimLockPreferenceController">
+
+        <intent
+            android:action="android.intent.action.MAIN"
+            android:targetPackage="com.android.settings"
+            android:targetClass="com.android.settings.Settings$IccLockSettingsActivity" />
+
+    </Preference>
+
+    <Preference
+        android:order="60"
+        android:key="encryption_and_credential"
+        android:title="@string/encryption_and_credential_settings_title"
+        android:summary="@string/encryption_and_credential_settings_summary"
+        android:fragment="com.android.settings.security.EncryptionAndCredential"
+        settings:controller="com.android.settings.security.EncryptionStatusPreferenceController" />
+
+    <Preference
+        android:order="70"
+        android:key="manage_trust_agents"
+        android:title="@string/manage_trust_agents"
+        android:summary="@string/summary_placeholder"
+        android:fragment="com.android.settings.security.trustagent.TrustAgentSettings"
+        settings:controller="com.android.settings.security.trustagent.ManageTrustAgentsPreferenceController" />
+
+    <Preference
+        android:order="80"
+        android:key="screen_pinning_settings"
+        android:title="@string/screen_pinning_title"
+        android:summary="@string/summary_placeholder"
+        android:fragment="com.android.settings.security.ScreenPinningSettings"
+        settings:keywords="@string/keywords_app_pinning"
+        settings:controller="com.android.settings.security.ScreenPinningPreferenceController" />
+
+    <SwitchPreference
+        android:order="90"
+        android:key="confirm_sim_deletion"
+        android:title="@string/confirm_sim_deletion_title"
+        android:summary="@string/confirm_sim_deletion_description"
+        settings:isPreferenceVisible="@bool/config_show_sim_info"
+        settings:controller="com.android.settings.security.ConfirmSimDeletionPreferenceController" />
+
+    <Preference
+        android:order="100"
+        android:id="@+id/memtag_page"
+        android:key="memtag_page"
+        android:title="@string/memtag_title"
+        android:fragment="com.android.settings.security.MemtagPage"
+        settings:controller="com.android.settings.security.MemtagPagePreferenceController" />
+
+
+    <!-- Privacy section -->
+    <PreferenceCategory
+        android:order="200"
+        android:key="privacy_category"
+        android:title="@string/privacy_header">
+        <!-- Accessibility usage -->
+        <Preference
+            android:key="privacy_accessibility_usage"
+            android:title="@string/accessibility_usage_title"
+            settings:controller="com.android.settings.privacy.AccessibilityUsagePreferenceController">
+            <intent android:action="android.intent.action.REVIEW_ACCESSIBILITY_SERVICES"/>
+        </Preference>
+
+        <!-- On lock screen notifications -->
+        <com.android.settings.RestrictedListPreference
+            android:key="privacy_lock_screen_notifications"
+            android:title="@string/lock_screen_notifs_title"
+            android:summary="@string/summary_placeholder"
+            settings:searchable="false"/>
+
+        <!-- Show media on lock screen -->
+        <SwitchPreference
+            android:key="privacy_media_controls_lockscreen"
+            android:title="@string/media_controls_lockscreen_title"
+            android:summary="@string/media_controls_lockscreen_description"
+            settings:controller=
+                "com.android.settings.sound.MediaControlsLockScreenPreferenceController" />
+
+        <!-- Content Capture -->
+        <!-- NOTE: content capture has a different preference, depending whether or not the
+             ContentCaptureService implementations defines a custom settings activitiy on its manifest.
+             Hence, we show both here, but the controller itself will decide if it's available or not.
+        -->
+        <SwitchPreference
+            android:key="content_capture"
+            android:title="@string/content_capture"
+            android:summary="@string/content_capture_summary"
+            settings:controller="com.android.settings.privacy.EnableContentCapturePreferenceController"/>
+
+        <com.android.settingslib.PrimarySwitchPreference
+            android:key="content_capture_custom_settings"
+            android:title="@string/content_capture"
+            android:summary="@string/content_capture_summary"
+            settings:controller="com.android.settings.privacy.EnableContentCaptureWithServiceSettingsPreferenceController"/>
+
+    </PreferenceCategory>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/screen_lock_settings.xml b/res/xml/screen_lock_settings.xml
index dd4ac34..8174b0f 100644
--- a/res/xml/screen_lock_settings.xml
+++ b/res/xml/screen_lock_settings.xml
@@ -27,6 +27,12 @@
         android:key="visiblepattern"
         android:title="@string/lockpattern_settings_enable_visible_pattern_title" />
 
+    <!-- available in pin -->
+    <SwitchPreference
+        android:key="auto_pin_confirm"
+        android:title="@string/lock_screen_auto_pin_confirm_title"
+        android:summary="@string/lock_screen_auto_pin_confirm_summary" />
+
     <!-- available in pin/pattern/password -->
     <com.android.settings.display.TimeoutListPreference
         android:key="lock_after_timeout"
diff --git a/res/xml/security_advanced_settings.xml b/res/xml/security_advanced_settings.xml
index f57ab9a..153b81f 100644
--- a/res/xml/security_advanced_settings.xml
+++ b/res/xml/security_advanced_settings.xml
@@ -107,10 +107,19 @@
         settings:isPreferenceVisible="@bool/config_show_sim_info"
         settings:controller="com.android.settings.security.ConfirmSimDeletionPreferenceController" />
 
+  <com.android.settingslib.RestrictedPreference
+        android:order="100"
+        android:id="@+id/memtag_page"
+        android:key="memtag_page"
+        android:title="@string/memtag_title"
+        settings:keywords="@string/keywords_memtag"
+        android:fragment="com.android.settings.security.MemtagPage"
+        settings:controller="com.android.settings.security.MemtagPagePreferenceController" />
+
     <!-- work profile security section -->
     <PreferenceCategory
         android:order="110"
-        android:key="security_category_profile"
+        android:key="work_profile_category"
         android:title="@string/lock_settings_profile_title">
 
         <!-- security_settings_unification -->
@@ -137,12 +146,12 @@
 
         <com.android.settingslib.RestrictedPreference
             android:key="face_settings_profile"
-            android:title="@string/security_settings_face_preference_title"
+            android:title="@string/security_settings_face_profile_preference_title"
             android:summary="@string/summary_placeholder" />
 
         <com.android.settingslib.RestrictedPreference
             android:key="biometric_settings_profile"
-            android:title="@string/security_settings_biometric_preference_title"
+            android:title="@string/security_settings_work_biometric_preference_title"
             android:summary="@string/summary_placeholder" />
 
     </PreferenceCategory>
diff --git a/res/xml/security_settings_combined_biometric.xml b/res/xml/security_settings_combined_biometric.xml
index ef3a3fd..5041778 100644
--- a/res/xml/security_settings_combined_biometric.xml
+++ b/res/xml/security_settings_combined_biometric.xml
@@ -20,6 +20,7 @@
     android:title="@string/security_settings_biometric_preference_title">
 
     <com.android.settingslib.widget.TopIntroPreference
+        android:key="biometric_intro"
         android:title="@string/biometric_settings_intro" />
 
     <PreferenceCategory
@@ -40,10 +41,17 @@
             settings:keywords="@string/keywords_fingerprint_settings"
             settings:controller="com.android.settings.biometrics.combination.BiometricFingerprintStatusPreferenceController" />
 
+        <com.android.settingslib.RestrictedPreference
+            android:key="biometric_active_unlock_settings"
+            android:title="@string/security_settings_activeunlock_preference_title"
+            android:summary="@string/summary_placeholder"
+            settings:keywords="@string/keywords_active_unlock_settings"
+            settings:controller="com.android.settings.biometrics.activeunlock.ActiveUnlockStatusPreferenceController" />
     </PreferenceCategory>
 
     <PreferenceCategory
-        android:key="biometric_ways_to_use">
+        android:key="biometric_ways_to_use"
+        android:title="@string/biometric_settings_category_use_face_fingerprint">
 
         <com.android.settingslib.RestrictedSwitchPreference
             android:key="biometric_settings_biometric_keyguard"
@@ -59,4 +67,4 @@
 
     </PreferenceCategory>
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/security_settings_combined_biometric_profile.xml b/res/xml/security_settings_combined_biometric_profile.xml
index 1ba48ef..22d19ac 100644
--- a/res/xml/security_settings_combined_biometric_profile.xml
+++ b/res/xml/security_settings_combined_biometric_profile.xml
@@ -17,7 +17,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/security_settings_biometric_preference_title">
+    android:title="@string/security_settings_work_biometric_preference_title">
 
     <com.android.settingslib.widget.TopIntroPreference
         android:title="@string/biometric_settings_intro" />
@@ -28,14 +28,14 @@
 
         <com.android.settingslib.RestrictedPreference
             android:key="biometric_fingerprint_settings_profile"
-            android:title="@string/security_settings_fingerprint_preference_title"
+            android:title="@string/security_settings_work_fingerprint_preference_title"
             android:summary="@string/summary_placeholder"
             settings:keywords="@string/keywords_fingerprint_settings"
             settings:controller="com.android.settings.biometrics.combination.BiometricFingerprintProfileStatusPreferenceController" />
 
         <com.android.settingslib.RestrictedPreference
             android:key="biometric_face_settings_profile"
-            android:title="@string/security_settings_face_preference_title"
+            android:title="@string/security_settings_face_profile_preference_title"
             android:summary="@string/summary_placeholder"
             settings:keywords="@string/keywords_face_settings"
             settings:controller="com.android.settings.biometrics.combination.BiometricFaceProfileStatusPreferenceController" />
diff --git a/res/xml/special_access.xml b/res/xml/special_access.xml
index e6dd3ed..c10d5cc 100644
--- a/res/xml/special_access.xml
+++ b/res/xml/special_access.xml
@@ -22,7 +22,7 @@
     <Preference
         android:key="manage_external_storage"
         android:title="@string/manage_external_storage_title"
-        android:order="100"
+        android:order="-1900"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications">
         <extra
             android:name="classname"
@@ -32,7 +32,7 @@
     <Preference
         android:key="interact_across_profiles"
         android:title="@string/interact_across_profiles_title"
-        android:order="200"
+        android:order="-1800"
         android:fragment="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesSettings"
         settings:keywords="@string/interact_across_profiles_keywords"
         settings:controller="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesController" />
@@ -40,7 +40,7 @@
     <Preference
         android:key="device_administrators"
         android:title="@string/manage_device_admin"
-        android:order="300"
+        android:order="-1700"
         android:fragment="com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminSettings"
         android:summary="@string/summary_placeholder"
         settings:searchable="false"
@@ -49,7 +49,7 @@
     <Preference
         android:key="system_alert_window_app_list"
         android:title="@string/system_alert_window_settings"
-        android:order="400"
+        android:order="-1600"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
         settings:keywords="@string/keywords_draw_overlay"
         settings:controller="com.android.settings.applications.specialaccess.SystemAlertWindowPreferenceController">
@@ -61,14 +61,14 @@
     <Preference
         android:key="zen_access"
         android:title="@string/manage_zen_access_title"
-        android:order="500"
+        android:order="-1500"
         android:fragment="com.android.settings.notification.zen.ZenAccessSettings"
         settings:controller="com.android.settings.applications.specialaccess.zenaccess.ZenAccessController" />
 
     <Preference
         android:key="media_management_apps"
         android:title="@string/media_management_apps_title"
-        android:order="600"
+        android:order="-1400"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
         settings:keywords="@string/keywords_media_management_apps">
         <extra
@@ -79,7 +79,7 @@
     <Preference
         android:key="write_settings_apps"
         android:title="@string/write_settings"
-        android:order="700"
+        android:order="-1300"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
         settings:keywords="@string/keywords_write_settings">
         <extra
@@ -90,14 +90,14 @@
     <Preference
         android:key="notification_access"
         android:title="@string/manage_notification_access_title"
-        android:order="800"
+        android:order="-1200"
         android:fragment="com.android.settings.notification.NotificationAccessSettings"
         settings:controller="com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessController" />
 
     <Preference
         android:key="picture_in_picture"
         android:title="@string/picture_in_picture_title"
-        android:order="900"
+        android:order="-1100"
         android:fragment="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureSettings"
         settings:keywords="@string/picture_in_picture_keywords"
         settings:controller="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureController" />
@@ -105,7 +105,7 @@
     <Preference
         android:key="premium_sms"
         android:title="@string/premium_sms_access"
-        android:order="1000"
+        android:order="-1000"
         android:fragment="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsAccess"
         settings:isPreferenceVisible="@bool/config_show_premium_sms"
         settings:controller="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsController" />
@@ -113,7 +113,7 @@
     <Preference
         android:key="data_saver"
         android:title="@string/unrestricted_data_saver"
-        android:order="1100"
+        android:order="-900"
         android:fragment="com.android.settings.datausage.UnrestrictedDataAccess"
         settings:isPreferenceVisible="@bool/config_show_data_saver"
         settings:controller="com.android.settings.applications.specialaccess.DataSaverController" />
@@ -121,7 +121,7 @@
     <Preference
         android:key="long_background_tasks"
         android:title="@string/long_background_tasks_title"
-        android:order="1200"
+        android:order="-800"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
         settings:keywords="@string/keywords_long_background_tasks"
         settings:controller="com.android.settings.applications.specialaccess.applications.LongBackgroundTaskController">
@@ -133,7 +133,7 @@
     <Preference
         android:key="manage_external_sources"
         android:title="@string/install_other_apps"
-        android:order="1300"
+        android:order="-700"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
         settings:keywords="@string/keywords_install_other_apps">
         <extra
@@ -144,7 +144,7 @@
     <Preference
         android:key="alarms_and_reminders"
         android:title="@string/alarms_and_reminders_title"
-        android:order="1400"
+        android:order="-600"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
         settings:keywords="@string/keywords_alarms_and_reminders">
         <extra
@@ -155,7 +155,7 @@
     <Preference
         android:key="special_app_usage_access"
         android:title="@string/usage_access"
-        android:order="1500"
+        android:order="-500"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
         settings:keywords="@string/keywords_write_settings">
         <extra
@@ -166,7 +166,7 @@
     <Preference
         android:key="enabled_vr_listeners"
         android:title="@string/vr_listeners_title"
-        android:order="1600"
+        android:order="-400"
         android:fragment="com.android.settings.applications.specialaccess.vrlistener.VrListenerSettings"
         settings:keywords="@string/keywords_vr_listener"
         settings:controller="com.android.settings.applications.specialaccess.vrlistener.EnabledVrListenersController">
@@ -178,7 +178,7 @@
     <Preference
         android:key="change_wifi_state"
         android:title="@string/change_wifi_state_title"
-        android:order="1700"
+        android:order="-300"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
         settings:keywords="@string/keywords_change_wifi_state">
         <extra
@@ -189,12 +189,23 @@
     <Preference
         android:key="turn_screen_on"
         android:title="@string/turn_screen_on_title"
-        android:order="1800"
+        android:order="-200"
         android:fragment="com.android.settings.applications.specialaccess.turnscreenon.TurnScreenOnSettings" />
 
     <Preference
         android:key="special_access_more"
         android:title="@string/special_access_more"
-        android:order="1900"
+        android:order="-100"
         settings:controller="com.android.settings.applications.specialaccess.MoreSpecialAccessPreferenceController" />
+
+    <Preference
+        android:key="change_nfc_tag_apps_state"
+        android:title="@string/change_nfc_tag_apps_title"
+        android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
+        settings:keywords="@string/keywords_change_nfc_tag_apps_state"
+        settings:controller="com.android.settings.nfc.NfcTagAppsPreferenceController">
+        <extra
+            android:name="classname"
+            android:value="com.android.settings.Settings$ChangeNfcTagAppsActivity" />
+    </Preference>
 </PreferenceScreen>
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 0c58fff..f037a05 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -209,6 +209,8 @@
     }
     /** Activity for the Advanced security settings. */
     public static class SecurityAdvancedSettings extends SettingsActivity { /* empty */ }
+    /** Activity for the More settings page. */
+    public static class MoreSecurityPrivacySettingsActivity extends SettingsActivity { /* empty */ }
     public static class UsageAccessSettingsActivity extends SettingsActivity { /* empty */ }
     public static class AppUsageAccessSettingsActivity extends SettingsActivity { /* empty */ }
     public static class LocationSettingsActivity extends SettingsActivity { /* empty */ }
@@ -346,6 +348,8 @@
     public static class AppMediaManagementAppsActivity extends SettingsActivity { /* empty */ }
     public static class WriteSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ChangeWifiStateActivity extends SettingsActivity { /* empty */ }
+    /** Activity to manage NFC Tag applications. */
+    public static class ChangeNfcTagAppsActivity extends SettingsActivity { /* empty */ }
     public static class AppDrawOverlaySettingsActivity extends SettingsActivity { /* empty */ }
     public static class AppWriteSettingsActivity extends SettingsActivity { /* empty */ }
     /** Activity to manage app battery usage details. */
diff --git a/src/com/android/settings/SettingsApplication.java b/src/com/android/settings/SettingsApplication.java
index e6e6df3..49cb85e 100644
--- a/src/com/android/settings/SettingsApplication.java
+++ b/src/com/android/settings/SettingsApplication.java
@@ -53,7 +53,7 @@
         setSpaEnvironment();
 
         if (FeatureFlagUtils.isEnabled(this, FeatureFlagUtils.SETTINGS_SUPPORT_LARGE_SCREEN)
-                && SplitController.getInstance().isSplitSupported()) {
+                && SplitController.getInstance(this).isSplitSupported()) {
             if (WizardManagerHelper.isUserSetupComplete(this)) {
                 new ActivityEmbeddingRulesController(this).initRules();
             } else {
diff --git a/src/com/android/settings/SettingsInitialize.java b/src/com/android/settings/SettingsInitialize.java
index 2c10502..1d23523 100644
--- a/src/com/android/settings/SettingsInitialize.java
+++ b/src/com/android/settings/SettingsInitialize.java
@@ -166,7 +166,7 @@
                 DeepLinkHomepageActivity.class);
         final ComponentName searchStateReceiver = new ComponentName(context,
                 SearchStateReceiver.class);
-        final int enableState = SplitController.getInstance().isSplitSupported()
+        final int enableState = SplitController.getInstance(context).isSplitSupported()
                 ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
                 : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
         pm.setComponentEnabledSetting(deepLinkHome, enableState, PackageManager.DONT_KILL_APP);
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 7b1e353..a06efb7 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -1277,4 +1277,16 @@
         }
         return -1;
     }
+
+    /**
+     * Returns if the current user is able to use Dreams.
+     */
+    public static boolean canCurrentUserDream(Context context) {
+        final UserHandle mainUser = context.getSystemService(UserManager.class).getMainUser();
+        if (mainUser == null) {
+            return false;
+        }
+        return context.createContextAsUser(mainUser, 0).getSystemService(UserManager.class)
+               .isUserForeground();
+    }
 }
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 10cdc4d..21f6425 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -63,13 +63,15 @@
     private static final String CATEGORY_SCREEN_READER = "screen_reader_category";
     private static final String CATEGORY_CAPTIONS = "captions_category";
     private static final String CATEGORY_AUDIO = "audio_category";
+    private static final String CATEGORY_SPEECH = "speech_category";
     private static final String CATEGORY_DISPLAY = "display_category";
-    private static final String CATEGORY_INTERACTION_CONTROL = "interaction_control_category";
     private static final String CATEGORY_DOWNLOADED_SERVICES = "user_installed_services_category";
+    @VisibleForTesting
+    static final String CATEGORY_INTERACTION_CONTROL = "interaction_control_category";
 
     private static final String[] CATEGORIES = new String[]{
             CATEGORY_SCREEN_READER, CATEGORY_CAPTIONS, CATEGORY_AUDIO, CATEGORY_DISPLAY,
-            CATEGORY_INTERACTION_CONTROL, CATEGORY_DOWNLOADED_SERVICES
+            CATEGORY_SPEECH, CATEGORY_INTERACTION_CONTROL, CATEGORY_DOWNLOADED_SERVICES
     };
 
     // Extras passed to sub-fragments.
@@ -144,7 +146,8 @@
 
     private final Map<String, PreferenceCategory> mCategoryToPrefCategoryMap =
             new ArrayMap<>();
-    private final Map<Preference, PreferenceCategory> mServicePreferenceToPreferenceCategoryMap =
+    @VisibleForTesting
+    final Map<Preference, PreferenceCategory> mServicePreferenceToPreferenceCategoryMap =
             new ArrayMap<>();
     private final Map<ComponentName, PreferenceCategory> mPreBundledServiceComponentToCategoryMap =
             new ArrayMap<>();
@@ -349,9 +352,17 @@
                 R.array.config_preinstalled_audio_services);
         initializePreBundledServicesMapFromArray(CATEGORY_DISPLAY,
                 R.array.config_preinstalled_display_services);
+        initializePreBundledServicesMapFromArray(CATEGORY_SPEECH,
+                R.array.config_preinstalled_speech_services);
         initializePreBundledServicesMapFromArray(CATEGORY_INTERACTION_CONTROL,
                 R.array.config_preinstalled_interaction_control_services);
 
+        // ACCESSIBILITY_MENU_IN_SYSTEM is a default pre-bundled interaction control service.
+        // If the device opts out of including this service then this is a no-op.
+        mPreBundledServiceComponentToCategoryMap.put(
+                AccessibilityManager.ACCESSIBILITY_MENU_IN_SYSTEM,
+                mCategoryToPrefCategoryMap.get(CATEGORY_INTERACTION_CONTROL));
+
         final List<RestrictedPreference> preferenceList = getInstalledAccessibilityList(
                 getPrefContext());
 
@@ -382,6 +393,8 @@
                 R.array.config_order_interaction_control_services);
         updateCategoryOrderFromArray(CATEGORY_DISPLAY,
                 R.array.config_order_display_services);
+        updateCategoryOrderFromArray(CATEGORY_SPEECH,
+                R.array.config_order_speech_services);
 
         // Need to check each time when updateServicePreferences() called.
         if (downloadedServicesCategory.getPreferenceCount() == 0) {
@@ -390,8 +403,9 @@
             getPreferenceScreen().addPreference(downloadedServicesCategory);
         }
 
-        // Hide screen reader category if it is empty.
+        // Hide category if it is empty.
         updatePreferenceCategoryVisibility(CATEGORY_SCREEN_READER);
+        updatePreferenceCategoryVisibility(CATEGORY_SPEECH);
     }
 
     private List<RestrictedPreference> getInstalledAccessibilityList(Context context) {
diff --git a/src/com/android/settings/accessibility/OWNERS b/src/com/android/settings/accessibility/OWNERS
index ca4b880..1091a04 100644
--- a/src/com/android/settings/accessibility/OWNERS
+++ b/src/com/android/settings/accessibility/OWNERS
@@ -1,6 +1,7 @@
 # Default reviewers for this and subdirectories.
 danielnorman@google.com
 menghanli@google.com
+thomasli@google.com
 
 per-file HapticFeedbackIntensityPreferenceController.java = michaelwr@google.com
 per-file *Vibration* = michaelwr@google.com
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
index 4f9b0fb..7bbd31b 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
@@ -22,12 +22,12 @@
 import android.content.Context;
 import android.content.Intent;
 import android.util.FeatureFlagUtils;
-import android.util.LayoutDirection;
 import android.util.Log;
 
 import androidx.window.embedding.ActivityFilter;
 import androidx.window.embedding.ActivityRule;
-import androidx.window.embedding.SplitController;
+import androidx.window.embedding.RuleController;
+import androidx.window.embedding.SplitAttributes;
 import androidx.window.embedding.SplitPairFilter;
 import androidx.window.embedding.SplitPairRule;
 import androidx.window.embedding.SplitPlaceholderRule;
@@ -36,6 +36,7 @@
 import com.android.settings.Settings;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SubSettings;
+import com.android.settings.biometrics.face.FaceEnrollIntroduction;
 import com.android.settings.biometrics.face.FaceEnrollIntroductionInternal;
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling;
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
@@ -49,6 +50,7 @@
 import com.android.settings.password.ChooseLockPattern;
 import com.android.settingslib.users.AvatarPickerActivity;
 
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
 
@@ -59,11 +61,11 @@
     private static final ComponentName COMPONENT_NAME_WILDCARD = new ComponentName(
             "*" /* pkg */, "*" /* cls */);
     private final Context mContext;
-    private final SplitController mSplitController;
+    private final RuleController mRuleController;
 
     public ActivityEmbeddingRulesController(Context context) {
         mContext = context;
-        mSplitController = SplitController.getInstance();
+        mRuleController = RuleController.getInstance(context);
     }
 
     /**
@@ -75,7 +77,7 @@
             return;
         }
 
-        mSplitController.clearRegisteredRules();
+        mRuleController.clearRules();
 
         // Set a placeholder for home page.
         registerHomepagePlaceholderRule();
@@ -88,8 +90,8 @@
             ComponentName primaryComponent,
             ComponentName secondaryComponent,
             String secondaryIntentAction,
-            int finishPrimaryWithSecondary,
-            int finishSecondaryWithPrimary,
+            SplitRule.FinishBehavior finishPrimaryWithSecondary,
+            SplitRule.FinishBehavior finishSecondaryWithPrimary,
             boolean clearTop) {
         if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(context)) {
             return;
@@ -98,14 +100,20 @@
         filters.add(new SplitPairFilter(primaryComponent, secondaryComponent,
                 secondaryIntentAction));
 
-        SplitController.getInstance().registerRule(new SplitPairRule(filters,
-                finishPrimaryWithSecondary,
-                finishSecondaryWithPrimary,
-                clearTop,
-                ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(context),
-                ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(context),
-                ActivityEmbeddingUtils.getSplitRatio(context),
-                LayoutDirection.LOCALE));
+        SplitAttributes attributes = new SplitAttributes.Builder()
+                .setSplitType(SplitAttributes.SplitType.ratio(
+                        ActivityEmbeddingUtils.getSplitRatio(context)))
+                .setLayoutDirection(SplitAttributes.LayoutDirection.LOCALE)
+                .build();
+        SplitPairRule splitPairRule = new SplitPairRule.Builder(filters)
+                .setFinishPrimaryWithSecondary(finishPrimaryWithSecondary)
+                .setFinishSecondaryWithPrimary(finishSecondaryWithPrimary)
+                .setClearTop(clearTop)
+                .setMinWidthDp(ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthDp())
+                .setMinSmallestWidthDp(ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthDp())
+                .setDefaultSplitAttributes(attributes)
+                .build();
+        RuleController.getInstance(context).addRule(splitPairRule);
     }
 
     /**
@@ -126,8 +134,10 @@
                 new ComponentName(context, Settings.class),
                 secondaryComponent,
                 secondaryIntentAction,
-                finishPrimaryWithSecondary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
-                finishSecondaryWithPrimary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
+                finishPrimaryWithSecondary ? SplitRule.FinishBehavior.ADJACENT
+                        : SplitRule.FinishBehavior.NEVER,
+                finishSecondaryWithPrimary ? SplitRule.FinishBehavior.ADJACENT
+                        : SplitRule.FinishBehavior.NEVER,
                 clearTop);
 
         registerTwoPanePairRule(
@@ -135,8 +145,10 @@
                 new ComponentName(context, SettingsHomepageActivity.class),
                 secondaryComponent,
                 secondaryIntentAction,
-                finishPrimaryWithSecondary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
-                finishSecondaryWithPrimary ? SplitRule.FINISH_ADJACENT : SplitRule.FINISH_NEVER,
+                finishPrimaryWithSecondary ? SplitRule.FinishBehavior.ADJACENT
+                        : SplitRule.FinishBehavior.NEVER,
+                finishSecondaryWithPrimary ? SplitRule.FinishBehavior.ADJACENT
+                        : SplitRule.FinishBehavior.NEVER,
                 clearTop);
 
         // We should finish HomePageActivity altogether even if it shows in single pane for all deep
@@ -146,8 +158,10 @@
                 new ComponentName(context, DeepLinkHomepageActivity.class),
                 secondaryComponent,
                 secondaryIntentAction,
-                finishPrimaryWithSecondary ? SplitRule.FINISH_ALWAYS : SplitRule.FINISH_NEVER,
-                finishSecondaryWithPrimary ? SplitRule.FINISH_ALWAYS : SplitRule.FINISH_NEVER,
+                finishPrimaryWithSecondary ? SplitRule.FinishBehavior.ALWAYS
+                        : SplitRule.FinishBehavior.NEVER,
+                finishSecondaryWithPrimary ? SplitRule.FinishBehavior.ALWAYS
+                        : SplitRule.FinishBehavior.NEVER,
                 clearTop);
 
         registerTwoPanePairRule(
@@ -155,8 +169,10 @@
                 new ComponentName(context, DeepLinkHomepageActivityInternal.class),
                 secondaryComponent,
                 secondaryIntentAction,
-                finishPrimaryWithSecondary ? SplitRule.FINISH_ALWAYS : SplitRule.FINISH_NEVER,
-                finishSecondaryWithPrimary ? SplitRule.FINISH_ALWAYS : SplitRule.FINISH_NEVER,
+                finishPrimaryWithSecondary ? SplitRule.FinishBehavior.ALWAYS
+                        : SplitRule.FinishBehavior.NEVER,
+                finishSecondaryWithPrimary ? SplitRule.FinishBehavior.ALWAYS
+                        : SplitRule.FinishBehavior.NEVER,
                 clearTop);
     }
 
@@ -207,17 +223,20 @@
 
         final Intent intent = new Intent(mContext, Settings.NetworkDashboardActivity.class);
         intent.putExtra(SettingsActivity.EXTRA_IS_SECOND_LAYER_PAGE, true);
-        final SplitPlaceholderRule placeholderRule = new SplitPlaceholderRule(
-                activityFilters,
-                intent,
-                false /* stickyPlaceholder */,
-                SplitRule.FINISH_ADJACENT,
-                ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthPx(mContext),
-                ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthPx(mContext),
-                ActivityEmbeddingUtils.getSplitRatio(mContext),
-                LayoutDirection.LOCALE);
+        SplitAttributes attributes = new SplitAttributes.Builder()
+                .setSplitType(SplitAttributes.SplitType.ratio(
+                        ActivityEmbeddingUtils.getSplitRatio(mContext)))
+                .build();
+        final SplitPlaceholderRule placeholderRule = new SplitPlaceholderRule.Builder(
+                activityFilters, intent)
+                .setMinWidthDp(ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthDp())
+                .setMinSmallestWidthDp(ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthDp())
+                .setSticky(false)
+                .setFinishPrimaryWithPlaceholder(SplitRule.FinishBehavior.ADJACENT)
+                .setDefaultSplitAttributes(attributes)
+                .build();
 
-        mSplitController.registerRule(placeholderRule);
+        mRuleController.addRule(placeholderRule);
     }
 
     private void registerAlwaysExpandRule() {
@@ -233,17 +252,19 @@
         addActivityFilter(activityFilters, FingerprintEnrollIntroductionInternal.class);
         addActivityFilter(activityFilters, FingerprintEnrollEnrolling.class);
         addActivityFilter(activityFilters, FaceEnrollIntroductionInternal.class);
-        addActivityFilter(activityFilters, Settings.FaceSettingsInternalActivity.class);
+        addActivityFilter(activityFilters, FaceEnrollIntroduction.class);
         addActivityFilter(activityFilters, AvatarPickerActivity.class);
         addActivityFilter(activityFilters, ChooseLockPattern.class);
-        mSplitController.registerRule(new ActivityRule(activityFilters, true /* alwaysExpand */));
+        ActivityRule activityRule = new ActivityRule.Builder(activityFilters).setAlwaysExpand(true)
+                .build();
+        mRuleController.addRule(activityRule);
     }
 
     private static void addActivityFilter(Set<ActivityFilter> activityFilters, Intent intent) {
         activityFilters.add(new ActivityFilter(COMPONENT_NAME_WILDCARD, intent.getAction()));
     }
 
-    private void addActivityFilter(Set<ActivityFilter> activityFilters,
+    private void addActivityFilter(Collection<ActivityFilter> activityFilters,
             Class<? extends Activity> activityClass) {
         activityFilters.add(new ActivityFilter(new ComponentName(mContext, activityClass),
                 null /* intentAction */));
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java b/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
index f00542d..370392b 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
@@ -32,29 +32,25 @@
 /** An util class collecting all common methods for the embedding activity features. */
 public class ActivityEmbeddingUtils {
     // The smallest value of current width of the window when the split should be used.
-    private static final float MIN_CURRENT_SCREEN_SPLIT_WIDTH_DP = 720f;
+    private static final int MIN_CURRENT_SCREEN_SPLIT_WIDTH_DP = 720;
     // The smallest value of the smallest-width (sw) of the window in any rotation when
     // the split should be used.
-    private static final float MIN_SMALLEST_SCREEN_SPLIT_WIDTH_DP = 600f;
+    private static final int MIN_SMALLEST_SCREEN_SPLIT_WIDTH_DP = 600;
     // The minimum width of the activity to show the regular homepage layout.
     private static final float MIN_REGULAR_HOMEPAGE_LAYOUT_WIDTH_DP = 380f;
     private static final String TAG = "ActivityEmbeddingUtils";
 
-    /** Get the smallest pixel value of width of the window when the split should be used. */
-    public static int getMinCurrentScreenSplitWidthPx(Context context) {
-        final DisplayMetrics dm = context.getResources().getDisplayMetrics();
-        return (int) TypedValue.applyDimension(
-                TypedValue.COMPLEX_UNIT_DIP, MIN_CURRENT_SCREEN_SPLIT_WIDTH_DP, dm);
+    /** Get the smallest width dp of the window when the split should be used. */
+    public static int getMinCurrentScreenSplitWidthDp() {
+        return MIN_CURRENT_SCREEN_SPLIT_WIDTH_DP;
     }
 
     /**
-     * Get the smallest pixel value of the smallest-width (sw) of the window in any rotation when
+     * Get the smallest dp value of the smallest-width (sw) of the window in any rotation when
      * the split should be used.
      */
-    public static int getMinSmallestScreenSplitWidthPx(Context context) {
-        final DisplayMetrics dm = context.getResources().getDisplayMetrics();
-        return (int) TypedValue.applyDimension(
-                TypedValue.COMPLEX_UNIT_DIP, MIN_SMALLEST_SCREEN_SPLIT_WIDTH_DP, dm);
+    public static int getMinSmallestScreenSplitWidthDp() {
+        return MIN_SMALLEST_SCREEN_SPLIT_WIDTH_DP;
     }
 
     /**
@@ -69,7 +65,7 @@
     public static boolean isEmbeddingActivityEnabled(Context context) {
         boolean isFlagEnabled = FeatureFlagUtils.isEnabled(context,
                 FeatureFlagUtils.SETTINGS_SUPPORT_LARGE_SCREEN);
-        boolean isSplitSupported = SplitController.getInstance().isSplitSupported();
+        boolean isSplitSupported = SplitController.getInstance(context).isSplitSupported();
         boolean isUserSetupComplete = WizardManagerHelper.isUserSetupComplete(context);
 
         Log.d(TAG, "isFlagEnabled = " + isFlagEnabled);
diff --git a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
index 06b25d6..3f335bc 100644
--- a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
+++ b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
@@ -650,6 +650,7 @@
         new SubSettingLauncher(context)
                 .setDestination(destination.getName())
                 .setArguments(args)
+                .setUserHandle(UserHandle.getUserHandleForUid(app.uid))
                 .setSourceMetricsCategory(sourceMetricsCategory)
                 .launch();
     }
diff --git a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
index 1e6ecd8..f319592 100644
--- a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
+++ b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
@@ -32,6 +32,7 @@
 import com.android.settings.applications.AppStatePowerBridge;
 import com.android.settings.applications.AppStateUsageBridge;
 import com.android.settings.applications.AppStateWriteSettingsBridge;
+import com.android.settings.nfc.AppStateNfcTagAppsBridge;
 import com.android.settings.wifi.AppStateChangeWifiStateBridge;
 import com.android.settingslib.applications.ApplicationsState;
 
@@ -65,6 +66,7 @@
                 FILTER_APPS_BATTERY_RESTRICTED,
                 FILTER_LONG_BACKGROUND_TASKS,
                 FILTER_APPS_CLONE,
+                FILTER_APPS_NFC_TAG,
             })
     @interface FilterType {}
 
@@ -95,8 +97,9 @@
     public static final int FILTER_APPS_BATTERY_RESTRICTED = 23;
     public static final int FILTER_LONG_BACKGROUND_TASKS = 24;
     public static final int FILTER_APPS_CLONE = 25;
-    // Next id: 26. If you add an entry here, please change NUM_FILTER_ENTRIES.
-    private static final int NUM_FILTER_ENTRIES = 26;
+    public static final int FILTER_APPS_NFC_TAG = 26;
+    private static final int NUM_FILTER_ENTRIES = 27;
+    // Next id: 27. If you add an entry here, please change NUM_FILTER_ENTRIES.
 
     private static AppFilterRegistry sRegistry;
 
@@ -261,6 +264,13 @@
                         AppStateClonedAppsBridge.FILTER_APPS_CLONE,
                         FILTER_APPS_CLONE,
                         R.string.cloned_apps_dashboard_title);
+
+        // Apps that are nfc tag allowlisted.
+        mFilters[FILTER_APPS_NFC_TAG] =
+                new AppFilterItem(
+                        AppStateNfcTagAppsBridge.FILTER_APPS_NFC_TAG,
+                        FILTER_APPS_NFC_TAG,
+                        R.string.change_nfc_tag_apps_title);
     }
 
     public static AppFilterRegistry getInstance() {
@@ -301,6 +311,8 @@
                 return FILTER_LONG_BACKGROUND_TASKS;
             case ManageApplications.LIST_TYPE_CLONED_APPS:
                 return FILTER_APPS_CLONE;
+            case ManageApplications.LIST_TYPE_NFC_TAG_APPS:
+                return FILTER_APPS_NFC_TAG;
             default:
                 return FILTER_APPS_ALL;
         }
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index 44fbd83..7a60494 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -99,6 +99,7 @@
 import com.android.settings.R;
 import com.android.settings.Settings.AlarmsAndRemindersActivity;
 import com.android.settings.Settings.AppBatteryUsageActivity;
+import com.android.settings.Settings.ChangeNfcTagAppsActivity;
 import com.android.settings.Settings.ChangeWifiStateActivity;
 import com.android.settings.Settings.ClonedAppsListActivity;
 import com.android.settings.Settings.HighPowerApplicationsActivity;
@@ -148,6 +149,8 @@
 import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
 import com.android.settings.fuelgauge.HighPowerDetail;
 import com.android.settings.localepicker.AppLocalePickerActivity;
+import com.android.settings.nfc.AppStateNfcTagAppsBridge;
+import com.android.settings.nfc.ChangeNfcTagAppsStateDetails;
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.NotificationBackend;
 import com.android.settings.notification.app.AppNotificationSettings;
@@ -264,6 +267,7 @@
     public static final int LIST_TYPE_BATTERY_OPTIMIZATION = 15;
     public static final int LIST_TYPE_LONG_BACKGROUND_TASKS = 16;
     public static final int LIST_TYPE_CLONED_APPS = 17;
+    public static final int LIST_TYPE_NFC_TAG_APPS = 18;
 
     // List types that should show instant apps.
     public static final Set<Integer> LIST_TYPES_WITH_INSTANT = new ArraySet<>(Arrays.asList(
@@ -362,6 +366,9 @@
                             1);  // USER_INTERACTED
                 }
                 break;
+            case LIST_TYPE_NFC_TAG_APPS:
+                mShowSystem = true;
+                break;
         }
         final AppFilterRegistry appFilterRegistry = AppFilterRegistry.getInstance();
         mFilter = appFilterRegistry.get(appFilterRegistry.getDefaultFilterType(mListType));
@@ -560,6 +567,8 @@
                 return SettingsEnums.LONG_BACKGROUND_TASKS;
             case LIST_TYPE_CLONED_APPS:
                 return SettingsEnums.CLONED_APPS;
+            case LIST_TYPE_NFC_TAG_APPS:
+                return SettingsEnums.CONFIG_NFC_TAG_APP_PREF;
             default:
                 return SettingsEnums.PAGE_UNKNOWN;
         }
@@ -629,10 +638,9 @@
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == INSTALLED_APP_DETAILS && mCurrentPkgName != null) {
-            if (mListType == LIST_TYPE_NOTIFICATION) {
-                mApplications.mExtraInfoBridge.forceUpdate(mCurrentPkgName, mCurrentUid);
-            } else if (mListType == LIST_TYPE_HIGH_POWER || mListType == LIST_TYPE_OVERLAY
-                    || mListType == LIST_TYPE_WRITE_SETTINGS) {
+            if (mListType == LIST_TYPE_NOTIFICATION || mListType == LIST_TYPE_HIGH_POWER
+                    || mListType == LIST_TYPE_OVERLAY || mListType == LIST_TYPE_WRITE_SETTINGS
+                    || mListType == LIST_TYPE_NFC_TAG_APPS) {
                 mApplications.mExtraInfoBridge.forceUpdate(mCurrentPkgName, mCurrentUid);
             } else {
                 mApplicationsState.requestSize(mCurrentPkgName, UserHandle.getUserId(mCurrentUid));
@@ -727,6 +735,10 @@
                             .getRoute(mCurrentPkgName, userId));
                 }
                 break;
+            case LIST_TYPE_NFC_TAG_APPS:
+                startAppInfoFragment(ChangeNfcTagAppsStateDetails.class,
+                        R.string.change_nfc_tag_apps_title);
+                break;
             // TODO: Figure out if there is a way where we can spin up the profile's settings
             // process ahead of time, to avoid a long load of data when user clicks on a managed
             // app. Maybe when they load the list of apps that contains managed profile apps.
@@ -1052,6 +1064,8 @@
             screenTitle = R.string.long_background_tasks_title;
         } else if (className.equals(ClonedAppsListActivity.class.getName())) {
             screenTitle = R.string.cloned_apps_dashboard_title;
+        } else if (className.equals(ChangeNfcTagAppsActivity.class.getName())) {
+            screenTitle = R.string.change_nfc_tag_apps_title;
         } else {
             if (screenTitle == -1) {
                 screenTitle = R.string.all_apps;
@@ -1260,6 +1274,8 @@
                 mExtraInfoBridge = new AppStateLongBackgroundTasksBridge(mContext, mState, this);
             } else if (mManageApplications.mListType == LIST_TYPE_CLONED_APPS) {
                 mExtraInfoBridge = new AppStateClonedAppsBridge(mContext, mState, this);
+            } else if (mManageApplications.mListType == LIST_TYPE_NFC_TAG_APPS) {
+                mExtraInfoBridge = new AppStateNfcTagAppsBridge(mContext, mState, this);
             } else {
                 mExtraInfoBridge = null;
             }
@@ -1810,6 +1826,10 @@
                 case LIST_TYPE_CLONED_APPS:
                     holder.setSummary(null);
                     break;
+                case LIST_TYPE_NFC_TAG_APPS:
+                    holder.setSummary(
+                            ChangeNfcTagAppsStateDetails.getSummary(mContext, entry));
+                    break;
                 default:
                     holder.updateSizeText(entry, mManageApplications.mInvalidSizeStr, mWhichSize);
                     break;
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt b/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
index 8c4c41d..6be5c20 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
+++ b/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
@@ -20,6 +20,7 @@
 import android.util.FeatureFlagUtils
 import com.android.settings.Settings.AlarmsAndRemindersActivity
 import com.android.settings.Settings.AppBatteryUsageActivity
+import com.android.settings.Settings.ChangeNfcTagAppsActivity
 import com.android.settings.Settings.ChangeWifiStateActivity
 import com.android.settings.Settings.ClonedAppsListActivity
 import com.android.settings.Settings.GamesStorageActivity
@@ -46,6 +47,7 @@
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MAIN
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MANAGE_SOURCES
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MEDIA_MANAGEMENT_APPS
+import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_NFC_TAG_APPS
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_NOTIFICATION
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_OVERLAY
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_STORAGE
@@ -85,6 +87,7 @@
         AppBatteryUsageActivity::class to LIST_TYPE_BATTERY_OPTIMIZATION,
         LongBackgroundTasksActivity::class to LIST_TYPE_LONG_BACKGROUND_TASKS,
         ClonedAppsListActivity::class to LIST_TYPE_CLONED_APPS,
+        ChangeNfcTagAppsActivity::class to LIST_TYPE_NFC_TAG_APPS,
     )
 
     @JvmField
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsPreferenceController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsPreferenceController.java
index 8e2d3d4..4fb2f6e 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsPreferenceController.java
@@ -25,6 +25,7 @@
 import com.android.settings.applications.AppStateBaseBridge;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.notification.NotificationBackend;
+import com.android.settings.widget.AppCheckBoxPreference;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
@@ -126,9 +127,9 @@
             final AppEntry entry = apps.get(i);
             final String prefKey = entry.info.packageName + "|" + entry.info.uid;
             appsKeySet.add(prefKey);
-            CheckBoxPreference preference = mScreen.findPreference(prefKey);
+            AppCheckBoxPreference preference = mScreen.findPreference(prefKey);
             if (preference == null) {
-                preference = new CheckBoxPreference(mScreen.getContext());
+                preference = new AppCheckBoxPreference(mScreen.getContext());
                 preference.setIcon(AppUtils.getIcon(mContext, entry));
                 preference.setTitle(entry.label);
                 preference.setKey(prefKey);
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/PreUpgradePreferenceController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/PreUpgradePreferenceController.java
index 743fd55..602b494 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/PreUpgradePreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/PreUpgradePreferenceController.java
@@ -58,19 +58,15 @@
 
     @Override
     public int getAvailabilityStatus() {
-        if (mNm.isNotificationListenerAccessGranted(mCn)) {
-            mNlf = mNm.getListenerFilter(mCn, mUserId);
+        mNlf = mNm.getListenerFilter(mCn, mUserId);
 
-            if (mTargetSdk > Build.VERSION_CODES.S) {
-                return CONDITIONALLY_UNAVAILABLE;
-            }
-
-            if (!mNlf.areAllTypesAllowed() || !mNlf.getDisallowedPackages().isEmpty()) {
-                return CONDITIONALLY_UNAVAILABLE;
-            }
-            return AVAILABLE;
-        } else {
+        if (mTargetSdk > Build.VERSION_CODES.S) {
             return CONDITIONALLY_UNAVAILABLE;
         }
+
+        if (!mNlf.areAllTypesAllowed() || !mNlf.getDisallowedPackages().isEmpty()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        return AVAILABLE;
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
index b4f8967..e63a754 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -495,7 +495,13 @@
     @Override
     public void finish() {
         if (mGkPwHandle != null) {
-            BiometricUtils.removeGatekeeperPasswordHandle(this, mGkPwHandle);
+            // When launched as InternalActivity, the mGkPwHandle was gotten from intent extra
+            // instead of requesting from the user. Do not remove the mGkPwHandle in service side
+            // for this case because the caller activity may still need it and will be responsible
+            // for removing it.
+            if (!(this instanceof InternalActivity)) {
+                BiometricUtils.removeGatekeeperPasswordHandle(this, mGkPwHandle);
+            }
         }
         super.finish();
     }
diff --git a/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java b/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java
index f61f99c..76a23a5 100644
--- a/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java
@@ -25,6 +25,7 @@
 
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.Utils;
+import com.android.settings.biometrics.activeunlock.ActiveUnlockStatusUtils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 
@@ -37,11 +38,17 @@
     protected final int mProfileChallengeUserId;
 
     private final BiometricNavigationUtils mBiometricNavigationUtils;
+    private final ActiveUnlockStatusUtils mActiveUnlockStatusUtils;
+
+    /**
+     * @return true if the controller should be shown exclusively.
+     */
+    protected abstract boolean isDeviceSupported();
 
     /**
      * @return true if the manager is not null and the hardware is detected.
      */
-    protected abstract boolean isDeviceSupported();
+    protected abstract boolean isHardwareSupported();
 
     /**
      * @return the summary text.
@@ -61,13 +68,21 @@
                 .getLockPatternUtils(context);
         mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
         mBiometricNavigationUtils = new BiometricNavigationUtils(getUserId());
+        mActiveUnlockStatusUtils = new ActiveUnlockStatusUtils(context);
     }
 
     @Override
     public int getAvailabilityStatus() {
+        if (mActiveUnlockStatusUtils.isAvailable()) {
+            return getAvailabilityStatusWithWorkProfileCheck();
+        }
         if (!isDeviceSupported()) {
             return UNSUPPORTED_ON_DEVICE;
         }
+        return getAvailabilityFromUserSupported();
+    }
+
+    private int getAvailabilityFromUserSupported() {
         if (isUserSupported()) {
             return AVAILABLE;
         } else {
@@ -75,6 +90,21 @@
         }
     }
 
+    // Since this code is flag guarded by mActiveUnlockStatusUtils.isAvailable(), we don't need to
+    // do another check here.
+    private int getAvailabilityStatusWithWorkProfileCheck() {
+        if (!isHardwareSupported()) {
+            // no hardware, never show
+            return UNSUPPORTED_ON_DEVICE;
+        }
+        if (!isDeviceSupported() && isWorkProfileController()) {
+            // hardware supported but work profile, don't show
+            return UNSUPPORTED_ON_DEVICE;
+        }
+        // hardware supported, not work profile, active unlock enabled
+        return getAvailabilityFromUserSupported();
+    }
+
     @Override
     public void updateState(Preference preference) {
         if (!isAvailable()) {
@@ -105,4 +135,11 @@
     protected boolean isUserSupported() {
         return true;
     }
+
+    /**
+     * Returns true if the controller controls is used for work profile.
+     */
+    protected boolean isWorkProfileController() {
+        return false;
+    }
 }
diff --git a/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java b/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java
index a994b95..d85f446 100644
--- a/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java
+++ b/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java
@@ -24,8 +24,11 @@
 import androidx.annotation.NonNull;
 import androidx.fragment.app.FragmentActivity;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.password.ChooseLockSettingsHelper;
 
+import java.util.function.Function;
+
 /**
  * Helper for {@link BiometricEnrollActivity} when multiple sensors exist on a device.
  */
@@ -45,14 +48,39 @@
     private final int mUserId;
     private final boolean mRequestEnrollFace;
     private final boolean mRequestEnrollFingerprint;
+    private final FingerprintManager mFingerprintManager;
+    private final FaceManager mFaceManager;
+    private final Intent mFingerprintEnrollIntroductionIntent;
+    private final Intent mFaceEnrollIntroductionIntent;
+    private Function<Long, byte[]> mGatekeeperHatSupplier;
 
+    @VisibleForTesting
     MultiBiometricEnrollHelper(@NonNull FragmentActivity activity, int userId,
-            boolean enrollFace, boolean enrollFingerprint, long gkPwHandle) {
+            boolean enrollFace, boolean enrollFingerprint, long gkPwHandle,
+            FingerprintManager fingerprintManager,
+            FaceManager faceManager, Intent fingerprintEnrollIntroductionIntent,
+            Intent faceEnrollIntroductionIntent, Function<Long, byte[]> gatekeeperHatSupplier) {
         mActivity = activity;
         mUserId = userId;
         mGkPwHandle = gkPwHandle;
         mRequestEnrollFace = enrollFace;
         mRequestEnrollFingerprint = enrollFingerprint;
+        mFingerprintManager = fingerprintManager;
+        mFaceManager = faceManager;
+        mFingerprintEnrollIntroductionIntent = fingerprintEnrollIntroductionIntent;
+        mFaceEnrollIntroductionIntent = faceEnrollIntroductionIntent;
+        mGatekeeperHatSupplier = gatekeeperHatSupplier;
+    }
+
+    MultiBiometricEnrollHelper(@NonNull FragmentActivity activity, int userId,
+            boolean enrollFace, boolean enrollFingerprint, long gkPwHandle) {
+        this(activity, userId, enrollFace, enrollFingerprint, gkPwHandle,
+                activity.getSystemService(FingerprintManager.class),
+                activity.getSystemService(FaceManager.class),
+                BiometricUtils.getFingerprintIntroIntent(activity, activity.getIntent()),
+                BiometricUtils.getFaceIntroIntent(activity, activity.getIntent()),
+                (challenge) ->  BiometricUtils.requestGatekeeperHat(activity, gkPwHandle,
+                        userId, challenge));
     }
 
     void startNextStep() {
@@ -67,45 +95,39 @@
     }
 
     private void launchFaceEnroll() {
-        final FaceManager faceManager = mActivity.getSystemService(FaceManager.class);
-        faceManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
-            final byte[] hardwareAuthToken = BiometricUtils.requestGatekeeperHat(mActivity,
-                    mGkPwHandle, mUserId, challenge);
-            final Intent faceIntent = BiometricUtils.getFaceIntroIntent(mActivity,
-                    mActivity.getIntent());
-            faceIntent.putExtra(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
-            faceIntent.putExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
-            BiometricUtils.launchEnrollForResult(mActivity, faceIntent, REQUEST_FACE_ENROLL,
-                    hardwareAuthToken, mGkPwHandle, mUserId);
+        mFaceManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
+            final byte[] hardwareAuthToken = mGatekeeperHatSupplier.apply(challenge);
+            mFaceEnrollIntroductionIntent.putExtra(
+                    BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
+            mFaceEnrollIntroductionIntent.putExtra(
+                    BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
+            BiometricUtils.launchEnrollForResult(mActivity, mFaceEnrollIntroductionIntent,
+                    REQUEST_FACE_ENROLL, hardwareAuthToken, mGkPwHandle, mUserId);
         });
     }
 
     private void launchFingerprintEnroll() {
-        final FingerprintManager fingerprintManager = mActivity
-                .getSystemService(FingerprintManager.class);
-        fingerprintManager.generateChallenge(mUserId, ((sensorId, userId, challenge) -> {
-            final byte[] hardwareAuthToken = BiometricUtils.requestGatekeeperHat(mActivity,
-                    mGkPwHandle, mUserId, challenge);
-            final Intent intent = BiometricUtils.getFingerprintIntroIntent(mActivity,
-                    mActivity.getIntent());
-            intent.putExtra(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
-            intent.putExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
+        mFingerprintManager.generateChallenge(mUserId, ((sensorId, userId, challenge) -> {
+            final byte[] hardwareAuthToken = mGatekeeperHatSupplier.apply(challenge);
+            mFingerprintEnrollIntroductionIntent.putExtra(
+                    BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
+            mFingerprintEnrollIntroductionIntent.putExtra(
+                    BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
             if (mRequestEnrollFace) {
                 // Give FingerprintEnroll a pendingIntent pointing to face enrollment, so that it
                 // can be started when user skips or finishes fingerprint enrollment.
                 // FLAG_UPDATE_CURRENT ensures it is launched with the most recent values.
-                final Intent faceIntent = BiometricUtils.getFaceIntroIntent(mActivity,
-                        mActivity.getIntent());
-                faceIntent.putExtra(Intent.EXTRA_USER_ID, mUserId);
-                faceIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
-                        mGkPwHandle);
+                mFaceEnrollIntroductionIntent.putExtra(Intent.EXTRA_USER_ID, mUserId);
+                mFaceEnrollIntroductionIntent.putExtra(
+                        ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, mGkPwHandle);
                 final PendingIntent faceAfterFp = PendingIntent.getActivity(mActivity,
-                        0 /* requestCode */, faceIntent,
+                        0 /* requestCode */, mFaceEnrollIntroductionIntent,
                         PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
-                intent.putExtra(EXTRA_ENROLL_AFTER_FINGERPRINT, faceAfterFp);
+                mFingerprintEnrollIntroductionIntent.putExtra(EXTRA_ENROLL_AFTER_FINGERPRINT,
+                        faceAfterFp);
             }
-            BiometricUtils.launchEnrollForResult(mActivity, intent, REQUEST_FINGERPRINT_ENROLL,
-                    hardwareAuthToken, mGkPwHandle, mUserId);
+            BiometricUtils.launchEnrollForResult(mActivity, mFingerprintEnrollIntroductionIntent,
+                    REQUEST_FINGERPRINT_ENROLL, hardwareAuthToken, mGkPwHandle, mUserId);
         }));
     }
 }
diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockContentListener.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockContentListener.java
new file mode 100644
index 0000000..8cc7d6a
--- /dev/null
+++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockContentListener.java
@@ -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.settings.biometrics.activeunlock;
+
+import android.content.ContentProviderClient;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.RemoteException;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+
+import com.android.settingslib.utils.ThreadUtils;
+
+/** Listens to updates from the content provider and fetches the latest value. */
+public class ActiveUnlockContentListener {
+
+    /** Callback interface for updates to values from the ContentProvider. */
+    public interface OnContentChangedListener {
+        /**
+         * Called when the content observer has updated.
+         *
+         * @param newValue the new value retrieved from the ContentProvider.
+         **/
+        void onContentChanged(@Nullable String newValue);
+    }
+
+    private static final String CONTENT_PROVIDER_PATH = "getSummary";
+
+    private final Context mContext;
+    private final OnContentChangedListener mContentChangedListener;
+    @Nullable private final Uri mUri;
+    private final String mLogTag;
+    private final String mMethodName;
+    private final String mContentKey;
+    @Nullable private String mContent;
+    private boolean mSubscribed = false;
+    private ContentObserver mContentObserver =
+            new ContentObserver(new Handler(Looper.getMainLooper())) {
+                @Override
+                public void onChange(boolean selfChange) {
+                    getContentFromUri();
+                }
+            };
+
+    ActiveUnlockContentListener(
+            Context context,
+            OnContentChangedListener listener,
+            String logTag,
+            String methodName,
+            String contentKey) {
+        mContext = context;
+        mContentChangedListener = listener;
+        mLogTag = logTag;
+        mMethodName = methodName;
+        mContentKey = contentKey;
+        String authority = new ActiveUnlockStatusUtils(mContext).getAuthority();
+        if (authority != null) {
+            mUri = new Uri.Builder()
+                    .scheme(ContentResolver.SCHEME_CONTENT)
+                    .authority(authority)
+                    .appendPath(CONTENT_PROVIDER_PATH)
+                    .build();
+        } else {
+            mUri = null;
+        }
+
+    }
+
+    /** Returns true if start listening for updates from the ContentProvider, false otherwise. */
+    public synchronized boolean subscribe() {
+        if (mSubscribed || mUri == null) {
+            return false;
+        }
+        mSubscribed = true;
+        mContext.getContentResolver().registerContentObserver(
+                mUri, true /* notifyForDescendants */, mContentObserver);
+        ThreadUtils.postOnBackgroundThread(
+                () -> {
+                    getContentFromUri();
+                });
+        return true;
+    }
+
+    /** Returns true if stops listening for updates from the ContentProvider, false otherewise. */
+    public synchronized boolean unsubscribe() {
+        if (!mSubscribed || mUri == null) {
+            return false;
+        }
+        mSubscribed = false;
+        mContext.getContentResolver().unregisterContentObserver(mContentObserver);
+        return true;
+    }
+
+    /** Retrieves the most recently fetched value from the ContentProvider. */
+    @Nullable
+    public String getContent() {
+        return mContent;
+    }
+
+    private void getContentFromUri() {
+        if (mUri == null) {
+            Log.e(mLogTag, "Uri null when trying to fetch content");
+            return;
+        }
+        ContentResolver contentResolver = mContext.getContentResolver();
+        ContentProviderClient client = contentResolver.acquireContentProviderClient(mUri);
+        Bundle bundle;
+        try {
+            bundle = client.call(mMethodName, null /* arg */, null /* extras */);
+        } catch (RemoteException e) {
+            Log.e(mLogTag, "Failed to call contentProvider", e);
+            return;
+        } finally {
+            client.close();
+        }
+        if (bundle == null) {
+            Log.e(mLogTag, "Null bundle returned from contentProvider");
+            return;
+        }
+        String newValue = bundle.getString(mContentKey);
+        if (!TextUtils.equals(mContent, newValue)) {
+            mContent = newValue;
+            mContentChangedListener.onContentChanged(mContent);
+        }
+    }
+}
diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockDeviceNameListener.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockDeviceNameListener.java
new file mode 100644
index 0000000..1badb0f
--- /dev/null
+++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockDeviceNameListener.java
@@ -0,0 +1,48 @@
+/*
+ * 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.settings.biometrics.activeunlock;
+
+import android.content.Context;
+
+/** Listens to device name updates from the content provider and fetches the latest value. */
+public class ActiveUnlockDeviceNameListener  {
+    private static final String TAG = "ActiveUnlockDeviceNameListener";
+    private static final String METHOD_NAME = "getDeviceName";
+    private static final String DEVICE_NAME_KEY = "com.android.settings.active_unlock.device_name";
+
+    private final ActiveUnlockContentListener mActiveUnlockContentListener;
+    public ActiveUnlockDeviceNameListener(
+            Context context, ActiveUnlockContentListener.OnContentChangedListener listener) {
+        mActiveUnlockContentListener = new ActiveUnlockContentListener(
+            context, listener, TAG, METHOD_NAME, DEVICE_NAME_KEY);
+    }
+
+    /** Returns whether a device is enrolled in Active Unlock. */
+    public boolean hasEnrolled() {
+        return mActiveUnlockContentListener.getContent() != null;
+    }
+
+    /** Subscribes to device name updates. */
+    public void subscribe() {
+        mActiveUnlockContentListener.subscribe();
+    }
+
+    /** Unsubscribes from device name updates. */
+    public void unsubscribe() {
+        mActiveUnlockContentListener.unsubscribe();
+    }
+}
diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java
new file mode 100644
index 0000000..1f30e56
--- /dev/null
+++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java
@@ -0,0 +1,152 @@
+/*
+ * 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.settings.biometrics.activeunlock;
+
+import static android.hardware.biometrics.BiometricManager.Authenticators.BIOMETRIC_STRONG;
+import static android.provider.Settings.ACTION_BIOMETRIC_ENROLL;
+import static android.provider.Settings.EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED;
+
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
+
+import android.app.settings.SettingsEnums;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.util.Log;
+import android.view.View;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+import com.android.settings.biometrics.BiometricEnrollActivity;
+import com.android.settings.biometrics.BiometricEnrollBase;
+import com.android.settings.biometrics.combination.CombinedBiometricStatusUtils;
+
+import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupcompat.template.FooterButton;
+
+/**
+ * Activity which instructs the user to set up face or fingerprint unlock before setting the watch
+ * unlock.
+ */
+public class ActiveUnlockRequireBiometricSetup extends BiometricEnrollBase {
+    private static final String TAG = "ActiveUnlockRequireBiometricSetup";
+
+    @VisibleForTesting
+    static final int BIOMETRIC_ENROLL_REQUEST = 1001;
+    private static final int ACTIVE_UNLOCK_REQUEST = 1002;
+    private long mGkPwHandle;
+    private boolean mNextClicked;
+    private ActiveUnlockStatusUtils mActiveUnlockStatusUtils;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activeunlock_require_biometric_setup);
+
+        mActiveUnlockStatusUtils = new ActiveUnlockStatusUtils(this);
+        mUserId = getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
+        Log.i(TAG, "mUserId = " + mUserId);
+        mGkPwHandle = getIntent().getLongExtra(EXTRA_KEY_GK_PW_HANDLE, 0L);
+
+        final PackageManager pm = getApplicationContext().getPackageManager();
+        boolean hasFeatureFace = pm.hasSystemFeature(PackageManager.FEATURE_FACE);
+        boolean hasFeatureFingerprint = pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT);
+        if (hasFeatureFace && hasFeatureFingerprint) {
+            setHeaderText(
+                    R.string.security_settings_activeunlock_require_face_fingerprint_setup_title);
+            setDescriptionText(
+                    R.string.security_settings_activeunlock_require_face_fingerprint_setup_message);
+        } else if (hasFeatureFingerprint) {
+            setHeaderText(R.string.security_settings_activeunlock_require_fingerprint_setup_title);
+            setDescriptionText(
+                    R.string.security_settings_activeunlock_require_fingerprint_setup_message);
+        } else if (hasFeatureFace) {
+            setHeaderText(R.string.security_settings_activeunlock_require_face_setup_title);
+            setDescriptionText(
+                    R.string.security_settings_activeunlock_require_face_setup_message);
+        }
+
+        mFooterBarMixin = getLayout().getMixin(FooterBarMixin.class);
+        mFooterBarMixin.setSecondaryButton(
+                new FooterButton.Builder(this)
+                        .setText(R.string.cancel)
+                        .setListener(this::onCancelClick)
+                        .setButtonType(FooterButton.ButtonType.CANCEL)
+                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .build()
+        );
+
+        mFooterBarMixin.setPrimaryButton(
+                new FooterButton.Builder(this)
+                        .setText(R.string.security_settings_activeunlock_biometric_setup)
+                        .setListener(this::onNextButtonClick)
+                        .setButtonType(FooterButton.ButtonType.NEXT)
+                        .setTheme(R.style.SudGlifButton_Primary)
+                        .build()
+        );
+    }
+
+    @Override
+    public void onBackPressed() {
+        finish();
+    }
+
+    private void onCancelClick(View view) {
+        finish();
+    }
+
+    @Override
+    protected boolean shouldFinishWhenBackgrounded() {
+        return super.shouldFinishWhenBackgrounded() && !mNextClicked;
+    }
+
+    @Override
+    protected void onNextButtonClick(View view) {
+        mNextClicked = true;
+        Intent intent = new Intent(this, BiometricEnrollActivity.InternalActivity.class);
+        intent.setAction(ACTION_BIOMETRIC_ENROLL);
+        intent.putExtra(EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED, BIOMETRIC_STRONG);
+        intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
+        intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, mGkPwHandle);
+        startActivityForResult(intent, BIOMETRIC_ENROLL_REQUEST);
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+
+        if (requestCode == BIOMETRIC_ENROLL_REQUEST && resultCode != RESULT_CANCELED) {
+            CombinedBiometricStatusUtils combinedBiometricStatusUtils =
+                    new CombinedBiometricStatusUtils(this, mUserId);
+            if (combinedBiometricStatusUtils.hasEnrolled()) {
+                Intent activeUnlockIntent = mActiveUnlockStatusUtils.getIntent();
+                if (activeUnlockIntent != null) {
+                    startActivityForResult(activeUnlockIntent, ACTIVE_UNLOCK_REQUEST);
+                }
+            }
+        }
+        mNextClicked = false;
+        finish();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACTIVE_UNLOCK_REQUIRE_BIOMETRIC_SETUP;
+    }
+}
diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceController.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceController.java
new file mode 100644
index 0000000..ff835f8
--- /dev/null
+++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceController.java
@@ -0,0 +1,169 @@
+/*
+ * 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.settings.biometrics.activeunlock;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.Utils;
+import com.android.settings.biometrics.BiometricStatusPreferenceController;
+import com.android.settings.biometrics.activeunlock.ActiveUnlockContentListener.OnContentChangedListener;
+import com.android.settings.biometrics.combination.CombinedBiometricStatusUtils;
+import com.android.settingslib.RestrictedPreference;
+
+/**
+ * Preference controller for active unlock settings within the biometrics settings page, that
+ * controls the ability to unlock the phone with watch authentication.
+ */
+public class ActiveUnlockStatusPreferenceController
+        extends BiometricStatusPreferenceController implements LifecycleObserver {
+    /**
+     * Preference key.
+     *
+     * This must match the key found in security_settings_combined_biometric.xml
+     **/
+    public static final String KEY_ACTIVE_UNLOCK_SETTINGS = "biometric_active_unlock_settings";
+    @Nullable private RestrictedPreference mPreference;
+    @Nullable private PreferenceScreen mPreferenceScreen;
+    @Nullable private String mSummary;
+    private final ActiveUnlockStatusUtils mActiveUnlockStatusUtils;
+    private final CombinedBiometricStatusUtils mCombinedBiometricStatusUtils;
+    private final ActiveUnlockSummaryListener mActiveUnlockSummaryListener;
+    private final ActiveUnlockDeviceNameListener mActiveUnlockDeviceNameListener;
+    private final boolean mIsAvailable;
+
+    public ActiveUnlockStatusPreferenceController(@NonNull Context context) {
+        this(context, KEY_ACTIVE_UNLOCK_SETTINGS);
+    }
+
+    public ActiveUnlockStatusPreferenceController(
+            @NonNull Context context, @NonNull String key) {
+        super(context, key);
+        mActiveUnlockStatusUtils = new ActiveUnlockStatusUtils(context);
+        mIsAvailable = mActiveUnlockStatusUtils.isAvailable();
+        mCombinedBiometricStatusUtils = new CombinedBiometricStatusUtils(context, getUserId());
+        OnContentChangedListener onSummaryChangedListener = new OnContentChangedListener() {
+            @Override
+            public void onContentChanged(String newContent) {
+                mSummary = newContent;
+                if (mPreference != null) {
+                    mPreference.setSummary(getSummaryText());
+                }
+            }
+        };
+        OnContentChangedListener onDeviceNameChangedListener =
+                new OnContentChangedListener() {
+
+            @Override
+            public void onContentChanged(String newContent) {
+                if (mPreference != null) {
+                    mPreference.setSummary(getSummaryText());
+                }
+            }
+
+        };
+        mActiveUnlockSummaryListener =
+                new ActiveUnlockSummaryListener(context, onSummaryChangedListener);
+        mActiveUnlockDeviceNameListener =
+                new ActiveUnlockDeviceNameListener(context, onDeviceNameChangedListener);
+    }
+
+
+    /** Subscribes to update preference summary dynamically. */
+    @OnLifecycleEvent(Lifecycle.Event.ON_START)
+    public void onStart() {
+        if (mIsAvailable) {
+            mActiveUnlockSummaryListener.subscribe();
+            mActiveUnlockDeviceNameListener.subscribe();
+        }
+    }
+
+    /** Resets the preference reference on resume. */
+    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
+    public void onResume() {
+        if (mPreferenceScreen != null) {
+            displayPreference(mPreferenceScreen);
+        }
+    }
+
+    /** Unsubscribes to prevent leaked listener. */
+    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
+    public void onStop() {
+        if (mIsAvailable) {
+            mActiveUnlockSummaryListener.unsubscribe();
+            mActiveUnlockDeviceNameListener.unsubscribe();
+        }
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreferenceScreen = screen;
+        mPreference = screen.findPreference(mPreferenceKey);
+        updateState(mPreference);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mActiveUnlockStatusUtils.getAvailability();
+    }
+
+    @Override
+    protected boolean isDeviceSupported() {
+        // This should never be called, as getAvailabilityStatus() will return the exact value.
+        // However, this is an abstract method in BiometricStatusPreferenceController, and so
+        // needs to be overridden.
+        return mIsAvailable;
+    }
+
+    @Override
+    protected boolean isHardwareSupported() {
+        // This should never be called, as getAvailabilityStatus() will return the exact value.
+        // However, this is an abstract method in BiometricStatusPreferenceController, and so
+        // needs to be overridden.
+        return Utils.hasFaceHardware(mContext) || Utils.hasFingerprintHardware(mContext);
+    }
+
+    @Override
+    protected String getSummaryText() {
+        if (mActiveUnlockStatusUtils.useBiometricFailureLayout()
+                && !mActiveUnlockDeviceNameListener.hasEnrolled()
+                && !mCombinedBiometricStatusUtils.hasEnrolled()) {
+            @Nullable final String setupString =
+                    mActiveUnlockStatusUtils.getSummaryWhenBiometricSetupRequired();
+            if (setupString != null) {
+                return setupString;
+            }
+        }
+        if (mSummary == null) {
+            // return non-empty string to prevent re-sizing of the tile
+            return " ";
+        }
+        return mSummary;
+    }
+
+    @Override
+    protected String getSettingsClassName() {
+        return ActiveUnlockRequireBiometricSetup.class.getName();
+    }
+}
diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java
new file mode 100644
index 0000000..4ff2b87
--- /dev/null
+++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java
@@ -0,0 +1,274 @@
+/*
+ * 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.settings.biometrics.activeunlock;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ProviderInfo;
+import android.provider.DeviceConfig;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.BasePreferenceController.AvailabilityStatus;
+
+import java.util.List;
+
+/** Utilities for active unlock details shared between Security Settings and Safety Center. */
+public class ActiveUnlockStatusUtils {
+
+    /** The flag to determining whether active unlock in settings is enabled. */
+    public static final String CONFIG_FLAG_NAME = "active_unlock_in_settings";
+
+    /** Flag value that represents the layout for unlock intent should be used. */
+    public static final String UNLOCK_INTENT_LAYOUT = "unlock_intent_layout";
+
+    /** Flag value that represents the layout for biometric failure should be used. */
+    public static final String BIOMETRIC_FAILURE_LAYOUT = "biometric_failure_layout";
+
+    private static final String ACTIVE_UNLOCK_PROVIDER = "active_unlock_provider";
+    private static final String ACTIVE_UNLOCK_TARGET = "active_unlock_target";
+
+    private static final String TAG = "ActiveUnlockStatusUtils";
+
+    private final Context mContext;
+    private final ContentResolver mContentResolver;
+
+    public ActiveUnlockStatusUtils(@NonNull Context context) {
+        mContext = context;
+        mContentResolver = mContext.getContentResolver();
+    }
+
+    /** Returns whether the active unlock settings entity should be shown. */
+    public boolean isAvailable() {
+        return getAvailability() == BasePreferenceController.AVAILABLE;
+    }
+
+    /**
+     * Returns whether the active unlock layout with the unlock on intent configuration should be
+     * used.
+     */
+    public boolean useUnlockIntentLayout() {
+        return isAvailable() && UNLOCK_INTENT_LAYOUT.equals(getFlagState());
+    }
+
+    /**
+     *
+     * Returns whether the active unlock layout with the unlock on biometric failure configuration
+     * should be used.
+     */
+    public boolean useBiometricFailureLayout() {
+        return isAvailable() && BIOMETRIC_FAILURE_LAYOUT.equals(getFlagState());
+    }
+
+    /**
+     * Returns the authority used to fetch dynamic active unlock content.
+     */
+    @Nullable
+    public String getAuthority() {
+        final String authority = Settings.Secure.getString(
+                mContext.getContentResolver(), ACTIVE_UNLOCK_PROVIDER);
+        if (authority == null) {
+            Log.i(TAG, "authority not set");
+            return null;
+        }
+        final List<PackageInfo> packageInfos =
+                mContext.getPackageManager().getInstalledPackages(
+                        PackageManager.PackageInfoFlags.of(PackageManager.GET_PROVIDERS));
+        for (PackageInfo packageInfo : packageInfos) {
+            final ProviderInfo[] providers = packageInfo.providers;
+            if (providers != null) {
+                for (ProviderInfo provider : providers) {
+                    if (authority.equals(provider.authority) && isSystemApp(provider)) {
+                        return authority;
+                    }
+                }
+            }
+        }
+        Log.e(TAG, "authority not valid");
+        return null;
+    }
+
+    private static boolean isSystemApp(ComponentInfo componentInfo) {
+        final ApplicationInfo applicationInfo = componentInfo.applicationInfo;
+        if (applicationInfo == null) {
+            Log.e(TAG, "application info is null");
+            return false;
+        }
+        return applicationInfo.isSystemApp();
+    }
+
+    /**
+     * Returns the intent used to launch the active unlock activity.
+     */
+    @Nullable
+    public Intent getIntent() {
+        final String targetAction = Settings.Secure.getString(
+                mContentResolver, ACTIVE_UNLOCK_TARGET);
+        if (targetAction == null) {
+            Log.i(TAG, "Target action not set");
+            return null;
+        }
+        final Intent intent = new Intent(targetAction);
+        final ActivityInfo activityInfo = intent.resolveActivityInfo(
+                mContext.getPackageManager(), PackageManager.MATCH_ALL);
+        if (activityInfo == null) {
+            Log.e(TAG, "Target activity not found");
+            return null;
+        }
+        if (!isSystemApp(activityInfo)) {
+            Log.e(TAG, "Target application is not system");
+            return null;
+        }
+        Log.i(TAG, "Target application is valid");
+        return intent;
+    }
+
+    /** Returns the availability status of the active unlock feature. */
+    @AvailabilityStatus
+    int getAvailability() {
+        if (!Utils.hasFingerprintHardware(mContext) && !Utils.hasFaceHardware(mContext)) {
+            return BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+        }
+        if (!UNLOCK_INTENT_LAYOUT.equals(getFlagState())
+                  && !BIOMETRIC_FAILURE_LAYOUT.equals(getFlagState())) {
+            return BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+        }
+        if (getAuthority() != null && getIntent() != null) {
+            return BasePreferenceController.AVAILABLE;
+        }
+        return BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+    }
+
+    /**
+     * Returns the title of the combined biometric settings entity when active unlock is enabled.
+     */
+    public String getTitleForActiveUnlock() {
+        final boolean faceAllowed = Utils.hasFaceHardware(mContext);
+        final boolean fingerprintAllowed = Utils.hasFingerprintHardware(mContext);
+        return mContext.getString(getTitleRes(faceAllowed, fingerprintAllowed));
+    }
+
+    @StringRes
+    private static int getTitleRes(boolean isFaceAllowed, boolean isFingerprintAllowed) {
+        if (isFaceAllowed && isFingerprintAllowed) {
+            return R.string.security_settings_biometric_preference_title;
+        } else if (isFaceAllowed) {
+            return R.string.security_settings_face_preference_title;
+        } else if (isFingerprintAllowed) {
+            return R.string.security_settings_fingerprint_preference_title;
+        } else {
+            // Default to original summary, but this case should never happen.
+            return R.string.security_settings_biometric_preference_title;
+        }
+    }
+
+    /**
+     * Returns the intro of the combined biometric settings entity when active unlock is enabled.
+     */
+    public String getIntroForActiveUnlock() {
+        final boolean faceAllowed = Utils.hasFaceHardware(mContext);
+        final boolean fingerprintAllowed = Utils.hasFingerprintHardware(mContext);
+        if (useBiometricFailureLayout()) {
+            int introRes = getIntroRes(faceAllowed, fingerprintAllowed);
+            return introRes == 0 ? "" : mContext.getString(introRes);
+        }
+        if (useUnlockIntentLayout() && (!faceAllowed || !fingerprintAllowed)) {
+            return "";
+        }
+        return mContext.getString(R.string.biometric_settings_intro);
+    }
+
+    @StringRes
+    private static int getIntroRes(boolean isFaceAllowed, boolean isFingerprintAllowed) {
+        if (isFaceAllowed && isFingerprintAllowed) {
+            return R.string.biometric_settings_intro_with_activeunlock;
+        } else if (isFaceAllowed) {
+            return R.string.biometric_settings_intro_with_face;
+        } else if (isFingerprintAllowed) {
+            return R.string.biometric_settings_intro_with_fingerprint;
+        } else {
+            return 0;
+        }
+    }
+
+    /**
+     * Returns the summary of the unlock device entity when active unlock is enabled.
+     */
+    public String getUnlockDeviceSummaryForActiveUnlock() {
+        final boolean faceAllowed = Utils.hasFaceHardware(mContext);
+        final boolean fingerprintAllowed = Utils.hasFingerprintHardware(mContext);
+
+        return mContext.getString(getUnlockDeviceSummaryRes(faceAllowed, fingerprintAllowed));
+    }
+
+    @StringRes
+    private static int getUnlockDeviceSummaryRes(
+            boolean isFaceAllowed, boolean isFingerprintAllowed) {
+        if (isFaceAllowed && isFingerprintAllowed) {
+            return R.string.biometric_settings_use_face_fingerprint_or_watch_preference_summary;
+        } else if (isFaceAllowed) {
+            return R.string.biometric_settings_use_face_or_watch_preference_summary;
+        } else if (isFingerprintAllowed) {
+            return R.string.biometric_settings_use_fingerprint_or_watch_preference_summary;
+        } else {
+            return R.string.biometric_settings_use_watch_preference_summary;
+        }
+    }
+
+    /**
+     * Returns the summary of the active unlock preference when biometrics are needed to set up the
+     * feature.
+     */
+    @Nullable
+    public String getSummaryWhenBiometricSetupRequired() {
+        final boolean faceAllowed = Utils.hasFaceHardware(mContext);
+        final boolean fingerprintAllowed = Utils.hasFingerprintHardware(mContext);
+
+        int summaryRes = getSetupBiometricRes(faceAllowed, fingerprintAllowed);
+        return summaryRes == 0 ? null : mContext.getString(summaryRes);
+    }
+
+    @StringRes
+    private static int getSetupBiometricRes(boolean faceAllowed, boolean fingerprintAllowed) {
+        if (faceAllowed && fingerprintAllowed) {
+            return R.string.security_settings_activeunlock_require_face_fingerprint_setup_title;
+        } else if (faceAllowed) {
+            return R.string.security_settings_activeunlock_require_face_setup_title;
+        } else if (fingerprintAllowed) {
+            return R.string.security_settings_activeunlock_require_fingerprint_setup_title;
+        } else {
+            return 0;
+        }
+    }
+
+    private static String getFlagState() {
+        return DeviceConfig.getProperty(DeviceConfig.NAMESPACE_REMOTE_AUTH, CONFIG_FLAG_NAME);
+    }
+}
diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockSummaryListener.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockSummaryListener.java
new file mode 100644
index 0000000..bcffe62
--- /dev/null
+++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockSummaryListener.java
@@ -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.settings.biometrics.activeunlock;
+
+import android.content.Context;
+
+/** Listens to summary updates from the content provider and fetches the latest value. */
+public class ActiveUnlockSummaryListener {
+    private static final String TAG = "ActiveUnlockSummaryListener";
+    private static final String METHOD_NAME = "getSummary";
+    private static final String SUMMARY_KEY = "com.android.settings.summary";
+
+    private final ActiveUnlockContentListener mContentListener;
+    public ActiveUnlockSummaryListener(
+            Context context, ActiveUnlockContentListener.OnContentChangedListener listener) {
+        mContentListener = new ActiveUnlockContentListener(
+                context, listener, TAG, METHOD_NAME, SUMMARY_KEY);
+    }
+
+    /** Subscribes for summary updates. */
+    public void subscribe() {
+        mContentListener.subscribe();
+    }
+
+    /** Unsubscribes from summary updates. */
+    public void unsubscribe() {
+        mContentListener.unsubscribe();
+    }
+}
diff --git a/src/com/android/settings/biometrics/combination/BiometricFaceProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricFaceProfileStatusPreferenceController.java
index de02126..c21368b 100644
--- a/src/com/android/settings/biometrics/combination/BiometricFaceProfileStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/BiometricFaceProfileStatusPreferenceController.java
@@ -46,4 +46,9 @@
     protected int getUserId() {
         return mProfileChallengeUserId;
     }
+
+    @Override
+    protected boolean isWorkProfileController() {
+        return true;
+    }
 }
diff --git a/src/com/android/settings/biometrics/combination/BiometricFaceStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricFaceStatusPreferenceController.java
index 800139c..c9ea944 100644
--- a/src/com/android/settings/biometrics/combination/BiometricFaceStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/BiometricFaceStatusPreferenceController.java
@@ -39,6 +39,11 @@
 
     @Override
     protected boolean isDeviceSupported() {
-        return Utils.isMultipleBiometricsSupported(mContext) && Utils.hasFaceHardware(mContext);
+        return Utils.isMultipleBiometricsSupported(mContext) && isHardwareSupported();
+    }
+
+    @Override
+    protected boolean isHardwareSupported() {
+        return Utils.hasFaceHardware(mContext);
     }
 }
diff --git a/src/com/android/settings/biometrics/combination/BiometricFingerprintProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricFingerprintProfileStatusPreferenceController.java
index 0c50230..52e4431 100644
--- a/src/com/android/settings/biometrics/combination/BiometricFingerprintProfileStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/BiometricFingerprintProfileStatusPreferenceController.java
@@ -46,4 +46,9 @@
     protected int getUserId() {
         return mProfileChallengeUserId;
     }
+
+    @Override
+    protected boolean isWorkProfileController() {
+        return true;
+    }
 }
diff --git a/src/com/android/settings/biometrics/combination/BiometricFingerprintStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricFingerprintStatusPreferenceController.java
index be19cb5..9789417 100644
--- a/src/com/android/settings/biometrics/combination/BiometricFingerprintStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/BiometricFingerprintStatusPreferenceController.java
@@ -40,7 +40,11 @@
 
     @Override
     protected boolean isDeviceSupported() {
-        return Utils.isMultipleBiometricsSupported(mContext)
-                && Utils.hasFingerprintHardware(mContext);
+        return Utils.isMultipleBiometricsSupported(mContext) && isHardwareSupported();
+    }
+
+    @Override
+    protected boolean isHardwareSupported() {
+        return Utils.hasFingerprintHardware(mContext);
     }
 }
diff --git a/src/com/android/settings/biometrics/combination/BiometricSettingsAppPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricSettingsAppPreferenceController.java
index a46ae7a..6153a1a 100644
--- a/src/com/android/settings/biometrics/combination/BiometricSettingsAppPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/BiometricSettingsAppPreferenceController.java
@@ -24,6 +24,7 @@
 import android.provider.Settings;
 
 import com.android.settings.Utils;
+import com.android.settings.biometrics.activeunlock.ActiveUnlockStatusUtils;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -69,7 +70,10 @@
 
     @Override
     public int getAvailabilityStatus() {
-        if (!Utils.isMultipleBiometricsSupported(mContext)) {
+        final ActiveUnlockStatusUtils activeUnlockStatusUtils =
+                new ActiveUnlockStatusUtils(mContext);
+        if (!Utils.isMultipleBiometricsSupported(mContext)
+                && !activeUnlockStatusUtils.isAvailable()) {
             return UNSUPPORTED_ON_DEVICE;
         }
         if (mFaceManager == null || mFingerprintManager == null) {
diff --git a/src/com/android/settings/biometrics/combination/BiometricSettingsKeyguardPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricSettingsKeyguardPreferenceController.java
index 2d22558..cfd220e 100644
--- a/src/com/android/settings/biometrics/combination/BiometricSettingsKeyguardPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/BiometricSettingsKeyguardPreferenceController.java
@@ -22,6 +22,7 @@
 import android.provider.Settings;
 
 import com.android.settings.Utils;
+import com.android.settings.biometrics.activeunlock.ActiveUnlockStatusUtils;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -63,9 +64,18 @@
 
     @Override
     public int getAvailabilityStatus() {
+        final ActiveUnlockStatusUtils activeUnlockStatusUtils =
+                new ActiveUnlockStatusUtils(mContext);
+        if (activeUnlockStatusUtils.isAvailable()) {
+            return getAvailabilityFromRestrictingAdmin();
+        }
         if (!Utils.isMultipleBiometricsSupported(mContext)) {
             return UNSUPPORTED_ON_DEVICE;
         }
+        return getAvailabilityFromRestrictingAdmin();
+    }
+
+    private int getAvailabilityFromRestrictingAdmin() {
         return getRestrictingAdmin() != null ? DISABLED_FOR_USER : AVAILABLE;
     }
 
diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
index 4da42d4..1f91a46 100644
--- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
+++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
@@ -55,6 +55,7 @@
     @VisibleForTesting
     static final int CONFIRM_REQUEST = 2001;
     private static final int CHOOSE_LOCK_REQUEST = 2002;
+    protected static final int ACTIVE_UNLOCK_REQUEST = 2003;
 
     private static final String SAVE_STATE_CONFIRM_CREDETIAL = "confirm_credential";
     private static final String DO_NOT_FINISH_ACTIVITY = "do_not_finish_activity";
@@ -68,8 +69,9 @@
     private boolean mConfirmCredential;
     @Nullable private FaceManager mFaceManager;
     @Nullable private FingerprintManager mFingerprintManager;
-    // Do not finish() if choosing/confirming credential, or showing fp/face settings
-    private boolean mDoNotFinishActivity;
+    // Do not finish() if choosing/confirming credential, showing fp/face settings, or launching
+    // active unlock
+    protected boolean mDoNotFinishActivity;
     @Nullable private String mRetryPreferenceKey = null;
     @Nullable private Bundle mRetryPreferenceExtra = null;
 
@@ -107,10 +109,7 @@
             launchChooseOrConfirmLock();
         }
 
-        final Preference unlockPhonePreference = findPreference(getUnlockPhonePreferenceKey());
-        if (unlockPhonePreference != null) {
-            unlockPhonePreference.setSummary(getUseAnyBiometricSummary());
-        }
+        updateUnlockPhonePreferenceSummary();
 
         final Preference useInAppsPreference = findPreference(getUseInAppsPreferenceKey());
         if (useInAppsPreference != null) {
@@ -135,7 +134,7 @@
         }
     }
 
-    private boolean onRetryPreferenceTreeClick(Preference preference, final boolean retry) {
+    protected boolean onRetryPreferenceTreeClick(Preference preference, final boolean retry) {
         final String key = preference.getKey();
         final Context context = requireActivity().getApplicationContext();
 
@@ -309,8 +308,15 @@
         }
     }
 
+    protected void updateUnlockPhonePreferenceSummary() {
+        final Preference unlockPhonePreference = findPreference(getUnlockPhonePreferenceKey());
+        if (unlockPhonePreference != null) {
+            unlockPhonePreference.setSummary(getUseAnyBiometricSummary());
+        }
+    }
+
     @NonNull
-    private String getUseAnyBiometricSummary() {
+    protected String getUseAnyBiometricSummary() {
         boolean isFaceAllowed = mFaceManager != null && mFaceManager.isHardwareDetected();
         boolean isFingerprintAllowed =
                 mFingerprintManager != null && mFingerprintManager.isHardwareDetected();
@@ -319,6 +325,14 @@
         return resId == 0 ? "" : getString(resId);
     }
 
+    protected int getUserId() {
+        return mUserId;
+    }
+
+    protected long getGkPwHandle() {
+        return mGkPwHandle;
+    }
+
     @NonNull
     private String getUseClass2BiometricSummary() {
         boolean isFaceAllowed = false;
diff --git a/src/com/android/settings/biometrics/combination/CombinedBiometricProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/CombinedBiometricProfileStatusPreferenceController.java
index b8706a5..67c267d 100644
--- a/src/com/android/settings/biometrics/combination/CombinedBiometricProfileStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/CombinedBiometricProfileStatusPreferenceController.java
@@ -62,4 +62,9 @@
     protected String getSettingsClassName() {
         return mCombinedBiometricStatusUtils.getProfileSettingsClassName();
     }
+
+    @Override
+    protected boolean isWorkProfileController() {
+        return true;
+    }
 }
diff --git a/src/com/android/settings/biometrics/combination/CombinedBiometricSettings.java b/src/com/android/settings/biometrics/combination/CombinedBiometricSettings.java
index 7e76ceb..d0e986f 100644
--- a/src/com/android/settings/biometrics/combination/CombinedBiometricSettings.java
+++ b/src/com/android/settings/biometrics/combination/CombinedBiometricSettings.java
@@ -15,10 +15,23 @@
  */
 package com.android.settings.biometrics.combination;
 
+import static com.android.settings.biometrics.activeunlock.ActiveUnlockStatusPreferenceController.KEY_ACTIVE_UNLOCK_SETTINGS;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
+
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.biometrics.activeunlock.ActiveUnlockContentListener.OnContentChangedListener;
+import com.android.settings.biometrics.activeunlock.ActiveUnlockDeviceNameListener;
+import com.android.settings.biometrics.activeunlock.ActiveUnlockRequireBiometricSetup;
+import com.android.settings.biometrics.activeunlock.ActiveUnlockStatusUtils;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
@@ -32,6 +45,11 @@
     private static final String KEY_FINGERPRINT_SETTINGS = "biometric_fingerprint_settings";
     private static final String KEY_UNLOCK_PHONE = "biometric_settings_biometric_keyguard";
     private static final String KEY_USE_IN_APPS = "biometric_settings_biometric_app";
+    private static final String KEY_INTRO_PREFERENCE = "biometric_intro";
+
+    private ActiveUnlockStatusUtils mActiveUnlockStatusUtils;
+    private CombinedBiometricStatusUtils mCombinedBiometricStatusUtils;
+    @Nullable private ActiveUnlockDeviceNameListener mActiveUnlockDeviceNameListener;
 
     @Override
     public void onAttach(Context context) {
@@ -41,6 +59,42 @@
     }
 
     @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mActiveUnlockStatusUtils = new ActiveUnlockStatusUtils(getActivity());
+        mCombinedBiometricStatusUtils = new CombinedBiometricStatusUtils(getActivity(), mUserId);
+        if (mActiveUnlockStatusUtils.isAvailable()) {
+            updateUiForActiveUnlock();
+        }
+    }
+
+    private void updateUiForActiveUnlock() {
+        OnContentChangedListener listener = new OnContentChangedListener() {
+            @Override
+            public void onContentChanged(String newValue) {
+                updateUnlockPhonePreferenceSummary();
+            }
+        };
+
+        mActiveUnlockDeviceNameListener =
+                new ActiveUnlockDeviceNameListener(getActivity(), listener);
+        mActiveUnlockDeviceNameListener.subscribe();
+        final Preference introPreference = findPreference(KEY_INTRO_PREFERENCE);
+        if (introPreference != null) {
+            introPreference.setTitle(mActiveUnlockStatusUtils.getIntroForActiveUnlock());
+        }
+        getActivity().setTitle(mActiveUnlockStatusUtils.getTitleForActiveUnlock());
+    }
+
+    @Override
+    public void onDestroy() {
+        if (mActiveUnlockDeviceNameListener != null) {
+            mActiveUnlockDeviceNameListener.unsubscribe();
+        }
+        super.onDestroy();
+    }
+
+    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.security_settings_combined_biometric;
     }
@@ -75,6 +129,45 @@
         return SettingsEnums.COMBINED_BIOMETRIC;
     }
 
+    @Override
+    protected boolean onRetryPreferenceTreeClick(Preference preference, final boolean retry) {
+        if (!mActiveUnlockStatusUtils.isAvailable()
+                || !KEY_ACTIVE_UNLOCK_SETTINGS.equals(preference.getKey())) {
+            return super.onRetryPreferenceTreeClick(preference, retry);
+        }
+        mDoNotFinishActivity = true;
+        Intent intent;
+        if (mActiveUnlockStatusUtils.useBiometricFailureLayout()
+                && mActiveUnlockDeviceNameListener != null
+                && !mActiveUnlockDeviceNameListener.hasEnrolled()
+                && !mCombinedBiometricStatusUtils.hasEnrolled()) {
+            intent = new Intent(getActivity(), ActiveUnlockRequireBiometricSetup.class);
+            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+            int userId = mUserId;
+            if (mUserId != UserHandle.USER_NULL) {
+                intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
+            }
+            intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, getGkPwHandle());
+        } else {
+            intent = mActiveUnlockStatusUtils.getIntent();
+        }
+        if (intent != null) {
+            startActivityForResult(intent, ACTIVE_UNLOCK_REQUEST);
+        }
+        return true;
+
+    }
+
+    @Override
+    protected String getUseAnyBiometricSummary() {
+        // either Active Unlock is not enabled or no device is enrolled.
+        if (mActiveUnlockDeviceNameListener == null
+                || !mActiveUnlockDeviceNameListener.hasEnrolled()) {
+            return super.getUseAnyBiometricSummary();
+        }
+        return mActiveUnlockStatusUtils.getUnlockDeviceSummaryForActiveUnlock();
+    }
+
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new CombinedBiometricSearchIndexProvider(R.xml.security_settings_combined_biometric);
 }
diff --git a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusPreferenceController.java
index 50eb43d..a337c3b 100644
--- a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusPreferenceController.java
@@ -25,6 +25,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.Utils;
 import com.android.settings.biometrics.BiometricStatusPreferenceController;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedPreference;
@@ -85,6 +86,11 @@
     }
 
     @Override
+    protected boolean isHardwareSupported() {
+        return Utils.hasFaceHardware(mContext) || Utils.hasFingerprintHardware(mContext);
+    }
+
+    @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
         updateStateInternal();
diff --git a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java
index 1ca4278..d3e8fa7 100644
--- a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java
+++ b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java
@@ -20,6 +20,7 @@
 import android.hardware.biometrics.BiometricAuthenticator;
 import android.hardware.face.FaceManager;
 import android.hardware.fingerprint.FingerprintManager;
+import android.os.UserManager;
 
 import androidx.annotation.Nullable;
 
@@ -87,6 +88,18 @@
     }
 
     /**
+     * Returns the title of combined biometric settings entity.
+     */
+    public String getTitle() {
+        UserManager userManager = mContext.getSystemService(UserManager.class);
+        if (userManager != null && userManager.isProfile()) {
+            return mContext.getString(R.string.security_settings_work_biometric_preference_title);
+        } else {
+            return mContext.getString(R.string.security_settings_biometric_preference_title);
+        }
+    }
+
+    /**
      * Returns the summary of combined biometric settings entity.
      */
     public String getSummary() {
diff --git a/src/com/android/settings/biometrics/face/FaceProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/face/FaceProfileStatusPreferenceController.java
index a2e11af..1221389 100644
--- a/src/com/android/settings/biometrics/face/FaceProfileStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceProfileStatusPreferenceController.java
@@ -84,4 +84,9 @@
                 mContext.getResources().getString(
                 R.string.security_settings_face_profile_preference_title)));
     }
+
+    @Override
+    protected boolean isWorkProfileController() {
+        return true;
+    }
 }
diff --git a/src/com/android/settings/biometrics/face/FaceStatusPreferenceController.java b/src/com/android/settings/biometrics/face/FaceStatusPreferenceController.java
index f18a74f..c71119c 100644
--- a/src/com/android/settings/biometrics/face/FaceStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceStatusPreferenceController.java
@@ -87,6 +87,11 @@
     }
 
     @Override
+    protected boolean isHardwareSupported() {
+        return Utils.hasFaceHardware(mContext);
+    }
+
+    @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
         updateStateInternal();
diff --git a/src/com/android/settings/biometrics/face/FaceStatusUtils.java b/src/com/android/settings/biometrics/face/FaceStatusUtils.java
index 80ffb03..7c075cc 100644
--- a/src/com/android/settings/biometrics/face/FaceStatusUtils.java
+++ b/src/com/android/settings/biometrics/face/FaceStatusUtils.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.hardware.biometrics.BiometricAuthenticator;
 import android.hardware.face.FaceManager;
+import android.os.UserManager;
 
 import com.android.settings.R;
 import com.android.settings.Settings;
@@ -59,6 +60,18 @@
     }
 
     /**
+     * Returns the title of face settings entity.
+     */
+    public String getTitle() {
+        UserManager userManager = mContext.getSystemService(UserManager.class);
+        if (userManager != null && userManager.isProfile()) {
+            return mContext.getString(R.string.security_settings_face_profile_preference_title);
+        } else {
+            return mContext.getString(R.string.security_settings_face_preference_title);
+        }
+    }
+
+    /**
      * Returns the summary of face settings entity.
      */
     public String getSummary() {
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 139a18f..c9c5b37 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -32,6 +32,7 @@
 import android.content.res.ColorStateList;
 import android.content.res.Configuration;
 import android.content.res.Resources;
+import android.graphics.Point;
 import android.graphics.PorterDuff;
 import android.graphics.PorterDuffColorFilter;
 import android.graphics.Rect;
@@ -40,7 +41,6 @@
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
 import android.hardware.fingerprint.FingerprintManager;
-import android.hardware.fingerprint.FingerprintSensorProperties;
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
 import android.os.Bundle;
 import android.os.Process;
@@ -48,10 +48,8 @@
 import android.os.VibrationEffect;
 import android.os.Vibrator;
 import android.text.TextUtils;
-import android.util.DisplayUtils;
 import android.util.FeatureFlagUtils;
 import android.util.Log;
-import android.view.Display;
 import android.view.DisplayInfo;
 import android.view.MotionEvent;
 import android.view.OrientationEventListener;
@@ -77,6 +75,8 @@
 import com.android.settings.biometrics.BiometricsEnrollEnrolling;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settingslib.display.DisplayDensityUtils;
+import com.android.settingslib.udfps.UdfpsOverlayParams;
+import com.android.settingslib.udfps.UdfpsUtils;
 
 import com.airbnb.lottie.LottieAnimationView;
 import com.airbnb.lottie.LottieCompositionFactory;
@@ -200,6 +200,7 @@
     private boolean mHaveShownSfpsLeftEdgeLottie;
     private boolean mHaveShownSfpsRightEdgeLottie;
     private boolean mShouldShowLottie;
+    private UdfpsUtils mUdfpsUtils;
 
     private OrientationEventListener mOrientationEventListener;
     private int mPreviousRotation = 0;
@@ -254,6 +255,7 @@
 
         mAccessibilityManager = getSystemService(AccessibilityManager.class);
         mIsAccessibilityEnabled = mAccessibilityManager.isEnabled();
+        mUdfpsUtils = new UdfpsUtils();
 
         final boolean isLayoutRtl = (TextUtils.getLayoutDirectionFromLocale(
                 Locale.getDefault()) == View.LAYOUT_DIRECTION_RTL);
@@ -280,7 +282,9 @@
                     layoutContainer.setLayoutParams(lp);
                     if (FeatureFlagUtils.isEnabled(getApplicationContext(),
                             FeatureFlagUtils.SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS)) {
-                        layout.addView(addUdfpsEnrollView(props.get(0)));
+                        final UdfpsEnrollView udfpsEnrollView = addUdfpsEnrollView(props.get(0));
+                        layout.addView(udfpsEnrollView);
+                        setOnHoverListener(true, layout, udfpsEnrollView);
                     }
                     setContentView(layout, lp);
                     break;
@@ -293,6 +297,7 @@
                             R.layout.udfps_enroll_enrolling, null, false);
                     if (FeatureFlagUtils.isEnabled(getApplicationContext(),
                             FeatureFlagUtils.SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS)) {
+                        final UdfpsEnrollView udfpsEnrollView = addUdfpsEnrollView(props.get(0));
                         if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180) {
                             // In the portrait mode, set layout_container's height 0, so it's
                             // always shown at the bottom of the screen.
@@ -307,9 +312,11 @@
                             final ViewGroup.LayoutParams containerLp =
                                     portraitLayoutContainer.getLayoutParams();
                             containerLp.height = 0;
-                            portraitLayoutContainer.addView(addUdfpsEnrollView(props.get(0)));
+                            portraitLayoutContainer.addView(udfpsEnrollView);
+                            setOnHoverListener(false, defaultLayout, udfpsEnrollView);
                         } else if (rotation == Surface.ROTATION_270) {
-                            defaultLayout.addView(addUdfpsEnrollView(props.get(0)));
+                            defaultLayout.addView(udfpsEnrollView);
+                            setOnHoverListener(true, defaultLayout, udfpsEnrollView);
                         }
                     }
 
@@ -1197,17 +1204,7 @@
 
         DisplayInfo displayInfo = new DisplayInfo();
         getDisplay().getDisplayInfo(displayInfo);
-        final Display.Mode maxDisplayMode =
-                DisplayUtils.getMaximumResolutionDisplayMode(displayInfo.supportedModes);
-        final float scaleFactor = android.util.DisplayUtils.getPhysicalPixelDisplaySizeRatio(
-                maxDisplayMode.getPhysicalWidth(), maxDisplayMode.getPhysicalHeight(),
-                displayInfo.getNaturalWidth(), displayInfo.getNaturalHeight());
-        if (scaleFactor == Float.POSITIVE_INFINITY) {
-            mScaleFactor = 1f;
-        } else {
-            mScaleFactor = scaleFactor;
-        }
-
+        mScaleFactor = mUdfpsUtils.getScaleFactor(displayInfo);
         Rect udfpsBounds = udfpsProps.getLocation().getRect();
         udfpsBounds.scale(mScaleFactor);
 
@@ -1217,16 +1214,13 @@
                 displayInfo.getNaturalWidth(), /* right */
                 displayInfo.getNaturalHeight() /* botom */);
 
-        // TODO(b/260617060): Extract this logic into a 3rd party library for both Settings and
-        //  SysUI to depend on.
         UdfpsOverlayParams params = new UdfpsOverlayParams(
                 udfpsBounds,
                 overlayBounds,
                 displayInfo.getNaturalWidth(),
                 displayInfo.getNaturalHeight(),
                 mScaleFactor,
-                displayInfo.rotation,
-                udfpsProps.sensorType == FingerprintSensorProperties.TYPE_UDFPS_OPTICAL);
+                displayInfo.rotation);
 
         udfpsEnrollView.setOverlayParams(params);
 
@@ -1244,6 +1238,31 @@
         return udfpsEnrollView;
     }
 
+    private void setOnHoverListener(boolean isLandscape, GlifLayout enrollLayout,
+            UdfpsEnrollView udfpsEnrollView) {
+        if (!mIsAccessibilityEnabled) return;
+
+        final Context context = getApplicationContext();
+        final View.OnHoverListener onHoverListener = (v, event) -> {
+            // Map the touch to portrait mode if the device is in
+            // landscape mode.
+            final Point scaledTouch =
+                    mUdfpsUtils.getTouchInNativeCoordinates(event.getPointerId(0),
+                            event, udfpsEnrollView.getOverlayParams());
+
+            final String theStr = mUdfpsUtils.onTouchOutsideOfSensorArea(
+                    mAccessibilityManager.isTouchExplorationEnabled(), context,
+                    scaledTouch.x, scaledTouch.y, udfpsEnrollView.getOverlayParams());
+            if (theStr != null) {
+                v.announceForAccessibility(theStr);
+            }
+            return false;
+        };
+
+        enrollLayout.findManagedViewById(isLandscape ? R.id.sud_landscape_content_area
+                : R.id.sud_layout_content).setOnHoverListener(onHoverListener);
+    }
+
     public static class IconTouchDialog extends InstrumentedDialogFragment {
 
         @Override
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
index eb64749..04063ed 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
@@ -52,6 +52,7 @@
 import com.google.android.setupcompat.template.FooterButton;
 import com.google.android.setupcompat.util.WizardManagerHelper;
 import com.google.android.setupdesign.span.LinkSpan;
+import com.google.android.setupdesign.util.DeviceHelper;
 
 import java.util.List;
 
@@ -151,6 +152,15 @@
         }
     }
 
+    @Override
+    protected void initViews() {
+        setDescriptionText(getString(
+                R.string.security_settings_fingerprint_enroll_introduction_v3_message,
+                DeviceHelper.getDeviceName(this)));
+
+        super.initViews();
+    }
+
     @VisibleForTesting
     @Nullable
     protected FingerprintManager getFingerprintManager() {
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceController.java
index d6d0b8f..051d254 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceController.java
@@ -53,4 +53,9 @@
     protected int getUserId() {
         return mProfileChallengeUserId;
     }
+
+    @Override
+    protected boolean isWorkProfileController() {
+        return true;
+    }
 }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index aeedea6..74d40d1 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -84,6 +84,8 @@
 import com.android.settingslib.widget.FooterPreference;
 import com.android.settingslib.widget.TwoTargetPreference;
 
+import com.google.android.setupdesign.util.DeviceHelper;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -451,8 +453,9 @@
                 mFooterColumns.add(column2);
             } else {
                 final FooterColumn column = new FooterColumn();
-                column.mTitle = getText(
-                        R.string.security_settings_fingerprint_enroll_introduction_v2_message);
+                column.mTitle = getString(
+                        R.string.security_settings_fingerprint_enroll_introduction_v3_message,
+                        DeviceHelper.getDeviceName(getActivity()));
                 column.mLearnMoreClickListener = learnMoreClickListener;
                 mFooterColumns.add(column);
             }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceController.java b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceController.java
index 347fec7..fba93e1 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusPreferenceController.java
@@ -87,6 +87,11 @@
     }
 
     @Override
+    protected boolean isHardwareSupported() {
+        return Utils.hasFingerprintHardware(mContext);
+    }
+
+    @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
         updateStateInternal();
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java
index bb68994..1005e3f 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintStatusUtils.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.hardware.biometrics.BiometricAuthenticator;
 import android.hardware.fingerprint.FingerprintManager;
+import android.os.UserManager;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -59,6 +60,17 @@
         return ParentalControlsUtils.parentConsentRequired(
                 mContext, BiometricAuthenticator.TYPE_FINGERPRINT);
     }
+    /**
+     * Returns the title of fingerprint settings entity.
+     */
+    public String getTitle() {
+        UserManager userManager = mContext.getSystemService(UserManager.class);
+        if (userManager != null && userManager.isProfile()) {
+            return mContext.getString(R.string.security_settings_work_fingerprint_preference_title);
+        } else {
+            return mContext.getString(R.string.security_settings_fingerprint_preference_title);
+        }
+    }
 
     /**
      * Returns the summary of fingerprint settings entity.
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java
index 3d77f0e..96b49aa 100644
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java
@@ -25,7 +25,6 @@
 import android.util.RotationUtils;
 import android.view.Gravity;
 import android.view.Surface;
-import android.view.View;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
@@ -34,11 +33,13 @@
 import androidx.annotation.Nullable;
 
 import com.android.settings.R;
+import com.android.settingslib.udfps.UdfpsOverlayParams;
 
 /**
  * View corresponding with udfps_enroll_view.xml
  */
 public class UdfpsEnrollView extends FrameLayout implements UdfpsEnrollHelper.Listener {
+    private static final String TAG = "UdfpsEnrollView";
     @NonNull
     private final UdfpsEnrollDrawable mFingerprintDrawable;
     @NonNull
@@ -98,12 +99,15 @@
         onFingerDown();
     }
 
-
     @Override
     public void onPointerUp(int sensorId) {
         onFingerUp();
     }
 
+    public UdfpsOverlayParams getOverlayParams() {
+        return mOverlayParams;
+    }
+
     void setOverlayParams(UdfpsOverlayParams params) {
         mOverlayParams = params;
 
@@ -124,7 +128,6 @@
 
     private void onSensorRectUpdated() {
         updateDimensions();
-        updateAccessibilityViewLocation();
 
         // Updates sensor rect in relation to the overlay view
         mSensorRect.set(getPaddingX(), getPaddingY(),
@@ -135,7 +138,7 @@
 
     private void updateDimensions() {
         // Original sensorBounds assume portrait mode.
-        final Rect rotatedBounds = mOverlayParams.getSensorBounds();
+        final Rect rotatedBounds = new Rect(mOverlayParams.getSensorBounds());
         int rotation = mOverlayParams.getRotation();
         if (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270) {
             RotationUtils.rotateBounds(
@@ -192,27 +195,14 @@
         setLayoutParams(params);
     }
 
-    private void updateAccessibilityViewLocation() {
-        View fingerprintAccessibilityView = findViewById(R.id.udfps_enroll_accessibility_view);
-        ViewGroup.LayoutParams params = fingerprintAccessibilityView.getLayoutParams();
-        params.width = mOverlayParams.getSensorBounds().width();
-        params.height = mOverlayParams.getSensorBounds().height();
-        fingerprintAccessibilityView.setLayoutParams(params);
-        fingerprintAccessibilityView.requestLayout();
-    }
-
     private void onFingerDown() {
-        if (mOverlayParams.isOptical()) {
-            mFingerprintDrawable.setShouldSkipDraw(true);
-            mFingerprintDrawable.invalidateSelf();
-        }
+        mFingerprintDrawable.setShouldSkipDraw(true);
+        mFingerprintDrawable.invalidateSelf();
     }
 
     private void onFingerUp() {
-        if (mOverlayParams.isOptical()) {
-            mFingerprintDrawable.setShouldSkipDraw(false);
-            mFingerprintDrawable.invalidateSelf();
-        }
+        mFingerprintDrawable.setShouldSkipDraw(false);
+        mFingerprintDrawable.invalidateSelf();
     }
 
     private int getPaddingX() {
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsOverlayParams.java b/src/com/android/settings/biometrics/fingerprint/UdfpsOverlayParams.java
deleted file mode 100644
index 9b52ad6..0000000
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsOverlayParams.java
+++ /dev/null
@@ -1,95 +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.settings.biometrics.fingerprint;
-
-import android.graphics.Rect;
-
-import androidx.annotation.NonNull;
-
-/**
- * Collection of parameters that define an under-display fingerprint sensor (UDFPS) overlay.
- *
- * [sensorBounds] coordinates of the bounding box around the sensor in natural orientation, in
- * pixels, for the current resolution.
- *
- * [overlayBounds] coordinates of the UI overlay in natural orientation, in pixels, for the current
- * resolution.
- *
- * [naturalDisplayWidth] width of the physical display in natural orientation, in pixels, for the
- * current resolution.
- *
- * [naturalDisplayHeight] height of the physical display in natural orientation, in pixels, for the
- * current resolution.
- *
- * [scaleFactor] ratio of a dimension in the current resolution to the corresponding dimension in
- * the native resolution.
- *
- * [rotation] current rotation of the display.
- */
-public final class UdfpsOverlayParams {
-    @NonNull
-    private final Rect mSensorBounds;
-    @NonNull
-    private final Rect mOverlayBounds;
-    private final int mNaturalDisplayWidth;
-    private final int mNaturalDisplayHeight;
-    private final float mScaleFactor;
-    private final int mRotation;
-    private final boolean mIsOptical;
-
-    public UdfpsOverlayParams(@NonNull Rect sensorBounds, @NonNull Rect overlayBounds,
-            int naturalDisplayWidth, int naturalDisplayHeight, float scaleFactor, int rotation,
-            boolean isOptical) {
-        mSensorBounds = sensorBounds;
-        mOverlayBounds = overlayBounds;
-        mNaturalDisplayWidth = naturalDisplayWidth;
-        mNaturalDisplayHeight = naturalDisplayHeight;
-        mScaleFactor = scaleFactor;
-        mRotation = rotation;
-        mIsOptical = isOptical;
-    }
-
-    @NonNull
-    public Rect getSensorBounds() {
-        return mSensorBounds;
-    }
-
-    @NonNull
-    public Rect getOverlayBounds() {
-        return mOverlayBounds;
-    }
-
-    public int getNaturalDisplayWidth() {
-        return mNaturalDisplayWidth;
-    }
-
-    public int getNaturalDisplayHeight() {
-        return mNaturalDisplayHeight;
-    }
-
-    public float getScaleFactor() {
-        return mScaleFactor;
-    }
-
-    public int getRotation() {
-        return mRotation;
-    }
-
-    public boolean isOptical() {
-        return mIsOptical;
-    }
-}
diff --git a/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java b/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
index 0c43375..0b84f4c 100644
--- a/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
+++ b/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
@@ -49,10 +49,11 @@
     private static final String TAG = "BiometricsViewModelFact";
 
     public static final CreationExtras.Key<ChallengeGenerator> CHALLENGE_GENERATOR_KEY =
-            new CreationExtras.Key<>() {};
+            new CreationExtras.Key<ChallengeGenerator>() {};
     public static final CreationExtras.Key<EnrollmentRequest> ENROLLMENT_REQUEST_KEY =
-            new CreationExtras.Key<>() {};
-    public static final CreationExtras.Key<Integer> USER_ID_KEY = new CreationExtras.Key<>() {};
+            new CreationExtras.Key<EnrollmentRequest>() {};
+    public static final CreationExtras.Key<Integer> USER_ID_KEY =
+            new CreationExtras.Key<Integer>() {};
 
     @NonNull
     @Override
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.java
index 4299c3f..e6b9116 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.java
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.java
@@ -54,6 +54,7 @@
 import com.google.android.setupcompat.template.FooterButton;
 import com.google.android.setupdesign.GlifLayout;
 import com.google.android.setupdesign.template.RequireScrollMixin;
+import com.google.android.setupdesign.util.DeviceHelper;
 import com.google.android.setupdesign.util.DynamicColorPalette;
 
 /**
@@ -177,6 +178,9 @@
         } else {
             glifLayoutHelper.setHeaderText(
                     R.string.security_settings_fingerprint_enroll_introduction_title);
+            glifLayoutHelper.setDescriptionText(getString(
+                    R.string.security_settings_fingerprint_enroll_introduction_v3_message,
+                    DeviceHelper.getDeviceName(context)));
         }
         observePageStatusLiveDataIfNeed();
     }
diff --git a/src/com/android/settings/communal/CommunalPreferenceController.java b/src/com/android/settings/communal/CommunalPreferenceController.java
index 5cfedc4..67fd389 100644
--- a/src/com/android/settings/communal/CommunalPreferenceController.java
+++ b/src/com/android/settings/communal/CommunalPreferenceController.java
@@ -17,9 +17,9 @@
 package com.android.settings.communal;
 
 import android.content.Context;
-import android.os.UserManager;
 
 import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
 
 /**
@@ -32,14 +32,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        // TODO(b/257333623): Allow the communal user to be non-SystemUser user in HSUM.
         return (mContext.getResources().getBoolean(R.bool.config_show_communal_settings)
-                && isSystemUser())
+                && Utils.canCurrentUserDream(mContext))
                 ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
-
-    private boolean isSystemUser() {
-        final UserManager userManager = mContext.getSystemService(UserManager.class);
-        return userManager != null && userManager.isSystemUser();
-    }
 }
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java b/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java
index 575c526..46ef3fb 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java
@@ -168,7 +168,7 @@
         mUsiPreference.setKey(PREF_KEY);
         mUsiPreference.setTitle(R.string.stylus_connected_devices_title);
         // TODO(b/250909304): pending actual icon visD
-        mUsiPreference.setIcon(R.drawable.circle);
+        mUsiPreference.setIcon(R.drawable.ic_edit);
         mUsiPreference.setOnPreferenceClickListener((Preference p) -> {
             mMetricsFeatureProvider.logClickedPreference(p, mFragment.getMetricsCategory());
             launchDeviceDetails();
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderController.java b/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderController.java
index 13d7b57..379815b 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderController.java
@@ -71,7 +71,7 @@
         ImageView iconView = mHeaderPreference.findViewById(R.id.entity_header_icon);
         if (iconView != null) {
             // TODO(b/250909304): get proper icon once VisD ready
-            iconView.setImageResource(R.drawable.circle);
+            iconView.setImageResource(R.drawable.ic_edit);
             iconView.setContentDescription("Icon for stylus");
         }
         refresh();
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 5d80193..708f317 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -165,6 +165,7 @@
 import com.android.settings.privacy.PrivacyControlsFragment;
 import com.android.settings.privacy.PrivacyDashboardFragment;
 import com.android.settings.regionalpreferences.RegionalPreferencesEntriesFragment;
+import com.android.settings.safetycenter.MoreSecurityPrivacyFragment;
 import com.android.settings.security.LockscreenDashboardFragment;
 import com.android.settings.security.MemtagPage;
 import com.android.settings.security.SecurityAdvancedSettings;
@@ -240,6 +241,7 @@
             LocationServices.class.getName(),
             SecuritySettings.class.getName(),
             SecurityAdvancedSettings.class.getName(),
+            MoreSecurityPrivacyFragment.class.getName(),
             UsageAccessDetails.class.getName(),
             PrivacySettings.class.getName(),
             DeviceAdminSettings.class.getName(),
diff --git a/src/com/android/settings/datausage/DataUsageUtils.java b/src/com/android/settings/datausage/DataUsageUtils.java
index 5227284..9fec27e 100644
--- a/src/com/android/settings/datausage/DataUsageUtils.java
+++ b/src/com/android/settings/datausage/DataUsageUtils.java
@@ -15,6 +15,7 @@
 package com.android.settings.datausage;
 
 import static android.content.pm.PackageManager.FEATURE_ETHERNET;
+import static android.content.pm.PackageManager.FEATURE_USB_HOST;
 import static android.content.pm.PackageManager.FEATURE_WIFI;
 import static android.telephony.TelephonyManager.SIM_STATE_READY;
 
@@ -70,7 +71,9 @@
             return SystemProperties.get(DataUsageUtils.TEST_RADIOS_PROP).contains(ETHERNET);
         }
 
-        if (!context.getPackageManager().hasSystemFeature(FEATURE_ETHERNET)) {
+        // See ConnectivityService#deviceSupportsEthernet.
+        final PackageManager pm = context.getPackageManager();
+        if (!pm.hasSystemFeature(FEATURE_ETHERNET) && !pm.hasSystemFeature(FEATURE_USB_HOST)) {
             return false;
         }
 
diff --git a/src/com/android/settings/datetime/AutoTimePreferenceController.java b/src/com/android/settings/datetime/AutoTimePreferenceController.java
index 8e54a9e..2b158e0 100644
--- a/src/com/android/settings/datetime/AutoTimePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimePreferenceController.java
@@ -53,16 +53,25 @@
                 getTimeCapabilitiesAndConfig().getCapabilities();
         int capability = timeCapabilities.getConfigureAutoDetectionEnabledCapability();
 
-        // The preference only has two states: present and not present. The preference is never
-        // present but disabled.
-        if (capability == CAPABILITY_NOT_SUPPORTED
-                || capability == CAPABILITY_NOT_ALLOWED
-                || capability == CAPABILITY_NOT_APPLICABLE) {
-            return false;
-        } else if (capability == CAPABILITY_POSSESSED) {
-            return true;
-        } else {
-            throw new IllegalStateException("Unknown capability=" + capability);
+        // The preference has three states: visible, not visible, and visible but disabled.
+        // This method handles the "is visible?" check.
+        switch (capability) {
+            case CAPABILITY_NOT_SUPPORTED:
+                return false;
+            case CAPABILITY_POSSESSED:
+                return true;
+            case CAPABILITY_NOT_ALLOWED:
+                // This case is expected for enterprise restrictions, where the toggle should be
+                // present but disabled. Disabling is handled declaratively via the
+                // settings:userRestriction attribute in .xml. The client-side logic is expected to
+                // concur with the capabilities logic in the system server.
+                return true;
+            case CAPABILITY_NOT_APPLICABLE:
+                // CAPABILITY_NOT_APPLICABLE is not currently expected, so this is return value is
+                // arbitrary.
+                return true;
+            default:
+                throw new IllegalStateException("Unknown capability=" + capability);
         }
     }
 
@@ -71,6 +80,7 @@
         if (!(preference instanceof SwitchPreference)) {
             return;
         }
+
         ((SwitchPreference) preference).setChecked(isEnabled());
     }
 
diff --git a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
index a4d745b..7d1c1b6 100644
--- a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
@@ -27,11 +27,11 @@
 import android.app.time.TimeZoneConfiguration;
 import android.content.Context;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -63,16 +63,25 @@
                 getTimeZoneCapabilitiesAndConfig().getCapabilities();
         int capability = timeZoneCapabilities.getConfigureAutoDetectionEnabledCapability();
 
-        // The preference only has two states: present and not present. The preference is never
-        // present but disabled.
-        if (capability == CAPABILITY_NOT_SUPPORTED
-                || capability == CAPABILITY_NOT_ALLOWED
-                || capability == CAPABILITY_NOT_APPLICABLE) {
-            return false;
-        } else if (capability == CAPABILITY_POSSESSED) {
-            return true;
-        } else {
-            throw new IllegalStateException("Unknown capability=" + capability);
+        // The preference has three states: visible, not visible, and visible but disabled.
+        // This method handles the "is visible?" check.
+        switch (capability) {
+            case CAPABILITY_NOT_SUPPORTED:
+                return false;
+            case CAPABILITY_POSSESSED:
+                return true;
+            case CAPABILITY_NOT_ALLOWED:
+                // This case is expected for enterprise restrictions, where the toggle should be
+                // present but disabled. Disabling is handled declaratively via the
+                // settings:userRestriction attribute in .xml. The client-side logic is expected to
+                // concur with the capabilities logic in the system server.
+                return true;
+            case CAPABILITY_NOT_APPLICABLE:
+                // CAPABILITY_NOT_APPLICABLE is not currently expected, so this is return value is
+                // arbitrary.
+                return true;
+            default:
+                throw new IllegalStateException("Unknown capability=" + capability);
         }
     }
 
@@ -86,6 +95,7 @@
         if (!(preference instanceof SwitchPreference)) {
             return;
         }
+
         ((SwitchPreference) preference).setChecked(isEnabled());
     }
 
diff --git a/src/com/android/settings/datetime/LocationProviderStatusPreferenceController.java b/src/com/android/settings/datetime/LocationProviderStatusPreferenceController.java
index 9380f13..a64273b 100644
--- a/src/com/android/settings/datetime/LocationProviderStatusPreferenceController.java
+++ b/src/com/android/settings/datetime/LocationProviderStatusPreferenceController.java
@@ -19,10 +19,12 @@
 import android.app.time.LocationTimeZoneAlgorithmStatus;
 import android.app.time.TelephonyTimeZoneAlgorithmStatus;
 import android.app.time.TimeManager;
+import android.app.time.TimeZoneCapabilities;
+import android.app.time.TimeZoneCapabilitiesAndConfig;
 import android.app.time.TimeZoneDetectorStatus;
 import android.content.Context;
-import android.location.LocationManager;
 import android.service.timezone.TimeZoneProviderStatus;
+import android.service.timezone.TimeZoneProviderStatus.DependencyStatus;
 import android.text.TextUtils;
 
 import androidx.annotation.Nullable;
@@ -43,14 +45,12 @@
 public class LocationProviderStatusPreferenceController
         extends BasePreferenceController implements TimeManager.TimeZoneDetectorListener {
     private final TimeManager mTimeManager;
-    private final LocationManager mLocationManager;
 
     private BannerMessagePreference mPreference = null;
 
     public LocationProviderStatusPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mTimeManager = context.getSystemService(TimeManager.class);
-        mLocationManager = context.getSystemService(LocationManager.class);
 
         Executor mainExecutor = context.getMainExecutor();
         mTimeManager.addTimeZoneDetectorListener(mainExecutor, this);
@@ -123,11 +123,15 @@
 
     @Override
     public CharSequence getSummary() {
-        boolean locationEnabled = mLocationManager.isLocationEnabled();
+        final TimeZoneCapabilitiesAndConfig timeZoneCapabilitiesAndConfig =
+                mTimeManager.getTimeZoneCapabilitiesAndConfig();
         final TimeZoneDetectorStatus detectorStatus =
-                mTimeManager.getTimeZoneCapabilitiesAndConfig().getDetectorStatus();
+                timeZoneCapabilitiesAndConfig.getDetectorStatus();
+        final TimeZoneCapabilities timeZoneCapabilities =
+                timeZoneCapabilitiesAndConfig.getCapabilities();
 
-        if (!locationEnabled && hasLocationTimeZoneNoTelephonyFallback(detectorStatus)) {
+        if (!timeZoneCapabilities.isUseLocationEnabled()
+                && hasLocationTimeZoneNoTelephonyFallback(detectorStatus)) {
             return mContext.getResources().getString(
                     R.string.location_time_zone_detection_status_summary_blocked_by_settings);
         }
@@ -137,7 +141,7 @@
             return "";
         }
 
-        int status = ltzpStatus.getLocationDetectionDependencyStatus();
+        @DependencyStatus int status = ltzpStatus.getLocationDetectionDependencyStatus();
 
         if (status == TimeZoneProviderStatus.DEPENDENCY_STATUS_BLOCKED_BY_ENVIRONMENT) {
             return mContext.getResources().getString(
diff --git a/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceController.java b/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceController.java
index 36cbc9e..d567466 100644
--- a/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceController.java
+++ b/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceController.java
@@ -25,7 +25,6 @@
 import android.app.time.TimeZoneCapabilitiesAndConfig;
 import android.app.time.TimeZoneConfiguration;
 import android.content.Context;
-import android.location.LocationManager;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -50,7 +49,6 @@
     private static final String TAG = "location_time_zone_detection";
 
     private final TimeManager mTimeManager;
-    private final LocationManager mLocationManager;
     private TimeZoneCapabilitiesAndConfig mTimeZoneCapabilitiesAndConfig;
     private InstrumentedPreferenceFragment mFragment;
     private Preference mPreference;
@@ -58,7 +56,6 @@
     public LocationTimeZoneDetectionPreferenceController(Context context) {
         super(context, TAG);
         mTimeManager = context.getSystemService(TimeManager.class);
-        mLocationManager = context.getSystemService(LocationManager.class);
     }
 
     void setFragment(InstrumentedPreferenceFragment fragment) {
@@ -68,14 +65,18 @@
     @Override
     public boolean isChecked() {
         TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
-                mTimeManager.getTimeZoneCapabilitiesAndConfig();
+                getTimeZoneCapabilitiesAndConfig(/*forceRefresh=*/false);
         TimeZoneConfiguration configuration = capabilitiesAndConfig.getConfiguration();
         return configuration.isGeoDetectionEnabled();
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        if (isChecked && !mLocationManager.isLocationEnabled()) {
+        TimeZoneCapabilitiesAndConfig timeZoneCapabilitiesAndConfig =
+                getTimeZoneCapabilitiesAndConfig(/*forceRefresh=*/false);
+        boolean isLocationEnabled =
+                timeZoneCapabilitiesAndConfig.getCapabilities().isUseLocationEnabled();
+        if (isChecked && !isLocationEnabled) {
             new LocationToggleDisabledDialogFragment(mContext)
                     .show(mFragment.getFragmentManager(), TAG);
             // Toggle status is not updated.
@@ -157,11 +158,13 @@
             // The preference should not be visible, but text is referenced in case this changes.
             summaryResId = R.string.location_time_zone_detection_not_allowed;
         } else if (configureGeoDetectionEnabledCapability == CAPABILITY_NOT_APPLICABLE) {
-            // The TimeZoneCapabilities deliberately doesn't provide information about why the user
-            // doesn't have the capability, but the user's "location enabled" being off and the
-            // global automatic detection setting will always be considered overriding reasons why
-            // location time zone detection cannot be used.
-            if (!mLocationManager.isLocationEnabled()) {
+            boolean isLocationEnabled =
+                    timeZoneCapabilitiesAndConfig.getCapabilities().isUseLocationEnabled();
+            // The TimeZoneCapabilities cannot provide implementation-specific information about why
+            // the user doesn't have the capability, but the user's "location enabled" being off and
+            // the global automatic detection setting will always be considered overriding reasons
+            // why location time zone detection cannot be used.
+            if (!isLocationEnabled) {
                 summaryResId = R.string.location_app_permission_summary_location_off;
             } else if (!configuration.isAutoDetectionEnabled()) {
                 summaryResId = R.string.location_time_zone_detection_auto_is_off;
@@ -184,6 +187,10 @@
         return mContext.getString(summaryResId);
     }
 
+    /**
+     * Implementation of {@link TimeManager.TimeZoneDetectorListener#onChange()}. Called by the
+     * system server after a change that affects {@link TimeZoneCapabilitiesAndConfig}.
+     */
     @Override
     public void onChange() {
         refreshUi();
diff --git a/src/com/android/settings/development/qstile/DevelopmentTiles.java b/src/com/android/settings/development/qstile/DevelopmentTiles.java
index bb5216c..3b6c646 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTiles.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTiles.java
@@ -212,6 +212,7 @@
         static final int SURFACE_FLINGER_LAYER_TRACE_CONTROL_CODE = 1025;
         @VisibleForTesting
         static final int SURFACE_FLINGER_LAYER_TRACE_STATUS_CODE = 1026;
+        private static final String VIEW_CAPTURE_ENABLED = "view_capture_enabled";
         private IBinder mSurfaceFlinger;
         private IWindowManager mWindowManager;
         private ImeTracing mImeTracing;
@@ -279,10 +280,19 @@
             return mImeTracing.isEnabled();
         }
 
+        private boolean isViewCaptureEnabled() {
+            // Add null checking to avoid test case failure.
+            if (getApplicationContext() != null) {
+                return Settings.Global.getInt(getApplicationContext().getContentResolver(),
+                    VIEW_CAPTURE_ENABLED, 0) != 0;
+            }
+            return false;
+        }
+
         @Override
         protected boolean isEnabled() {
             return isWindowTraceEnabled() || isLayerTraceEnabled() || isSystemUiTracingEnabled()
-                    || isImeTraceEnabled();
+                    || isImeTraceEnabled() || isViewCaptureEnabled();
         }
 
         private void setWindowTraceEnabled(boolean isEnabled) {
@@ -340,12 +350,21 @@
             }
         }
 
+        private void setViewCaptureEnabled(boolean isEnabled) {
+            // Add null checking to avoid test case failure.
+            if (getApplicationContext() != null) {
+                Settings.Global.putInt(getApplicationContext()
+                        .getContentResolver(), VIEW_CAPTURE_ENABLED, isEnabled ? 1 : 0);
+            }
+        }
+
         @Override
         protected void setIsEnabled(boolean isEnabled) {
             setWindowTraceEnabled(isEnabled);
             setLayerTraceEnabled(isEnabled);
             setSystemUiTracing(isEnabled);
             setImeTraceEnabled(isEnabled);
+            setViewCaptureEnabled(isEnabled);
             if (!isEnabled) {
                 mToast.show();
             }
diff --git a/src/com/android/settings/development/tare/TareHomePage.java b/src/com/android/settings/development/tare/TareHomePage.java
index edaeba2..cfe8d5e 100644
--- a/src/com/android/settings/development/tare/TareHomePage.java
+++ b/src/com/android/settings/development/tare/TareHomePage.java
@@ -21,6 +21,7 @@
 import static com.android.settings.development.tare.DropdownActivity.POLICY_JOB_SCHEDULER;
 
 import android.app.Activity;
+import android.app.tare.EconomyManager;
 import android.content.Intent;
 import android.database.ContentObserver;
 import android.net.Uri;
@@ -29,6 +30,7 @@
 import android.os.Looper;
 import android.provider.DeviceConfig;
 import android.provider.Settings;
+import android.util.Log;
 import android.view.View;
 import android.widget.Button;
 import android.widget.CompoundButton;
@@ -41,6 +43,8 @@
 
 /** Class for creating the TARE homepage in settings */
 public class TareHomePage extends Activity {
+    private static final String TAG = "TareHomePage";
+
     private Switch mOnSwitch;
     private Button mRevButton;
     private TextView mAlarmManagerView;
@@ -131,8 +135,6 @@
     }
 
     private class ConfigObserver extends ContentObserver {
-        private static final String KEY_DC_ENABLE_TARE = "enable_tare";
-
         private int mEnableTareSetting;
 
         ConfigObserver(Handler handler) {
@@ -163,7 +165,8 @@
                 try {
                     mEnableTareSetting = Integer.parseInt(setting);
                 } catch (NumberFormatException e) {
-                    mEnableTareSetting = Settings.Global.DEFAULT_ENABLE_TARE;
+                    Log.e(TAG, "Invalid setting value", e);
+                    mEnableTareSetting = EconomyManager.DEFAULT_ENABLE_TARE_MODE;
                 }
             }
             final boolean enabled;
@@ -178,9 +181,10 @@
         }
 
         private boolean getDefaultEnabledStatus() {
-            return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_TARE, KEY_DC_ENABLE_TARE,
-                    Settings.Global.DEFAULT_ENABLE_TARE == SETTING_VALUE_ON);
+            // Show Shadow Mode as "off" in the UI since it won't be affecting device behavior.
+            return DeviceConfig.getInt(DeviceConfig.NAMESPACE_TARE,
+                    EconomyManager.KEY_ENABLE_TARE_MODE,
+                    EconomyManager.DEFAULT_ENABLE_TARE_MODE) == EconomyManager.ENABLED_MODE_ON;
         }
-
     }
 }
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
index 00819b5..828e016 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
@@ -24,6 +24,8 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.Fragment;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.lifecycle.LiveData;
 import androidx.lifecycle.Observer;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
@@ -44,6 +46,7 @@
 
     private Fragment mFragment;
     private SlotSimStatus mSlotSimStatus;
+    private Observer<LifecycleOwner> mLifecycleOwnerObserver;
     private Observer mSimChangeObserver;
 
     public SimStatusPreferenceController(Context context, String prefKey) {
@@ -109,12 +112,30 @@
 
     @Override
     public void updateState(Preference preference) {
-        final int simSlot = getSimSlotIndex();
-        if (mSimChangeObserver == null) {
-            mSimChangeObserver = x -> updateStateBySlot(preference, simSlot);
-            mSlotSimStatus.observe(mFragment.getViewLifecycleOwner(), mSimChangeObserver);
+        if (mFragment == null) {
+            return;
         }
-        updateStateBySlot(preference, simSlot);
+        if (mLifecycleOwnerObserver == null) {
+            final LiveData<LifecycleOwner> dataLifecycleOwner
+                    = mFragment.getViewLifecycleOwnerLiveData();
+            mLifecycleOwnerObserver = owner -> {
+                if (owner != null) {
+                    final int simSlot = getSimSlotIndex();
+                    mSimChangeObserver = x -> updateStateBySlot(preference, simSlot);
+                    mSlotSimStatus.observe(owner, mSimChangeObserver);
+                } else {
+                    if (mSimChangeObserver != null) {
+                        mSlotSimStatus.removeObserver(mSimChangeObserver);
+                        mSimChangeObserver = null;
+                    }
+                    dataLifecycleOwner.removeObserver(mLifecycleOwnerObserver);
+                }
+            };
+            dataLifecycleOwner.observeForever(mLifecycleOwnerObserver);
+        } else if (mSimChangeObserver != null) {
+            final int simSlot = getSimSlotIndex();
+            updateStateBySlot(preference, simSlot);
+        }
     }
 
     protected void updateStateBySlot(Preference preference, int simSlot) {
diff --git a/src/com/android/settings/display/ScreenResolutionController.java b/src/com/android/settings/display/ScreenResolutionController.java
index dca1275..a3433d4 100644
--- a/src/com/android/settings/display/ScreenResolutionController.java
+++ b/src/com/android/settings/display/ScreenResolutionController.java
@@ -17,7 +17,9 @@
 package com.android.settings.display;
 
 import android.content.Context;
+import android.graphics.Point;
 import android.hardware.display.DisplayManager;
+import android.util.Log;
 import android.view.Display;
 
 import androidx.annotation.VisibleForTesting;
@@ -25,32 +27,63 @@
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
 /** Controller that switch the screen resolution. */
 public class ScreenResolutionController extends BasePreferenceController {
-
-    static final int FHD_WIDTH = 1080;
-    static final int QHD_WIDTH = 1440;
+    private static final String TAG = "ScreenResolutionController";
+    static final int HIGHRESOLUTION_IDX = 0;
+    static final int FULLRESOLUTION_IDX = 1;
 
     private Display mDisplay;
+    private Set<Point> mSupportedResolutions = null;
+    private int mHighWidth = 0;
+    private int mFullWidth = 0;
+    private int mHighHeight = 0;
+    private int mFullHeight = 0;
 
     public ScreenResolutionController(Context context, String key) {
         super(context, key);
 
         mDisplay =
                 mContext.getSystemService(DisplayManager.class).getDisplay(Display.DEFAULT_DISPLAY);
+
+        initSupportedResolutionData();
     }
 
-    /** Check if the width is supported by the display. */
-    private boolean isSupportedMode(int width) {
+    /**
+     * Initialize the resolution data. So far, we support two resolution switching. Save the width
+     * and the height for high resolution and full resolution.
+     */
+    private void initSupportedResolutionData() {
+        // Collect and filter the resolutions
+        Set<Point> resolutions = new HashSet<>();
         for (Display.Mode mode : getSupportedModes()) {
-            if (mode.getPhysicalWidth() == width) return true;
+            resolutions.add(new Point(mode.getPhysicalWidth(), mode.getPhysicalHeight()));
         }
-        return false;
+        mSupportedResolutions = resolutions;
+
+        // Get the width and height for high resolution and full resolution
+        List<Point> resolutionList = new ArrayList<>(resolutions);
+        if (resolutionList == null || resolutionList.size() != 2) {
+            Log.e(TAG, "No support");
+            return;
+        }
+
+        Collections.sort(resolutionList, (p1, p2) -> p1.x * p1.y - p2.x * p2.y);
+        mHighWidth = resolutionList.get(HIGHRESOLUTION_IDX).x;
+        mHighHeight = resolutionList.get(HIGHRESOLUTION_IDX).y;
+        mFullWidth = resolutionList.get(FULLRESOLUTION_IDX).x;
+        mFullHeight = resolutionList.get(FULLRESOLUTION_IDX).y;
     }
 
     /** Return true if the device contains two (or more) resolutions. */
     protected boolean checkSupportedResolutions() {
-        return isSupportedMode(FHD_WIDTH) && isSupportedMode(QHD_WIDTH);
+        return getHighWidth() != 0 && getFullWidth() != 0;
     }
 
     @Override
@@ -61,20 +94,43 @@
     @Override
     public CharSequence getSummary() {
         String summary = null;
-        switch (getDisplayWidth()) {
-            case FHD_WIDTH:
-                summary = mContext.getString(R.string.screen_resolution_summary_high);
-                break;
-            case QHD_WIDTH:
-                summary = mContext.getString(R.string.screen_resolution_summary_highest);
-                break;
-            default:
-                summary = mContext.getString(R.string.screen_resolution_title);
+        int width = getDisplayWidth();
+        if (width == mHighWidth) {
+            summary = mContext.getString(R.string.screen_resolution_option_high);
+        } else if (width == mFullWidth) {
+            summary = mContext.getString(R.string.screen_resolution_option_full);
+        } else {
+            summary = mContext.getString(R.string.screen_resolution_title);
         }
 
         return summary;
     }
 
+    /** Return all supported resolutions of the device. */
+    public Set<Point> getAllSupportedResolutions() {
+        return this.mSupportedResolutions;
+    }
+
+    /** Return the high resolution width of the device. */
+    public int getHighWidth() {
+        return this.mHighWidth;
+    }
+
+    /** Return the full resolution width of the device. */
+    public int getFullWidth() {
+        return this.mFullWidth;
+    }
+
+    /** Return the high resolution height of the device. */
+    public int getHighHeight() {
+        return this.mHighHeight;
+    }
+
+    /** Return the full resolution height of the device. */
+    public int getFullHeight() {
+        return this.mFullHeight;
+    }
+
     @VisibleForTesting
     public int getDisplayWidth() {
         return mDisplay.getMode().getPhysicalWidth();
diff --git a/src/com/android/settings/display/ScreenResolutionFragment.java b/src/com/android/settings/display/ScreenResolutionFragment.java
index 13191ce..b40b48f 100644
--- a/src/com/android/settings/display/ScreenResolutionFragment.java
+++ b/src/com/android/settings/display/ScreenResolutionFragment.java
@@ -16,9 +16,6 @@
 
 package com.android.settings.display;
 
-import static com.android.settings.display.ScreenResolutionController.FHD_WIDTH;
-import static com.android.settings.display.ScreenResolutionController.QHD_WIDTH;
-
 import android.annotation.Nullable;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -48,7 +45,6 @@
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -59,9 +55,8 @@
     private static final String TAG = "ScreenResolution";
 
     private Resources mResources;
-    private static final int FHD_INDEX = 0;
-    private static final int QHD_INDEX = 1;
     private static final String SCREEN_RESOLUTION = "user_selected_resolution";
+    private static final String SCREEN_RESOLUTION_KEY = "screen_resolution";
     private Display mDefaultDisplay;
     private String[] mScreenResolutionOptions;
     private Set<Point> mResolutions;
@@ -71,6 +66,9 @@
     private DisplayObserver mDisplayObserver;
     private AccessibilityManager mAccessibilityManager;
 
+    private int mHighWidth;
+    private int mFullWidth;
+
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
@@ -81,11 +79,19 @@
         mResources = context.getResources();
         mScreenResolutionOptions =
                 mResources.getStringArray(R.array.config_screen_resolution_options_strings);
-        mScreenResolutionSummaries =
-                mResources.getStringArray(R.array.config_screen_resolution_summaries_strings);
-        mResolutions = getAllSupportedResolution();
         mImagePreference = new IllustrationPreference(context);
         mDisplayObserver = new DisplayObserver(context);
+        ScreenResolutionController controller =
+                new ScreenResolutionController(context, SCREEN_RESOLUTION_KEY);
+        mResolutions = controller.getAllSupportedResolutions();
+        mHighWidth = controller.getHighWidth();
+        mFullWidth = controller.getFullWidth();
+        Log.i(TAG, "mHighWidth:" + mHighWidth + "mFullWidth:" + mFullWidth);
+        mScreenResolutionSummaries =
+                new String[] {
+                    mHighWidth + " x " + controller.getHighHeight(),
+                    mFullWidth + " x " + controller.getFullHeight()
+                };
     }
 
     @Override
@@ -133,16 +139,6 @@
         return candidates;
     }
 
-    /** Get all supported resolutions on the device. */
-    private Set<Point> getAllSupportedResolution() {
-        Set<Point> resolutions = new HashSet<>();
-        for (Display.Mode mode : mDefaultDisplay.getSupportedModes()) {
-            resolutions.add(new Point(mode.getPhysicalWidth(), mode.getPhysicalHeight()));
-        }
-
-        return resolutions;
-    }
-
     /** Get prefer display mode. */
     private Display.Mode getPreferMode(int width) {
         for (Point resolution : mResolutions) {
@@ -177,6 +173,7 @@
 
         try {
             /** Apply the resolution change. */
+            Log.i(TAG, "setUserPreferredDisplayMode: " + mode);
             mDefaultDisplay.setUserPreferredDisplayMode(mode);
         } catch (Exception e) {
             Log.e(TAG, "setUserPreferredDisplayMode() failed", e);
@@ -194,16 +191,20 @@
     /** Get the key corresponding to the resolution. */
     @VisibleForTesting
     String getKeyForResolution(int width) {
-        return width == FHD_WIDTH
-                ? mScreenResolutionOptions[FHD_INDEX]
-                : width == QHD_WIDTH ? mScreenResolutionOptions[QHD_INDEX] : null;
+        return width == mHighWidth
+                ? mScreenResolutionOptions[ScreenResolutionController.HIGHRESOLUTION_IDX]
+                : width == mFullWidth
+                        ? mScreenResolutionOptions[ScreenResolutionController.FULLRESOLUTION_IDX]
+                        : null;
     }
 
     /** Get the width corresponding to the resolution key. */
     int getWidthForResoluitonKey(String key) {
-        return mScreenResolutionOptions[FHD_INDEX].equals(key)
-                ? FHD_WIDTH
-                : mScreenResolutionOptions[QHD_INDEX].equals(key) ? QHD_WIDTH : -1;
+        return mScreenResolutionOptions[ScreenResolutionController.HIGHRESOLUTION_IDX].equals(key)
+                ? mHighWidth
+                : mScreenResolutionOptions[ScreenResolutionController.FULLRESOLUTION_IDX].equals(
+                    key)
+                ? mFullWidth : -1;
     }
 
     @Override
@@ -248,9 +249,11 @@
     private void updateIllustrationImage(IllustrationPreference preference) {
         String key = getDefaultKey();
 
-        if (TextUtils.equals(mScreenResolutionOptions[FHD_INDEX], key)) {
+        if (TextUtils.equals(
+                mScreenResolutionOptions[ScreenResolutionController.HIGHRESOLUTION_IDX], key)) {
             preference.setLottieAnimationResId(R.drawable.screen_resolution_1080p);
-        } else if (TextUtils.equals(mScreenResolutionOptions[QHD_INDEX], key)) {
+        } else if (TextUtils.equals(
+                mScreenResolutionOptions[ScreenResolutionController.FULLRESOLUTION_IDX], key)) {
             preference.setLottieAnimationResId(R.drawable.screen_resolution_1440p);
         }
     }
@@ -300,7 +303,7 @@
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
                     ScreenResolutionController mController =
-                            new ScreenResolutionController(context, "fragment");
+                            new ScreenResolutionController(context, SCREEN_RESOLUTION_KEY);
                     return mController.checkSupportedResolutions();
                 }
             };
@@ -408,6 +411,8 @@
                 return false;
             }
 
+            Log.i(TAG,
+                    "resolution changed from " + mPreviousWidth.get() + " to " + getCurrentWidth());
             return true;
         }
     }
diff --git a/src/com/android/settings/display/ScreenSaverPreferenceController.java b/src/com/android/settings/display/ScreenSaverPreferenceController.java
index ca027f4..8d73240 100644
--- a/src/com/android/settings/display/ScreenSaverPreferenceController.java
+++ b/src/com/android/settings/display/ScreenSaverPreferenceController.java
@@ -14,9 +14,9 @@
 package com.android.settings.display;
 
 import android.content.Context;
-import android.os.UserManager;
 
 import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.dream.DreamSettings;
@@ -39,9 +39,8 @@
                 com.android.internal.R.bool.config_dreamsSupported);
         final boolean dreamsOnlyEnabledForDockUser = mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_dreamsOnlyEnabledForDockUser);
-        final UserManager userManager = mContext.getSystemService(UserManager.class);
-        // TODO(b/257333623): Allow the Dock User to be non-SystemUser user in HSUM.
-        return (dreamsSupported && (!dreamsOnlyEnabledForDockUser || userManager.isMainUser()))
+        return (dreamsSupported && (!dreamsOnlyEnabledForDockUser
+                || Utils.canCurrentUserDream(mContext)))
                 ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index f3c64b7..7fe180d 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -25,7 +25,6 @@
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.UserHandle;
-import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
 
@@ -56,6 +55,8 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 /**
  * Power usage detail fragment for each app, this fragment contains
@@ -91,6 +92,8 @@
     private static final int REQUEST_UNINSTALL = 0;
     private static final int REQUEST_REMOVE_DEVICE_ADMIN = 1;
 
+    private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
+
     @VisibleForTesting
     LayoutPreference mHeaderPreference;
     @VisibleForTesting
@@ -98,8 +101,6 @@
     @VisibleForTesting
     ApplicationsState.AppEntry mAppEntry;
     @VisibleForTesting
-    BatteryUtils mBatteryUtils;
-    @VisibleForTesting
     BatteryOptimizeUtils mBatteryOptimizeUtils;
     @VisibleForTesting
     FooterPreference mFooterPreference;
@@ -244,7 +245,6 @@
         super.onAttach(activity);
 
         mState = ApplicationsState.getInstance(getActivity().getApplication());
-        mBatteryUtils = BatteryUtils.getInstance(getContext());
     }
 
     @Override
@@ -267,12 +267,15 @@
         initHeader();
         mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
         initPreferenceForTriState(getContext());
-        final String packageName = mBatteryOptimizeUtils.getPackageName();
-        FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
-                .action(
-                getContext(),
-                SettingsEnums.OPEN_APP_BATTERY_USAGE,
-                packageName);
+        mExecutor.execute(() -> {
+            String packageName =
+                    getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName());
+            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+                    .action(
+                            getContext(),
+                            SettingsEnums.OPEN_APP_BATTERY_USAGE,
+                            packageName);
+        });
         mLogStringBuilder = new StringBuilder("onResume mode = ").append(mOptimizationMode);
     }
 
@@ -444,17 +447,21 @@
                 metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_RESTRICTED;
                 break;
         }
-
-        if (metricCategory != 0) {
-            final String packageName = mBatteryOptimizeUtils.getPackageName();
+        if (metricCategory == 0) {
+            return;
+        }
+        int finalMetricCategory = metricCategory;
+        mExecutor.execute(() -> {
+            String packageName =
+                    getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName());
             FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
                     .action(
                             /* attribution */ SettingsEnums.OPEN_APP_BATTERY_USAGE,
-                            /* action */ metricCategory,
+                            /* action */ finalMetricCategory,
                             /* pageId */ SettingsEnums.OPEN_APP_BATTERY_USAGE,
-                            TextUtils.isEmpty(packageName) ? PACKAGE_NAME_NONE : packageName,
+                            packageName,
                             getArguments().getInt(EXTRA_POWER_USAGE_AMOUNT));
-        }
+        });
     }
 
     private void onCreateForTriState(String packageName) {
@@ -498,4 +505,9 @@
             return String.format("%s\n(%s)", usageSummary, slotSummary);
         }
     }
+
+    private static String getLoggingPackageName(Context context, String originalPackingName) {
+        return BatteryUtils.isAppInstalledFromGooglePlayStore(context, originalPackingName)
+                ? originalPackingName : PACKAGE_NAME_NONE;
+    }
 }
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index 98defbd..b08f4e3 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -20,6 +20,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.InstallSourceInfo;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -34,6 +35,7 @@
 import android.os.UidBatteryConsumer;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.text.TextUtils;
 import android.text.format.DateUtils;
 import android.util.Base64;
 import android.util.Log;
@@ -83,6 +85,8 @@
 
     public static final String BYPASS_DOCK_DEFENDER_ACTION = "battery.dock.defender.bypass";
 
+    private static final String GOOGLE_PLAY_STORE_PACKAGE = "com.android.vending";
+
     @Retention(RetentionPolicy.SOURCE)
     @IntDef({StatusType.SCREEN_USAGE,
             StatusType.FOREGROUND,
@@ -597,6 +601,21 @@
         return -1L;
     }
 
+    /** Whether the package is installed from Google Play Store or not */
+    public static boolean isAppInstalledFromGooglePlayStore(Context context, String packageName) {
+        if (TextUtils.isEmpty(packageName)) {
+            return false;
+        }
+        InstallSourceInfo installSourceInfo;
+        try {
+            installSourceInfo = context.getPackageManager().getInstallSourceInfo(packageName);
+        } catch (PackageManager.NameNotFoundException e) {
+            return false;
+        }
+        return installSourceInfo != null
+                && GOOGLE_PLAY_STORE_PACKAGE.equals(installSourceInfo.getInitiatingPackageName());
+    }
+
     /** Gets the latest sticky battery intent from the Android system. */
     public static Intent getBatteryIntent(Context context) {
         return context.registerReceiver(
@@ -620,6 +639,13 @@
         return DockDefenderMode.DISABLED;
     }
 
+    /** Formats elapsed time without commas in between.  */
+    public static CharSequence formatElapsedTimeWithoutComma(
+            Context context, double millis, boolean withSeconds, boolean collapseTimeUnit) {
+        return StringUtil.formatElapsedTime(context, millis, withSeconds, collapseTimeUnit)
+                .toString().replaceAll(",", "");
+    }
+
     /** Builds the battery usage time summary. */
     public static String buildBatteryUsageTimeSummary(final Context context, final boolean isSystem,
             final long foregroundUsageTimeInMs, final long backgroundUsageTimeInMs,
@@ -656,7 +682,7 @@
         if (timeInMs < DateUtils.MINUTE_IN_MILLIS) {
             return context.getString(lessThanOneMinuteResId);
         }
-        final CharSequence timeSequence = StringUtil.formatElapsedTime(
+        final CharSequence timeSequence = formatElapsedTimeWithoutComma(
                 context, (double) timeInMs, /*withSeconds=*/ false, /*collapseTimeUnit=*/ false);
         return context.getString(normalResId, timeSequence);
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
index a307619..34a37e3 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
@@ -163,6 +163,10 @@
                             mHandler.post(() -> {
                                 removeAndCacheAllPreferences();
                                 addAllPreferences();
+                                mMetricsFeatureProvider.action(
+                                        mPrefContext,
+                                        SettingsEnums.ACTION_BATTERY_USAGE_SPINNER,
+                                        mSpinnerPosition);
                             });
                         }
                     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
index 183ca81..7888cff 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
@@ -99,10 +99,10 @@
     static boolean sDebug = false;
 
     @VisibleForTesting
-    static long sFakeCurrentTimeMillis = 0;
+    static long sTestCurrentTimeMillis = 0;
 
     @VisibleForTesting
-    static Set<String> sFakeSystemAppsSet;
+    static Set<String> sTestSystemAppsSet;
 
     @VisibleForTesting
     static IUsageStatsManager sUsageStatsManager =
@@ -539,7 +539,7 @@
         }
         while (nextDay < endTime) {
             dailyTimestampList.add(nextDay);
-            nextDay += DateUtils.DAY_IN_MILLIS;
+            nextDay = getTimestampOfNextDay(nextDay);
         }
         final long lastDailyTimestamp = dailyTimestampList.get(dailyTimestampList.size() - 1);
         // Only if the timestamp diff in the last day is bigger than MIN_TIME_SLOT, add the
@@ -1900,12 +1900,12 @@
     }
 
     private static Set<String> getSystemAppsSet(Context context) {
-        return sFakeSystemAppsSet != null ? sFakeSystemAppsSet
+        return sTestSystemAppsSet != null ? sTestSystemAppsSet
                 : AppListRepositoryUtil.getSystemPackageNames(context, context.getUserId(), false);
     }
 
     private static long getCurrentTimeMillis() {
-        return sFakeCurrentTimeMillis > 0 ? sFakeCurrentTimeMillis : System.currentTimeMillis();
+        return sTestCurrentTimeMillis > 0 ? sTestCurrentTimeMillis : System.currentTimeMillis();
     }
 
     private static void log(Context context, final String content, final long timestamp,
diff --git a/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeController.java b/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeController.java
index 2e60583..286a95f 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeController.java
@@ -28,8 +28,9 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.utils.StringUtil;
+import com.android.settings.fuelgauge.BatteryUtils;
 
+import java.util.Locale;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -39,6 +40,7 @@
     private static final String ROOT_PREFERENCE_KEY = "screen_on_time_category";
     private static final String SCREEN_ON_TIME_TEXT_PREFERENCE_KEY = "screen_on_time_text";
     private static final Pattern NUMBER_PATTERN = Pattern.compile("[\\d]*[\\.,]?[\\d]+");
+    private static final Locale IW_LOCALE = new Locale("iw");
 
     @VisibleForTesting
     Context mPrefContext;
@@ -87,18 +89,24 @@
     @VisibleForTesting
     void showScreenOnTimeText(Long screenOnTime) {
         final CharSequence timeSequence =
-                StringUtil.formatElapsedTime(mPrefContext, (double) screenOnTime,
+                BatteryUtils.formatElapsedTimeWithoutComma(mPrefContext, (double) screenOnTime,
                         /*withSeconds=*/ false, /*collapseTimeUnit=*/ false);
-        mScreenOnTimeTextPreference.setText(enlargeFontOfNumber(removeCommas(timeSequence)));
+        mScreenOnTimeTextPreference.setText(
+                enlargeFontOfNumberIfNeeded(mPrefContext, timeSequence));
         mScreenOnTimeTextPreference.setVisible(true);
     }
 
     @VisibleForTesting
-    static CharSequence enlargeFontOfNumber(CharSequence text) {
+    static CharSequence enlargeFontOfNumberIfNeeded(Context context, CharSequence text) {
         if (TextUtils.isEmpty(text)) {
             return "";
         }
 
+        final Locale locale = context.getResources().getConfiguration().getLocales().get(0);
+        if (locale != null && IW_LOCALE.getLanguage().equals(locale.getLanguage())) {
+            return text;
+        }
+
         final SpannableString spannableText =  new SpannableString(text);
         final Matcher matcher = NUMBER_PATTERN.matcher(text);
         while (matcher.find()) {
@@ -107,8 +115,4 @@
         }
         return spannableText;
     }
-
-    private static CharSequence removeCommas(CharSequence text) {
-        return text.toString().replaceAll(",", "");
-    }
 }
diff --git a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
index c94aabd..4379a42 100644
--- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
+++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
@@ -18,6 +18,7 @@
 
 import static android.os.UserHandle.USER_CURRENT;
 import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU;
+import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_2BUTTON_OVERLAY;
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_3BUTTON_OVERLAY;
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OVERLAY;
@@ -74,6 +75,8 @@
 
     private static final String KEY_SHOW_A11Y_TUTORIAL_DIALOG = "show_a11y_tutorial_dialog_bool";
 
+    private static final int MIN_LARGESCREEN_WIDTH_DP = 600;
+
     private boolean mA11yTutorialDialogShown = false;
 
     private IOverlayManager mOverlayManager;
@@ -112,6 +115,11 @@
                 ServiceManager.getService(Context.OVERLAY_SERVICE));
 
         mVideoPreference = new IllustrationPreference(context);
+        Context windowContext = context.createWindowContext(TYPE_APPLICATION_OVERLAY, null);
+        if (windowContext.getResources()
+                .getConfiguration().smallestScreenWidthDp >= MIN_LARGESCREEN_WIDTH_DP) {
+            mVideoPreference.applyDynamicColor();
+        }
         setIllustrationVideo(mVideoPreference, getDefaultKey());
 
         migrateOverlaySensitivityToSettings(context, mOverlayManager);
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index 3345426..189b4bc 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -56,6 +56,7 @@
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
+import androidx.window.embedding.ActivityEmbeddingController;
 import androidx.window.embedding.SplitController;
 import androidx.window.embedding.SplitRule;
 
@@ -104,7 +105,7 @@
     private View mTwoPaneSuggestionView;
     private CategoryMixin mCategoryMixin;
     private Set<HomepageLoadedListener> mLoadedListeners;
-    private SplitController mSplitController;
+    private ActivityEmbeddingController mActivityEmbeddingController;
     private boolean mIsEmbeddingActivityEnabled;
     private boolean mIsTwoPane;
     // A regular layout shows icons on homepage, whereas a simplified layout doesn't.
@@ -192,8 +193,8 @@
         setupEdgeToEdge();
         setContentView(R.layout.settings_homepage_container);
 
-        mSplitController = SplitController.getInstance();
-        mIsTwoPane = mSplitController.isActivityEmbedded(this);
+        mActivityEmbeddingController = ActivityEmbeddingController.getInstance(this);
+        mIsTwoPane = mActivityEmbeddingController.isActivityEmbedded(this);
 
         updateAppBarMinHeight();
         initHomepageContainer();
@@ -276,7 +277,7 @@
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
-        final boolean newTwoPaneState = mSplitController.isActivityEmbedded(this);
+        final boolean newTwoPaneState = mActivityEmbeddingController.isActivityEmbedded(this);
         if (mIsTwoPane != newTwoPaneState) {
             mIsTwoPane = newTwoPaneState;
             updateHomepageAppBar();
@@ -420,7 +421,7 @@
 
     private boolean shouldLaunchDeepLinkIntentToRight() {
         if (!FeatureFlagUtils.isEnabled(this, FeatureFlagUtils.SETTINGS_SUPPORT_LARGE_SCREEN)
-                || !SplitController.getInstance().isSplitSupported()) {
+                || !SplitController.getInstance(this).isSplitSupported()) {
             return false;
         }
 
@@ -535,15 +536,15 @@
                 new ComponentName(getApplicationContext(), getClass()),
                 targetComponentName,
                 targetIntent.getAction(),
-                SplitRule.FINISH_ALWAYS,
-                SplitRule.FINISH_ALWAYS,
+                SplitRule.FinishBehavior.ALWAYS,
+                SplitRule.FinishBehavior.ALWAYS,
                 true /* clearTop */);
         ActivityEmbeddingRulesController.registerTwoPanePairRule(this,
                 new ComponentName(getApplicationContext(), Settings.class),
                 targetComponentName,
                 targetIntent.getAction(),
-                SplitRule.FINISH_ALWAYS,
-                SplitRule.FINISH_ALWAYS,
+                SplitRule.FinishBehavior.ALWAYS,
+                SplitRule.FinishBehavior.ALWAYS,
                 true /* clearTop */);
 
         final UserHandle user = intent.getParcelableExtra(EXTRA_USER_HANDLE, UserHandle.class);
diff --git a/src/com/android/settings/homepage/TopLevelSettings.java b/src/com/android/settings/homepage/TopLevelSettings.java
index 21f026e..1ced5ac 100644
--- a/src/com/android/settings/homepage/TopLevelSettings.java
+++ b/src/com/android/settings/homepage/TopLevelSettings.java
@@ -36,7 +36,7 @@
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 import androidx.recyclerview.widget.RecyclerView;
-import androidx.window.embedding.SplitController;
+import androidx.window.embedding.ActivityEmbeddingController;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -66,6 +66,7 @@
     private int mPaddingHorizontal;
     private boolean mScrollNeeded = true;
     private boolean mFirstStarted = true;
+    private ActivityEmbeddingController mActivityEmbeddingController;
 
     public TopLevelSettings() {
         final Bundle args = new Bundle();
@@ -151,7 +152,7 @@
             return;
         }
 
-        boolean activityEmbedded = SplitController.getInstance().isActivityEmbedded(getActivity());
+        boolean activityEmbedded = isActivityEmbedded();
         if (icicle != null) {
             mHighlightMixin = icicle.getParcelable(SAVED_HIGHLIGHT_MIXIN);
             mScrollNeeded = !mHighlightMixin.isActivityEmbedded() && activityEmbedded;
@@ -162,6 +163,15 @@
         }
     }
 
+    /** Wrap ActivityEmbeddingController#isActivityEmbedded for testing. */
+    @VisibleForTesting
+    public boolean isActivityEmbedded() {
+        if (mActivityEmbeddingController == null) {
+            mActivityEmbeddingController = ActivityEmbeddingController.getInstance(getActivity());
+        }
+        return mActivityEmbeddingController.isActivityEmbedded(getActivity());
+    }
+
     @Override
     public void onStart() {
         if (mFirstStarted) {
@@ -169,7 +179,7 @@
             FeatureFactory.getFactory(getContext()).getSearchFeatureProvider().sendPreIndexIntent(
                     getContext());
         } else if (mIsEmbeddingActivityEnabled && isOnlyOneActivityInTask()
-                && !SplitController.getInstance().isActivityEmbedded(getActivity())) {
+                && !isActivityEmbedded()) {
             // Set default highlight menu key for 1-pane homepage since it will show the placeholder
             // page once changing back to 2-pane.
             Log.i(TAG, "Set default menu key");
@@ -294,7 +304,7 @@
          * 3. the current activity is embedded */
         return mHighlightMixin != null
                 && TextUtils.equals(pref.getKey(), mHighlightMixin.getHighlightPreferenceKey())
-                && SplitController.getInstance().isActivityEmbedded(getActivity());
+                && isActivityEmbedded();
     }
 
     /** Show/hide the highlight on the menu entry for the search page presence */
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
index 5c0f88f..9311c97 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
@@ -20,64 +20,124 @@
 import android.content.Context;
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
+import android.hardware.input.KeyboardLayout;
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.view.InputDevice;
+import android.view.inputmethod.InputMethodInfo;
+import android.view.inputmethod.InputMethodManager;
+import android.view.inputmethod.InputMethodSubtype;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.inputmethod.NewKeyboardSettingsUtils.KeyboardInfo;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
 
 public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment
         implements InputManager.InputDeviceListener {
 
     private static final String TAG = "NewKeyboardLayoutEnabledLocalesFragment";
-    private static final String PREF_KEY_ENABLED_LOCALES = "enabled_locales_keyboard_layout";
-
-    static final String EXTRA_KEYBOARD_DEVICE_NAME = "extra_keyboard_device_name";
 
     private InputManager mIm;
+    private InputMethodManager mImm;
     private InputDeviceIdentifier mInputDeviceIdentifier;
+    private int mUserId;
     private int mInputDeviceId;
     private Context mContext;
+    private Map<String, KeyboardInfo> mKeyboardLanguageLayouts = new HashMap<>();
 
     @Override
     public void onActivityCreated(final Bundle icicle) {
         super.onActivityCreated(icicle);
-
         Bundle arguments = getArguments();
-        final String title = arguments.getString(EXTRA_KEYBOARD_DEVICE_NAME);
-        mInputDeviceIdentifier = arguments.getParcelable(
-                KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER);
+        final String title =
+                arguments.getString(NewKeyboardSettingsUtils.EXTRA_KEYBOARD_DEVICE_NAME);
+        mInputDeviceIdentifier =
+                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER);
         getActivity().setTitle(title);
-        final PreferenceCategory category = findPreference(PREF_KEY_ENABLED_LOCALES);
+        updateCheckedState();
+    }
 
-        // TODO(b/252816846): Need APIs to get the available keyboards from Inputmanager.
-        // For example: InputMethodManager.getEnabledInputMethodLocales()
-        //              InputManager.getKeyboardLayoutForLocale()
-        // Hardcode the default value for demo purpose
-        String[] keyboardLanguages = {"English (US)", "German (Germany)", "Spanish (Spain)"};
-        String[] keyboardLayouts = {"English (US)", "German", "Spanish"};
-        for (int i = 0; i < keyboardLanguages.length; i++) {
+    private void updateCheckedState() {
+        PreferenceScreen preferenceScreen = getPreferenceScreen();
+        preferenceScreen.removeAll();
+        List<InputMethodInfo> infoList = mImm.getEnabledInputMethodListAsUser(mUserId);
+        for (InputMethodInfo info : infoList) {
+            mKeyboardLanguageLayouts.clear();
+            List<InputMethodSubtype> subtypes =
+                    mImm.getEnabledInputMethodSubtypeList(info, true);
+            for (InputMethodSubtype subtype : subtypes) {
+                if (subtype.isSuitableForPhysicalKeyboardLayoutMapping()) {
+                    mapLanguageWithLayout(info, subtype);
+                }
+            }
+            updatePreferenceLayout(preferenceScreen, info);
+        }
+    }
+
+    private void mapLanguageWithLayout(InputMethodInfo info, InputMethodSubtype subtype) {
+        KeyboardLayout[] keyboardLayouts = getKeyboardLayouts(info, subtype);
+        String layout = getKeyboardLayout(info, subtype);
+        String language = getLanguage(info, subtype);
+        if (layout != null) {
+            for (int i = 0; i < keyboardLayouts.length; i++) {
+                if (keyboardLayouts[i].getDescriptor().equals(layout)) {
+                    KeyboardInfo keyboardInfo = new KeyboardInfo(
+                            language,
+                            keyboardLayouts[i].getLabel(),
+                            info,
+                            subtype);
+                    mKeyboardLanguageLayouts.put(subtype.getLanguageTag(), keyboardInfo);
+                    break;
+                }
+            }
+        } else {
+            // if there is no auto-selected layout, we should show "Default"
+            KeyboardInfo keyboardInfo = new KeyboardInfo(
+                    language,
+                    mContext.getString(R.string.keyboard_default_layout),
+                    info,
+                    subtype);
+            mKeyboardLanguageLayouts.put(subtype.getLanguageTag(), keyboardInfo);
+        }
+    }
+
+    private void updatePreferenceLayout(PreferenceScreen preferenceScreen, InputMethodInfo info) {
+        if (mKeyboardLanguageLayouts.isEmpty()) {
+            return;
+        }
+        PreferenceCategory preferenceCategory = new PreferenceCategory(mContext);
+        preferenceCategory.setTitle(info.loadLabel(mContext.getPackageManager()).toString());
+        preferenceCategory.setKey(info.getPackageName());
+        preferenceScreen.addPreference(preferenceCategory);
+        for (Map.Entry<String, KeyboardInfo> entry : mKeyboardLanguageLayouts.entrySet()) {
             final Preference pref = new Preference(mContext);
-            String key = "keyboard_language_label_" + String.valueOf(i);
-            String keyboardLanguageTitle = keyboardLanguages[i];
-            String keyboardLanguageSummary = keyboardLayouts[i];
-            // TODO: Waiting for new API to use a prefix with special number to setKey
+            String key = "keyboard_language_" + entry.getKey();
+            NewKeyboardSettingsUtils.KeyboardInfo keyboardInfo = entry.getValue();
             pref.setKey(key);
-            pref.setTitle(keyboardLanguageTitle);
-            pref.setSummary(keyboardLanguageSummary);
+            pref.setTitle(keyboardInfo.getLanguage());
+            pref.setSummary(keyboardInfo.getLayout());
             pref.setOnPreferenceClickListener(
                     preference -> {
                         showKeyboardLayoutPicker(
-                                keyboardLanguageTitle,
-                                keyboardLanguageSummary,
-                                mInputDeviceIdentifier);
+                                keyboardInfo.getLanguage(),
+                                keyboardInfo.getLayout(),
+                                mInputDeviceIdentifier,
+                                mUserId,
+                                keyboardInfo.getInputMethodInfo(),
+                                keyboardInfo.getInputMethodSubtype());
                         return true;
                     });
-            category.addPreference(pref);
+            preferenceCategory.addPreference(pref);
         }
     }
 
@@ -96,7 +156,7 @@
     @Override
     public void onInputDeviceChanged(int deviceId) {
         if (mInputDeviceId >= 0 && deviceId == mInputDeviceId) {
-            // TODO(b/252816846): Need APIs to update the available keyboards.
+            updateCheckedState();
         }
     }
 
@@ -105,7 +165,9 @@
         super.onCreate(savedInstanceState);
         mContext = getContext();
         mIm = mContext.getSystemService(InputManager.class);
+        mImm = mContext.getSystemService(InputMethodManager.class);
         mInputDeviceId = -1;
+        mUserId = UserHandle.myUserId();
     }
 
     @Override
@@ -131,7 +193,7 @@
     @Override
     public void onResume() {
         super.onResume();
-        // TODO(b/252816846): Need APIs to get the available keyboards from Inputmanager.
+        updateCheckedState();
     }
 
     @Override
@@ -149,17 +211,50 @@
         return R.xml.keyboard_settings_enabled_locales_list;
     }
 
-    private void showKeyboardLayoutPicker(String language, String layout,
-            InputDeviceIdentifier inputDeviceIdentifier) {
+    private void showKeyboardLayoutPicker(
+            String language,
+            String layout,
+            InputDeviceIdentifier inputDeviceIdentifier,
+            int userId,
+            InputMethodInfo inputMethodInfo,
+            InputMethodSubtype inputMethodSubtype) {
         Bundle arguments = new Bundle();
-        arguments.putParcelable(KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER,
-                inputDeviceIdentifier);
-        arguments.putString(NewKeyboardLayoutPickerFragment.EXTRA_TITLE, language);
-        arguments.putString(NewKeyboardLayoutPickerFragment.EXTRA_KEYBOARD_LAYOUT, layout);
+        arguments.putParcelable(
+                NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER, inputDeviceIdentifier);
+        arguments.putParcelable(
+                NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_INFO, inputMethodInfo);
+        arguments.putParcelable(
+                NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE, inputMethodSubtype);
+        arguments.putInt(NewKeyboardSettingsUtils.EXTRA_USER_ID, userId);
+        arguments.putString(NewKeyboardSettingsUtils.EXTRA_TITLE, language);
+        arguments.putString(NewKeyboardSettingsUtils.EXTRA_KEYBOARD_LAYOUT, layout);
         new SubSettingLauncher(mContext)
                 .setSourceMetricsCategory(getMetricsCategory())
                 .setDestination(NewKeyboardLayoutPickerFragment.class.getName())
                 .setArguments(arguments)
                 .launch();
     }
+
+    private KeyboardLayout[] getKeyboardLayouts(InputMethodInfo info, InputMethodSubtype subtype) {
+        return mIm.getKeyboardLayoutListForInputDevice(
+                mInputDeviceIdentifier, mUserId, info, subtype);
+    }
+
+    private String getKeyboardLayout(InputMethodInfo info, InputMethodSubtype subtype) {
+        return mIm.getKeyboardLayoutForInputDevice(
+                mInputDeviceIdentifier, mUserId, info, subtype);
+    }
+
+    private String getLanguage(InputMethodInfo info, InputMethodSubtype subtype) {
+        String language;
+        if (subtype.getLanguageTag().isEmpty()) {
+            language = subtype.getDisplayName(
+                    mContext,
+                    info.getPackageName(),
+                    info.getServiceInfo().applicationInfo).toString();
+        } else {
+            language = Locale.forLanguageTag(subtype.getLanguageTag()).getDisplayName();
+        }
+        return language;
+    }
 }
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java
index dc94306..bb452f7 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java
@@ -20,6 +20,8 @@
 import android.content.Context;
 import android.hardware.input.InputDeviceIdentifier;
 import android.os.Bundle;
+import android.view.inputmethod.InputMethodInfo;
+import android.view.inputmethod.InputMethodSubtype;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -28,31 +30,28 @@
 
     private static final String TAG = "KeyboardLayoutPicker";
 
-    static final String EXTRA_TITLE = "keyboard_layout_picker_title";
-    static final String EXTRA_KEYBOARD_LAYOUT = "keyboard_layout";
-
-    /**
-     * Intent extra: The input device descriptor of the keyboard whose keyboard
-     * layout is to be changed.
-     */
-    public static final String EXTRA_INPUT_DEVICE_IDENTIFIER = "input_device_identifier";
-
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
 
         Bundle arguments = getArguments();
-        final String title = arguments.getString(EXTRA_TITLE);
-        final String layout = arguments.getString(EXTRA_KEYBOARD_LAYOUT);
+        final String title = arguments.getString(NewKeyboardSettingsUtils.EXTRA_TITLE);
+        final String layout = arguments.getString(NewKeyboardSettingsUtils.EXTRA_KEYBOARD_LAYOUT);
+        final int userId = arguments.getInt(NewKeyboardSettingsUtils.EXTRA_USER_ID);
         final InputDeviceIdentifier inputDeviceIdentifier =
-                arguments.getParcelable(EXTRA_INPUT_DEVICE_IDENTIFIER);
+                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER);
+        final InputMethodInfo inputMethodInfo =
+                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_INFO);
+        final InputMethodSubtype inputMethodSubtype =
+                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE);
+
 
         if (inputDeviceIdentifier == null) {
             getActivity().finish();
         }
         getActivity().setTitle(title);
-        use(NewKeyboardLayoutPickerController.class).initialize(this /*parent*/,
-                inputDeviceIdentifier, layout);
+        use(NewKeyboardLayoutPickerController.class).initialize(this /*parent*/, userId,
+                inputDeviceIdentifier, inputMethodInfo, inputMethodSubtype, layout);
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
index 4a598d5..eb0a7aa 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
@@ -21,6 +21,8 @@
 import android.hardware.input.InputManager;
 import android.hardware.input.KeyboardLayout;
 import android.view.InputDevice;
+import android.view.inputmethod.InputMethodInfo;
+import android.view.inputmethod.InputMethodSubtype;
 
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
@@ -31,7 +33,6 @@
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -42,7 +43,11 @@
 
     private Fragment mParent;
     private int mInputDeviceId;
+    private int mUserId;
     private InputDeviceIdentifier mInputDeviceIdentifier;
+    private InputMethodInfo mInputMethodInfo;
+    private InputMethodSubtype mInputMethodSubtype;
+
     private KeyboardLayout[] mKeyboardLayouts;
     private PreferenceScreen mScreen;
     private String mPreviousSelection;
@@ -55,13 +60,16 @@
         mPreferenceMap = new HashMap<>();
     }
 
-    public void initialize(Fragment parent, InputDeviceIdentifier inputDeviceIdentifier,
-            String layout) {
-        mLayout = layout;
+    public void initialize(Fragment parent, int userId, InputDeviceIdentifier inputDeviceIdentifier,
+            InputMethodInfo imeInfo, InputMethodSubtype imeSubtype, String layout) {
         mParent = parent;
+        mUserId = userId;
         mInputDeviceIdentifier = inputDeviceIdentifier;
-        mKeyboardLayouts = mIm.getKeyboardLayoutsForInputDevice(mInputDeviceIdentifier);
-        Arrays.sort(mKeyboardLayouts);
+        mInputMethodInfo = imeInfo;
+        mInputMethodSubtype = imeSubtype;
+        mLayout = layout;
+        mKeyboardLayouts = mIm.getKeyboardLayoutListForInputDevice(
+                inputDeviceIdentifier, userId, imeInfo, imeSubtype);
     }
 
     @Override
@@ -102,15 +110,12 @@
         }
 
         final KeyboardLayoutPreference pref = (KeyboardLayoutPreference) preference;
-        // TODO(b/259530132): Need APIs to update the available keyboards for input device.
-        // For example:
-        // inputManager.setCurrentKeyboardLayoutForInputDevice(
-        //            InputDevice..., Userid..., ImeSubType ..., String keyboardLayoutDescriptor)
+        pref.setCheckMark(true);
         if (mPreviousSelection != null && !mPreviousSelection.equals(preference.getKey())) {
             KeyboardLayoutPreference preSelectedPref = mScreen.findPreference(mPreviousSelection);
-            pref.setCheckMark(true);
             preSelectedPref.setCheckMark(false);
         }
+        setLayout(pref);
         mPreviousSelection = preference.getKey();
         return true;
     }
@@ -129,13 +134,7 @@
 
     @Override
     public void onInputDeviceChanged(int deviceId) {
-        if (mInputDeviceId >= 0 && deviceId == mInputDeviceId) {
-            updateCheckedState();
-        }
-    }
-
-    private void updateCheckedState() {
-        // TODO(b/259530132): Need API to update the keyboard language layout list.
+        // Do nothing.
     }
 
     private void createPreferenceHierarchy() {
@@ -143,14 +142,22 @@
             final KeyboardLayoutPreference pref;
             if (mLayout.equals(layout.getLabel())) {
                 pref = new KeyboardLayoutPreference(mScreen.getContext(), layout.getLabel(), true);
-                mPreviousSelection = layout.getLabel();
+                mPreviousSelection = layout.getDescriptor();
             } else {
                 pref = new KeyboardLayoutPreference(mScreen.getContext(), layout.getLabel(), false);
             }
-            // TODO: Waiting for new API to use a prefix with special number to setKey
-            pref.setKey(layout.getLabel());
+            pref.setKey(layout.getDescriptor());
             mScreen.addPreference(pref);
             mPreferenceMap.put(pref, layout);
         }
     }
+
+    private void setLayout(KeyboardLayoutPreference preference) {
+        mIm.setKeyboardLayoutForInputDevice(
+                mInputDeviceIdentifier,
+                mUserId,
+                mInputMethodInfo,
+                mInputMethodSubtype,
+                mPreferenceMap.get(preference).getDescriptor());
+    }
 }
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerFragment.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerFragment.java
index c2f41a2..169b84b 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerFragment.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerFragment.java
@@ -27,15 +27,6 @@
 
 public class NewKeyboardLayoutPickerFragment extends Fragment {
 
-    static final String EXTRA_TITLE = "keyboard_layout_picker_title";
-    static final String EXTRA_KEYBOARD_LAYOUT = "keyboard_layout";
-
-    /**
-     * Intent extra: The input device descriptor of the keyboard whose keyboard
-     * layout is to be changed.
-     */
-    public static final String EXTRA_INPUT_DEVICE_IDENTIFIER = "input_device_identifier";
-
     private ViewGroup mFragmentView;
 
     @Override
diff --git a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
new file mode 100644
index 0000000..9a1b2e4
--- /dev/null
+++ b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
@@ -0,0 +1,104 @@
+/*
+ * 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.settings.inputmethod;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.view.inputmethod.InputMethodInfo;
+import android.view.inputmethod.InputMethodManager;
+import android.view.inputmethod.InputMethodSubtype;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Utilities of keyboard settings
+ */
+public class NewKeyboardSettingsUtils {
+
+    static final String EXTRA_KEYBOARD_DEVICE_NAME = "extra_keyboard_device_name";
+    static final String EXTRA_TITLE = "keyboard_layout_picker_title";
+    static final String EXTRA_KEYBOARD_LAYOUT = "keyboard_layout";
+    static final String EXTRA_USER_ID = "user_id";
+    static final String EXTRA_INPUT_DEVICE_IDENTIFIER = "input_device_identifier";
+    static final String EXTRA_INPUT_METHOD_INFO = "input_method_info";
+    static final String EXTRA_INPUT_METHOD_SUBTYPE = "input_method_subtype";
+
+    static InputMethodInfo getActiveIme(Context context, InputMethodManager imm) {
+        InputMethodInfo activeIme = null;
+        List<InputMethodInfo> infoList = imm.getEnabledInputMethodList();
+        String imeId = Settings.Secure.getStringForUser(context.getContentResolver(),
+                Settings.Secure.DEFAULT_INPUT_METHOD, context.getUserId());
+        for (InputMethodInfo method : infoList) {
+            if (method.getId().equals(imeId)) {
+                activeIme = method;
+            }
+        }
+        return activeIme;
+    }
+
+    static List<String> getSuitableImeLabels(Context context, InputMethodManager imm, int userId) {
+        List<String> suitableInputMethodInfoLabels = new ArrayList<>();
+        List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(userId);
+        for (InputMethodInfo info : infoList) {
+            List<InputMethodSubtype> subtypes =
+                    imm.getEnabledInputMethodSubtypeList(info, true);
+            for (InputMethodSubtype subtype : subtypes) {
+                if (subtype.isSuitableForPhysicalKeyboardLayoutMapping()) {
+                    suitableInputMethodInfoLabels.add(
+                            info.loadLabel(context.getPackageManager()).toString());
+                    break;
+                }
+            }
+        }
+        return suitableInputMethodInfoLabels;
+    }
+
+    static class KeyboardInfo {
+        String mLanguage;
+        String mLayout;
+        InputMethodInfo mInputMethodInfo;
+        InputMethodSubtype mInputMethodSubtype;
+
+        KeyboardInfo(
+                String language,
+                String layout,
+                InputMethodInfo inputMethodInfo,
+                InputMethodSubtype inputMethodSubtype) {
+            mLanguage = language;
+            mLayout = layout;
+            mInputMethodInfo = inputMethodInfo;
+            mInputMethodSubtype = inputMethodSubtype;
+        }
+
+        String getLanguage() {
+            return mLanguage;
+        }
+
+        String getLayout() {
+            return mLayout;
+        }
+
+        InputMethodInfo getInputMethodInfo() {
+            return mInputMethodInfo;
+        }
+
+        InputMethodSubtype getInputMethodSubtype() {
+            return mInputMethodSubtype;
+        }
+    }
+}
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 7d43d7c..20a634e 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -35,6 +35,7 @@
 import android.text.TextUtils;
 import android.util.FeatureFlagUtils;
 import android.view.InputDevice;
+import android.view.inputmethod.InputMethodManager;
 
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
@@ -54,9 +55,7 @@
 import java.text.Collator;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
 
 @SearchIndexable
@@ -73,6 +72,7 @@
     private final ArrayList<HardKeyboardDeviceInfo> mLastHardKeyboards = new ArrayList<>();
 
     private InputManager mIm;
+    private InputMethodManager mImm;
     @NonNull
     private PreferenceCategory mKeyboardAssistanceCategory;
     @NonNull
@@ -90,6 +90,7 @@
         mBluetoothAddress = activity.getIntent().getStringExtra(EXTRA_BT_ADDRESS);
         addPreferencesFromResource(R.xml.physical_keyboard_settings);
         mIm = Preconditions.checkNotNull(activity.getSystemService(InputManager.class));
+        mImm = Preconditions.checkNotNull(activity.getSystemService(InputMethodManager.class));
         mKeyboardAssistanceCategory = Preconditions.checkNotNull(
                 (PreferenceCategory) findPreference(KEYBOARD_OPTIONS_CATEGORY));
         mShowVirtualKeyboardSwitch = Preconditions.checkNotNull(
@@ -194,21 +195,15 @@
             final Preference pref = new Preference(getPrefContext());
             pref.setTitle(hardKeyboardDeviceInfo.mDeviceName);
             if (mIsNewKeyboardSettings) {
-                // TODO(b/252816846): Need InputMethodManager to provide the enabled locales.
-                // Hardcode Languages for demo until inputMethodManager provides the latest API.
-                // For example: InputMethodManager.getEnabledInputMethodLocales();
-                String[] keyboardLanguages =
-                        {"English (US)", "German (Germany)", "Spanish (Spain)"};
-                String[] keyboardLayouts = {"English (US)", "German", "Spanish"};
-                Map<String, String> keyboardMap = new HashMap<>();
-                for (int i = 0; i < keyboardLanguages.length; i++) {
-                    keyboardMap.put(keyboardLanguages[i], keyboardLayouts[i]);
-                }
-                if (!keyboardMap.isEmpty()) {
-                    String summary = keyboardMap.get(keyboardLanguages[0]);
+                List<String> suitableImes = new ArrayList<>();
+                suitableImes.addAll(
+                        NewKeyboardSettingsUtils.getSuitableImeLabels(
+                                getContext(), mImm, UserHandle.myUserId()));
+                if (!suitableImes.isEmpty()) {
+                    String summary = suitableImes.get(0);
                     StringBuilder result = new StringBuilder(summary);
-                    for (int i = 1; i < keyboardLanguages.length; i++) {
-                        result.append(", ").append(keyboardMap.get(keyboardLanguages[i]));
+                    for (int i = 1; i < suitableImes.size(); i++) {
+                        result.append(", ").append(suitableImes.get(i));
                     }
                     pref.setSummary(result.toString());
                 } else {
@@ -245,12 +240,10 @@
 
     private void showEnabledLocalesKeyboardLayoutList(String keyboardName,
             InputDeviceIdentifier inputDeviceIdentifier) {
-        // TODO(b/252816846: Need to get enabled locales.
         Bundle arguments = new Bundle();
-        arguments.putParcelable(KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER,
+        arguments.putParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER,
                 inputDeviceIdentifier);
-        arguments.putString(NewKeyboardLayoutEnabledLocalesFragment.EXTRA_KEYBOARD_DEVICE_NAME,
-                keyboardName);
+        arguments.putString(NewKeyboardSettingsUtils.EXTRA_KEYBOARD_DEVICE_NAME, keyboardName);
         new SubSettingLauncher(getContext())
                 .setSourceMetricsCategory(getMetricsCategory())
                 .setDestination(NewKeyboardLayoutEnabledLocalesFragment.class.getName())
diff --git a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
index 6e54689..bbe65c1 100644
--- a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.util.FeatureFlagUtils;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
@@ -29,11 +30,18 @@
     private static final int ORDER_TOP = 0;
     private static final int ORDER_BOTTOM = 100;
     private static final String PREFERENCE_KEY = "trackpad_touch_gesture";
+    private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG";
+
+    private Fragment mParent;
 
     public TouchGesturesButtonPreferenceController(Context context, String key) {
         super(context, key);
     }
 
+    public void setFragment(Fragment parent) {
+        mParent = parent;
+    }
+
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
@@ -59,12 +67,8 @@
     }
 
     private void showTouchpadGestureEducation() {
-        // TODO: Waiting for the education UX design.
-        /* For example:
-        FragmentManager fragmentManager = mParent.getActivity().getSupportFragmentManager();
-        FragmentTransaction transaction = fragmentManager.beginTransaction();
         TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment();
-        fragment.show(transaction, GESTURE_DIALOG_TAG);
-        */
+        fragment.setTargetFragment(mParent, 0);
+        fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG);
     }
 }
diff --git a/src/com/android/settings/inputmethod/TrackpadGestureDialogFragment.java b/src/com/android/settings/inputmethod/TrackpadGestureDialogFragment.java
new file mode 100644
index 0000000..b644eb1
--- /dev/null
+++ b/src/com/android/settings/inputmethod/TrackpadGestureDialogFragment.java
@@ -0,0 +1,266 @@
+/*
+ * 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.settings.inputmethod;
+
+import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.content.Context;
+import android.graphics.Point;
+import android.os.Bundle;
+import android.view.Display;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.Button;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.viewpager.widget.ViewPager;
+
+import com.android.settings.R;
+
+import com.google.android.material.bottomsheet.BottomSheetBehavior;
+import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+public class TrackpadGestureDialogFragment extends BottomSheetDialogFragment {
+
+    private Context mContext;
+    private LayoutInflater mInflater;
+    private View mViewArrowPrevious;
+    private View mViewArrowNext;
+    private ViewPager mViewPager;
+    private ArrayList<View> mPageList;
+    private ImageView[] mDotIndicators;
+    private View[] mViewPagerItems;
+    private Button mButtonStartSkip;
+    private Button mButtonStartRestart;
+    private Button mButtonEndNext;
+    private Button mButtonEndDone;
+
+    private static final int DOT_INDICATOR_SIZE = 12;
+    private static final int DOT_INDICATOR_LEFT_PADDING = 6;
+    private static final int DOT_INDICATOR_RIGHT_PADDING = 6;
+
+    public TrackpadGestureDialogFragment() {}
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mContext = context;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        final Dialog dialog = getDialog();
+        if (dialog == null) {
+            return;
+        }
+        Window window = dialog.getWindow();
+        if (window == null) {
+            return;
+        }
+        final Point size = getScreenSize();
+        final WindowManager.LayoutParams attributes = window.getAttributes();
+        attributes.width = (int) (size.x * 0.75);
+        window.setAttributes(attributes);
+    }
+
+    @Override
+    public Dialog onCreateDialog(final Bundle savedInstanceState) {
+        Dialog dialog = super.onCreateDialog(savedInstanceState);
+        mInflater = mContext.getSystemService(LayoutInflater.class);
+
+        View gestureEducationView = mInflater.inflate(R.layout.trackpad_gesture_preview, null);
+        addViewPager(gestureEducationView);
+        dialog.setContentView(gestureEducationView);
+
+        Window gestureDialogWindow = dialog.getWindow();
+        gestureDialogWindow.setType(TYPE_SYSTEM_DIALOG);
+
+        // Workaround for solve issue about dialog not full expanded when landscape.
+        FrameLayout bottomSheet = (FrameLayout)
+                dialog.findViewById(com.google.android.material.R.id.design_bottom_sheet);
+        bottomSheet.setBackgroundResource(android.R.color.transparent);
+        BottomSheetBehavior.from(bottomSheet)
+                .setState(BottomSheetBehavior.STATE_EXPANDED);
+
+        return dialog;
+    }
+
+    private ArrayList<Integer> getViewPagerResource() {
+        return new ArrayList<Integer>(
+                Arrays.asList(
+                        R.layout.gesture_tip1_go_home,
+                        R.layout.gesture_tip2_go_back,
+                        R.layout.gesture_tip3_recent_apps,
+                        R.layout.gesture_tip4_notifications,
+                        R.layout.gesture_tip5_switch_apps));
+    }
+
+    private void addViewPager(View preview) {
+        mViewPager = preview.findViewById(R.id.viewpager);
+        int viewPagerResourceSize = getViewPagerResource().size();
+        mViewPagerItems = new View[viewPagerResourceSize];
+        for (int i = 0; i < viewPagerResourceSize; i++) {
+            mViewPagerItems[i] =
+                    mInflater.inflate(getViewPagerResource().get(i), null /* root */);
+        }
+
+        mPageList = new ArrayList<View>();
+        for (int i = 0; i < mViewPagerItems.length; i++) {
+            mPageList.add(mViewPagerItems[i]);
+        }
+
+        mViewPager.setAdapter(new GesturePagerAdapter(mPageList));
+
+        mButtonStartRestart = (Button) preview.findViewById(R.id.button_restart);
+        mButtonStartRestart.setOnClickListener(v -> {
+            final int firstPos = mViewPager.getCurrentItem() - mViewPagerItems.length;
+            mViewPager.setCurrentItem(firstPos, true);
+        });
+
+        mButtonEndDone = (Button) preview.findViewById(R.id.button_done);
+        mButtonEndDone.setOnClickListener(v -> {
+            dismiss();
+        });
+
+        mButtonStartSkip = (Button) preview.findViewById(R.id.button_skip);
+        mButtonStartSkip.setOnClickListener(v -> {
+            dismiss();
+        });
+
+        mButtonEndNext = (Button) preview.findViewById(R.id.button_next);
+        mButtonEndNext.setOnClickListener(v -> {
+            final int nextPos = mViewPager.getCurrentItem() + 1;
+            mViewPager.setCurrentItem(nextPos, true);
+        });
+
+        mViewPager.addOnPageChangeListener(createPageListener());
+        final ViewGroup viewGroup = (ViewGroup) preview.findViewById(R.id.viewGroup);
+        mDotIndicators = new ImageView[mPageList.size()];
+        for (int i = 0; i < mPageList.size(); i++) {
+            final ImageView imageView = new ImageView(mContext);
+            final ViewGroup.MarginLayoutParams lp =
+                    new ViewGroup.MarginLayoutParams(DOT_INDICATOR_SIZE, DOT_INDICATOR_SIZE);
+            lp.setMargins(DOT_INDICATOR_LEFT_PADDING, 0, DOT_INDICATOR_RIGHT_PADDING, 0);
+            imageView.setLayoutParams(lp);
+            mDotIndicators[i] = imageView;
+            viewGroup.addView(mDotIndicators[i]);
+        }
+    }
+
+    private static class GesturePagerAdapter extends PagerAdapter {
+        private final ArrayList<View> mPageViewList;
+
+        GesturePagerAdapter(ArrayList<View> pageViewList) {
+            mPageViewList = pageViewList;
+        }
+
+        @Override
+        public void destroyItem(ViewGroup container, int position, Object object) {
+            if (mPageViewList.get(position) != null) {
+                container.removeView(mPageViewList.get(position));
+            }
+        }
+
+        @Override
+        public Object instantiateItem(ViewGroup container, int position) {
+            container.addView(mPageViewList.get(position));
+            return mPageViewList.get(position);
+        }
+
+        @Override
+        public int getCount() {
+            return mPageViewList.size();
+        }
+
+        @Override
+        public boolean isViewFromObject(View view, Object object) {
+            return object == view;
+        }
+    }
+
+    private ViewPager.OnPageChangeListener createPageListener() {
+        return new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(
+                    int position, float positionOffset, int positionOffsetPixels) {
+                if (positionOffset != 0) {
+                    for (int i = 0; i < mPageList.size(); i++) {
+                        mViewPagerItems[i].setVisibility(View.VISIBLE);
+                    }
+                } else {
+                    updateIndicator(position);
+                }
+            }
+
+            @Override
+            public void onPageSelected(int position) {}
+
+            @Override
+            public void onPageScrollStateChanged(int state) {}
+        };
+    }
+
+    private void updateIndicator(int position) {
+        for (int i = 0; i < mPageList.size(); i++) {
+            if (position == i) {
+                mDotIndicators[i].setBackgroundResource(
+                        R.drawable.ic_color_page_indicator_focused);
+                mViewPagerItems[i].setVisibility(View.VISIBLE);
+            } else {
+                mDotIndicators[i].setBackgroundResource(
+                        R.drawable.ic_color_page_indicator_unfocused);
+                mViewPagerItems[i].setVisibility(View.INVISIBLE);
+            }
+        }
+
+        if (position >= 0 && position < mViewPagerItems.length - 1) {
+            mButtonStartSkip.setVisibility(View.VISIBLE);
+            mButtonEndNext.setVisibility(View.VISIBLE);
+            mButtonStartRestart.setVisibility(View.GONE);
+            mButtonEndDone.setVisibility(View.GONE);
+        } else {
+            mButtonStartSkip.setVisibility(View.GONE);
+            mButtonEndNext.setVisibility(View.GONE);
+            mButtonStartRestart.setVisibility(View.VISIBLE);
+            mButtonEndDone.setVisibility(View.VISIBLE);
+        }
+    }
+
+    private Point getScreenSize() {
+        final Point size = new Point();
+        final Activity activity = (Activity) mContext;
+        final Display display = activity.getWindowManager().getDefaultDisplay();
+        display.getSize(size);
+        return size;
+    }
+}
diff --git a/src/com/android/settings/inputmethod/TrackpadSettings.java b/src/com/android/settings/inputmethod/TrackpadSettings.java
index 436e3e6..9be610f 100644
--- a/src/com/android/settings/inputmethod/TrackpadSettings.java
+++ b/src/com/android/settings/inputmethod/TrackpadSettings.java
@@ -31,6 +31,7 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
+        use(TouchGesturesButtonPreferenceController.class).setFragment(this /*parent*/);
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
index 9884862..5e92caf 100644
--- a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
+++ b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
@@ -31,6 +31,7 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
+        use(TouchGesturesButtonPreferenceController.class).setFragment(this /*parent*/);
     }
 
     @Override
diff --git a/src/com/android/settings/localepicker/AppLocalePickerActivity.java b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
index aecc571..6dab5cf 100644
--- a/src/com/android/settings/localepicker/AppLocalePickerActivity.java
+++ b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
@@ -19,6 +19,7 @@
 import android.app.FragmentTransaction;
 import android.app.LocaleManager;
 import android.content.Context;
+import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.LocaleList;
@@ -34,6 +35,7 @@
 import com.android.internal.app.LocaleStore;
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoBase;
+import com.android.settings.applications.AppLocaleUtil;
 import com.android.settings.applications.appinfo.AppLocaleDetails;
 import com.android.settings.core.SettingsBaseActivity;
 
@@ -64,12 +66,18 @@
         }
         mContextAsUser = this;
         if (getIntent().hasExtra(AppInfoBase.ARG_PACKAGE_UID)) {
-            int userId = getIntent().getIntExtra(AppInfoBase.ARG_PACKAGE_UID, -1);
-            if (userId != -1) {
-                UserHandle userHandle = UserHandle.getUserHandleForUid(userId);
+            int uid = getIntent().getIntExtra(AppInfoBase.ARG_PACKAGE_UID, -1);
+
+            if (uid != -1) {
+                UserHandle userHandle = UserHandle.getUserHandleForUid(uid);
                 mContextAsUser = createContextAsUser(userHandle, 0);
             }
         }
+        if (!canDisplayLocaleUi() || mContextAsUser.getUserId() != UserHandle.myUserId()) {
+            Log.w(TAG, "Not allow to display Locale Settings UI.");
+            finish();
+            return;
+        }
 
         setTitle(R.string.app_locale_picker_title);
         getActionBar().setDisplayHomeAsUpEnabled(true);
@@ -161,4 +169,18 @@
                 .replace(R.id.content_frame, mLocalePickerWithRegion)
                 .commit();
     }
+
+    private boolean canDisplayLocaleUi() {
+        try {
+            PackageManager packageManager = mContextAsUser.getPackageManager();
+            return AppLocaleUtil.canDisplayLocaleUi(mContextAsUser,
+                    packageManager.getApplicationInfo(mPackageName, 0),
+                    packageManager.queryIntentActivities(AppLocaleUtil.LAUNCHER_ENTRY_INTENT,
+                            PackageManager.GET_META_DATA));
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "Unable to find info for package: " + mPackageName);
+        }
+
+        return false;
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/nfc/AppStateNfcTagAppsBridge.java b/src/com/android/settings/nfc/AppStateNfcTagAppsBridge.java
new file mode 100644
index 0000000..0d705d5
--- /dev/null
+++ b/src/com/android/settings/nfc/AppStateNfcTagAppsBridge.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.settings.nfc;
+
+import static com.android.settingslib.applications.ApplicationsState.AppEntry;
+import static com.android.settingslib.applications.ApplicationsState.AppFilter;
+
+import android.app.ActivityManager;
+import android.content.Context;
+import android.nfc.NfcAdapter;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.Log;
+
+import com.android.settings.applications.AppStateBaseBridge;
+import com.android.settingslib.applications.ApplicationsState;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Filter to display only in the Tag preference listed Apps on Nfc Tag Apps page.
+ */
+public class AppStateNfcTagAppsBridge extends AppStateBaseBridge{
+
+    private static final String TAG = "AppStateNfcTagAppsBridge";
+
+    private final Context mContext;
+    private final NfcAdapter mNfcAdapter;
+    // preference list cache
+    private static Map<Integer, Map<String, Boolean>> sList = new HashMap<>();
+
+    public AppStateNfcTagAppsBridge(Context context, ApplicationsState appState,
+            Callback callback) {
+        super(appState, callback);
+        mContext = context;
+        mNfcAdapter = NfcAdapter.getDefaultAdapter(mContext);
+        if (mNfcAdapter != null && mNfcAdapter.isTagIntentAppPreferenceSupported()) {
+            UserManager um = mContext.createContextAsUser(
+                    UserHandle.of(ActivityManager.getCurrentUser()), 0)
+                    .getSystemService(UserManager.class);
+            List<UserHandle> luh = um.getEnabledProfiles();
+            for (UserHandle uh : luh) {
+                int userId = uh.getIdentifier();
+                sList.put(userId, mNfcAdapter.getTagIntentAppPreferenceForUser(userId));
+            }
+        }
+    }
+
+    /**
+     * Update the system and cached tag app preference lists.
+     */
+    public boolean updateApplist(int userId, String pkg, boolean allowed) {
+        if (mNfcAdapter.setTagIntentAppPreferenceForUser(
+                userId, pkg, allowed) == NfcAdapter.TAG_INTENT_APP_PREF_RESULT_SUCCESS) {
+            sList.put(userId, mNfcAdapter.getTagIntentAppPreferenceForUser(userId));
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    @Override
+    protected void loadAllExtraInfo() {
+        final List<ApplicationsState.AppEntry> allApps = mAppSession.getAllApps();
+        for (int i = 0; i < allApps.size(); i++) {
+            ApplicationsState.AppEntry app = allApps.get(i);
+            this.updateExtraInfo(app, app.info.packageName, app.info.uid);
+        }
+    }
+
+    @Override
+    protected void updateExtraInfo(AppEntry app, String pkg, int uid) {
+        // Display package if is in the app preference list.
+        int userId = UserHandle.getUserId(uid);
+        Map<String, Boolean> map = sList.getOrDefault(userId, new HashMap<>());
+        if (map.containsKey(pkg)) {
+            app.extraInfo = new NfcTagAppState(/* exist */ true, /* allowed */ map.get(pkg));
+        } else {
+            app.extraInfo = new NfcTagAppState(/* exist */ false, /* allowed */ false);
+        }
+    }
+
+    /**
+     * Class to denote the nfc tag app preference state of the AppEntry
+     */
+    public static class NfcTagAppState {
+        private boolean mIsExisted;
+        private boolean mIsAllowed;
+
+        public NfcTagAppState(boolean exist, boolean allowed) {
+            mIsExisted = exist;
+            mIsAllowed = allowed;
+        }
+
+        public boolean isExisted() {
+            return mIsExisted;
+        }
+
+        public boolean isAllowed() {
+            return mIsAllowed;
+        }
+    }
+
+    public static final AppFilter FILTER_APPS_NFC_TAG =
+            new AppFilter() {
+                @Override
+                public void init() {
+                }
+
+                @Override
+                public boolean filterApp(AppEntry entry) {
+                    if (entry.extraInfo == null) {
+                        Log.d(TAG, "[" + entry.info.packageName + "]" + " has No extra info.");
+                        return false;
+                    }
+                    NfcTagAppState state = (NfcTagAppState) entry.extraInfo;
+                    return state.isExisted();
+                }
+            };
+}
diff --git a/src/com/android/settings/nfc/ChangeNfcTagAppsStateDetails.java b/src/com/android/settings/nfc/ChangeNfcTagAppsStateDetails.java
new file mode 100644
index 0000000..99c23cd
--- /dev/null
+++ b/src/com/android/settings/nfc/ChangeNfcTagAppsStateDetails.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.settings.nfc;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.preference.Preference;
+import androidx.preference.Preference.OnPreferenceChangeListener;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoWithHeader;
+import com.android.settings.nfc.AppStateNfcTagAppsBridge.NfcTagAppState;
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+
+/**
+ * Class for displaying app info of the Nfc Tag App
+ */
+public class ChangeNfcTagAppsStateDetails extends AppInfoWithHeader
+        implements OnPreferenceChangeListener {
+
+    private static final String KEY_APP_OPS_SETTINGS_SWITCH = "app_ops_settings_switch";
+    private static final String LOG_TAG = "ChangeNfcTagAppsStateDetails";
+
+    private AppStateNfcTagAppsBridge mAppBridge;
+    private SwitchPreference mSwitchPref;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        final Context context = getActivity();
+        mAppBridge = new AppStateNfcTagAppsBridge(context, mState, null);
+
+        // find preferences
+        addPreferencesFromResource(R.xml.change_nfc_tag_apps_details);
+        mSwitchPref = (SwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
+
+        // set title/summary for all of them
+        mSwitchPref.setTitle(R.string.change_nfc_tag_apps_detail_switch);
+
+        // install event listeners
+        mSwitchPref.setOnPreferenceChangeListener(this);
+
+    }
+
+    @Override
+    protected AlertDialog createDialog(int id, int errorCode) {
+        return null;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.CONFIG_NFC_TAG_APP_PREF;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        Boolean enable = (Boolean) newValue;
+        if (preference == mSwitchPref) {
+            if (mAppBridge != null && mAppBridge.updateApplist(mUserId, mPackageName, enable)) {
+                refreshUi();
+                return true;
+            } else {
+                Log.e(LOG_TAG, "Set [" + mPackageName + "]" + " failed.");
+                return false;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    protected boolean refreshUi() {
+        if (mPackageInfo == null || mPackageInfo.applicationInfo == null) {
+            return false;
+        }
+        retrieveAppEntry();
+        NfcTagAppState state;
+        if (mAppEntry.extraInfo instanceof NfcTagAppState) {
+            state = (NfcTagAppState) mAppEntry.extraInfo;
+        } else {
+            state = new NfcTagAppState(/* exist */ false, /* allowed */ false);
+        }
+        mSwitchPref.setChecked(state.isAllowed());
+        mSwitchPref.setEnabled(state.isExisted());
+        return true;
+    }
+
+    /** Returns the summary string for this setting preference. */
+    public static CharSequence getSummary(Context context, AppEntry entry) {
+        NfcTagAppState state;
+        if (entry.extraInfo instanceof NfcTagAppState) {
+            state = (NfcTagAppState) entry.extraInfo;
+        } else {
+            state = new NfcTagAppState(/* exist */ false, /* allowed */ false);
+        }
+        return context.getString(state.isAllowed()
+                ? R.string.app_permission_summary_allowed
+                : R.string.app_permission_summary_not_allowed);
+    }
+}
diff --git a/src/com/android/settings/nfc/NfcTagAppsPreferenceController.java b/src/com/android/settings/nfc/NfcTagAppsPreferenceController.java
new file mode 100644
index 0000000..36de84d
--- /dev/null
+++ b/src/com/android/settings/nfc/NfcTagAppsPreferenceController.java
@@ -0,0 +1,42 @@
+/*
+ * 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.settings.nfc;
+
+import android.content.Context;
+import android.nfc.NfcAdapter;
+
+import com.android.settings.core.BasePreferenceController;
+
+/**
+ * A PreferenceController handling the logic for the Nfc Tag App preference
+ */
+public class NfcTagAppsPreferenceController extends BasePreferenceController {
+    private NfcAdapter mNfcAdapter;
+
+    public NfcTagAppsPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mNfcAdapter = NfcAdapter.getDefaultAdapter(context.getApplicationContext());
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (mNfcAdapter != null) {
+            return mNfcAdapter.isTagIntentAppPreferenceSupported()
+                    ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        }
+        return UNSUPPORTED_ON_DEVICE;
+    }
+}
diff --git a/src/com/android/settings/notification/BubbleNotificationIllustrationPreferenceController.java b/src/com/android/settings/notification/BubbleNotificationIllustrationPreferenceController.java
index fad83d8..386b554 100644
--- a/src/com/android/settings/notification/BubbleNotificationIllustrationPreferenceController.java
+++ b/src/com/android/settings/notification/BubbleNotificationIllustrationPreferenceController.java
@@ -18,11 +18,7 @@
 
 import android.content.Context;
 
-import androidx.preference.PreferenceScreen;
-
 import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.widget.IllustrationPreference;
-import com.android.settingslib.widget.LottieColorUtils;
 
 /**
  * Controller for the illustration shown for the feature level settings screen for bubbles.
@@ -37,13 +33,4 @@
     public int getAvailabilityStatus() {
         return AVAILABLE;
     }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        IllustrationPreference illustrationPreference = screen.findPreference(getPreferenceKey());
-        illustrationPreference.setOnBindListener(animationView -> {
-            LottieColorUtils.applyDynamicColors(mContext, animationView);
-        });
-    }
 }
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index 0c05039..55e01b0 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -71,6 +71,7 @@
 import android.view.ViewGroup;
 import android.view.WindowManager;
 import android.view.inputmethod.EditorInfo;
+import android.widget.CheckBox;
 import android.widget.ImeAwareEditText;
 import android.widget.TextView;
 import android.widget.TextView.OnEditorActionListener;
@@ -101,7 +102,9 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class ChooseLockPassword extends SettingsActivity {
     private static final String TAG = "ChooseLockPassword";
@@ -223,6 +226,8 @@
         private static final String KEY_CURRENT_CREDENTIAL = "current_credential";
         private static final String FRAGMENT_TAG_SAVE_AND_FINISH = "save_and_finish_worker";
 
+        private static final int MIN_AUTO_PIN_REQUIREMENT_LENGTH = 6;
+
         private LockscreenCredential mCurrentCredential;
         private LockscreenCredential mChosenPassword;
         private boolean mRequestGatekeeperPassword;
@@ -255,6 +260,9 @@
         protected FooterButton mSkipOrClearButton;
         private FooterButton mNextButton;
         private TextView mMessage;
+        protected CheckBox mAutoPinConfirmOption;
+        protected TextView mAutoConfirmSecurityMessage;
+        protected boolean mIsAutoPinConfirmOptionSetManually;
 
         private TextChangedHandler mTextChangedHandler;
 
@@ -515,6 +523,16 @@
             mPasswordEntry.requestFocus();
             mPasswordEntryInputDisabler = new TextViewInputDisabler(mPasswordEntry);
 
+            // Fetch the AutoPinConfirmOption
+            mAutoPinConfirmOption = view.findViewById(R.id.auto_pin_confirm_enabler);
+            mAutoConfirmSecurityMessage = view.findViewById(R.id.auto_pin_confirm_security_message);
+            mIsAutoPinConfirmOptionSetManually = false;
+            setOnAutoConfirmOptionClickListener();
+            if (mAutoPinConfirmOption != null) {
+                mAutoPinConfirmOption.setVisibility(View.GONE);
+                mAutoPinConfirmOption.setChecked(false);
+            }
+
             final Activity activity = getActivity();
 
             int currentType = mPasswordEntry.getInputType();
@@ -808,10 +826,22 @@
                                 R.string.lockpassword_password_requires_nonnumerical));
                         break;
                     case TOO_SHORT:
-                        messages.add(StringUtil.getIcuPluralsString(getContext(), error.requirement,
+                        String message = StringUtil.getIcuPluralsString(getContext(),
+                                error.requirement,
                                 mIsAlphaMode
                                         ? R.string.lockpassword_password_too_short
-                                        : R.string.lockpassword_pin_too_short));
+                                        : R.string.lockpassword_pin_too_short);
+                        if (mLockPatternUtils.isAutoPinConfirmFeatureAvailable()
+                                && !mIsAlphaMode
+                                && error.requirement < MIN_AUTO_PIN_REQUIREMENT_LENGTH) {
+                            Map<String, Object> arguments = new HashMap<>();
+                            arguments.put("count", error.requirement);
+                            arguments.put("minAutoConfirmLen", MIN_AUTO_PIN_REQUIREMENT_LENGTH);
+                            message = StringUtil.getIcuPluralsString(getContext(),
+                                    arguments,
+                                    R.string.lockpassword_pin_too_short_autoConfirm_extra_message);
+                        }
+                        messages.add(message);
                         break;
                     case TOO_SHORT_WHEN_ALL_NUMERIC:
                         messages.add(
@@ -864,6 +894,8 @@
                 String[] messages = convertErrorCodeToMessages();
                 // Update the fulfillment of requirements.
                 mPasswordRequirementAdapter.setRequirements(messages);
+                // set the visibility of pin_auto_confirm option accordingly
+                setAutoPinConfirmOption(passwordCompliant, length);
                 // Enable/Disable the next button accordingly.
                 setNextEnabled(passwordCompliant);
             } else {
@@ -896,6 +928,36 @@
             return visibleOrGone ? View.VISIBLE : View.GONE;
         }
 
+        private void setAutoPinConfirmOption(boolean enabled, int length) {
+            if (!mLockPatternUtils.isAutoPinConfirmFeatureAvailable()
+                    || mAutoPinConfirmOption == null) {
+                return;
+            }
+            if (enabled && !mIsAlphaMode && isAutoPinConfirmPossible(length)) {
+                mAutoPinConfirmOption.setVisibility(View.VISIBLE);
+                mAutoConfirmSecurityMessage.setVisibility(View.VISIBLE);
+                if (!mIsAutoPinConfirmOptionSetManually) {
+                    mAutoPinConfirmOption.setChecked(length == MIN_AUTO_PIN_REQUIREMENT_LENGTH);
+                }
+            } else {
+                mAutoPinConfirmOption.setVisibility(View.GONE);
+                mAutoConfirmSecurityMessage.setVisibility(View.GONE);
+                mAutoPinConfirmOption.setChecked(false);
+            }
+        }
+
+        private boolean isAutoPinConfirmPossible(int currentPinLength) {
+            return currentPinLength >= MIN_AUTO_PIN_REQUIREMENT_LENGTH;
+        }
+
+        private void setOnAutoConfirmOptionClickListener() {
+            if (mAutoPinConfirmOption != null) {
+                mAutoPinConfirmOption.setOnClickListener((v) -> {
+                    mIsAutoPinConfirmOptionSetManually = true;
+                });
+            }
+        }
+
         private void setHeaderText(String text) {
             // Only set the text if it is different than the existing one to avoid announcing again.
             if (!TextUtils.isEmpty(mLayout.getHeaderText())
@@ -951,6 +1013,10 @@
             }
             mSaveAndFinishWorker.start(mLockPatternUtils, mRequestGatekeeperPassword,
                     mChosenPassword, mCurrentCredential, mUserId);
+            // update the pin_auto_confirm setting accordingly.
+            mLockPatternUtils.setAutoPinConfirm(
+                    (mAutoPinConfirmOption != null && mAutoPinConfirmOption.isChecked()),
+                    mUserId);
         }
 
         @Override
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
index 7feb2b1..7787ae1 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
@@ -25,6 +25,7 @@
 import android.app.Dialog;
 import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
+import android.app.admin.ManagedSubscriptionsPolicy;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
@@ -34,6 +35,7 @@
 import android.os.Handler;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.telecom.TelecomManager;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
@@ -139,6 +141,31 @@
             getActivity().finish();
         });
         setupForgotButtonIfManagedProfile(view);
+        setupEmergencyCallButtonIfManagedSubscription(view);
+    }
+
+    private void setupEmergencyCallButtonIfManagedSubscription(View view) {
+        int policyType = getContext().getSystemService(
+                DevicePolicyManager.class).getManagedSubscriptionsPolicy().getPolicyType();
+
+        if (policyType == ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS) {
+            Button emergencyCallButton = view.findViewById(R.id.emergencyCallButton);
+            if (emergencyCallButton == null) {
+                Log.wtf(TAG,
+                        "Emergency call button not found in managed profile credential dialog");
+                return;
+            }
+            emergencyCallButton.setVisibility(View.VISIBLE);
+            emergencyCallButton.setOnClickListener(v -> {
+                final Intent intent = getActivity()
+                        .getSystemService(TelecomManager.class)
+                        .createLaunchEmergencyDialerIntent(null)
+                        .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
+                                | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+                getActivity().startActivity(intent);
+                getActivity().finish();
+            });
+        }
     }
 
     private void setupForgotButtonIfManagedProfile(View view) {
diff --git a/src/com/android/settings/password/SetupChooseLockPassword.java b/src/com/android/settings/password/SetupChooseLockPassword.java
index 5306719..74cb271 100644
--- a/src/com/android/settings/password/SetupChooseLockPassword.java
+++ b/src/com/android/settings/password/SetupChooseLockPassword.java
@@ -170,6 +170,12 @@
                 mOptionsButton.setVisibility(
                         mUiStage == Stage.Introduction ? View.VISIBLE : View.GONE);
             }
+
+            // Visibility of auto pin confirm opt-in/out option should always be invisible.
+            if (mAutoPinConfirmOption != null) {
+                mAutoPinConfirmOption.setVisibility(View.GONE);
+                mAutoConfirmSecurityMessage.setVisibility(View.GONE);
+            }
         }
     }
 }
diff --git a/src/com/android/settings/privacy/PrivacyDashboardFragment.java b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
index 46a05b0..045405b 100644
--- a/src/com/android/settings/privacy/PrivacyDashboardFragment.java
+++ b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
@@ -16,12 +16,6 @@
 
 package com.android.settings.privacy;
 
-import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECTED_WORK_AND_PERSONAL_APPS_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LOCKED_NOTIFICATION_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PRIVACY_POLICY_INFO;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY;
-
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
@@ -32,23 +26,20 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.notification.LockScreenNotificationPreferenceController;
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
+import com.android.settings.safetycenter.SafetyCenterUtils;
+import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
 public class PrivacyDashboardFragment extends DashboardFragment {
     private static final String TAG = "PrivacyDashboardFrag";
-    private static final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications";
-    private static final String KEY_WORK_PROFILE_CATEGORY =
-            "privacy_work_profile_notifications_category";
     private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
             "privacy_lock_screen_work_profile_notifications";
 
@@ -65,18 +56,13 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        replaceEnterpriseStringTitle("privacy_lock_screen_work_profile_notifications",
-                WORK_PROFILE_LOCKED_NOTIFICATION_TITLE,
-                R.string.locked_work_profile_notification_title);
-        replaceEnterpriseStringTitle("interact_across_profiles_privacy",
-                CONNECTED_WORK_AND_PERSONAL_APPS_TITLE, R.string.interact_across_profiles_title);
-        replaceEnterpriseStringTitle("privacy_work_profile_notifications_category",
-                WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER, R.string.profile_section_header);
-        replaceEnterpriseStringTitle("work_policy_info",
-                WORK_PROFILE_PRIVACY_POLICY_INFO, R.string.work_policy_privacy_settings);
-        replaceEnterpriseStringSummary("work_policy_info",
-                WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY,
-                R.string.work_policy_privacy_settings_summary);
+        List<EnterpriseOverrideString> privacyOverrideStrings =
+                SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
+        for (int i = 0; i < privacyOverrideStrings.size(); i++) {
+            EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
+            replaceEnterpriseStringTitle(overrideString.getPreferenceKey(),
+                    overrideString.getOverrideKey(), overrideString.getResource());
+        }
     }
 
     @Override
@@ -104,26 +90,21 @@
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(
             Context context, Lifecycle lifecycle) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final LockScreenNotificationPreferenceController notificationController =
-                new LockScreenNotificationPreferenceController(context,
-                        KEY_LOCK_SCREEN_NOTIFICATIONS,
-                        KEY_WORK_PROFILE_CATEGORY,
-                        KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
-        if (lifecycle != null) {
-            lifecycle.addObserver(notificationController);
-        }
-        controllers.add(notificationController);
-
-        return controllers;
-
+        return SafetyCenterUtils.getControllersForAdvancedPrivacy(context, lifecycle);
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
+                /**
+                 * If SafetyCenter is enabled, all of these entries will be in the More Settings
+                 * page, and we don't want to index these entries.
+                 */
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
                         Context context, boolean enabled) {
+                    if (SafetyCenterManagerWrapper.get().isEnabled(context)) {
+                        return null;
+                    }
                     final SearchIndexableResource sir = new SearchIndexableResource(context);
                     sir.xmlResId = getPreferenceScreenResId(context);
                     return Arrays.asList(sir);
diff --git a/src/com/android/settings/safetycenter/BiometricsSafetySource.java b/src/com/android/settings/safetycenter/BiometricsSafetySource.java
index d3e3189..ac486d7 100644
--- a/src/com/android/settings/safetycenter/BiometricsSafetySource.java
+++ b/src/com/android/settings/safetycenter/BiometricsSafetySource.java
@@ -27,7 +27,6 @@
 import android.safetycenter.SafetySourceData;
 import android.safetycenter.SafetySourceStatus;
 
-import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.biometrics.BiometricNavigationUtils;
 import com.android.settings.biometrics.combination.CombinedBiometricStatusUtils;
@@ -63,7 +62,7 @@
             final RestrictedLockUtils.EnforcedAdmin disablingAdmin =
                     combinedBiometricStatusUtils.getDisablingAdmin();
             setBiometricSafetySourceData(context,
-                    context.getString(R.string.security_settings_biometric_preference_title),
+                    combinedBiometricStatusUtils.getTitle(),
                     combinedBiometricStatusUtils.getSummary(),
                     createPendingIntent(context,
                             biometricNavigationUtils.getBiometricSettingsIntent(context,
@@ -83,7 +82,7 @@
             final RestrictedLockUtils.EnforcedAdmin disablingAdmin =
                     faceStatusUtils.getDisablingAdmin();
             setBiometricSafetySourceData(context,
-                    context.getString(R.string.security_settings_face_preference_title),
+                    faceStatusUtils.getTitle(),
                     faceStatusUtils.getSummary(),
                     createPendingIntent(context,
                             biometricNavigationUtils.getBiometricSettingsIntent(context,
@@ -105,7 +104,7 @@
             final RestrictedLockUtils.EnforcedAdmin disablingAdmin =
                     fingerprintStatusUtils.getDisablingAdmin();
             setBiometricSafetySourceData(context,
-                    context.getString(R.string.security_settings_fingerprint_preference_title),
+                    fingerprintStatusUtils.getTitle(),
                     fingerprintStatusUtils.getSummary(),
                     createPendingIntent(context,
                             biometricNavigationUtils.getBiometricSettingsIntent(context,
diff --git a/src/com/android/settings/safetycenter/LockScreenSafetySource.java b/src/com/android/settings/safetycenter/LockScreenSafetySource.java
index bdc0a09..de20e24 100644
--- a/src/com/android/settings/safetycenter/LockScreenSafetySource.java
+++ b/src/com/android/settings/safetycenter/LockScreenSafetySource.java
@@ -23,6 +23,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.safetycenter.SafetyEvent;
 import android.safetycenter.SafetySourceData;
 import android.safetycenter.SafetySourceIssue;
@@ -56,6 +57,11 @@
             return;
         }
 
+        UserManager userManager = context.getSystemService(UserManager.class);
+        if (userManager != null && userManager.isProfile()) {
+            return; // LockScreen source only supports primary profile.
+        }
+
         if (!screenLockPreferenceDetailsUtils.isAvailable()) {
             return;
         }
@@ -138,6 +144,12 @@
                 SET_SCREEN_LOCK_ACTION_ID,
                 context.getString(R.string.no_screen_lock_issue_action_label),
                 pendingIntent).build();
+        // Custom notification deliberately has zero actions
+        final SafetySourceIssue.Notification customNotification =
+            new SafetySourceIssue.Notification.Builder(
+                context.getString(R.string.no_screen_lock_issue_notification_title),
+                context.getString(R.string.no_screen_lock_issue_notification_text))
+                .build();
         return new SafetySourceIssue.Builder(
                 NO_SCREEN_LOCK_ISSUE_ID,
                 context.getString(R.string.no_screen_lock_issue_title),
@@ -145,6 +157,10 @@
                 SafetySourceData.SEVERITY_LEVEL_RECOMMENDATION,
                 NO_SCREEN_LOCK_ISSUE_TYPE_ID)
                 .setIssueCategory(SafetySourceIssue.ISSUE_CATEGORY_DEVICE)
-                .addAction(action).build();
+                .addAction(action)
+                .setIssueActionability(SafetySourceIssue.ISSUE_ACTIONABILITY_MANUAL)
+                .setCustomNotification(customNotification)
+                .setNotificationBehavior(SafetySourceIssue.NOTIFICATION_BEHAVIOR_DELAYED)
+                .build();
     }
 }
diff --git a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
new file mode 100644
index 0000000..95732f4
--- /dev/null
+++ b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
@@ -0,0 +1,155 @@
+/*
+ * 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.settings.safetycenter;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.SearchIndexableResource;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.security.LockUnificationPreferenceController;
+import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * An overflow menu for {@code SecuritySettings} containing advanced security and privacy settings.
+ *
+ * <p>This also includes all work-profile related settings.
+ */
+@SearchIndexable
+public class MoreSecurityPrivacyFragment extends DashboardFragment {
+    private static final String TAG = "MoreSecurityPrivacyFragment";
+    private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
+            "privacy_lock_screen_work_profile_notifications";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.MORE_SECURITY_PRIVACY_SETTINGS;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.more_security_privacy_settings;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        List<EnterpriseOverrideString> privacyOverrideStrings =
+                SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
+        for (int i = 0; i < privacyOverrideStrings.size(); i++) {
+            EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
+            replaceEnterpriseStringTitle(overrideString.getPreferenceKey(),
+                    overrideString.getOverrideKey(), overrideString.getResource());
+        }
+        List<EnterpriseOverrideString> securityOverrideStrings =
+                SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
+        for (int i = 0; i < securityOverrideStrings.size(); i++) {
+            EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
+            replaceEnterpriseStringTitle(overrideString.getPreferenceKey(),
+                    overrideString.getOverrideKey(), overrideString.getResource());
+        }
+    }
+
+    /**
+     * see confirmPatternThenDisableAndClear
+     */
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (use(TrustAgentListPreferenceController.class)
+                .handleActivityResult(requestCode, resultCode)) {
+            return;
+        }
+        if (use(LockUnificationPreferenceController.class)
+                .handleActivityResult(requestCode, resultCode, data)) {
+            return;
+        }
+        super.onActivityResult(requestCode, resultCode, data);
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, getSettingsLifecycle(), this /* host*/);
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(
+            Context context, Lifecycle lifecycle, DashboardFragment host) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.addAll(SafetyCenterUtils.getControllersForAdvancedPrivacy(context, lifecycle));
+        controllers.addAll(
+                SafetyCenterUtils.getControllersForAdvancedSecurity(context, lifecycle, host));
+        return controllers;
+
+    }
+
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.more_security_privacy_settings) {
+                /**
+                 * If SafetyCenter is disabled, all of these entries will be in the More Security
+                 * Settings and the Privacy page, and we don't want to index these entries.
+                 */
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(
+                        Context context, boolean enabled) {
+                    if (!SafetyCenterManagerWrapper.get().isEnabled(context)) {
+                        return null;
+                    }
+                    return super.getXmlResourcesToIndex(context, enabled);
+                }
+
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(context, null, null);
+                }
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    final List<String> keys = super.getNonIndexableKeys(context);
+                    final int profileUserId =
+                            Utils.getManagedProfileId(
+                                    UserManager.get(context), UserHandle.myUserId());
+                    // If work profile is supported, we should keep the search result.
+                    if (profileUserId != UserHandle.USER_NULL) {
+                        return keys;
+                    }
+
+                    // Otherwise, we should hide the search result.
+                    keys.add(KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
+                    return keys;
+                }
+            };
+}
diff --git a/src/com/android/settings/safetycenter/SafetyCenterUtils.java b/src/com/android/settings/safetycenter/SafetyCenterUtils.java
new file mode 100644
index 0000000..6c7967d
--- /dev/null
+++ b/src/com/android/settings/safetycenter/SafetyCenterUtils.java
@@ -0,0 +1,191 @@
+/*
+ * 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.settings.safetycenter;
+
+import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECTED_WORK_AND_PERSONAL_APPS_TITLE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_FOR_WORK;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGED_DEVICE_INFO;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGE_DEVICE_ADMIN_APPS;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LOCKED_NOTIFICATION_TITLE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PRIVACY_POLICY_INFO;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SECURITY_TITLE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_UNIFY_LOCKS_SUMMARY;
+
+import android.annotation.StringRes;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.biometrics.combination.CombinedBiometricProfileStatusPreferenceController;
+import com.android.settings.biometrics.face.FaceProfileStatusPreferenceController;
+import com.android.settings.biometrics.fingerprint.FingerprintProfileStatusPreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.notification.LockScreenNotificationPreferenceController;
+import com.android.settings.privacy.PrivacyDashboardFragment;
+import com.android.settings.security.ChangeProfileScreenLockPreferenceController;
+import com.android.settings.security.LockUnificationPreferenceController;
+import com.android.settings.security.VisiblePatternProfilePreferenceController;
+import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
+import com.android.settings.widget.PreferenceCategoryController;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A class with helper method used in logic involving safety center.
+ */
+public final class SafetyCenterUtils {
+
+    /**
+     * Returns preference controllers related to advanced security entries.
+     * This is used in {@link MoreSecurityPrivacyFragment} and
+     * {@link com.android.settings.security.SecurityAdvancedSettings}.
+     */
+    public static List<AbstractPreferenceController> getControllersForAdvancedSecurity(
+            Context context,
+            com.android.settingslib.core.lifecycle.Lifecycle lifecycle, DashboardFragment host) {
+        final String WORK_PROFILE_SECURITY_CATEGORY = "work_profile_category";
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new TrustAgentListPreferenceController(context, host, lifecycle));
+
+        final List<AbstractPreferenceController> profileSecurityControllers = new ArrayList<>();
+        profileSecurityControllers.add(new ChangeProfileScreenLockPreferenceController(
+                context, host));
+        profileSecurityControllers.add(new LockUnificationPreferenceController(context, host));
+        profileSecurityControllers.add(new VisiblePatternProfilePreferenceController(
+                context, lifecycle));
+        profileSecurityControllers.add(new FaceProfileStatusPreferenceController(
+                context, lifecycle));
+        profileSecurityControllers.add(new FingerprintProfileStatusPreferenceController(
+                context, lifecycle));
+        profileSecurityControllers
+                .add(new CombinedBiometricProfileStatusPreferenceController(context, lifecycle));
+        controllers.add(new PreferenceCategoryController(context, WORK_PROFILE_SECURITY_CATEGORY)
+                .setChildren(profileSecurityControllers));
+        controllers.addAll(profileSecurityControllers);
+        return controllers;
+    }
+
+    /**
+     * Returns preference controllers for advanced privacy entries.
+     * This is used in {@link MoreSecurityPrivacyFragment} and {@link PrivacyDashboardFragment}.
+     */
+    public static List<AbstractPreferenceController> getControllersForAdvancedPrivacy(
+            Context context, com.android.settingslib.core.lifecycle.Lifecycle lifecycle) {
+        final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications";
+        final String KEY_WORK_PROFILE_CATEGORY =
+                "privacy_work_profile_notifications_category";
+        final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
+                "privacy_lock_screen_work_profile_notifications";
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        final LockScreenNotificationPreferenceController notificationController =
+                new LockScreenNotificationPreferenceController(context,
+                        KEY_LOCK_SCREEN_NOTIFICATIONS,
+                        KEY_WORK_PROFILE_CATEGORY,
+                        KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
+        if (lifecycle != null) {
+            lifecycle.addObserver(notificationController);
+        }
+        controllers.add(notificationController);
+        return controllers;
+    }
+
+    /**
+     * A class that stores the resource that will be overridden using preferenceKey and overrideKey.
+     */
+    public static final class EnterpriseOverrideString {
+        private final String mPreferenceKey;
+        private final String mOverrideKey;
+        @StringRes private final int mResource;
+
+        public EnterpriseOverrideString(
+                String preferenceKey,
+                String overrideKey,
+                @StringRes int resource) {
+            this.mPreferenceKey = preferenceKey;
+            this.mOverrideKey = overrideKey;
+            this.mResource = resource;
+        }
+
+        @StringRes
+        public int getResource() {
+            return mResource;
+        }
+
+        public String getPreferenceKey() {
+            return mPreferenceKey;
+        }
+
+        public String getOverrideKey() {
+            return mOverrideKey;
+        }
+    }
+
+    /**
+     * Returns a list of @{EnterpriseOverrideString} for the privacy entries.
+     */
+    public static List<EnterpriseOverrideString> getEnterpriseOverrideStringForPrivacyEntries() {
+        List<EnterpriseOverrideString> enterpriseOverrideStrings = new ArrayList<>();
+        enterpriseOverrideStrings.add(
+                new EnterpriseOverrideString("privacy_lock_screen_work_profile_notifications",
+                        WORK_PROFILE_LOCKED_NOTIFICATION_TITLE,
+                        R.string.locked_work_profile_notification_title));
+        enterpriseOverrideStrings.add(
+                new EnterpriseOverrideString("interact_across_profiles_privacy",
+                        CONNECTED_WORK_AND_PERSONAL_APPS_TITLE,
+                        R.string.interact_across_profiles_title));
+        enterpriseOverrideStrings.add(
+                new EnterpriseOverrideString("privacy_work_profile_notifications_category",
+                        WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER,
+                        R.string.profile_section_header));
+        enterpriseOverrideStrings.add(new EnterpriseOverrideString("work_policy_info",
+                WORK_PROFILE_PRIVACY_POLICY_INFO, R.string.work_policy_privacy_settings));
+        enterpriseOverrideStrings.add(new EnterpriseOverrideString("work_policy_info",
+                WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY,
+                R.string.work_policy_privacy_settings_summary));
+        return enterpriseOverrideStrings;
+    }
+
+    /**
+     * Returns a list of @{EnterpriseOverrideString} for the security entries.
+     */
+    public static List<EnterpriseOverrideString> getEnterpriseOverrideStringForSecurityEntries() {
+        List<EnterpriseOverrideString> enterpriseOverrideStrings = new ArrayList<>();
+        enterpriseOverrideStrings.add(new EnterpriseOverrideString("unlock_set_or_change_profile",
+                WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE,
+                R.string.unlock_set_unlock_launch_picker_title_profile));
+        enterpriseOverrideStrings.add(new EnterpriseOverrideString("unification",
+                WORK_PROFILE_UNIFY_LOCKS_SUMMARY,
+                R.string.lock_settings_profile_unification_summary));
+        enterpriseOverrideStrings.add(new EnterpriseOverrideString("fingerprint_settings_profile",
+                FINGERPRINT_FOR_WORK,
+                R.string.security_settings_work_fingerprint_preference_title));
+        enterpriseOverrideStrings.add(new EnterpriseOverrideString("manage_device_admin",
+                MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin));
+        enterpriseOverrideStrings.add(new EnterpriseOverrideString("security_category_profile",
+                WORK_PROFILE_SECURITY_TITLE, R.string.lock_settings_profile_title));
+        enterpriseOverrideStrings.add(
+                new EnterpriseOverrideString("enterprise_privacy", MANAGED_DEVICE_INFO,
+                        R.string.enterprise_privacy_settings));
+        return enterpriseOverrideStrings;
+    }
+
+    private SafetyCenterUtils() {}
+}
diff --git a/src/com/android/settings/security/MemtagHelper.java b/src/com/android/settings/security/MemtagHelper.java
index b3e24e4..9fd74f3 100644
--- a/src/com/android/settings/security/MemtagHelper.java
+++ b/src/com/android/settings/security/MemtagHelper.java
@@ -29,14 +29,14 @@
         return "force_off"
                 .equals(
                         SystemProperties.get(
-                                "persist.device_config.memory_safety_native.bootloader_override"));
+                                "persist.device_config.memory_safety_native_boot.bootloader_override"));
     }
 
     private static boolean isForcedOn() {
         return "force_on"
                 .equals(
                         SystemProperties.get(
-                                "persist.device_config.memory_safety_native.bootloader_override"));
+                                "persist.device_config.memory_safety_native_boot.bootloader_override"));
     }
 
     public static boolean isChecked() {
diff --git a/src/com/android/settings/security/SecurityAdvancedSettings.java b/src/com/android/settings/security/SecurityAdvancedSettings.java
index f716064..b2b2782 100644
--- a/src/com/android/settings/security/SecurityAdvancedSettings.java
+++ b/src/com/android/settings/security/SecurityAdvancedSettings.java
@@ -16,34 +16,25 @@
 
 package com.android.settings.security;
 
-import static android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_FOR_WORK;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGED_DEVICE_INFO;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGE_DEVICE_ADMIN_APPS;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SECURITY_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_UNIFY_LOCKS_SUMMARY;
-
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
-import com.android.settings.biometrics.combination.CombinedBiometricProfileStatusPreferenceController;
-import com.android.settings.biometrics.face.FaceProfileStatusPreferenceController;
-import com.android.settings.biometrics.fingerprint.FingerprintProfileStatusPreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
+import com.android.settings.safetycenter.SafetyCenterUtils;
+import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
-import com.android.settings.widget.PreferenceCategoryController;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -55,7 +46,6 @@
 public class SecurityAdvancedSettings extends DashboardFragment {
 
     private static final String TAG = "SecurityAdvancedSettings";
-    private static final String WORK_PROFILE_SECURITY_CATEGORY = "security_category_profile";
 
     /** Used in case of old Security settings when SafetyCenter is disabled */
     private static final String CATEGORY_SECURITY_LEGACY_ADVANCED_SETTINGS =
@@ -64,22 +54,13 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        replaceEnterpriseStringTitle("unlock_set_or_change_profile",
-                WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE,
-                R.string.unlock_set_unlock_launch_picker_title_profile);
-        replaceEnterpriseStringSummary("unification",
-                WORK_PROFILE_UNIFY_LOCKS_SUMMARY,
-                R.string.lock_settings_profile_unification_summary);
-        replaceEnterpriseStringTitle("fingerprint_settings_profile",
-                FINGERPRINT_FOR_WORK,
-                R.string.security_settings_work_fingerprint_preference_title);
-        replaceEnterpriseStringTitle("manage_device_admin",
-                MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin);
-        replaceEnterpriseStringTitle("security_category_profile",
-                WORK_PROFILE_SECURITY_TITLE, R.string.lock_settings_profile_title);
-        replaceEnterpriseStringTitle("enterprise_privacy", MANAGED_DEVICE_INFO,
-                R.string.enterprise_privacy_settings);
-
+        List<EnterpriseOverrideString> securityOverrideStrings =
+                SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
+        for (int i = 0; i < securityOverrideStrings.size(); i++) {
+            EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
+            replaceEnterpriseStringTitle(overrideString.getPreferenceKey(),
+                    overrideString.getOverrideKey(), overrideString.getResource());
+        }
     }
 
     @Override
@@ -140,26 +121,7 @@
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle, DashboardFragment host) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new TrustAgentListPreferenceController(context, host, lifecycle));
-
-        final List<AbstractPreferenceController> profileSecurityControllers = new ArrayList<>();
-        profileSecurityControllers.add(new ChangeProfileScreenLockPreferenceController(
-                context, host));
-        profileSecurityControllers.add(new LockUnificationPreferenceController(context, host));
-        profileSecurityControllers.add(new VisiblePatternProfilePreferenceController(
-                context, lifecycle));
-        profileSecurityControllers.add(new FaceProfileStatusPreferenceController(
-                context, lifecycle));
-        profileSecurityControllers.add(new FingerprintProfileStatusPreferenceController(
-                context, lifecycle));
-        profileSecurityControllers
-                .add(new CombinedBiometricProfileStatusPreferenceController(context, lifecycle));
-        controllers.add(new PreferenceCategoryController(context, WORK_PROFILE_SECURITY_CATEGORY)
-                .setChildren(profileSecurityControllers));
-        controllers.addAll(profileSecurityControllers);
-
-        return controllers;
+        return SafetyCenterUtils.getControllersForAdvancedSecurity(context, lifecycle, host);
     }
 
     /**
@@ -167,6 +129,18 @@
      */
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.security_advanced_settings) {
+                /**
+                 * If SafetyCenter is enabled, all of these entries will be in the More Settings
+                 * page, and we don't want to index these entries.
+                 */
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    if (SafetyCenterManagerWrapper.get().isEnabled(context)) {
+                        return null;
+                    }
+                    return super.getXmlResourcesToIndex(context, enabled);
+                }
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(Context
diff --git a/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceController.java b/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceController.java
new file mode 100644
index 0000000..75af1fa
--- /dev/null
+++ b/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceController.java
@@ -0,0 +1,85 @@
+/*
+ * 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.settings.security.screenlock;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+/**
+ * Preference controller for the pin_auto_confirm setting.
+ */
+public class AutoPinConfirmPreferenceController extends AbstractPreferenceController implements
+        PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String PREF_KEY_PIN_AUTO_CONFIRM = "auto_pin_confirm";
+    private static final long MIN_AUTO_PIN_REQUIREMENT_LENGTH = 6L;
+
+    private final int mUserId;
+    private final LockPatternUtils mLockPatternUtils;
+
+    public AutoPinConfirmPreferenceController(Context context, int userId,
+            LockPatternUtils lockPatternUtils) {
+        super(context);
+        mUserId = userId;
+        mLockPatternUtils = lockPatternUtils;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        setPinAutoConfirmSettingState((boolean) newValue);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        ((TwoStatePreference) preference).setChecked(getPinAutoConfirmSettingState());
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return mLockPatternUtils.isAutoPinConfirmFeatureAvailable() && isPinLock()
+                && isPinLengthEligibleForAutoConfirmation();
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY_PIN_AUTO_CONFIRM;
+    }
+
+    private boolean isPinLock() {
+        return mLockPatternUtils.getCredentialTypeForUser(mUserId)
+                == LockPatternUtils.CREDENTIAL_TYPE_PIN;
+    }
+
+    private boolean isPinLengthEligibleForAutoConfirmation() {
+        return mLockPatternUtils.getPinLength(mUserId) >= MIN_AUTO_PIN_REQUIREMENT_LENGTH;
+    }
+
+    private boolean getPinAutoConfirmSettingState() {
+        return mLockPatternUtils.isAutoPinConfirmEnabled(mUserId);
+    }
+
+    private void setPinAutoConfirmSettingState(boolean state) {
+        mLockPatternUtils.setAutoPinConfirm(state, mUserId);
+    }
+}
diff --git a/src/com/android/settings/security/screenlock/ScreenLockSettings.java b/src/com/android/settings/security/screenlock/ScreenLockSettings.java
index 082e333..af3cb65 100644
--- a/src/com/android/settings/security/screenlock/ScreenLockSettings.java
+++ b/src/com/android/settings/security/screenlock/ScreenLockSettings.java
@@ -75,6 +75,8 @@
                 context, MY_USER_ID, lockPatternUtils));
         controllers.add(new LockAfterTimeoutPreferenceController(
                 context, MY_USER_ID, lockPatternUtils));
+        controllers.add(new AutoPinConfirmPreferenceController(
+                context, MY_USER_ID, lockPatternUtils));
         controllers.add(new OwnerInfoPreferenceController(context, parent));
         return controllers;
     }
diff --git a/src/com/android/settings/spa/app/AllAppList.kt b/src/com/android/settings/spa/app/AllAppList.kt
index 08b06a6..d357299 100644
--- a/src/com/android/settings/spa/app/AllAppList.kt
+++ b/src/com/android/settings/spa/app/AllAppList.kt
@@ -27,8 +27,8 @@
 import com.android.settings.R
 import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
 import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
-import com.android.settingslib.spa.framework.common.SettingsPage
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.common.createSettingsPage
 import com.android.settingslib.spa.framework.compose.navigator
 import com.android.settingslib.spa.framework.compose.rememberContext
 import com.android.settingslib.spa.framework.util.filterItem
@@ -48,6 +48,7 @@
 
 object AllAppListPageProvider : SettingsPageProvider {
     override val name = "AllAppList"
+    private val owner = createSettingsPage()
 
     @Composable
     override fun Page(arguments: Bundle?) {
@@ -55,7 +56,7 @@
     }
 
     fun buildInjectEntry() = SettingsEntryBuilder
-        .createInject(owner = SettingsPage.create(name))
+        .createInject(owner)
         .setSearchDataFn { null }
         .setUiLayoutFn {
             Preference(object : PreferenceModel {
diff --git a/src/com/android/settings/spa/app/appinfo/AppBatteryPreference.kt b/src/com/android/settings/spa/app/appinfo/AppBatteryPreference.kt
index 720422f..edb2a1e 100644
--- a/src/com/android/settings/spa/app/appinfo/AppBatteryPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppBatteryPreference.kt
@@ -40,7 +40,9 @@
 import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spaprivileged.framework.common.asUser
 import com.android.settingslib.spaprivileged.model.app.installed
+import com.android.settingslib.spaprivileged.model.app.userHandle
 import com.android.settingslib.spaprivileged.model.app.userId
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
@@ -63,6 +65,7 @@
 }
 
 private class AppBatteryPresenter(private val context: Context, private val app: ApplicationInfo) {
+    private val userContext = context.asUser(app.userHandle)
     private var batteryDiffEntryState: LoadingState<BatteryDiffEntry?>
         by mutableStateOf(LoadingState.Loading)
 
@@ -84,7 +87,7 @@
 
     private suspend fun getBatteryDiffEntry(): BatteryDiffEntry? = withContext(Dispatchers.IO) {
         BatteryChartPreferenceController.getAppBatteryUsageData(
-            context, app.packageName, app.userId
+            userContext, app.packageName, app.userId
         ).also {
             Log.d(TAG, "loadBatteryDiffEntries():\n$it")
         }
@@ -141,6 +144,7 @@
             .setDestination(AdvancedPowerUsageDetail::class.java.name)
             .setTitleRes(R.string.battery_details_title)
             .setArguments(args)
+            .setUserHandle(app.userHandle)
             .setSourceMetricsCategory(AppInfoSettingsProvider.METRICS_CATEGORY)
             .launch()
     }
diff --git a/src/com/android/settings/spa/app/appinfo/AppButtons.kt b/src/com/android/settings/spa/app/appinfo/AppButtons.kt
index 8311491..e43c673 100644
--- a/src/com/android/settings/spa/app/appinfo/AppButtons.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppButtons.kt
@@ -24,14 +24,12 @@
 import com.android.settingslib.applications.AppUtils
 import com.android.settingslib.spa.widget.button.ActionButton
 import com.android.settingslib.spa.widget.button.ActionButtons
-import kotlinx.coroutines.flow.map
 
 @Composable
 fun AppButtons(packageInfoPresenter: PackageInfoPresenter) {
     if (remember(packageInfoPresenter) { packageInfoPresenter.isMainlineModule() }) return
     val presenter = remember { AppButtonsPresenter(packageInfoPresenter) }
-    presenter.Dialogs()
-    ActionButtons(actionButtons = presenter.rememberActionsButtons().value)
+    ActionButtons(actionButtons = presenter.getActionButtons())
 }
 
 private fun PackageInfoPresenter.isMainlineModule(): Boolean =
@@ -47,12 +45,12 @@
 
     @OptIn(ExperimentalLifecycleComposeApi::class)
     @Composable
-    fun rememberActionsButtons() = remember {
-        packageInfoPresenter.flow.map { packageInfo ->
-            if (packageInfo != null) getActionButtons(packageInfo.applicationInfo) else emptyList()
-        }
-    }.collectAsStateWithLifecycle(initialValue = emptyList())
+    fun getActionButtons() =
+        packageInfoPresenter.flow.collectAsStateWithLifecycle(initialValue = null).value?.let {
+            getActionButtons(it.applicationInfo)
+        } ?: emptyList()
 
+    @Composable
     private fun getActionButtons(app: ApplicationInfo): List<ActionButton> = listOfNotNull(
         appLaunchButton.getActionButton(app),
         appInstallButton.getActionButton(app),
@@ -61,11 +59,4 @@
         appClearButton.getActionButton(app),
         appForceStopButton.getActionButton(app),
     )
-
-    @Composable
-    fun Dialogs() {
-        appDisableButton.DisableConfirmDialog()
-        appClearButton.ClearConfirmDialog()
-        appForceStopButton.ForceStopConfirmDialog()
-    }
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppClearButton.kt b/src/com/android/settings/spa/app/appinfo/AppClearButton.kt
index ce00b73..22a93c1 100644
--- a/src/com/android/settings/spa/app/appinfo/AppClearButton.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppClearButton.kt
@@ -19,61 +19,44 @@
 import android.content.pm.ApplicationInfo
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.outlined.Delete
-import androidx.compose.material3.AlertDialog
 import androidx.compose.material3.Text
-import androidx.compose.material3.TextButton
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.setValue
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
 import com.android.settingslib.spa.widget.button.ActionButton
+import com.android.settingslib.spa.widget.dialog.AlertDialogButton
+import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
 
 class AppClearButton(
     private val packageInfoPresenter: PackageInfoPresenter,
 ) {
     private val context = packageInfoPresenter.context
 
-    private var openConfirmDialog by mutableStateOf(false)
-
+    @Composable
     fun getActionButton(app: ApplicationInfo): ActionButton? {
         if (!app.isInstantApp) return null
 
         return clearButton()
     }
 
-    private fun clearButton() = ActionButton(
-        text = context.getString(R.string.clear_instant_app_data),
-        imageVector = Icons.Outlined.Delete,
-    ) { openConfirmDialog = true }
-
     @Composable
-    fun ClearConfirmDialog() {
-        if (!openConfirmDialog) return
-        AlertDialog(
-            onDismissRequest = { openConfirmDialog = false },
-            confirmButton = {
-                TextButton(
-                    onClick = {
-                        openConfirmDialog = false
-                        packageInfoPresenter.clearInstantApp()
-                    },
-                ) {
-                    Text(stringResource(R.string.clear_instant_app_data))
-                }
-            },
-            dismissButton = {
-                TextButton(onClick = { openConfirmDialog = false }) {
-                    Text(stringResource(R.string.cancel))
-                }
-            },
-            title = {
-                Text(stringResource(R.string.clear_instant_app_data))
-            },
-            text = {
-                Text(stringResource(R.string.clear_instant_app_confirmation))
-            },
+    private fun clearButton(): ActionButton {
+        val dialogPresenter = confirmDialogPresenter()
+        return ActionButton(
+            text = context.getString(R.string.clear_instant_app_data),
+            imageVector = Icons.Outlined.Delete,
+            onClick = dialogPresenter::open,
         )
     }
+
+    @Composable
+    private fun confirmDialogPresenter() = rememberAlertDialogPresenter(
+        confirmButton = AlertDialogButton(
+            text = stringResource(R.string.clear_instant_app_data),
+            onClick = packageInfoPresenter::clearInstantApp,
+        ),
+        dismissButton = AlertDialogButton(stringResource(R.string.cancel)),
+        title = stringResource(R.string.clear_instant_app_data),
+        text = { Text(stringResource(R.string.clear_instant_app_confirmation)) },
+    )
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt b/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt
index 05b9706..450f984 100644
--- a/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt
@@ -20,18 +20,15 @@
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.outlined.ArrowCircleDown
 import androidx.compose.material.icons.outlined.HideSource
-import androidx.compose.material3.AlertDialog
 import androidx.compose.material3.Text
-import androidx.compose.material3.TextButton
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.setValue
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
 import com.android.settings.Utils
 import com.android.settings.overlay.FeatureFactory
 import com.android.settingslib.spa.widget.button.ActionButton
+import com.android.settingslib.spa.widget.dialog.AlertDialogButton
+import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
 import com.android.settingslib.spaprivileged.framework.common.devicePolicyManager
 import com.android.settingslib.spaprivileged.framework.common.userManager
 import com.android.settingslib.spaprivileged.model.app.isDisabledUntilUsed
@@ -49,8 +46,7 @@
     private val applicationFeatureProvider =
         FeatureFactory.getFactory(context).getApplicationFeatureProvider(context)
 
-    private var openConfirmDialog by mutableStateOf(false)
-
+    @Composable
     fun getActionButton(app: ApplicationInfo): ActionButton? {
         if (!app.isSystemApp) return null
 
@@ -92,14 +88,19 @@
         else -> true
     }
 
-    private fun disableButton(app: ApplicationInfo) = ActionButton(
-        text = context.getString(R.string.disable_text),
-        imageVector = Icons.Outlined.HideSource,
-        enabled = app.canBeDisabled(),
-    ) {
-        // Currently we apply the same device policy for both the uninstallation and disable button.
-        if (!appButtonRepository.isUninstallBlockedByAdmin(app)) {
-            openConfirmDialog = true
+    @Composable
+    private fun disableButton(app: ApplicationInfo): ActionButton {
+        val dialogPresenter = confirmDialogPresenter()
+        return ActionButton(
+            text = context.getString(R.string.disable_text),
+            imageVector = Icons.Outlined.HideSource,
+            enabled = app.canBeDisabled(),
+        ) {
+            // Currently we apply the same device policy for both the uninstallation and disable
+            // button.
+            if (!appButtonRepository.isUninstallBlockedByAdmin(app)) {
+                dialogPresenter.open()
+            }
         }
     }
 
@@ -109,28 +110,13 @@
     ) { packageInfoPresenter.enable() }
 
     @Composable
-    fun DisableConfirmDialog() {
-        if (!openConfirmDialog) return
-        AlertDialog(
-            onDismissRequest = { openConfirmDialog = false },
-            confirmButton = {
-                TextButton(
-                    onClick = {
-                        openConfirmDialog = false
-                        packageInfoPresenter.disable()
-                    },
-                ) {
-                    Text(stringResource(R.string.app_disable_dlg_positive))
-                }
-            },
-            dismissButton = {
-                TextButton(onClick = { openConfirmDialog = false }) {
-                    Text(stringResource(R.string.cancel))
-                }
-            },
-            text = {
-                Text(stringResource(R.string.app_disable_dlg_text))
-            },
-        )
-    }
+    private fun confirmDialogPresenter() = rememberAlertDialogPresenter(
+        confirmButton = AlertDialogButton(
+            text = stringResource(R.string.reset_app_preferences_button),
+            onClick = packageInfoPresenter::disable,
+        ),
+        dismissButton = AlertDialogButton(stringResource(R.string.cancel)),
+        title = stringResource(R.string.app_disable_dlg_positive),
+        text = { Text(stringResource(R.string.app_disable_dlg_text)) },
+    )
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt b/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt
index d05c832..086f59e 100644
--- a/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt
@@ -21,19 +21,17 @@
 import android.os.UserManager
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.outlined.WarningAmber
-import androidx.compose.material3.AlertDialog
 import androidx.compose.material3.Text
-import androidx.compose.material3.TextButton
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.setValue
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
 import com.android.settingslib.RestrictedLockUtils
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin
 import com.android.settingslib.RestrictedLockUtilsInternal
 import com.android.settingslib.spa.widget.button.ActionButton
+import com.android.settingslib.spa.widget.dialog.AlertDialogButton
+import com.android.settingslib.spa.widget.dialog.AlertDialogPresenter
+import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
 import com.android.settingslib.spaprivileged.model.app.hasFlag
 import com.android.settingslib.spaprivileged.model.app.isActiveAdmin
 import com.android.settingslib.spaprivileged.model.app.userId
@@ -45,14 +43,14 @@
     private val appButtonRepository = AppButtonRepository(context)
     private val packageManager = context.packageManager
 
-    private var openConfirmDialog by mutableStateOf(false)
-
+    @Composable
     fun getActionButton(app: ApplicationInfo): ActionButton {
+        val dialogPresenter = confirmDialogPresenter()
         return ActionButton(
             text = context.getString(R.string.force_stop),
             imageVector = Icons.Outlined.WarningAmber,
             enabled = isForceStopButtonEnable(app),
-        ) { onForceStopButtonClicked(app) }
+        ) { onForceStopButtonClicked(app, dialogPresenter) }
     }
 
     /**
@@ -68,13 +66,16 @@
         else -> !app.hasFlag(ApplicationInfo.FLAG_STOPPED)
     }
 
-    private fun onForceStopButtonClicked(app: ApplicationInfo) {
+    private fun onForceStopButtonClicked(
+        app: ApplicationInfo,
+        dialogPresenter: AlertDialogPresenter,
+    ) {
         packageInfoPresenter.logAction(SettingsEnums.ACTION_APP_INFO_FORCE_STOP)
         getAdminRestriction(app)?.let { admin ->
             RestrictedLockUtils.sendShowAdminSupportDetailsIntent(context, admin)
             return
         }
-        openConfirmDialog = true
+        dialogPresenter.open()
     }
 
     private fun getAdminRestriction(app: ApplicationInfo): EnforcedAdmin? = when {
@@ -88,31 +89,13 @@
     }
 
     @Composable
-    fun ForceStopConfirmDialog() {
-        if (!openConfirmDialog) return
-        AlertDialog(
-            onDismissRequest = { openConfirmDialog = false },
-            confirmButton = {
-                TextButton(
-                    onClick = {
-                        openConfirmDialog = false
-                        packageInfoPresenter.forceStop()
-                    },
-                ) {
-                    Text(stringResource(R.string.okay))
-                }
-            },
-            dismissButton = {
-                TextButton(onClick = { openConfirmDialog = false }) {
-                    Text(stringResource(R.string.cancel))
-                }
-            },
-            title = {
-                Text(stringResource(R.string.force_stop_dlg_title))
-            },
-            text = {
-                Text(stringResource(R.string.force_stop_dlg_text))
-            },
-        )
-    }
+    private fun confirmDialogPresenter() = rememberAlertDialogPresenter(
+        confirmButton = AlertDialogButton(
+            text = stringResource(R.string.okay),
+            onClick = packageInfoPresenter::forceStop,
+        ),
+        dismissButton = AlertDialogButton(stringResource(R.string.cancel)),
+        title = stringResource(R.string.force_stop_dlg_title),
+        text = { Text(stringResource(R.string.force_stop_dlg_text)) },
+    )
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppPermissionPreference.kt b/src/com/android/settings/spa/app/appinfo/AppPermissionPreference.kt
index c7d775e..ad666dc 100644
--- a/src/com/android/settings/spa/app/appinfo/AppPermissionPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppPermissionPreference.kt
@@ -27,6 +27,7 @@
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.LiveData
 import com.android.settings.R
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
@@ -36,13 +37,17 @@
 private const val EXTRA_HIDE_INFO_BUTTON = "hideInfoButton"
 
 @Composable
-fun AppPermissionPreference(app: ApplicationInfo) {
+fun AppPermissionPreference(
+    app: ApplicationInfo,
+    summaryLiveData: LiveData<AppPermissionSummaryState> = rememberAppPermissionSummary(app),
+) {
     val context = LocalContext.current
-    val summaryLiveData = remember { AppPermissionSummaryLiveData(context, app) }
-    val summaryState = summaryLiveData.observeAsState(initial = AppPermissionSummaryState(
-        summary = stringResource(R.string.summary_placeholder),
-        enabled = false,
-    ))
+    val summaryState = summaryLiveData.observeAsState(
+        initial = AppPermissionSummaryState(
+            summary = stringResource(R.string.summary_placeholder),
+            enabled = false,
+        )
+    )
     Preference(
         model = remember {
             object : PreferenceModel {
diff --git a/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt b/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt
index 9b8b0fd..de6bd10 100644
--- a/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt
@@ -20,6 +20,9 @@
 import android.content.pm.ApplicationInfo
 import android.content.pm.PackageManager.OnPermissionsChangedListener
 import android.icu.text.ListFormatter
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
+import androidx.compose.ui.platform.LocalContext
 import androidx.lifecycle.LiveData
 import com.android.settings.R
 import com.android.settingslib.applications.PermissionsSummaryHelper
@@ -33,6 +36,12 @@
     val enabled: Boolean,
 )
 
+@Composable
+fun rememberAppPermissionSummary(app: ApplicationInfo): AppPermissionSummaryLiveData {
+    val context = LocalContext.current
+    return remember { AppPermissionSummaryLiveData(context, app) }
+}
+
 class AppPermissionSummaryLiveData(
     private val context: Context,
     private val app: ApplicationInfo,
diff --git a/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProvider.kt b/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProvider.kt
index a6b10dd..6e0643b 100644
--- a/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProvider.kt
+++ b/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProvider.kt
@@ -40,8 +40,8 @@
 import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
 import com.android.settings.spa.app.startUninstallActivity
 import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
-import com.android.settingslib.spa.framework.common.SettingsPage
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.common.createSettingsPage
 import com.android.settingslib.spa.framework.compose.navigator
 import com.android.settingslib.spa.framework.compose.rememberContext
 import com.android.settingslib.spa.framework.theme.SettingsDimension
@@ -74,6 +74,7 @@
 
 object BackgroundInstalledAppsPageProvider : SettingsPageProvider {
     override val name = "BackgroundInstalledAppsPage"
+    private val owner = createSettingsPage()
     private var backgroundInstallService = IBackgroundInstallControlService.Stub.asInterface(
         ServiceManager.getService(Context.BACKGROUND_INSTALL_CONTROL_SERVICE))
     private var featureIsDisabled = featureIsDisabled()
@@ -95,7 +96,7 @@
     }
 
     fun buildInjectEntry() = SettingsEntryBuilder
-        .createInject(owner = SettingsPage.create(name))
+        .createInject(owner)
         .setSearchDataFn { null }
         .setUiLayoutFn { EntryItem() }
 
diff --git a/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt b/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt
index 5b9205a..264376c 100644
--- a/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt
+++ b/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt
@@ -22,8 +22,8 @@
 import com.android.settings.R
 import com.android.settingslib.spa.framework.common.SettingsEntry
 import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
-import com.android.settingslib.spa.framework.common.SettingsPage
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.common.createSettingsPage
 import com.android.settingslib.spa.framework.compose.navigator
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
@@ -31,6 +31,7 @@
 
 object SpecialAppAccessPageProvider : SettingsPageProvider {
     override val name = "SpecialAppAccess"
+    private val owner = createSettingsPage()
 
     @Composable
     override fun Page(arguments: Bundle?) {
@@ -51,10 +52,9 @@
         )
     }
 
-    fun buildInjectEntry() = SettingsEntryBuilder.createInject(owner = SettingsPage.create(name))
+    fun buildInjectEntry() = SettingsEntryBuilder.createInject(owner)
 
     override fun buildEntry(arguments: Bundle?): List<SettingsEntry> {
-        val owner = SettingsPage.create(name, parameter = parameter, arguments = arguments)
         return listOf(
                 AllFilesAccessAppListProvider,
                 DisplayOverOtherAppsAppListProvider,
diff --git a/src/com/android/settings/users/TimeoutToDockUserPreferenceController.java b/src/com/android/settings/users/TimeoutToDockUserPreferenceController.java
index 98dca2a..57e8d40 100644
--- a/src/com/android/settings/users/TimeoutToDockUserPreferenceController.java
+++ b/src/com/android/settings/users/TimeoutToDockUserPreferenceController.java
@@ -24,6 +24,7 @@
 
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
 
 import java.util.Arrays;
@@ -67,9 +68,7 @@
             return CONDITIONALLY_UNAVAILABLE;
         }
 
-        // Is currently user zero. Only non user zero can have this setting.
-        // TODO(b/257333623): Allow the Dock User to be non-SystemUser user in HSUM.
-        if (UserHandle.myUserId() == UserHandle.USER_SYSTEM) {
+        if (Utils.canCurrentUserDream(mContext)) {
             return DISABLED_FOR_USER;
         }
 
diff --git a/src/com/android/settings/widget/HighlightableTopLevelPreferenceAdapter.java b/src/com/android/settings/widget/HighlightableTopLevelPreferenceAdapter.java
index 3cc7ef2..8084a48 100644
--- a/src/com/android/settings/widget/HighlightableTopLevelPreferenceAdapter.java
+++ b/src/com/android/settings/widget/HighlightableTopLevelPreferenceAdapter.java
@@ -30,7 +30,7 @@
 import androidx.preference.PreferenceGroupAdapter;
 import androidx.preference.PreferenceViewHolder;
 import androidx.recyclerview.widget.RecyclerView;
-import androidx.window.embedding.SplitController;
+import androidx.window.embedding.ActivityEmbeddingController;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -250,6 +250,7 @@
     }
 
     private boolean isHighlightNeeded() {
-        return SplitController.getInstance().isActivityEmbedded(mHomepageActivity);
+        return ActivityEmbeddingController.getInstance(mHomepageActivity)
+                .isActivityEmbedded(mHomepageActivity);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/UtilsTest.java b/tests/robotests/src/com/android/settings/UtilsTest.java
index 2aa8418..0ef1f3a 100644
--- a/tests/robotests/src/com/android/settings/UtilsTest.java
+++ b/tests/robotests/src/com/android/settings/UtilsTest.java
@@ -46,6 +46,7 @@
 import android.net.Network;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.storage.DiskInfo;
 import android.os.storage.StorageManager;
@@ -299,4 +300,43 @@
 
         assertThat(Utils.isSettingsIntelligence(mContext)).isFalse();
     }
+
+    @Test
+    public void canCurrentUserDream_isMainUser_returnTrue() {
+        Context mockContext = mock(Context.class);
+        UserManager mockUserManager = mock(UserManager.class);
+
+        when(mockContext.getSystemService(UserManager.class)).thenReturn(mockUserManager);
+
+        // mock MainUser
+        UserHandle mainUser = new UserHandle(10);
+        when(mockUserManager.getMainUser()).thenReturn(mainUser);
+        when(mockUserManager.isUserForeground()).thenReturn(true);
+
+        when(mockContext.createContextAsUser(mainUser, 0)).thenReturn(mockContext);
+
+        assertThat(Utils.canCurrentUserDream(mockContext)).isTrue();
+    }
+
+    @Test
+    public void canCurrentUserDream_nullMainUser_returnFalse() {
+        Context mockContext = mock(Context.class);
+        UserManager mockUserManager = mock(UserManager.class);
+
+        when(mockContext.getSystemService(UserManager.class)).thenReturn(mockUserManager);
+        when(mockUserManager.getMainUser()).thenReturn(null);
+
+        assertThat(Utils.canCurrentUserDream(mockContext)).isFalse();
+    }
+
+    @Test
+    public void canCurrentUserDream_notMainUser_returnFalse() {
+        Context mockContext = mock(Context.class);
+        UserManager mockUserManager = mock(UserManager.class);
+
+        when(mockContext.getSystemService(UserManager.class)).thenReturn(mockUserManager);
+        when(mockUserManager.isUserForeground()).thenReturn(false);
+
+        assertThat(Utils.canCurrentUserDream(mockContext)).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index 30aa00a..bf3951e 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -328,13 +328,43 @@
 
     }
 
+    @Test
+    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
+    public void testAccessibilityMenuInSystem_IncludedInInteractionControl() {
+        mShadowAccessibilityManager.setInstalledAccessibilityServiceList(
+                List.of(getMockAccessibilityServiceInfo(
+                        AccessibilityManager.ACCESSIBILITY_MENU_IN_SYSTEM)));
+        setupFragment();
+
+        final RestrictedPreference pref = mFragment.getPreferenceScreen().findPreference(
+                AccessibilityManager.ACCESSIBILITY_MENU_IN_SYSTEM.flattenToString());
+        final String prefCategory = mFragment.mServicePreferenceToPreferenceCategoryMap.get(
+                pref).getKey();
+        assertThat(prefCategory).isEqualTo(AccessibilitySettings.CATEGORY_INTERACTION_CONTROL);
+    }
+
+    @Test
+    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
+    public void testAccessibilityMenuInSystem_NoPrefWhenNotInstalled() {
+        mShadowAccessibilityManager.setInstalledAccessibilityServiceList(List.of());
+        setupFragment();
+
+        final RestrictedPreference pref = mFragment.getPreferenceScreen().findPreference(
+                AccessibilityManager.ACCESSIBILITY_MENU_IN_SYSTEM.flattenToString());
+        assertThat(pref).isNull();
+    }
+
     private AccessibilityServiceInfo getMockAccessibilityServiceInfo(String packageName,
             String className) {
+        return getMockAccessibilityServiceInfo(new ComponentName(packageName, className));
+    }
+
+    private AccessibilityServiceInfo getMockAccessibilityServiceInfo(ComponentName componentName) {
         final ApplicationInfo applicationInfo = new ApplicationInfo();
         final ServiceInfo serviceInfo = new ServiceInfo();
-        applicationInfo.packageName = packageName;
-        serviceInfo.packageName = packageName;
-        serviceInfo.name = className;
+        applicationInfo.packageName = componentName.getPackageName();
+        serviceInfo.packageName = componentName.getPackageName();
+        serviceInfo.name = componentName.getClassName();
         serviceInfo.applicationInfo = applicationInfo;
 
         final ResolveInfo resolveInfo = new ResolveInfo();
@@ -342,7 +372,7 @@
         try {
             final AccessibilityServiceInfo info = new AccessibilityServiceInfo(resolveInfo,
                     mContext);
-            info.setComponentName(new ComponentName(packageName, className));
+            info.setComponentName(componentName);
             return info;
         } catch (XmlPullParserException | IOException e) {
             // Do nothing
diff --git a/tests/robotests/src/com/android/settings/biometrics/MultiBiometricEnrollHelperTest.java b/tests/robotests/src/com/android/settings/biometrics/MultiBiometricEnrollHelperTest.java
new file mode 100644
index 0000000..03b3b48
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/MultiBiometricEnrollHelperTest.java
@@ -0,0 +1,148 @@
+/*
+ * 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.settings.biometrics;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.hardware.face.FaceManager;
+import android.hardware.fingerprint.FingerprintManager;
+import android.os.RemoteException;
+
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.biometrics.face.FaceEnrollIntroduction;
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
+import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
+import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
+import com.android.settings.testutils.shadow.ShadowSensorPrivacyManager;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settings.testutils.shadow.ShadowUtils;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.android.controller.ActivityController;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowPackageManager;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowUtils.class,
+        ShadowUserManager.class,
+        ShadowRestrictedLockUtilsInternal.class,
+        ShadowSensorPrivacyManager.class,
+        ShadowLockPatternUtils.class
+})
+public class MultiBiometricEnrollHelperTest {
+    @Rule
+    public final MockitoRule mockito = MockitoJUnit.rule();
+
+    @Mock
+    private FragmentActivity mActivity;
+    @Mock
+    private FingerprintManager mFingerprintManager;
+    @Mock
+    private FaceManager mFaceManager;
+
+    private Context mContext;
+
+    @Captor
+    private ArgumentCaptor<FingerprintManager.GenerateChallengeCallback> mFingerprintCaptor;
+
+    private final int mUserId = 10;
+    private final long mChallenge = 0L;
+    private final int mSensorId = 0;
+    private final long mGkPwHandle = 0L;
+
+    private MultiBiometricEnrollHelper mMultiBiometricEnrollHelper;
+    private Intent mFingerprintIntent;
+    private Intent mFaceIntent;
+
+    @Before
+    public void setUp() throws RemoteException {
+        mContext = RuntimeEnvironment.application.getApplicationContext();
+        mFingerprintIntent = new Intent(mContext, FingerprintEnrollIntroduction.class);
+        mFaceIntent = new Intent(mContext, FaceEnrollIntroduction.class);
+        mMultiBiometricEnrollHelper = new MultiBiometricEnrollHelper(
+                mActivity, mUserId, true /* enrollFace */, true /* enrollFingerprint */,
+                mGkPwHandle, mFingerprintManager, mFaceManager, mFingerprintIntent, mFaceIntent,
+                (challenge) -> null);
+    }
+
+    @Test
+    public void launchFaceAndFingerprintEnroll_testFingerprint() {
+        mMultiBiometricEnrollHelper.startNextStep();
+
+        verify(mFingerprintManager).generateChallenge(anyInt(), mFingerprintCaptor.capture());
+
+        FingerprintManager.GenerateChallengeCallback generateChallengeCallback =
+                mFingerprintCaptor.getValue();
+        generateChallengeCallback.onChallengeGenerated(mSensorId, mUserId, mChallenge);
+
+        assertThat(mFingerprintIntent.hasExtra(
+                MultiBiometricEnrollHelper.EXTRA_ENROLL_AFTER_FINGERPRINT)).isTrue();
+        assertThat(mFingerprintIntent.getExtra(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID,
+                -1 /* defaultValue */)).isEqualTo(mSensorId);
+        assertThat(mFingerprintIntent.getExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE,
+                -1 /* defaultValue */)).isEqualTo(mChallenge);
+        assertThat(mFingerprintIntent.getExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
+                -1 /* defaultValue */)).isEqualTo(mGkPwHandle);
+    }
+
+    @Test
+    public void launchFaceAndFingerprintEnroll_testFace() {
+        mMultiBiometricEnrollHelper.startNextStep();
+
+        verify(mFingerprintManager).generateChallenge(anyInt(), mFingerprintCaptor.capture());
+
+        FingerprintManager.GenerateChallengeCallback fingerprintGenerateChallengeCallback =
+                mFingerprintCaptor.getValue();
+        fingerprintGenerateChallengeCallback.onChallengeGenerated(
+                mSensorId, mUserId, mChallenge);
+
+        assertThat(mFaceIntent.getExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
+                -1 /* defaultValue */)).isEqualTo(mGkPwHandle);
+        assertThat(mFaceIntent.getIntExtra(Intent.EXTRA_USER_ID, -1 /* defaultValue */))
+                .isEqualTo(mUserId);
+
+        final ShadowPackageManager shadowPackageManager = shadowOf(mContext.getPackageManager());
+        shadowPackageManager.setSystemFeature(PackageManager.FEATURE_FACE, true);
+        ShadowUtils.setFaceManager(mFaceManager);
+        ActivityController.of(new FaceEnrollIntroduction(), mFaceIntent)
+                .create(mFaceIntent.getExtras()).get();
+
+        verify(mFaceManager).generateChallenge(eq(mUserId), any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockContentListenerTest.java b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockContentListenerTest.java
new file mode 100644
index 0000000..4da8151
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockContentListenerTest.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.settings.biometrics.activeunlock;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+import static org.robolectric.shadows.ShadowLooper.idleMainLooper;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.biometrics.activeunlock.ActiveUnlockContentListener.OnContentChangedListener;
+import com.android.settings.testutils.ActiveUnlockTestUtils;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.ArrayList;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDeviceConfig.class})
+public class ActiveUnlockContentListenerTest {
+
+    @Rule public final MockitoRule mMocks = MockitoJUnit.rule();
+    @Mock private PackageManager mPackageManager;
+
+    private Context mContext;
+    private ActiveUnlockContentListener mContentListener;
+    @Nullable private String mContent;
+    private int mUpdateCount;
+
+    @Before
+    public void setUp() {
+        Robolectric.setupContentProvider(
+                FakeContentProvider.class, FakeContentProvider.AUTHORITY);
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        OnContentChangedListener listener = new OnContentChangedListener() {
+            @Override
+            public void onContentChanged(String newValue) {
+                mContent = newValue;
+                mUpdateCount++;
+            }
+        };
+        ActiveUnlockTestUtils.enable(mContext);
+        mContentListener =
+                new ActiveUnlockContentListener(
+                        mContext,
+                        listener,
+                        "logTag",
+                        FakeContentProvider.METHOD_SUMMARY,
+                        FakeContentProvider.KEY_SUMMARY);
+        FakeContentProvider.init(mContext);
+    }
+
+    @Test
+    public void subscribe_contentFetched() {
+        String newContent = "newContent";
+        FakeContentProvider.setTileSummary(newContent);
+
+        mContentListener.subscribe();
+        idleMainLooper();
+
+        assertThat(mContent).isEqualTo(newContent);
+    }
+
+    @Test
+    public void contentUpdated_contentUpdated() {
+        mContentListener.subscribe();
+        idleMainLooper();
+
+        String newContent = "newContent";
+        updateContent(newContent);
+
+        assertThat(mContent).isEqualTo(newContent);
+    }
+
+    @Test
+    public void contentUpdated_unsubscribed_contentNotUpdated() {
+        mContentListener.subscribe();
+        idleMainLooper();
+
+        mContentListener.unsubscribe();
+        updateContent("newContent");
+
+        assertThat(mContent).isNull();
+    }
+
+    @Test
+    public void multipleContentUpdates_contentIsNewestValueAndUpdatedTwice() {
+        mContentListener.subscribe();
+        idleMainLooper();
+
+        updateContent("temporaryContent");
+        String newContent = "newContent";
+        updateContent(newContent);
+
+        assertThat(mContent).isEqualTo(newContent);
+        assertThat(mUpdateCount).isEqualTo(2);
+    }
+
+    @Test
+    public void duplicateContentUpdates_onContentChangedOnlyCalledOnce() {
+        mContentListener.subscribe();
+        idleMainLooper();
+
+        updateContent("newContent");
+        updateContent("newContent");
+
+        assertThat(mUpdateCount).isEqualTo(1);
+    }
+
+    @Test
+    public void noProvider_subscribeDoesntRegisterObserver() {
+        when(mPackageManager.getInstalledPackages(any()))
+                .thenReturn(new ArrayList<>());
+        OnContentChangedListener listener = new OnContentChangedListener() {
+            @Override
+            public void onContentChanged(String newValue) {}
+        };
+
+        ActiveUnlockContentListener contentListener =
+                new ActiveUnlockContentListener(
+                        mContext,
+                        listener,
+                        "logTag",
+                        FakeContentProvider.METHOD_SUMMARY,
+                        FakeContentProvider.KEY_SUMMARY);
+
+        assertThat(contentListener.subscribe()).isFalse();
+    }
+
+    private void updateContent(String content) {
+        FakeContentProvider.setTileSummary(content);
+        mContext.getContentResolver().notifyChange(
+                FakeContentProvider.URI, null /* observer */);
+        idleMainLooper();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetupTest.java b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetupTest.java
new file mode 100644
index 0000000..d3bbf24
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetupTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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.settings.biometrics.activeunlock;
+
+import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED;
+import static com.android.settings.biometrics.activeunlock.ActiveUnlockRequireBiometricSetup.BIOMETRIC_ENROLL_REQUEST;
+
+import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
+
+import static org.robolectric.RuntimeEnvironment.application;
+
+import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
+
+import com.android.settings.R;
+import com.android.settings.biometrics.BiometricEnrollActivity;
+
+import com.google.android.setupcompat.PartnerCustomizationLayout;
+import com.google.android.setupcompat.template.FooterBarMixin;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.Shadows;
+import org.robolectric.shadows.ShadowActivity;
+
+@RunWith(RobolectricTestRunner.class)
+public class ActiveUnlockRequireBiometricSetupTest {
+
+    private ActiveUnlockRequireBiometricSetup mActivity;
+    private PartnerCustomizationLayout mLayout;
+
+    @Before
+    public void setUp() {
+        mActivity = Robolectric.buildActivity(
+                ActiveUnlockRequireBiometricSetup.class).setup().get();
+        mLayout = mActivity.findViewById(R.id.setup_wizard_layout);
+    }
+
+    @Test
+    public void onBackPressed_shouldFinish() {
+        mActivity.onBackPressed();
+
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
+    public void clickCancel_shouldFinish() {
+        mLayout.getMixin(FooterBarMixin.class).getSecondaryButtonView().performClick();
+
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
+    public void clickNext_shouldLaunchBiometricSetup() {
+        final ComponentName expectedComponent = new ComponentName(application,
+                BiometricEnrollActivity.InternalActivity.class);
+
+        mLayout.getMixin(FooterBarMixin.class).getPrimaryButtonView().performClick();
+
+        ShadowActivity.IntentForResult startedActivity = Shadows.shadowOf(
+                mActivity).getNextStartedActivityForResult();
+        assertWithMessage("Next activity").that(startedActivity).isNotNull();
+        assertThat(startedActivity.intent.getComponent()).isEqualTo(expectedComponent);
+    }
+
+    @Test
+    public void onActivityResult_shouldFinish() {
+        mActivity.onActivityResult(BIOMETRIC_ENROLL_REQUEST, RESULT_FINISHED, null);
+
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
+    public void getMetricsCategory_returnsCorrectCategory() {
+        assertThat(mActivity.getMetricsCategory()).isEqualTo(
+                SettingsEnums.ACTIVE_UNLOCK_REQUIRE_BIOMETRIC_SETUP);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceControllerTest.java
new file mode 100644
index 0000000..5219a3a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusPreferenceControllerTest.java
@@ -0,0 +1,219 @@
+/*
+ * 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.settings.biometrics.activeunlock;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+import static org.robolectric.shadows.ShadowLooper.idleMainLooper;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.hardware.face.FaceManager;
+import android.hardware.fingerprint.FingerprintManager;
+import android.os.UserManager;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.testutils.ActiveUnlockTestUtils;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+import com.android.settingslib.RestrictedPreference;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDeviceConfig.class})
+public class ActiveUnlockStatusPreferenceControllerTest {
+
+    @Rule public final MockitoRule mMocks = MockitoJUnit.rule();
+
+    @Mock private UserManager mUserManager;
+    @Mock private PackageManager mPackageManager;
+    @Mock private FingerprintManager mFingerprintManager;
+    @Mock private FaceManager mFaceManager;
+    @Mock private PreferenceScreen mPreferenceScreen;
+
+    private Context mContext;
+    private ActiveUnlockStatusPreferenceController mController;
+    private RestrictedPreference mPreference;
+
+    @Before
+    public void setUp() {
+        Robolectric.setupContentProvider(FakeContentProvider.class, FakeContentProvider.AUTHORITY);
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)).thenReturn(true);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FACE)).thenReturn(true);
+        ShadowApplication.getInstance()
+                .setSystemService(Context.FINGERPRINT_SERVICE, mFingerprintManager);
+        ShadowApplication.getInstance().setSystemService(Context.FACE_SERVICE, mFaceManager);
+        ShadowApplication.getInstance().setSystemService(Context.USER_SERVICE, mUserManager);
+        when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[] {1234});
+        mPreference = new RestrictedPreference(mContext);
+        when(mPreferenceScreen.findPreference(any())).thenReturn(mPreference);
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+        ActiveUnlockTestUtils.enable(mContext);
+        FakeContentProvider.init(mContext);
+        mController = new ActiveUnlockStatusPreferenceController(mContext);
+    }
+
+    @After
+    public void tearDown() {
+        ActiveUnlockTestUtils.disable(mContext);
+    }
+
+    @Test
+    public void updateState_featureFlagDisabled_isNotVisible() {
+        ActiveUnlockTestUtils.disable(mContext);
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void updateState_withoutFingerprint_withoutFace_isNotVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void updateState_withoutFingerprint_withFace_isVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mPreference.isVisible()).isTrue();
+    }
+
+    @Test
+    public void updateState_withFingerprint_withoutFace_isVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mPreference.isVisible()).isTrue();
+    }
+
+    @Test
+    public void updateState_withFingerprint_withFace_isVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mPreference.isVisible()).isTrue();
+    }
+
+    @Test
+    public void defaultState_summaryIsEmpty() {
+        mController.displayPreference(mPreferenceScreen);
+
+        idleMainLooper();
+
+        assertThat(mPreference.getSummary().toString()).isEqualTo(" ");
+    }
+
+    @Test
+    public void onStart_summaryIsUpdated() {
+        String summary = "newSummary";
+        updateSummary(summary);
+        mController.displayPreference(mPreferenceScreen);
+
+        mController.onStart();
+        idleMainLooper();
+
+        assertThat(mPreference.getSummary().toString()).isEqualTo(summary);
+    }
+
+    @Test
+    public void biometricsNotSetUp_deviceNameIsNotSet_setupBiometricStringShown() {
+        ActiveUnlockTestUtils.enable(mContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT);
+        updateSummary("newSummary");
+        mController.displayPreference(mPreferenceScreen);
+
+        mController.onStart();
+        idleMainLooper();
+
+        assertThat(mPreference.getSummary()).isEqualTo(mContext.getString(
+                R.string.security_settings_activeunlock_require_face_fingerprint_setup_title));
+    }
+
+    @Test
+    public void biometricNotSetUp_deviceNameIsSet_summaryShown() {
+        ActiveUnlockTestUtils.enable(mContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT);
+        String summary = "newSummary";
+        updateSummary(summary);
+        updateDeviceName("deviceName");
+        mController.displayPreference(mPreferenceScreen);
+
+        mController.onStart();
+        idleMainLooper();
+
+        assertThat(mPreference.getSummary()).isEqualTo(summary);
+    }
+
+    @Test
+    public void biometricSetUp_summaryShown() {
+        when(mFingerprintManager.hasEnrolledFingerprints(anyInt())).thenReturn(true);
+        ActiveUnlockTestUtils.enable(mContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT);
+        String summary = "newSummary";
+        updateSummary(summary);
+        mController.displayPreference(mPreferenceScreen);
+
+        mController.onStart();
+        idleMainLooper();
+
+        assertThat(mPreference.getSummary()).isEqualTo(summary);
+    }
+
+    private void updateSummary(String summary) {
+        FakeContentProvider.setTileSummary(summary);
+        mContext.getContentResolver().notifyChange(FakeContentProvider.URI, null /* observer */);
+        idleMainLooper();
+    }
+
+    private void updateDeviceName(String deviceName) {
+        FakeContentProvider.setDeviceName(deviceName);
+        mContext.getContentResolver().notifyChange(FakeContentProvider.URI, null /* observer */);
+        idleMainLooper();
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java
new file mode 100644
index 0000000..d420f78
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java
@@ -0,0 +1,225 @@
+/*
+ * 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.settings.biometrics.activeunlock;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.hardware.face.FaceManager;
+import android.hardware.fingerprint.FingerprintManager;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.testutils.ActiveUnlockTestUtils;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDeviceConfig.class})
+public class ActiveUnlockStatusUtilsTest {
+
+    @Rule public final MockitoRule mMocks = MockitoJUnit.rule();
+
+    @Mock private PackageManager mPackageManager;
+    @Mock private FingerprintManager mFingerprintManager;
+    @Mock private FaceManager mFaceManager;
+
+    private Context mApplicationContext;
+    private ActiveUnlockStatusUtils mActiveUnlockStatusUtils;
+
+    @Before
+    public void setUp() {
+        mApplicationContext = spy(ApplicationProvider.getApplicationContext());
+        when(mApplicationContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)).thenReturn(true);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FACE)).thenReturn(true);
+        when(mApplicationContext.getSystemService(Context.FINGERPRINT_SERVICE))
+                .thenReturn(mFingerprintManager);
+        when(mApplicationContext.getSystemService(Context.FACE_SERVICE)).thenReturn(mFaceManager);
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+        ActiveUnlockTestUtils.enable(mApplicationContext);
+        mActiveUnlockStatusUtils = new ActiveUnlockStatusUtils(mApplicationContext);
+    }
+
+    @After
+    public void tearDown() {
+        ActiveUnlockTestUtils.disable(mApplicationContext);
+    }
+
+    @Test
+    public void isAvailable_featureFlagDisabled_returnsConditionallyUnavailable() {
+        ActiveUnlockTestUtils.disable(mApplicationContext);
+
+        assertThat(mActiveUnlockStatusUtils.getAvailability()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void isAvailable_withoutFingerprint_withoutFace_returnsUnsupported() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+        assertThat(mActiveUnlockStatusUtils.getAvailability()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void isAvailable_withoutFingerprint_withFace_returnsAvailable() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        assertThat(mActiveUnlockStatusUtils.getAvailability()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void isAvailable_withFingerprint_withoutFace_returnsAvailable() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+        assertThat(mActiveUnlockStatusUtils.getAvailability()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void isAvailable_withFingerprint_withFace_returnsAvailable() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        assertThat(mActiveUnlockStatusUtils.getAvailability()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void configIsUnlockOnIntent_useUnlockIntentLayoutIsTrue() {
+        ActiveUnlockTestUtils.enable(
+                mApplicationContext, ActiveUnlockStatusUtils.UNLOCK_INTENT_LAYOUT);
+
+        assertThat(mActiveUnlockStatusUtils.useUnlockIntentLayout()).isTrue();
+        assertThat(mActiveUnlockStatusUtils.useBiometricFailureLayout()).isFalse();
+    }
+
+    @Test
+    public void configIsBiometricFailure_useBiometricFailureLayoutIsTrue() {
+        ActiveUnlockTestUtils.enable(
+                mApplicationContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT);
+
+        assertThat(mActiveUnlockStatusUtils.useUnlockIntentLayout()).isFalse();
+        assertThat(mActiveUnlockStatusUtils.useBiometricFailureLayout()).isTrue();
+    }
+
+    @Test
+    public void getTitle_faceEnabled_returnsFacePreferenceTitle() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        assertThat(mActiveUnlockStatusUtils.getTitleForActiveUnlock())
+                .isEqualTo(mApplicationContext.getString(
+                        R.string.security_settings_face_preference_title));
+    }
+
+    @Test
+    public void getTitle_fingerprintEnabled_returnsFingerprintPreferenceTitle() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+        assertThat(mActiveUnlockStatusUtils.getTitleForActiveUnlock())
+                .isEqualTo(mApplicationContext.getString(
+                        R.string.security_settings_fingerprint_preference_title));
+    }
+
+    @Test
+    public void getIntro_faceEnabled_returnsIntroWithFace() {
+        ActiveUnlockTestUtils.enable(
+                mApplicationContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT);
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock())
+                .isEqualTo(mApplicationContext.getString(
+                        R.string.biometric_settings_intro_with_face));
+    }
+
+    @Test
+    public void getIntro_fingerprintEnabled_returnsIntroWithFingerprint() {
+        ActiveUnlockTestUtils.enable(
+                mApplicationContext, ActiveUnlockStatusUtils.BIOMETRIC_FAILURE_LAYOUT);
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+        assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock())
+                .isEqualTo(mApplicationContext.getString(
+                        R.string.biometric_settings_intro_with_fingerprint));
+    }
+
+    @Test
+    public void getIntro_unlockOnIntentAndFaceEnabled_returnsEmpty() {
+        ActiveUnlockTestUtils.enable(
+                mApplicationContext, ActiveUnlockStatusUtils.UNLOCK_INTENT_LAYOUT);
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+        assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock()).isEqualTo("");
+    }
+
+    @Test
+    public void getIntro_unlockOnIntentAndFaceAndFingerprintEnabled_returnsDefault() {
+        ActiveUnlockTestUtils.enable(
+                mApplicationContext, ActiveUnlockStatusUtils.UNLOCK_INTENT_LAYOUT);
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock())
+                .isEqualTo(mApplicationContext.getString(
+                        R.string.biometric_settings_intro));
+    }
+
+    @Test
+    public void getUnlockDeviceSummary_fingerprintEnabled_returnsFingerprintOrWatch() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+        assertThat(mActiveUnlockStatusUtils.getUnlockDeviceSummaryForActiveUnlock())
+                .isEqualTo(mApplicationContext.getString(
+                        R.string.biometric_settings_use_fingerprint_or_watch_preference_summary));
+    }
+
+    @Test
+    public void getUnlockDeviceSummary_faceEnabled_returnsFaceOrWatch() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        assertThat(mActiveUnlockStatusUtils.getUnlockDeviceSummaryForActiveUnlock())
+                .isEqualTo(mApplicationContext.getString(
+                        R.string.biometric_settings_use_face_or_watch_preference_summary));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/activeunlock/FakeContentProvider.java b/tests/robotests/src/com/android/settings/biometrics/activeunlock/FakeContentProvider.java
new file mode 100644
index 0000000..7bb6941
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/activeunlock/FakeContentProvider.java
@@ -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.settings.biometrics.activeunlock;
+
+import android.content.ContentProvider;
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.Settings;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.testutils.ActiveUnlockTestUtils;
+
+/** ContentProvider to provider tile summary for ActiveUnlock in tests. */
+public final class FakeContentProvider extends ContentProvider {
+    public static final String AUTHORITY = ActiveUnlockTestUtils.PROVIDER;
+    public static final Uri URI = new Uri.Builder()
+            .scheme(ContentResolver.SCHEME_CONTENT)
+            .authority(AUTHORITY)
+            .appendPath("getSummary")
+            .build();
+    public static final String METHOD_SUMMARY = "getSummary";
+    public static final String KEY_SUMMARY = "com.android.settings.summary";
+    private static final String METHOD_DEVICE_NAME = "getDeviceName";
+    private static final String KEY_DEVICE_NAME = "com.android.settings.active_unlock.device_name";
+    @Nullable private static String sTileSummary;
+    @Nullable private static String sDeviceName;
+
+    public FakeContentProvider() {
+        super();
+    }
+
+    public static void setTileSummary(String summary) {
+        sTileSummary = summary;
+    }
+
+    public static void setDeviceName(String deviceName) {
+        sDeviceName = deviceName;
+    }
+
+    public static void init(Context context) {
+        Settings.Secure.putString(
+                context.getContentResolver(), ActiveUnlockTestUtils.PROVIDER_SETTING, AUTHORITY);
+        sTileSummary = null;
+        sDeviceName = null;
+    }
+
+    @Override
+    public Bundle call(String method, String arg, Bundle extras) {
+        Bundle bundle = new Bundle();
+        if (METHOD_SUMMARY.equals(method)) {
+            bundle.putCharSequence(KEY_SUMMARY, sTileSummary);
+        } else if (METHOD_DEVICE_NAME.equals(method)) {
+            bundle.putCharSequence(KEY_DEVICE_NAME, sDeviceName);
+        }
+        return bundle;
+    }
+
+    @Override
+    public boolean onCreate() {
+        return true;
+    }
+
+    @Override
+    public Cursor query(Uri uri, String[] projection, String selection,
+            String[] selectionArgs, String sortOrder) {
+        return null;
+    }
+
+    @Override
+    public Uri insert(Uri uri, ContentValues values) {
+        return null;
+    }
+
+    @Override
+    public int update(Uri uri, ContentValues values, String selection,
+            String[] selectionArgs) {
+        return 0;
+    }
+
+    @Override
+    public int delete(Uri uri, String selection, String[] selectionArgs) {
+        return 0;
+    }
+
+    @Override
+    public String getType(Uri uri) {
+        return null;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/combination/BiometricFaceStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/combination/BiometricFaceStatusPreferenceControllerTest.java
new file mode 100644
index 0000000..84a9ad4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/combination/BiometricFaceStatusPreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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.settings.biometrics.combination;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.hardware.face.FaceManager;
+import android.hardware.fingerprint.FingerprintManager;
+import android.os.UserManager;
+
+import com.android.settings.testutils.ActiveUnlockTestUtils;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+import com.android.settingslib.RestrictedPreference;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDeviceConfig.class})
+public class BiometricFaceStatusPreferenceControllerTest {
+
+    @Rule public final MockitoRule mMocks = MockitoJUnit.rule();
+
+    @Mock private UserManager mUserManager;
+    @Mock private PackageManager mPackageManager;
+    @Mock private FingerprintManager mFingerprintManager;
+    @Mock private FaceManager mFaceManager;
+
+    private Context mContext;
+    private RestrictedPreference mPreference;
+    private BiometricFaceStatusPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)).thenReturn(true);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FACE)).thenReturn(true);
+        ShadowApplication.getInstance()
+                .setSystemService(Context.FINGERPRINT_SERVICE, mFingerprintManager);
+        ShadowApplication.getInstance().setSystemService(Context.FACE_SERVICE, mFaceManager);
+        ShadowApplication.getInstance().setSystemService(Context.USER_SERVICE, mUserManager);
+        when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[] {1234});
+        mPreference = new RestrictedPreference(mContext);
+        mController = new BiometricFaceStatusPreferenceController(mContext, "preferenceKey");
+    }
+
+    @After
+    public void tearDown() {
+        ActiveUnlockTestUtils.disable(mContext);
+    }
+
+    @Test
+    public void onlyFaceEnabled_preferenceNotVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void onlyFaceAndActiveUnlockEnabled_preferenceVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+        ActiveUnlockTestUtils.enable(mContext);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isVisible()).isTrue();
+    }
+
+    @Test
+    public void faceAndFingerprintEnabled_preferenceVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isVisible()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/combination/BiometricFingerprintStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/combination/BiometricFingerprintStatusPreferenceControllerTest.java
new file mode 100644
index 0000000..3eb4c21
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/combination/BiometricFingerprintStatusPreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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.settings.biometrics.combination;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.hardware.face.FaceManager;
+import android.hardware.fingerprint.FingerprintManager;
+import android.os.UserManager;
+
+import com.android.settings.testutils.ActiveUnlockTestUtils;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+import com.android.settingslib.RestrictedPreference;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDeviceConfig.class})
+public class BiometricFingerprintStatusPreferenceControllerTest {
+
+    @Rule public final MockitoRule mMocks = MockitoJUnit.rule();
+
+    @Mock private UserManager mUserManager;
+    @Mock private PackageManager mPackageManager;
+    @Mock private FingerprintManager mFingerprintManager;
+    @Mock private FaceManager mFaceManager;
+
+    private Context mContext;
+    private RestrictedPreference mPreference;
+    private BiometricFingerprintStatusPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)).thenReturn(true);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FACE)).thenReturn(true);
+        ShadowApplication.getInstance()
+                .setSystemService(Context.FINGERPRINT_SERVICE, mFingerprintManager);
+        ShadowApplication.getInstance().setSystemService(Context.FACE_SERVICE, mFaceManager);
+        ShadowApplication.getInstance().setSystemService(Context.USER_SERVICE, mUserManager);
+        when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[] {1234});
+        mPreference = new RestrictedPreference(mContext);
+        mController = new BiometricFingerprintStatusPreferenceController(mContext, "preferenceKey");
+    }
+
+    @After
+    public void tearDown() {
+        ActiveUnlockTestUtils.disable(mContext);
+    }
+
+    @Test
+    public void onlyFingerprintEnabled_preferenceNotVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void onlyFingerprintAndActiveUnlockEnabled_preferenceVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(false);
+        ActiveUnlockTestUtils.enable(mContext);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isVisible()).isTrue();
+    }
+
+    @Test
+    public void faceAndFingerprintEnabled_preferenceVisible() {
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isVisible()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
index 88c9597..4ba6eae 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
@@ -564,8 +564,10 @@
         mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
         tile.userHandle = null;
 
-        TopLevelSettings largeScreenTopLevelSettings = new TopLevelSettings(
-                new TestTopLevelHighlightMixin(highlightMixinPrefKey, true /* activityEmbedded */));
+        TopLevelSettings largeScreenTopLevelSettings = spy(new TopLevelSettings(
+                new TestTopLevelHighlightMixin(highlightMixinPrefKey,
+                true /* activityEmbedded */)));
+        doReturn(true).when(largeScreenTopLevelSettings).isActivityEmbedded();
         largeScreenTopLevelSettings.setHighlightPreferenceKey(clickPrefKey);
 
         mImpl.bindPreferenceToTileAndGetObservers(activity, largeScreenTopLevelSettings,
@@ -593,8 +595,10 @@
         mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
         tile.userHandle = null;
 
-        TopLevelSettings largeScreenTopLevelSettings = new TopLevelSettings(
-                new TestTopLevelHighlightMixin(highlightMixinPrefKey, true /* activityEmbedded */));
+        TopLevelSettings largeScreenTopLevelSettings = spy(new TopLevelSettings(
+                new TestTopLevelHighlightMixin(highlightMixinPrefKey,
+                true /* activityEmbedded */)));
+        doReturn(true).when(largeScreenTopLevelSettings).isActivityEmbedded();
         largeScreenTopLevelSettings.setHighlightPreferenceKey(clickPrefKey);
 
         mImpl.bindPreferenceToTileAndGetObservers(activity, largeScreenTopLevelSettings,
diff --git a/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
index 41aca50..7685a5b 100644
--- a/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
@@ -37,7 +37,6 @@
 import android.app.time.TimeZoneConfiguration;
 import android.app.time.TimeZoneDetectorStatus;
 import android.content.Context;
-import android.location.LocationManager;
 import android.os.UserHandle;
 
 import androidx.preference.Preference;
@@ -62,8 +61,6 @@
     private Preference mPreference;
     @Mock
     private TimeManager mTimeManager;
-    @Mock
-    private LocationManager mLocationManager;
 
     @Before
     public void setUp() {
@@ -73,9 +70,6 @@
         mPreference = new Preference(mContext);
 
         when(mContext.getSystemService(TimeManager.class)).thenReturn(mTimeManager);
-        when(mContext.getSystemService(LocationManager.class)).thenReturn(mLocationManager);
-
-        when(mLocationManager.isLocationEnabled()).thenReturn(true);
     }
 
     @Test
@@ -267,6 +261,7 @@
                         : Capabilities.CAPABILITY_NOT_SUPPORTED;
         TimeZoneCapabilities capabilities = new TimeZoneCapabilities.Builder(UserHandle.SYSTEM)
                 .setConfigureAutoDetectionEnabledCapability(configureAutoDetectionEnabledCapability)
+                .setUseLocationEnabled(true)
                 .setConfigureGeoDetectionEnabledCapability(Capabilities.CAPABILITY_NOT_SUPPORTED)
                 .setSetManualTimeZoneCapability(Capabilities.CAPABILITY_POSSESSED)
                 .build();
diff --git a/tests/robotests/src/com/android/settings/datetime/LocationProviderStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/LocationProviderStatusPreferenceControllerTest.java
index 4f9f1cc..b838355 100644
--- a/tests/robotests/src/com/android/settings/datetime/LocationProviderStatusPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/LocationProviderStatusPreferenceControllerTest.java
@@ -29,7 +29,9 @@
 import static org.mockito.Mockito.when;
 
 import android.app.time.Capabilities;
+import android.app.time.Capabilities.CapabilityState;
 import android.app.time.LocationTimeZoneAlgorithmStatus;
+import android.app.time.LocationTimeZoneAlgorithmStatus.ProviderStatus;
 import android.app.time.TelephonyTimeZoneAlgorithmStatus;
 import android.app.time.TimeManager;
 import android.app.time.TimeZoneCapabilities;
@@ -37,9 +39,9 @@
 import android.app.time.TimeZoneConfiguration;
 import android.app.time.TimeZoneDetectorStatus;
 import android.content.Context;
-import android.location.LocationManager;
 import android.os.UserHandle;
 import android.service.timezone.TimeZoneProviderStatus;
+import android.service.timezone.TimeZoneProviderStatus.DependencyStatus;
 
 import androidx.annotation.Nullable;
 
@@ -60,8 +62,6 @@
     private Context mContext;
     @Mock
     private TimeManager mTimeManager;
-    @Mock
-    private LocationManager mLocationManager;
 
     @Before
     public void setUp() {
@@ -69,8 +69,6 @@
         mContext = spy(RuntimeEnvironment.application);
 
         when(mContext.getSystemService(TimeManager.class)).thenReturn(mTimeManager);
-        when(mContext.getSystemService(LocationManager.class)).thenReturn(mLocationManager);
-        when(mLocationManager.isLocationEnabled()).thenReturn(true);
         when(mContext.getString(
                 R.string.location_time_zone_detection_status_summary_blocked_by_settings))
                 .thenReturn("BBS");
@@ -78,11 +76,12 @@
 
     @Test
     public void testCapabilityStatus() {
+        LocationProviderStatusPreferenceController controller =
+                new LocationProviderStatusPreferenceController(mContext, "LPSPC");
+
         TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(false,
                 DEPENDENCY_STATUS_OK, DEPENDENCY_STATUS_OK);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
-        LocationProviderStatusPreferenceController controller =
-                new LocationProviderStatusPreferenceController(mContext, "LPSPC");
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
@@ -95,14 +94,16 @@
                 BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
 
         capabilitiesAndConfig = createCapabilitiesAndConfig(false,
-                DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS, DEPENDENCY_STATUS_OK);
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE_UNSEARCHABLE);
 
         capabilitiesAndConfig = createCapabilitiesAndConfig(true,
-                DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS, DEPENDENCY_STATUS_OK);
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
@@ -111,31 +112,36 @@
 
     @Test
     public void testProviderStatus_primaryCertain() {
-        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(false,
-                DEPENDENCY_STATUS_OK, DEPENDENCY_STATUS_OK);
-        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
         LocationProviderStatusPreferenceController controller =
                 new LocationProviderStatusPreferenceController(mContext, "LPSPC");
 
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(false,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK);
+        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
 
         capabilitiesAndConfig = createCapabilitiesAndConfig(false,
-                DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS, DEPENDENCY_STATUS_OK);
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE_UNSEARCHABLE);
 
-        capabilitiesAndConfig = createCapabilitiesAndConfig(false, DEPENDENCY_STATUS_OK,
-                DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS);
+        capabilitiesAndConfig = createCapabilitiesAndConfig(false,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
 
-        capabilitiesAndConfig = createCapabilitiesAndConfig(false, DEPENDENCY_STATUS_OK,
-                DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS);
+        capabilitiesAndConfig = createCapabilitiesAndConfig(false,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
@@ -144,32 +150,36 @@
 
     @Test
     public void testProviderStatus_primaryUncertain() {
-        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(false,
-                DEPENDENCY_STATUS_OK, DEPENDENCY_STATUS_OK, PROVIDER_STATUS_IS_CERTAIN);
-        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
         LocationProviderStatusPreferenceController controller =
                 new LocationProviderStatusPreferenceController(mContext, "LPSPC");
 
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(false,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK);
+        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
 
         capabilitiesAndConfig = createCapabilitiesAndConfig(false,
-                DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS, DEPENDENCY_STATUS_OK,
-                PROVIDER_STATUS_IS_CERTAIN);
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE_UNSEARCHABLE);
 
-        capabilitiesAndConfig = createCapabilitiesAndConfig(false, DEPENDENCY_STATUS_OK,
-                DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS, PROVIDER_STATUS_IS_UNCERTAIN);
+        capabilitiesAndConfig = createCapabilitiesAndConfig(false,
+                PROVIDER_STATUS_IS_UNCERTAIN, DEPENDENCY_STATUS_OK,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE_UNSEARCHABLE);
 
-        capabilitiesAndConfig = createCapabilitiesAndConfig(false, DEPENDENCY_STATUS_OK,
-                DEPENDENCY_STATUS_OK, PROVIDER_STATUS_IS_UNCERTAIN);
+        capabilitiesAndConfig = createCapabilitiesAndConfig(false,
+                PROVIDER_STATUS_IS_UNCERTAIN, DEPENDENCY_STATUS_OK,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_OK);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
@@ -177,18 +187,21 @@
     }
 
     @Test
-    public void testProviderStatus_nullProviders() {
-        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(false,
-                null, null);
-        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+    public void testProviderStatus_nullProviderStatuses() {
         LocationProviderStatusPreferenceController controller =
                 new LocationProviderStatusPreferenceController(mContext, "LPSPC");
 
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(false,
+                PROVIDER_STATUS_IS_CERTAIN, null,
+                PROVIDER_STATUS_IS_CERTAIN, null);
+        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
 
         capabilitiesAndConfig = createCapabilitiesAndConfig(false,
-                DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS, null);
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS,
+                PROVIDER_STATUS_IS_CERTAIN, null);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
@@ -200,39 +213,63 @@
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
 
-        capabilitiesAndConfig = createCapabilitiesAndConfig(false, null,
-                DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS);
+        capabilitiesAndConfig = createCapabilitiesAndConfig(false,
+                PROVIDER_STATUS_IS_CERTAIN, null,
+                PROVIDER_STATUS_IS_CERTAIN, DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE_UNSEARCHABLE);
     }
 
-    private TimeZoneCapabilitiesAndConfig createCapabilitiesAndConfig(boolean capabilitySupported,
-            @Nullable Integer primary, @Nullable Integer secondary) {
-        return createCapabilitiesAndConfig(capabilitySupported, primary, secondary,
-                PROVIDER_STATUS_IS_CERTAIN);
+    private static TimeZoneCapabilitiesAndConfig createCapabilitiesAndConfig(
+            boolean userCanConfigureGeoDetection,
+            @Nullable @DependencyStatus Integer primaryProviderLocationStatus,
+            @Nullable @DependencyStatus Integer secondaryProviderLocationStatus) {
+        return createCapabilitiesAndConfig(userCanConfigureGeoDetection,
+                PROVIDER_STATUS_IS_CERTAIN, primaryProviderLocationStatus,
+                PROVIDER_STATUS_IS_CERTAIN, secondaryProviderLocationStatus);
     }
 
-    private TimeZoneCapabilitiesAndConfig createCapabilitiesAndConfig(boolean capabilitySupported,
-            @Nullable Integer primary, @Nullable Integer secondary, int primaryProviderStatus) {
-        TimeZoneDetectorStatus status = new TimeZoneDetectorStatus(DETECTOR_STATUS_RUNNING,
-                new TelephonyTimeZoneAlgorithmStatus(DETECTION_ALGORITHM_STATUS_RUNNING),
-                new LocationTimeZoneAlgorithmStatus(DETECTION_ALGORITHM_STATUS_RUNNING,
-                        primaryProviderStatus, primary != null
-                        ? new TimeZoneProviderStatus.Builder().setLocationDetectionDependencyStatus(
-                        primary).build() : null, PROVIDER_STATUS_IS_CERTAIN, secondary != null
-                        ? new TimeZoneProviderStatus.Builder().setLocationDetectionDependencyStatus(
-                        secondary).build() : null));
+    private static TimeZoneCapabilitiesAndConfig createCapabilitiesAndConfig(
+            boolean userCanConfigureGeoDetection,
+            @ProviderStatus int primaryProviderStatus,
+            @Nullable @DependencyStatus Integer primaryProviderLocationStatus,
+            @ProviderStatus int secondaryProviderStatus,
+            @Nullable @DependencyStatus Integer secondaryProviderLocationStatus) {
+        TelephonyTimeZoneAlgorithmStatus telephonyTimeZoneAlgorithmStatus =
+                new TelephonyTimeZoneAlgorithmStatus(DETECTION_ALGORITHM_STATUS_RUNNING);
 
-        TimeZoneCapabilities capabilities = new TimeZoneCapabilities.Builder(
-                UserHandle.SYSTEM).setConfigureAutoDetectionEnabledCapability(
-                Capabilities.CAPABILITY_POSSESSED).setConfigureGeoDetectionEnabledCapability(
-                capabilitySupported ? Capabilities.CAPABILITY_POSSESSED
-                        : Capabilities.CAPABILITY_NOT_SUPPORTED).setSetManualTimeZoneCapability(
-                Capabilities.CAPABILITY_POSSESSED).build();
+        LocationTimeZoneAlgorithmStatus locationTimeZoneAlgorithmStatus =
+                new LocationTimeZoneAlgorithmStatus(DETECTION_ALGORITHM_STATUS_RUNNING,
+                        primaryProviderStatus,
+                        createTimeZoneProviderStatusOrNull(primaryProviderLocationStatus),
+                        secondaryProviderStatus,
+                        createTimeZoneProviderStatusOrNull(secondaryProviderLocationStatus));
+
+        TimeZoneDetectorStatus status = new TimeZoneDetectorStatus(DETECTOR_STATUS_RUNNING,
+                telephonyTimeZoneAlgorithmStatus, locationTimeZoneAlgorithmStatus);
+
+        @CapabilityState int configureGeoDetectionEnabledCapability = userCanConfigureGeoDetection
+                ? Capabilities.CAPABILITY_POSSESSED : Capabilities.CAPABILITY_NOT_SUPPORTED;
+        TimeZoneCapabilities capabilities = new TimeZoneCapabilities.Builder(UserHandle.SYSTEM)
+                .setConfigureAutoDetectionEnabledCapability(Capabilities.CAPABILITY_POSSESSED)
+                .setUseLocationEnabled(true)
+                .setConfigureGeoDetectionEnabledCapability(configureGeoDetectionEnabledCapability)
+                .setSetManualTimeZoneCapability(Capabilities.CAPABILITY_POSSESSED)
+                .build();
 
         return new TimeZoneCapabilitiesAndConfig(status, capabilities,
                 new TimeZoneConfiguration.Builder().build());
     }
+
+    private static TimeZoneProviderStatus createTimeZoneProviderStatusOrNull(
+            @Nullable @DependencyStatus Integer locationDependencyStatusOrNull) {
+        if (locationDependencyStatusOrNull == null) {
+            return null;
+        }
+        return new TimeZoneProviderStatus.Builder()
+                .setLocationDetectionDependencyStatus(locationDependencyStatusOrNull)
+                .build();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceControllerTest.java
index ea83366..baef01c 100644
--- a/tests/robotests/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceControllerTest.java
@@ -27,9 +27,10 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
 import android.app.time.Capabilities.CapabilityState;
@@ -41,7 +42,6 @@
 import android.app.time.TimeZoneConfiguration;
 import android.app.time.TimeZoneDetectorStatus;
 import android.content.Context;
-import android.location.LocationManager;
 import android.os.UserHandle;
 
 import com.android.settings.R;
@@ -60,8 +60,6 @@
 public class LocationTimeZoneDetectionPreferenceControllerTest {
     @Mock
     private TimeManager mTimeManager;
-    @Mock
-    private LocationManager mLocationManager;
     private Context mContext;
     private LocationTimeZoneDetectionPreferenceController mController;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -72,14 +70,16 @@
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
         when(mContext.getSystemService(TimeManager.class)).thenReturn(mTimeManager);
-        when(mContext.getSystemService(LocationManager.class)).thenReturn(mLocationManager);
         mController = new LocationTimeZoneDetectionPreferenceController(mContext);
         mController.setFragment(mFragment);
     }
 
     @Test
     public void setChecked_withTrue_shouldUpdateSetting_whenLocationIsEnabled() {
-        when(mLocationManager.isLocationEnabled()).thenReturn(true);
+        boolean useLocationEnabled = true;
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
+                createTimeZoneCapabilitiesAndConfig(useLocationEnabled, CAPABILITY_POSSESSED);
+        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         // Simulate the UI being clicked.
         mController.setChecked(true);
@@ -98,17 +98,25 @@
 
     @Test
     public void setChecked_withTrue_shouldDoNothing_whenLocationIsDisabled() {
-        when(mLocationManager.isLocationEnabled()).thenReturn(false);
+        boolean useLocationEnabled = false;
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
+                createTimeZoneCapabilitiesAndConfig(useLocationEnabled, CAPABILITY_POSSESSED);
+        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         // Simulate the UI being clicked.
         mController.setChecked(true);
 
-        // Verify the TimeManager was not called.
-        verifyNoInteractions(mTimeManager);
+        // Verify the TimeManager was not updated.
+        verify(mTimeManager, never()).updateTimeZoneConfiguration(any());
     }
 
     @Test
     public void setChecked_withFalse_shouldUpdateSetting() {
+        boolean useLocationEnabled = false;
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
+                createTimeZoneCapabilitiesAndConfig(useLocationEnabled, CAPABILITY_POSSESSED);
+        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+
         // Simulate the UI being clicked.
         mController.setChecked(false);
 
@@ -121,8 +129,9 @@
 
     @Test
     public void testLocationTimeZoneDetection_supported_shouldBeShown() {
+        boolean useLocationEnabled = false;
         TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
-                createTimeZoneCapabilitiesAndConfig(CAPABILITY_POSSESSED);
+                createTimeZoneCapabilitiesAndConfig(useLocationEnabled, CAPABILITY_POSSESSED);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(mController.isAvailable()).isTrue();
@@ -130,8 +139,9 @@
 
     @Test
     public void testLocationTimeZoneDetection_unsupported_shouldNotBeShown() {
-        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
-                createTimeZoneCapabilitiesAndConfig(CAPABILITY_NOT_SUPPORTED);
+        boolean useLocationEnabled = false;
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createTimeZoneCapabilitiesAndConfig(
+                useLocationEnabled, CAPABILITY_NOT_SUPPORTED);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
         assertThat(mController.isAvailable()).isFalse();
@@ -142,8 +152,9 @@
      */
     @Test
     public void testLocationTimeZoneDetection_summary_geoDetectionEnabled() {
+        boolean useLocationEnabled = false;
         TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
-                createTimeZoneCapabilitiesAndConfig(CAPABILITY_POSSESSED);
+                createTimeZoneCapabilitiesAndConfig(useLocationEnabled, CAPABILITY_POSSESSED);
 
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
         assertThat(mController.getSummary()).isEqualTo(
@@ -152,11 +163,11 @@
 
     @Test
     public void testLocationTimeZoneDetection_toggleIsOn_whenGeoDetectionEnabledAnsMlsIsOff() {
-        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig =
-                createTimeZoneCapabilitiesAndConfig(CAPABILITY_NOT_APPLICABLE);
+        boolean useLocationEnabled = false;
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createTimeZoneCapabilitiesAndConfig(
+                useLocationEnabled, CAPABILITY_NOT_APPLICABLE);
 
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
-        when(mLocationManager.isLocationEnabled()).thenReturn(false);
 
         assertThat(mController.isChecked()).isTrue();
         assertThat(mController.getSummary()).isEqualTo(
@@ -164,6 +175,7 @@
     }
 
     private static TimeZoneCapabilitiesAndConfig createTimeZoneCapabilitiesAndConfig(
+            boolean useLocationEnabled,
             @CapabilityState int configureGeoDetectionEnabledCapability) {
 
         // Create a status that matches the user's capability state.
@@ -191,6 +203,7 @@
         UserHandle arbitraryUserHandle = UserHandle.of(123);
         TimeZoneCapabilities capabilities = new TimeZoneCapabilities.Builder(arbitraryUserHandle)
                 .setConfigureAutoDetectionEnabledCapability(CAPABILITY_POSSESSED)
+                .setUseLocationEnabled(useLocationEnabled)
                 .setConfigureGeoDetectionEnabledCapability(configureGeoDetectionEnabledCapability)
                 .setSetManualTimeZoneCapability(CAPABILITY_NOT_APPLICABLE)
                 .build();
diff --git a/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java
index 77ab9a2..10a5e5d 100644
--- a/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java
@@ -112,8 +112,10 @@
                         PROVIDER_STATUS_NOT_PRESENT, null));
         int suggestManualCapability = suggestManualAllowed ? Capabilities.CAPABILITY_POSSESSED
                 : Capabilities.CAPABILITY_NOT_SUPPORTED;
+        boolean useLocationEnabled = true;
         TimeZoneCapabilities capabilities = new TimeZoneCapabilities.Builder(UserHandle.SYSTEM)
                 .setConfigureAutoDetectionEnabledCapability(Capabilities.CAPABILITY_POSSESSED)
+                .setUseLocationEnabled(useLocationEnabled)
                 .setConfigureGeoDetectionEnabledCapability(Capabilities.CAPABILITY_NOT_SUPPORTED)
                 .setSetManualTimeZoneCapability(suggestManualCapability)
                 .build();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index 6363a8f..0278553 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -20,9 +20,8 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
@@ -38,9 +37,9 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.InstallSourceInfo;
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
-import android.os.BatteryStats;
 import android.os.Bundle;
 import android.os.Process;
 import android.os.UserHandle;
@@ -79,6 +78,8 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+import java.util.concurrent.TimeUnit;
+
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowEntityHeaderController.class, ShadowActivityManager.class})
 public class AdvancedPowerUsageDetailTest {
@@ -116,12 +117,12 @@
     @Mock
     private PackageManager mPackageManager;
     @Mock
+    private InstallSourceInfo mInstallSourceInfo;
+    @Mock
     private AppOpsManager mAppOpsManager;
     @Mock
     private LoaderManager mLoaderManager;
     @Mock
-    private BatteryUtils mBatteryUtils;
-    @Mock
     private BatteryOptimizeUtils mBatteryOptimizeUtils;
     @Mock
     private BackupManager mBackupManager;
@@ -179,7 +180,6 @@
 
         mFragment.mHeaderPreference = mHeaderPreference;
         mFragment.mState = mState;
-        mFragment.mBatteryUtils = new BatteryUtils(RuntimeEnvironment.application);
         mFragment.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
         mFragment.mBackupManager = mBackupManager;
         mFragment.mLogStringBuilder = new StringBuilder();
@@ -190,10 +190,6 @@
         doReturn(mPackageManager).when(mActivity).getPackageManager();
         doReturn(mAppOpsManager).when(mTestActivity).getSystemService(Context.APP_OPS_SERVICE);
 
-        mBatteryUtils = spy(new BatteryUtils(mContext));
-        doReturn(FOREGROUND_SERVICE_TIME_US).when(mBatteryUtils).getForegroundServiceTotalTimeUs(
-                any(BatteryStats.Uid.class), anyLong());
-
         final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
 
         Answer<Void> callable = invocation -> {
@@ -757,34 +753,46 @@
     }
 
     @Test
-    public void onPause_optimizationModeChanged_logPreference() {
+    public void onPause_optimizationModeChanged_logPreference()
+            throws PackageManager.NameNotFoundException, InterruptedException {
+        final String packageName = "testPackageName";
         final int mode = BatteryOptimizeUtils.MODE_RESTRICTED;
         mFragment.mOptimizationMode = mode;
         when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(mode);
+        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(packageName);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
+        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
         mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
 
         mFragment.onRadioButtonClicked(mOptimizePreference);
         mFragment.onPause();
 
+        TimeUnit.SECONDS.sleep(100);
         verify(mMetricsFeatureProvider)
                 .action(
                         SettingsEnums.OPEN_APP_BATTERY_USAGE,
                         SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED,
                         SettingsEnums.OPEN_APP_BATTERY_USAGE,
-                        /* package name*/ "none",
+                        packageName,
                         /* consumed battery */ 0);
     }
 
     @Test
-    public void onPause_optimizationModeIsNotChanged_notInvokeLogging() {
+    public void onPause_optimizationModeIsNotChanged_notInvokeLogging()
+            throws PackageManager.NameNotFoundException, InterruptedException {
         final int mode = BatteryOptimizeUtils.MODE_OPTIMIZED;
         mFragment.mOptimizationMode = mode;
         when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(mode);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
+        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
         mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
 
         mFragment.onRadioButtonClicked(mOptimizePreference);
         mFragment.onPause();
 
+        TimeUnit.SECONDS.sleep(100);
         verifyNoInteractions(mMetricsFeatureProvider);
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
index 9c922bb..58c69b1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
@@ -88,7 +88,7 @@
         Locale.setDefault(new Locale("en_US"));
         org.robolectric.shadows.ShadowSettings.set24HourTimeFormat(false);
         TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
-        DataProcessor.sFakeSystemAppsSet = Set.of();
+        DataProcessor.sTestSystemAppsSet = Set.of();
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mContext = spy(RuntimeEnvironment.application);
         doReturn(mContext).when(mContext).getApplicationContext();
@@ -405,7 +405,7 @@
             entryMap.put("fake_entry_key" + index, entry);
             batteryHistoryMap.put(generateTimestamp(index), entryMap);
         }
-        DataProcessor.sFakeCurrentTimeMillis =
+        DataProcessor.sTestCurrentTimeMillis =
                 generateTimestamp(numOfHours - 1) + DateUtils.MINUTE_IN_MILLIS;
         return batteryHistoryMap;
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
index 409c803..67c972f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
@@ -308,7 +308,7 @@
         final int[] levels = {100, 99, 98};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
                 createHistoryMap(timestamps, levels);
-        DataProcessor.sFakeCurrentTimeMillis = timestamps[timestamps.length - 1];
+        DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
 
         assertThat(DataProcessManager.getBatteryLevelData(
                 mContext, /*handler=*/ null, batteryHistoryMap, /*asyncResponseDelegate=*/ null))
@@ -322,7 +322,7 @@
         final int[] levels = {100, 99};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
                 createHistoryMap(timestamps, levels);
-        DataProcessor.sFakeCurrentTimeMillis = timestamps[timestamps.length - 1];
+        DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
 
         final BatteryLevelData resultData =
                 DataProcessManager.getBatteryLevelData(
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
index 764b3a8..0ecf50e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
@@ -18,20 +18,23 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.anyLong;
-import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.anyLong;
+import static org.mockito.Mockito.anyString;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.isA;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
 import android.app.usage.IUsageStatsManager;
 import android.app.usage.UsageEvents;
 import android.app.usage.UsageEvents.Event;
+import android.content.BroadcastReceiver;
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
+import android.content.IntentFilter;
 import android.content.pm.UserInfo;
 import android.os.BatteryConsumer;
 import android.os.BatteryManager;
@@ -90,9 +93,10 @@
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mPowerUsageFeatureProvider = mFeatureFactory.powerUsageFeatureProvider;
 
-        DataProcessor.sFakeSystemAppsSet = Set.of();
+        DataProcessor.sTestSystemAppsSet = Set.of();
         DataProcessor.sUsageStatsManager = mUsageStatsManager;
-        doReturn(mIntent).when(mContext).registerReceiver(any(), any());
+        doReturn(mIntent).when(mContext).registerReceiver(
+                isA(BroadcastReceiver.class), isA(IntentFilter.class));
         doReturn(100).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_SCALE), anyInt());
         doReturn(66).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_LEVEL), anyInt());
         doReturn(mContext).when(mContext).getApplicationContext();
@@ -109,11 +113,11 @@
         doReturn(true).when(mUserManager).isUserUnlocked(userInfo.id);
         doReturn(mUsageEvents1)
                 .when(mUsageStatsManager)
-                .queryEventsForUser(anyLong(), anyLong(), anyInt(), any());
+                .queryEventsForUser(anyLong(), anyLong(), anyInt(), anyString());
 
         final Map<Long, UsageEvents> resultMap = DataProcessor.getAppUsageEvents(mContext);
 
-        assertThat(resultMap.size()).isEqualTo(1);
+        assertThat(resultMap).hasSize(1);
         assertThat(resultMap.get(Long.valueOf(userInfo.id))).isEqualTo(mUsageEvents1);
     }
 
@@ -138,8 +142,8 @@
         userInfoList.add(userInfo);
         doReturn(userInfoList).when(mUserManager).getAliveUsers();
         doReturn(true).when(mUserManager).isUserUnlocked(userInfo.id);
-        doReturn(null)
-                .when(mUsageStatsManager).queryEventsForUser(anyLong(), anyLong(), anyInt(), any());
+        doReturn(null).when(mUsageStatsManager)
+                .queryEventsForUser(anyLong(), anyLong(), anyInt(), anyString());
 
         final Map<Long, UsageEvents> resultMap = DataProcessor.getAppUsageEvents(mContext);
 
@@ -152,7 +156,7 @@
         doReturn(true).when(mUserManager).isUserUnlocked(userId);
         doReturn(mUsageEvents1)
                 .when(mUsageStatsManager)
-                .queryEventsForUser(anyLong(), anyLong(), anyInt(), any());
+                .queryEventsForUser(anyLong(), anyLong(), anyInt(), anyString());
 
         assertThat(DataProcessor.getAppUsageEventsForUser(mContext, userId, 0))
                 .isEqualTo(mUsageEvents1);
@@ -171,8 +175,8 @@
     public void getAppUsageEventsForUser_nullUsageEvents_returnNull() throws RemoteException {
         final int userId = 1;
         doReturn(true).when(mUserManager).isUserUnlocked(userId);
-        doReturn(null)
-                .when(mUsageStatsManager).queryEventsForUser(anyLong(), anyLong(), anyInt(), any());
+        doReturn(null).when(mUsageStatsManager)
+                .queryEventsForUser(anyLong(), anyLong(), anyInt(), anyString());
 
         assertThat(DataProcessor.getAppUsageEventsForUser(mContext, userId, 0)).isNull();
     }
@@ -248,31 +252,31 @@
                 DataProcessor.generateAppUsagePeriodMap(
                         hourlyBatteryLevelsPerDay, appUsageEventList);
 
-        assertThat(periodMap.size()).isEqualTo(3);
+        assertThat(periodMap).hasSize(3);
         // Day 1
-        assertThat(periodMap.get(0).size()).isEqualTo(2);
+        assertThat(periodMap.get(0)).hasSize(2);
         Map<Long, Map<String, List<AppUsagePeriod>>> hourlyMap = periodMap.get(0).get(0);
-        assertThat(hourlyMap.size()).isEqualTo(2);
+        assertThat(hourlyMap).hasSize(2);
         Map<String, List<AppUsagePeriod>> userMap = hourlyMap.get(1L);
-        assertThat(userMap.size()).isEqualTo(1);
-        assertThat(userMap.get(packageName).size()).isEqualTo(1);
+        assertThat(userMap).hasSize(1);
+        assertThat(userMap.get(packageName)).hasSize(1);
         assertAppUsagePeriod(userMap.get(packageName).get(0), 17200000L, 17800000L);
         userMap = hourlyMap.get(2L);
-        assertThat(userMap.size()).isEqualTo(1);
-        assertThat(userMap.get(packageName).size()).isEqualTo(2);
+        assertThat(userMap).hasSize(1);
+        assertThat(userMap.get(packageName)).hasSize(2);
         assertAppUsagePeriod(userMap.get(packageName).get(0), 14400000L, 15600000L);
         assertAppUsagePeriod(userMap.get(packageName).get(1), 16200000L, 18000000L);
         hourlyMap = periodMap.get(0).get(1);
         assertThat(hourlyMap).isNull();
         // Day 2
-        assertThat(periodMap.get(1).size()).isEqualTo(0);
+        assertThat(periodMap.get(1)).hasSize(0);
         // Day 3
-        assertThat(periodMap.get(2).size()).isEqualTo(1);
+        assertThat(periodMap.get(2)).hasSize(1);
         hourlyMap = periodMap.get(2).get(0);
-        assertThat(hourlyMap.size()).isEqualTo(1);
+        assertThat(hourlyMap).hasSize(1);
         userMap = hourlyMap.get(1L);
-        assertThat(userMap.size()).isEqualTo(1);
-        assertThat(userMap.get(packageName).size()).isEqualTo(2);
+        assertThat(userMap).hasSize(1);
+        assertThat(userMap.get(packageName)).hasSize(2);
         assertAppUsagePeriod(userMap.get(packageName).get(0), 45970000L, 46000000L);
         assertAppUsagePeriod(userMap.get(packageName).get(1), 47800000L, 48800000L);
     }
@@ -313,7 +317,7 @@
         final List<AppUsageEvent> appUsageEventList =
                 DataProcessor.generateAppUsageEventListFromUsageEvents(mContext, appUsageEvents);
 
-        assertThat(appUsageEventList.size()).isEqualTo(3);
+        assertThat(appUsageEventList).hasSize(3);
         assertAppUsageEvent(
                 appUsageEventList.get(0), AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 2);
         assertAppUsageEvent(
@@ -398,7 +402,7 @@
         final int[] levels = {100, 94, 90, 82, 50};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
                 createHistoryMap(timestamps, levels);
-        DataProcessor.sFakeCurrentTimeMillis = timestamps[timestamps.length - 1];
+        DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
 
         final Map<Long, Map<String, BatteryHistEntry>> resultMap =
                 DataProcessor.getHistoryMapWithExpectedTimestamps(mContext, batteryHistoryMap);
@@ -431,7 +435,7 @@
         final int[] levels = {100};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
                 createHistoryMap(timestamps, levels);
-        DataProcessor.sFakeCurrentTimeMillis = timestamps[timestamps.length - 1];
+        DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
 
         assertThat(
                 DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap))
@@ -451,7 +455,7 @@
         final int[] levels = {100, 94, 90, 82, 50};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
                 createHistoryMap(timestamps, levels);
-        DataProcessor.sFakeCurrentTimeMillis = timestamps[timestamps.length - 1];
+        DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
 
         final BatteryLevelData resultData =
                 DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
@@ -484,7 +488,7 @@
         final int[] levels = {100, 94, 90, 82};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
                 createHistoryMap(timestamps, levels);
-        DataProcessor.sFakeCurrentTimeMillis = timestamps[timestamps.length - 1];
+        DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
 
         final BatteryLevelData resultData =
                 DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
@@ -535,6 +539,194 @@
     }
 
     @Test
+    public void getLevelDataThroughProcessedHistoryMap_daylightSaving25Hour_returnExpectedResult() {
+        // Timezone PST 2022-11-06 has an extra 01:00:00 - 01:59:59 for daylight saving.
+        TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
+        final long[] timestamps = {
+                1667667600000L, // 2022-11-05 10:00:00
+                1667829600000L  // 2022-11-07 06:00:00
+        };
+        final int[] levels = {100, 88};
+        final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+                createHistoryMap(timestamps, levels);
+        DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
+
+        final BatteryLevelData resultData =
+                DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
+
+        final List<Long> expectedDailyTimestamps = List.of(
+                1667667600000L, // 2022-11-05 10:00:00
+                1667718000000L, // 2022-11-06 00:00:00
+                1667808000000L, // 2022-11-07 00:00:00
+                1667829600000L  // 2022-11-07 06:00:00
+        );
+        final List<Integer> expectedDailyLevels = new ArrayList<>();
+        expectedDailyLevels.add(100);
+        expectedDailyLevels.add(null);
+        expectedDailyLevels.add(null);
+        expectedDailyLevels.add(88);
+        final List<List<Long>> expectedHourlyTimestamps = List.of(
+                List.of(
+                        1667667600000L, // 2022-11-05 10:00:00
+                        1667674800000L, // 2022-11-05 12:00:00
+                        1667682000000L, // 2022-11-05 14:00:00
+                        1667689200000L, // 2022-11-05 16:00:00
+                        1667696400000L, // 2022-11-05 18:00:00
+                        1667703600000L, // 2022-11-05 20:00:00
+                        1667710800000L, // 2022-11-05 22:00:00
+                        1667718000000L  // 2022-11-06 00:00:00
+                ),
+                List.of(
+                        1667718000000L, // 2022-11-06 00:00:00
+                        1667725200000L, // 2022-11-06 01:00:00  after daylight saving change
+                        1667732400000L, // 2022-11-06 03:00:00
+                        1667739600000L, // 2022-11-06 05:00:00
+                        1667746800000L, // 2022-11-06 07:00:00
+                        1667754000000L, // 2022-11-06 09:00:00
+                        1667761200000L, // 2022-11-06 11:00:00
+                        1667768400000L, // 2022-11-06 13:00:00
+                        1667775600000L, // 2022-11-06 15:00:00
+                        1667782800000L, // 2022-11-06 17:00:00
+                        1667790000000L, // 2022-11-06 19:00:00
+                        1667797200000L, // 2022-11-06 21:00:00
+                        1667804400000L  // 2022-11-06 23:00:00
+                ),
+                List.of(
+                        1667808000000L, // 2022-11-07 00:00:00
+                        1667815200000L, // 2022-11-07 02:00:00
+                        1667822400000L, // 2022-11-07 04:00:00
+                        1667829600000L  // 2022-11-07 06:00:00
+                )
+        );
+        final List<Integer> expectedHourlyLevels1 = new ArrayList<>();
+        expectedHourlyLevels1.add(100);
+        expectedHourlyLevels1.add(null);
+        expectedHourlyLevels1.add(null);
+        expectedHourlyLevels1.add(null);
+        expectedHourlyLevels1.add(null);
+        expectedHourlyLevels1.add(null);
+        expectedHourlyLevels1.add(null);
+        expectedHourlyLevels1.add(null);
+        final List<Integer> expectedHourlyLevels2 = new ArrayList<>();
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        final List<Integer> expectedHourlyLevels3 = new ArrayList<>();
+        expectedHourlyLevels3.add(null);
+        expectedHourlyLevels3.add(null);
+        expectedHourlyLevels3.add(null);
+        expectedHourlyLevels3.add(88);
+        final List<List<Integer>> expectedHourlyLevels = List.of(
+                expectedHourlyLevels1,
+                expectedHourlyLevels2,
+                expectedHourlyLevels3
+        );
+        verifyExpectedBatteryLevelData(
+                resultData,
+                expectedDailyTimestamps,
+                expectedDailyLevels,
+                expectedHourlyTimestamps,
+                expectedHourlyLevels);
+    }
+
+    @Test
+    public void getLevelDataThroughProcessedHistoryMap_daylightSaving23Hour_returnExpectedResult() {
+        // Timezone PST 2022-03-13 has no 02:00:00 - 02:59:59 for daylight saving.
+        TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
+        final long[] timestamps = {
+                1647151200000L, // 2022-03-12 22:00:00
+                1647262800000L  // 2022-03-14 06:00:00
+        };
+        final int[] levels = {100, 88};
+        final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+                createHistoryMap(timestamps, levels);
+        DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
+
+        final BatteryLevelData resultData =
+                DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
+
+        final List<Long> expectedDailyTimestamps = List.of(
+                1647151200000L, // 2022-03-12 22:00:00
+                1647158400000L, // 2022-03-13 00:00:00
+                1647241200000L, // 2022-03-14 00:00:00
+                1647262800000L  // 2022-03-14 06:00:00
+        );
+        final List<Integer> expectedDailyLevels = new ArrayList<>();
+        expectedDailyLevels.add(100);
+        expectedDailyLevels.add(null);
+        expectedDailyLevels.add(null);
+        expectedDailyLevels.add(88);
+        final List<List<Long>> expectedHourlyTimestamps = List.of(
+                List.of(
+                        1647151200000L, // 2022-03-12 22:00:00
+                        1647158400000L  // 2022-03-13 00:00:00
+                ),
+                List.of(
+                        1647158400000L, // 2022-03-13 00:00:00
+                        1647165600000L, // 2022-03-13 03:00:00  after daylight saving change
+                        1647172800000L, // 2022-03-13 05:00:00
+                        1647180000000L, // 2022-03-13 07:00:00
+                        1647187200000L, // 2022-03-13 09:00:00
+                        1647194400000L, // 2022-03-13 11:00:00
+                        1647201600000L, // 2022-03-13 13:00:00
+                        1647208800000L, // 2022-03-13 15:00:00
+                        1647216000000L, // 2022-03-13 17:00:00
+                        1647223200000L, // 2022-03-13 19:00:00
+                        1647230400000L, // 2022-03-13 21:00:00
+                        1647237600000L  // 2022-03-13 23:00:00
+                ),
+                List.of(
+                        1647241200000L, // 2022-03-14 00:00:00
+                        1647248400000L, // 2022-03-14 02:00:00
+                        1647255600000L, // 2022-03-14 04:00:00
+                        1647262800000L  // 2022-03-14 06:00:00
+                )
+        );
+        final List<Integer> expectedHourlyLevels1 = new ArrayList<>();
+        expectedHourlyLevels1.add(100);
+        expectedHourlyLevels1.add(null);
+        final List<Integer> expectedHourlyLevels2 = new ArrayList<>();
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        expectedHourlyLevels2.add(null);
+        final List<Integer> expectedHourlyLevels3 = new ArrayList<>();
+        expectedHourlyLevels3.add(null);
+        expectedHourlyLevels3.add(null);
+        expectedHourlyLevels3.add(null);
+        expectedHourlyLevels3.add(88);
+        final List<List<Integer>> expectedHourlyLevels = List.of(
+                expectedHourlyLevels1,
+                expectedHourlyLevels2,
+                expectedHourlyLevels3
+        );
+        verifyExpectedBatteryLevelData(
+                resultData,
+                expectedDailyTimestamps,
+                expectedDailyLevels,
+                expectedHourlyTimestamps,
+                expectedHourlyLevels);
+    }
+
+    @Test
     public void getTimestampSlots_emptyRawList_returnEmptyList() {
         final List<Long> resultList = DataProcessor.getTimestampSlots(
                 new ArrayList<>(), 1641038400000L); // 2022-01-01 20:00:00
@@ -1479,21 +1671,21 @@
         final Map<Long, Map<String, List<AppUsagePeriod>>> appUsagePeriodMap =
                 DataProcessor.buildAppUsagePeriodList(appUsageEvents, 0, 5);
 
-        assertThat(appUsagePeriodMap.size()).isEqualTo(2);
+        assertThat(appUsagePeriodMap).hasSize(2);
         final Map<String, List<AppUsagePeriod>> userMap1 = appUsagePeriodMap.get(1L);
-        assertThat(userMap1.size()).isEqualTo(2);
+        assertThat(userMap1).hasSize(2);
         List<AppUsagePeriod> appUsagePeriodList = userMap1.get(packageName1);
-        assertThat(appUsagePeriodList.size()).isEqualTo(3);
+        assertThat(appUsagePeriodList).hasSize(3);
         assertAppUsagePeriod(appUsagePeriodList.get(0), 1, 2);
         assertAppUsagePeriod(appUsagePeriodList.get(1), 2, 4);
         assertAppUsagePeriod(appUsagePeriodList.get(2), 3, 4);
         appUsagePeriodList = userMap1.get(packageName2);
-        assertThat(appUsagePeriodList.size()).isEqualTo(1);
+        assertThat(appUsagePeriodList).hasSize(1);
         assertAppUsagePeriod(appUsagePeriodList.get(0), 2, 4);
         final Map<String, List<AppUsagePeriod>> userMap2 = appUsagePeriodMap.get(2L);
-        assertThat(userMap2.size()).isEqualTo(1);
+        assertThat(userMap2).hasSize(1);
         appUsagePeriodList = userMap2.get(packageName2);
-        assertThat(appUsagePeriodList.size()).isEqualTo(2);
+        assertThat(appUsagePeriodList).hasSize(2);
         assertAppUsagePeriod(appUsagePeriodList.get(0), 1, 2);
         assertAppUsagePeriod(appUsagePeriodList.get(1), 3, 4);
     }
@@ -1563,7 +1755,7 @@
         final List<AppUsagePeriod> appUsagePeriodList =
                 DataProcessor.buildAppUsagePeriodListPerInstance(appUsageEvents, 100000, 1100000);
 
-        assertThat(appUsagePeriodList.size()).isEqualTo(7);
+        assertThat(appUsagePeriodList).hasSize(7);
         assertAppUsagePeriod(appUsagePeriodList.get(0), 100000, 120000);
         assertAppUsagePeriod(appUsagePeriodList.get(1), 150000, 200000);
         assertAppUsagePeriod(appUsagePeriodList.get(2), 300000, 500000);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java
index 0e15dcd..acf4a2e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java
@@ -98,7 +98,7 @@
 
         ArgumentCaptor<CharSequence> argumentCaptor = ArgumentCaptor.forClass(CharSequence.class);
         verify(mScreenOnTimeTextPreference).setText(argumentCaptor.capture());
-        assertThat(argumentCaptor.getValue().toString()).isEqualTo("18 days, 12 hr, 27 min");
+        assertThat(argumentCaptor.getValue().toString()).isEqualTo("18 days 12 hr 27 min");
         verify(mScreenOnTimeTextPreference).setVisible(true);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
new file mode 100644
index 0000000..1b061ec
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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.settings.inputmethod;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link TrackpadBottomPreferenceController} */
+@RunWith(RobolectricTestRunner.class)
+public class TrackpadBottomPreferenceControllerTest {
+
+    private static final String PREFERENCE_KEY = "trackpad_bottom_right_tap";
+    private static final String SETTING_KEY = Settings.System.TOUCHPAD_RIGHT_CLICK_ZONE;
+
+    private Context mContext;
+    private TrackpadBottomPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mController = new TrackpadBottomPreferenceController(mContext, PREFERENCE_KEY);
+    }
+
+    @Test
+    public void getAvailabilityStatus_expected() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getSliceHighlightMenuRes_expected() {
+        assertThat(mController.getSliceHighlightMenuRes()).isEqualTo(R.string.menu_key_system);
+    }
+
+    @Test
+    public void setChecked_true_shouldReturn1() {
+        mController.setChecked(true);
+
+        int result = Settings.System.getIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                0,
+                UserHandle.USER_CURRENT);
+
+        assertThat(result).isEqualTo(1);
+    }
+
+    @Test
+    public void setChecked_false_shouldReturn0() {
+        mController.setChecked(false);
+
+        int result = Settings.System.getIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                0,
+                UserHandle.USER_CURRENT);
+
+        assertThat(result).isEqualTo(0);
+    }
+
+    @Test
+    public void isChecked_providerPutInt1_returnTrue() {
+        Settings.System.putIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                1,
+                UserHandle.USER_CURRENT);
+
+        boolean result = mController.isChecked();
+
+        assertThat(result).isTrue();
+    }
+
+    @Test
+    public void isChecked_providerPutInt0_returnFalse() {
+        Settings.System.putIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                0,
+                UserHandle.USER_CURRENT);
+
+        boolean result = mController.isChecked();
+
+        assertThat(result).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java
new file mode 100644
index 0000000..5c70877
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java
@@ -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.settings.inputmethod;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.hardware.input.InputManager;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link TrackpadPointerSpeedPreferenceController} */
+@RunWith(RobolectricTestRunner.class)
+public class TrackpadPointerSpeedPreferenceControllerTest {
+
+    private static final String PREFERENCE_KEY = "trackpad_pointer_speed";
+    private static final String SETTING_KEY = Settings.System.TOUCHPAD_POINTER_SPEED;
+
+    private Context mContext;
+    private TrackpadPointerSpeedPreferenceController mController;
+    private int mDefaultSpeed;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mController = new TrackpadPointerSpeedPreferenceController(mContext, PREFERENCE_KEY);
+        mDefaultSpeed = Settings.System.getIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                InputManager.DEFAULT_POINTER_SPEED,
+                UserHandle.USER_CURRENT);
+    }
+
+    @Test
+    public void getAvailabilityStatus_expected() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getMin_expected() {
+        assertThat(mController.getMin()).isEqualTo(InputManager.MIN_POINTER_SPEED);
+    }
+
+    @Test
+    public void getMax_expected() {
+        assertThat(mController.getMax()).isEqualTo(InputManager.MAX_POINTER_SPEED);
+    }
+
+    @Test
+    public void getSliderPosition_defaultSpeed_return0() {
+        int result = mController.getSliderPosition();
+
+        assertThat(result).isEqualTo(0);
+    }
+
+    @Test
+    public void setSliderPosition_speedValue1_shouldReturnTrue() {
+        int inputSpeed = 1;
+
+        boolean result = mController.setSliderPosition(inputSpeed);
+
+        assertThat(result).isTrue();
+        assertThat(mController.getSliderPosition()).isEqualTo(inputSpeed);
+    }
+
+    @Test
+    public void setSliderPosition_speedValueOverMaxValue_shouldReturnFalse() {
+        int inputSpeed = InputManager.MAX_POINTER_SPEED + 1;
+
+        boolean result = mController.setSliderPosition(inputSpeed);
+
+        assertThat(result).isFalse();
+        assertThat(mController.getSliderPosition()).isEqualTo(mDefaultSpeed);
+    }
+
+    @Test
+    public void setSliderPosition_speedValueOverMinValue_shouldReturnFalse() {
+        int inputSpeed = InputManager.MIN_POINTER_SPEED - 1;
+
+        boolean result = mController.setSliderPosition(inputSpeed);
+
+        assertThat(result).isFalse();
+        assertThat(mController.getSliderPosition()).isEqualTo(mDefaultSpeed);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
new file mode 100644
index 0000000..b4cb862
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
@@ -0,0 +1,114 @@
+/*
+ * 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.settings.inputmethod;
+
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link TrackpadReverseScrollingPreferenceController} */
+@RunWith(RobolectricTestRunner.class)
+public class TrackpadReverseScrollingPreferenceControllerTest {
+
+    private static final String PREFERENCE_KEY = "trackpad_reverse_scrolling";
+    private static final String SETTING_KEY = Settings.System.TOUCHPAD_NATURAL_SCROLLING;
+
+    private Context mContext;
+    private TrackpadReverseScrollingPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mController = new TrackpadReverseScrollingPreferenceController(mContext, PREFERENCE_KEY);
+    }
+
+    @Test
+    public void getAvailabilityStatus_expected() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getSliceHighlightMenuRes_expected() {
+        assertThat(mController.getSliceHighlightMenuRes()).isEqualTo(R.string.menu_key_system);
+    }
+
+    @Test
+    public void setChecked_true_shouldReturn1() {
+        mController.setChecked(true);
+
+        int result = Settings.System.getIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                0,
+                UserHandle.USER_CURRENT);
+
+        assertThat(result).isEqualTo(1);
+    }
+
+    @Test
+    public void setChecked_false_shouldReturn0() {
+        mController.setChecked(false);
+
+        int result = Settings.System.getIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                0,
+                UserHandle.USER_CURRENT);
+
+        assertThat(result).isEqualTo(0);
+    }
+
+    @Test
+    public void isChecked_providerPutInt1_returnTrue() {
+        Settings.System.putIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                1,
+                UserHandle.USER_CURRENT);
+
+        boolean result = mController.isChecked();
+
+        assertThat(result).isTrue();
+    }
+
+    @Test
+    public void isChecked_providerPutInt0_returnFalse() {
+        Settings.System.putIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                0,
+                UserHandle.USER_CURRENT);
+
+        boolean result = mController.isChecked();
+
+        assertThat(result).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
new file mode 100644
index 0000000..b4b8921
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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.settings.inputmethod;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link TrackpadTapToClickPreferenceController} */
+@RunWith(RobolectricTestRunner.class)
+public class TrackpadTapToClickPreferenceControllerTest {
+
+    private static final String PREFERENCE_KEY = "trackpad_tap_to_click";
+    private static final String SETTING_KEY = Settings.System.TOUCHPAD_TAP_TO_CLICK;
+
+    private Context mContext;
+    private TrackpadTapToClickPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mController = new TrackpadTapToClickPreferenceController(mContext, PREFERENCE_KEY);
+    }
+
+    @Test
+    public void getAvailabilityStatus_expected() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getSliceHighlightMenuRes_expected() {
+        assertThat(mController.getSliceHighlightMenuRes()).isEqualTo(R.string.menu_key_system);
+    }
+
+    @Test
+    public void setChecked_true_shouldReturn1() {
+        mController.setChecked(true);
+
+        int result = Settings.System.getIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                0,
+                UserHandle.USER_CURRENT);
+
+        assertThat(result).isEqualTo(1);
+    }
+
+    @Test
+    public void setChecked_false_shouldReturn0() {
+        mController.setChecked(false);
+
+        int result = Settings.System.getIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                0,
+                UserHandle.USER_CURRENT);
+
+        assertThat(result).isEqualTo(0);
+    }
+
+    @Test
+    public void isChecked_providerPutInt1_returnTrue() {
+        Settings.System.putIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                1,
+                UserHandle.USER_CURRENT);
+
+        boolean result = mController.isChecked();
+
+        assertThat(result).isTrue();
+    }
+
+    @Test
+    public void isChecked_providerPutInt0_returnFalse() {
+        Settings.System.putIntForUser(
+                mContext.getContentResolver(),
+                SETTING_KEY,
+                0,
+                UserHandle.USER_CURRENT);
+
+        boolean result = mController.isChecked();
+
+        assertThat(result).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java b/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java
index 332a39b..b462d33 100644
--- a/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java
+++ b/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java
@@ -18,25 +18,36 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+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.when;
 
 import android.app.Activity;
 import android.app.ApplicationPackageManager;
+import android.app.LocaleConfig;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.ApplicationInfo;
 import android.content.pm.InstallSourceInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
 import android.net.Uri;
+import android.os.LocaleList;
 import android.os.Process;
 import android.os.UserHandle;
 import android.telephony.TelephonyManager;
 
+import androidx.annotation.ArrayRes;
+
 import com.android.internal.app.LocaleStore;
 import com.android.settings.applications.AppInfoBase;
+import com.android.settings.applications.AppLocaleUtil;
 
-import java.util.Locale;
-
+import org.junit.After;
+import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -45,17 +56,26 @@
 import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
 import org.robolectric.android.controller.ActivityController;
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
+import org.robolectric.shadows.ShadowPackageManager;
 import org.robolectric.shadows.ShadowTelephonyManager;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(
         shadows = {
                 AppLocalePickerActivityTest.ShadowApplicationPackageManager.class,
+                AppLocalePickerActivityTest.ShadowResources.class,
+                AppLocalePickerActivityTest.ShadowUserHandle.class,
         })
 public class AppLocalePickerActivityTest {
     private static final String TEST_PACKAGE_NAME = "com.android.settings";
@@ -63,25 +83,109 @@
 
     @Mock
     LocaleStore.LocaleInfo mLocaleInfo;
+    @Mock
+    private LocaleConfig mLocaleConfig;
 
     @Rule
     public MockitoRule rule = MockitoJUnit.rule();
 
+    private Context mContext;
+    private ShadowPackageManager mPackageManager;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        mPackageManager = Shadows.shadowOf(mContext.getPackageManager());
+        mLocaleConfig = mock(LocaleConfig.class);
+        when(mLocaleConfig.getStatus()).thenReturn(LocaleConfig.STATUS_SUCCESS);
+        when(mLocaleConfig.getSupportedLocales()).thenReturn(LocaleList.forLanguageTags("en-US"));
+        ReflectionHelpers.setStaticField(AppLocaleUtil.class, "sLocaleConfig", mLocaleConfig);
+    }
+
+    @After
+    public void tearDown() {
+        mPackageManager.removePackage(TEST_PACKAGE_NAME);
+        ReflectionHelpers.setStaticField(AppLocaleUtil.class, "sLocaleConfig", null);
+        ShadowResources.setDisAllowPackage(false);
+        ShadowApplicationPackageManager.setNoLaunchEntry(false);
+        ShadowUserHandle.setUserId(0);
+    }
+
     @Test
     public void launchAppLocalePickerActivity_hasPackageName_success() {
         ActivityController<TestAppLocalePickerActivity> controller =
                 initActivityController(true);
-
         controller.create();
 
         assertThat(controller.get().isFinishing()).isFalse();
     }
 
     @Test
+    public void launchAppLocalePickerActivity_appNoLocaleConfig_failed() {
+        when(mLocaleConfig.getStatus()).thenReturn(LocaleConfig.STATUS_NOT_SPECIFIED);
+
+        ActivityController<TestAppLocalePickerActivity> controller =
+                initActivityController(true);
+        controller.create();
+
+        assertThat(controller.get().isFinishing()).isTrue();
+    }
+
+    @Test
+    public void launchAppLocalePickerActivity_appSignPlatformKey_failed() {
+        final ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.privateFlags |= ApplicationInfo.PRIVATE_FLAG_SIGNED_WITH_PLATFORM_KEY;
+        applicationInfo.packageName = TEST_PACKAGE_NAME;
+
+        final PackageInfo packageInfo = new PackageInfo();
+        packageInfo.packageName = TEST_PACKAGE_NAME;
+        packageInfo.applicationInfo = applicationInfo;
+        mPackageManager.installPackage(packageInfo);
+
+        ActivityController<TestAppLocalePickerActivity> controller =
+                initActivityController(true);
+        controller.create();
+
+        assertThat(controller.get().isFinishing()).isTrue();
+    }
+
+    @Test
+    public void launchAppLocalePickerActivity_appMatchDisallowedPackage_failed() {
+        ShadowResources.setDisAllowPackage(true);
+
+        ActivityController<TestAppLocalePickerActivity> controller =
+                initActivityController(true);
+        controller.create();
+
+        assertThat(controller.get().isFinishing()).isTrue();
+    }
+
+    @Test
+    public void launchAppLocalePickerActivity_appNoLaunchEntry_failed() {
+        ShadowApplicationPackageManager.setNoLaunchEntry(true);
+
+        ActivityController<TestAppLocalePickerActivity> controller =
+                initActivityController(true);
+        controller.create();
+
+        assertThat(controller.get().isFinishing()).isTrue();
+    }
+
+    @Test
+    public void launchAppLocalePickerActivity_modifyAppLocalesOfAnotherUser_failed() {
+        ShadowUserHandle.setUserId(10);
+
+        ActivityController<TestAppLocalePickerActivity> controller =
+                initActivityController(true);
+        controller.create();
+
+        assertThat(controller.get().isFinishing()).isTrue();
+    }
+
+    @Test
     public void launchAppLocalePickerActivity_intentWithoutPackageName_failed() {
         ActivityController<TestAppLocalePickerActivity> controller =
                 initActivityController(false);
-
         controller.create();
 
         assertThat(controller.get().isFinishing()).isTrue();
@@ -125,7 +229,7 @@
         if (hasPackageName) {
             data.setData(TEST_PACKAGE_URI);
         }
-        data.putExtra(AppInfoBase.ARG_PACKAGE_UID, UserHandle.getUserId(Process.myUid()));
+        data.putExtra(AppInfoBase.ARG_PACKAGE_UID, Process.myUid());
         ActivityController<TestAppLocalePickerActivity> activityController =
                 Robolectric.buildActivity(TestAppLocalePickerActivity.class, data);
         Activity activity = activityController.get();
@@ -149,10 +253,56 @@
     @Implements(ApplicationPackageManager.class)
     public static class ShadowApplicationPackageManager extends
             org.robolectric.shadows.ShadowApplicationPackageManager {
+        private static boolean sNoLaunchEntry = false;
 
         @Implementation
         protected Object getInstallSourceInfo(String packageName) {
             return new InstallSourceInfo("", null, null, "");
         }
+
+        @Implementation
+        protected List<ResolveInfo> queryIntentActivities(Intent intent, int flags) {
+            if (sNoLaunchEntry) {
+                return new ArrayList();
+            } else {
+                return super.queryIntentActivities(intent, flags);
+            }
+        }
+
+        private static void setNoLaunchEntry(boolean noLaunchEntry) {
+            sNoLaunchEntry = noLaunchEntry;
+        }
+    }
+
+    @Implements(Resources.class)
+    public static class ShadowResources extends
+            org.robolectric.shadows.ShadowResources {
+        private static boolean sDisAllowPackage = false;
+
+        @Implementation
+        public String[] getStringArray(@ArrayRes int id) {
+            if (sDisAllowPackage) {
+                return new String[]{TEST_PACKAGE_NAME};
+            } else {
+                return new String[0];
+            }
+        }
+
+        private static void setDisAllowPackage(boolean disAllowPackage) {
+            sDisAllowPackage = disAllowPackage;
+        }
+    }
+
+    @Implements(UserHandle.class)
+    public static class ShadowUserHandle {
+        private static int sUserId = 0;
+        private static void setUserId(int userId) {
+            sUserId = userId;
+        }
+
+        @Implementation
+        public static int getUserId(int userId) {
+            return sUserId;
+        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/nfc/NfcTagAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/nfc/NfcTagAppsPreferenceControllerTest.java
new file mode 100644
index 0000000..7e42c2c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/nfc/NfcTagAppsPreferenceControllerTest.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.settings.nfc;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.nfc.NfcAdapter;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.shadow.ShadowNfcAdapter;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowNfcAdapter.class)
+public class NfcTagAppsPreferenceControllerTest {
+
+    private NfcTagAppsPreferenceController mController;
+    private static final String KEY = "key";
+    private ShadowNfcAdapter mShadowNfcAdapter;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mController = new NfcTagAppsPreferenceController(mContext, KEY);
+        mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext));
+    }
+
+    @Test
+    public void getAvailabilityStatus_featureNotEnabled_shouldNotReturnAvailable() {
+        mShadowNfcAdapter.setTagIntentAppPreferenceSupported(false);
+        assertThat(mController.getAvailabilityStatus()).isNotEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_featureEnabled_shouldReturnAvailable() {
+        mShadowNfcAdapter.setTagIntentAppPreferenceSupported(true);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index 43a49a1..d26278c 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -27,8 +27,10 @@
 import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
 import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
 import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
+import static android.provider.DeviceConfig.NAMESPACE_AUTO_PIN_CONFIRMATION;
 import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
 
+import static com.android.internal.widget.LockPatternUtils.FLAG_ENABLE_AUTO_PIN_CONFIRMATION;
 import static com.android.internal.widget.LockPatternUtils.PASSWORD_TYPE_KEY;
 import static com.android.settings.password.ChooseLockGeneric.CONFIRM_CREDENTIALS;
 
@@ -43,15 +45,21 @@
 import android.app.admin.PasswordPolicy;
 import android.content.Intent;
 import android.os.UserHandle;
+import android.provider.DeviceConfig;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.TextView;
 
 import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.R;
 import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment;
 import com.android.settings.password.ChooseLockPassword.IntentBuilder;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settings.widget.ScrollToParentEditText;
 
 import com.google.android.setupdesign.GlifLayout;
 
@@ -71,9 +79,9 @@
         ShadowLockPatternUtils.class,
         ShadowUtils.class,
         ShadowDevicePolicyManager.class,
+        ShadowDeviceConfig.class,
 })
 public class ChooseLockPasswordTest {
-
     @Before
     public void setUp() {
         SettingsShadowResources.overrideResource(
@@ -387,7 +395,9 @@
     }
 
     @Test
-    public void processAndValidatePasswordRequirements_defaultPinMinimumLength() {
+    public void processAndValidatePasswordRequirements_autoPinDisabled_defaultPinMinimumLength() {
+        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
+                /* value= */ "false", /* makeDefault= */ false);
         PasswordPolicy policy = new PasswordPolicy();
         policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
 
@@ -400,6 +410,22 @@
     }
 
     @Test
+    public void processAndValidatePasswordRequirements_autoPinEnabled_defaultPinMinimumLength() {
+        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
+                /* value= */ "true", /* makeDefault= */ false);
+        PasswordPolicy policy = new PasswordPolicy();
+        policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
+
+        assertPasswordValidationResult(
+                /* minMetrics */ policy.getMinMetrics(),
+                /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
+                /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("11"),
+                "PIN must be at least 4 digits"
+                        + ", but a 6-digit PIN is recommended for added security");
+    }
+
+    @Test
     public void processAndValidatePasswordRequirements_maximumLength() {
         PasswordPolicy policy = new PasswordPolicy();
         policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
@@ -424,6 +450,123 @@
                 "PIN must be at least 8 digits");
     }
 
+    @Test
+    public void autoPinConfirmOption_featureEnabledAndUntouchedByUser_changeStateAsPerRules() {
+        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
+                /* value= */ "true", /* makeDefault= */ false);
+        ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
+
+        ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
+        ScrollToParentEditText passwordEntry = passwordActivity.findViewById(R.id.password_entry);
+        CheckBox pinAutoConfirmOption = passwordActivity
+                .findViewById(R.id.auto_pin_confirm_enabler);
+        TextView securityMessage =
+                passwordActivity.findViewById(R.id.auto_pin_confirm_security_message);
+
+        passwordEntry.setText("1234");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.GONE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.GONE);
+        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
+
+        passwordEntry.setText("123456");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(pinAutoConfirmOption.isChecked()).isTrue();
+
+        passwordEntry.setText("12345678");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
+
+        passwordEntry.setText("123456");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(pinAutoConfirmOption.isChecked()).isTrue();
+    }
+
+    @Test
+    public void autoPinConfirmOption_featureEnabledAndModifiedByUser_shouldChangeStateAsPerRules() {
+        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
+                /* value= */ "true", /* makeDefault= */ false);
+        ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
+
+        ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
+        ScrollToParentEditText passwordEntry = passwordActivity.findViewById(R.id.password_entry);
+        CheckBox pinAutoConfirmOption = passwordActivity
+                .findViewById(R.id.auto_pin_confirm_enabler);
+        TextView securityMessage =
+                passwordActivity.findViewById(R.id.auto_pin_confirm_security_message);
+
+        passwordEntry.setText("123456");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(pinAutoConfirmOption.isChecked()).isTrue();
+
+        pinAutoConfirmOption.performClick();
+        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
+
+        passwordEntry.setText("12345678");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
+
+        passwordEntry.setText("123456");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
+    }
+
+    @Test
+    public void autoPinConfirmOption_featureDisabled_shouldRemainInvisibleAndUnchecked() {
+        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
+                /* value= */ "false", /* makeDefault= */ false);
+        ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
+
+        ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
+        ScrollToParentEditText passwordEntry = passwordActivity.findViewById(R.id.password_entry);
+        CheckBox pinAutoConfirmOption = passwordActivity
+                .findViewById(R.id.auto_pin_confirm_enabler);
+        TextView securityMessage =
+                passwordActivity.findViewById(R.id.auto_pin_confirm_security_message);
+
+        passwordEntry.setText("1234");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.GONE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.GONE);
+        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
+
+        passwordEntry.setText("123456");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.GONE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.GONE);
+        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
+
+        passwordEntry.setText("12345678");
+        fragment.updateUi();
+        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.GONE);
+        assertThat(securityMessage.getVisibility()).isEqualTo(View.GONE);
+        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
+    }
+
+    private ChooseLockPassword setupActivityWithPinTypeAndDefaultPolicy() {
+        PasswordPolicy policy = new PasswordPolicy();
+        policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
+
+        return buildChooseLockPasswordActivity(
+                new IntentBuilder(application)
+                        .setUserId(UserHandle.myUserId())
+                        .setPasswordType(PASSWORD_QUALITY_NUMERIC)
+                        .setPasswordRequirement(PASSWORD_COMPLEXITY_NONE, policy.getMinMetrics())
+                        .build());
+    }
+
     private ChooseLockPassword buildChooseLockPasswordActivity(Intent intent) {
         return Robolectric.buildActivity(ChooseLockPassword.class, intent).setup().get();
     }
diff --git a/tests/robotests/src/com/android/settings/security/MemtagHelperTest.java b/tests/robotests/src/com/android/settings/security/MemtagHelperTest.java
index 2b9ecf7..3d38bbc 100644
--- a/tests/robotests/src/com/android/settings/security/MemtagHelperTest.java
+++ b/tests/robotests/src/com/android/settings/security/MemtagHelperTest.java
@@ -34,7 +34,7 @@
     private final String mMemtagProperty = "arm64.memtag.bootctl";
     private final String mMemtagSupportedProperty = "ro.arm64.memtag.bootctl_settings_toggle";
     private final String mDeviceConfigOverride =
-            "persist.device_config.memory_safety_native.bootloader_override";
+            "persist.device_config.memory_safety_native_boot.bootloader_override";
 
     @Test
     public void isChecked_empty_isFalse() {
diff --git a/tests/robotests/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceControllerTest.java
new file mode 100644
index 0000000..370b214
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceControllerTest.java
@@ -0,0 +1,124 @@
+/*
+ * 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.settings.security.screenlock;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+import androidx.preference.SwitchPreference;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.internal.widget.LockPatternUtils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AutoPinConfirmPreferenceControllerTest {
+    private static final Integer TEST_USER_ID = 1;
+    @Mock
+    private LockPatternUtils mLockPatternUtils;
+    private AutoPinConfirmPreferenceController mController;
+    private SwitchPreference mPreference;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        Context context = ApplicationProvider.getApplicationContext();
+        mController =
+                new AutoPinConfirmPreferenceController(context, TEST_USER_ID, mLockPatternUtils);
+        mPreference = new SwitchPreference(context);
+    }
+
+    @Test
+    public void isAvailable_featureEnabledAndLockSetToNone_shouldReturnFalse() {
+        when(mLockPatternUtils.isSecure(TEST_USER_ID)).thenReturn(true);
+        when(mLockPatternUtils.isAutoPinConfirmFeatureAvailable()).thenReturn(true);
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_featureEnabledAndLockSetToPassword_shouldReturnFalse() {
+        when(mLockPatternUtils.isSecure(TEST_USER_ID)).thenReturn(true);
+        when(mLockPatternUtils.isAutoPinConfirmFeatureAvailable()).thenReturn(true);
+        when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID))
+                .thenReturn(LockPatternUtils.CREDENTIAL_TYPE_PASSWORD);
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_featureEnabledAndLockSetToPIN_lengthLessThanSix_shouldReturnFalse() {
+        when(mLockPatternUtils.isAutoPinConfirmFeatureAvailable()).thenReturn(true);
+        when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID))
+                .thenReturn(LockPatternUtils.CREDENTIAL_TYPE_PIN);
+        when(mLockPatternUtils.getPinLength(TEST_USER_ID)).thenReturn(5L);
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_featureEnabledAndLockSetToPIN_lengthMoreThanEqSix_shouldReturnTrue() {
+        when(mLockPatternUtils.isSecure(TEST_USER_ID)).thenReturn(true);
+        when(mLockPatternUtils.isAutoPinConfirmFeatureAvailable()).thenReturn(true);
+        when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID))
+                .thenReturn(LockPatternUtils.CREDENTIAL_TYPE_PIN);
+        when(mLockPatternUtils.getPinLength(TEST_USER_ID)).thenReturn(6L);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_featureDisabledAndLockSetToPIN_shouldReturnFalse() {
+        when(mLockPatternUtils.isAutoPinConfirmFeatureAvailable()).thenReturn(false);
+        when(mLockPatternUtils.isSecure(TEST_USER_ID)).thenReturn(true);
+        when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID))
+                .thenReturn(LockPatternUtils.CREDENTIAL_TYPE_PIN);
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void updateState_ChangingSettingState_shouldSetPreferenceToAppropriateCheckedState() {
+        when(mLockPatternUtils.isAutoPinConfirmFeatureAvailable()).thenReturn(true);
+        // When auto_pin_confirm setting is disabled, switchPreference is unchecked
+        when(mLockPatternUtils.isAutoPinConfirmEnabled(TEST_USER_ID)).thenReturn(false);
+        mController.updateState(mPreference);
+        assertThat(mPreference.isChecked()).isFalse();
+
+        // When auto_pin_confirm setting is enabled, switchPreference is checked
+        when(mLockPatternUtils.isAutoPinConfirmEnabled(TEST_USER_ID)).thenReturn(true);
+        mController.updateState(mPreference);
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void onPreferenceChange_shouldUpdatePinAutoConfirmSetting() {
+        when(mLockPatternUtils.isAutoPinConfirmFeatureAvailable()).thenReturn(true);
+        mController.onPreferenceChange(mPreference, /* newValue= */ true);
+        verify(mLockPatternUtils).setAutoPinConfirm(true, TEST_USER_ID);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/ActiveUnlockTestUtils.java b/tests/robotests/src/com/android/settings/testutils/ActiveUnlockTestUtils.java
new file mode 100644
index 0000000..0cecaee
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/ActiveUnlockTestUtils.java
@@ -0,0 +1,88 @@
+/*
+ * 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.settings.testutils;
+
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ProviderInfo;
+import android.content.pm.ResolveInfo;
+import android.provider.DeviceConfig;
+import android.provider.Settings;
+
+import com.android.settings.biometrics.activeunlock.ActiveUnlockStatusUtils;
+
+import java.util.ArrayList;
+
+/** Utilities class to enable or disable the Active Unlock flag in tests. */
+public final class ActiveUnlockTestUtils {
+
+    public static final String TARGET = "com.active.unlock.target";
+    public static final String PROVIDER = "com.active.unlock.provider";
+    public static final String TARGET_SETTING = "active_unlock_target";
+    public static final String PROVIDER_SETTING = "active_unlock_provider";
+
+    public static void enable(Context context) {
+        ActiveUnlockTestUtils.enable(context, ActiveUnlockStatusUtils.UNLOCK_INTENT_LAYOUT);
+    }
+
+    public static void enable(Context context, String flagValue) {
+        Settings.Secure.putString(
+                context.getContentResolver(), TARGET_SETTING, TARGET);
+        Settings.Secure.putString(
+                context.getContentResolver(), PROVIDER_SETTING, PROVIDER);
+
+        PackageManager packageManager = context.getPackageManager();
+        ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
+
+        ResolveInfo resolveInfo = new ResolveInfo();
+        resolveInfo.activityInfo = new ActivityInfo();
+        resolveInfo.activityInfo.applicationInfo = applicationInfo;
+        when(packageManager.resolveActivity(any(), anyInt())).thenReturn(resolveInfo);
+
+        PackageInfo packageInfo = new PackageInfo();
+        packageInfo.applicationInfo = applicationInfo;
+        ProviderInfo providerInfo = new ProviderInfo();
+        providerInfo.authority = PROVIDER;
+        providerInfo.applicationInfo = applicationInfo;
+        packageInfo.providers = new ProviderInfo[] { providerInfo };
+        ArrayList<PackageInfo> packageInfos = new ArrayList<>();
+        packageInfos.add(packageInfo);
+        when(packageManager.getInstalledPackages(any())).thenReturn(packageInfos);
+
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_REMOTE_AUTH,
+                ActiveUnlockStatusUtils.CONFIG_FLAG_NAME,
+                flagValue,
+                false /* makeDefault */);
+    }
+
+    public static void disable(Context context) {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_REMOTE_AUTH,
+                ActiveUnlockStatusUtils.CONFIG_FLAG_NAME,
+                null /* value */,
+                false /* makeDefault */);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNfcAdapter.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNfcAdapter.java
index 54f665c..46c968f 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNfcAdapter.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNfcAdapter.java
@@ -38,6 +38,7 @@
     private boolean mIsNfcEnabled = false;
     private int mState = NfcAdapter.STATE_ON;
     private boolean mIsSecureNfcSupported = false;
+    private boolean mIsTagIntentAppPreferenceSupported = false;
 
     @Implementation
     protected void enableReaderMode(Activity activity, NfcAdapter.ReaderCallback callback,
@@ -97,4 +98,13 @@
     public static void reset() {
         sReaderModeEnabled = false;
     }
-}
\ No newline at end of file
+
+    public void setTagIntentAppPreferenceSupported(boolean supported) {
+        mIsTagIntentAppPreferenceSupported = supported;
+    }
+
+    @Implementation
+    protected boolean isTagIntentAppPreferenceSupported() {
+        return mIsTagIntentAppPreferenceSupported;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
index 774117f..2e7e2d7 100644
--- a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
@@ -32,6 +32,7 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.fuelgauge.BatteryBackupHelperTest.ShadowUserHandle;
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
@@ -106,15 +107,17 @@
     }
 
     @Test
-    public void getAvailabilityStatus_isCurrentlyUserZero_returnDisabledForUser() {
-        ShadowUserHandle.setUid(UserHandle.USER_SYSTEM);
+    public void getAvailabilityStatus_isCurrentlyMainUser_returnDisabledForUser() {
+        when(Utils.canCurrentUserDream(mContext)).thenReturn(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.DISABLED_FOR_USER);
     }
 
     @Test
-    public void getAvailabilityStatus_featureAndMultiUserEnabledAndNonUserZero_returnAvailable() {
+    public void getAvailabilityStatus_featureAndMultiUserEnabledAndNonMainUser_returnAvailable() {
+        when(Utils.canCurrentUserDream(mContext)).thenReturn(false);
+
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE);
     }
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppBatteryPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppBatteryPreferenceTest.kt
index fd286ca..276b711 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppBatteryPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppBatteryPreferenceTest.kt
@@ -36,6 +36,9 @@
 import com.android.settings.fuelgauge.AdvancedPowerUsageDetail
 import com.android.settings.fuelgauge.batteryusage.BatteryChartPreferenceController
 import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry
+import com.android.settings.testutils.mockAsUser
+import com.android.settingslib.spaprivileged.framework.common.asUser
+import com.android.settingslib.spaprivileged.model.app.userHandle
 import com.android.settingslib.spaprivileged.model.app.userId
 import org.junit.After
 import org.junit.Before
@@ -69,6 +72,7 @@
             .mockStatic(AdvancedPowerUsageDetail::class.java)
             .strictness(Strictness.LENIENT)
             .startMocking()
+        context.mockAsUser()
         whenever(context.resources).thenReturn(resources)
         whenever(resources.getBoolean(R.bool.config_show_app_info_settings_battery))
             .thenReturn(true)
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppDisableButtonTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppDisableButtonTest.kt
index beb6abc..f599bae 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppDisableButtonTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppDisableButtonTest.kt
@@ -21,16 +21,19 @@
 import android.content.pm.ApplicationInfo
 import android.content.pm.PackageManager
 import android.os.UserManager
+import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.dx.mockito.inline.extended.ExtendedMockito
 import com.android.settings.Utils
 import com.android.settings.testutils.FakeFeatureFactory
+import com.android.settingslib.spa.widget.button.ActionButton
 import com.android.settingslib.spaprivileged.framework.common.devicePolicyManager
 import com.android.settingslib.spaprivileged.framework.common.userManager
 import com.google.common.truth.Truth.assertThat
 import org.junit.After
 import org.junit.Before
+import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.Mock
@@ -42,6 +45,8 @@
 
 @RunWith(AndroidJUnit4::class)
 class AppDisableButtonTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
 
     private lateinit var mockSession: MockitoSession
 
@@ -97,7 +102,7 @@
             privateFlags = privateFlags or ApplicationInfo.PRIVATE_FLAG_SIGNED_WITH_PLATFORM_KEY
         }
 
-        val actionButton = appDisableButton.getActionButton(app)!!
+        val actionButton = setDisableButton(app)
 
         assertThat(actionButton.enabled).isFalse()
     }
@@ -108,7 +113,7 @@
             privateFlags = privateFlags or ApplicationInfo.PRIVATE_FLAG_IS_RESOURCE_OVERLAY
         }
 
-        val actionButton = appDisableButton.getActionButton(app)!!
+        val actionButton = setDisableButton(app)
 
         assertThat(actionButton.enabled).isFalse()
     }
@@ -118,7 +123,7 @@
         whenever(appFeatureProvider.keepEnabledPackages).thenReturn(setOf(PACKAGE_NAME))
         val app = enabledSystemApp()
 
-        val actionButton = appDisableButton.getActionButton(app)!!
+        val actionButton = setDisableButton(app)
 
         assertThat(actionButton.enabled).isFalse()
     }
@@ -130,7 +135,7 @@
         ).thenReturn(true)
         val app = enabledSystemApp()
 
-        val actionButton = appDisableButton.getActionButton(app)!!
+        val actionButton = setDisableButton(app)
 
         assertThat(actionButton.enabled).isFalse()
     }
@@ -141,7 +146,7 @@
             .thenReturn(true)
         val app = enabledSystemApp()
 
-        val actionButton = appDisableButton.getActionButton(app)!!
+        val actionButton = setDisableButton(app)
 
         assertThat(actionButton.enabled).isFalse()
     }
@@ -150,11 +155,19 @@
     fun getActionButton_regularEnabledSystemApp_canDisable() {
         val app = enabledSystemApp()
 
-        val actionButton = appDisableButton.getActionButton(app)!!
+        val actionButton = setDisableButton(app)
 
         assertThat(actionButton.enabled).isTrue()
     }
 
+    private fun setDisableButton(app: ApplicationInfo): ActionButton {
+        lateinit var actionButton: ActionButton
+        composeTestRule.setContent {
+            actionButton = appDisableButton.getActionButton(app)!!
+        }
+        return actionButton
+    }
+
     private fun enabledSystemApp(builder: ApplicationInfo.() -> Unit = {}) =
         ApplicationInfo().apply {
             packageName = PACKAGE_NAME
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppForceStopButtonTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppForceStopButtonTest.kt
new file mode 100644
index 0000000..c093863
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppForceStopButtonTest.kt
@@ -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.settings.spa.app.appinfo
+
+import android.app.admin.DevicePolicyManager
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spa.widget.button.ActionButton
+import com.android.settingslib.spaprivileged.framework.common.devicePolicyManager
+import com.android.settingslib.spaprivileged.model.app.userId
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.Spy
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.mockito.Mockito.`when` as whenever
+
+@RunWith(AndroidJUnit4::class)
+class AppForceStopButtonTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Mock
+    private lateinit var packageInfoPresenter: PackageInfoPresenter
+
+    @Mock
+    private lateinit var packageManager: PackageManager
+
+    @Mock
+    private lateinit var devicePolicyManager: DevicePolicyManager
+
+    private lateinit var appForceStopButton: AppForceStopButton
+
+    @Before
+    fun setUp() {
+        whenever(packageInfoPresenter.context).thenReturn(context)
+        whenever(context.packageManager).thenReturn(packageManager)
+        whenever(context.devicePolicyManager).thenReturn(devicePolicyManager)
+        appForceStopButton = AppForceStopButton(packageInfoPresenter)
+    }
+
+    @Test
+    fun getActionButton() {
+    }
+
+    @Test
+    fun getActionButton_isActiveAdmin_buttonDisabled() {
+        val app = createApp()
+        whenever(devicePolicyManager.packageHasActiveAdmins(PACKAGE_NAME, app.userId))
+            .thenReturn(true)
+
+        val actionButton = setForceStopButton(app)
+
+        assertThat(actionButton.enabled).isFalse()
+    }
+
+    @Test
+    fun getActionButton_isUninstallInQueue_buttonDisabled() {
+        val app = createApp()
+        whenever(devicePolicyManager.isUninstallInQueue(PACKAGE_NAME)).thenReturn(true)
+
+        val actionButton = setForceStopButton(app)
+
+        assertThat(actionButton.enabled).isFalse()
+    }
+
+    @Test
+    fun getActionButton_isStopped_buttonDisabled() {
+        val app = createApp {
+            flags = ApplicationInfo.FLAG_STOPPED
+        }
+
+        val actionButton = setForceStopButton(app)
+
+        assertThat(actionButton.enabled).isFalse()
+    }
+
+    @Test
+    fun getActionButton_regularApp_buttonEnabled() {
+        val app = createApp()
+
+        val actionButton = setForceStopButton(app)
+
+        assertThat(actionButton.enabled).isTrue()
+    }
+
+    private fun setForceStopButton(app: ApplicationInfo): ActionButton {
+        lateinit var actionButton: ActionButton
+        composeTestRule.setContent {
+            actionButton = appForceStopButton.getActionButton(app)
+        }
+        return actionButton
+    }
+
+    private fun createApp(builder: ApplicationInfo.() -> Unit = {}) =
+        ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            enabled = true
+        }.apply(builder)
+
+    private companion object {
+        const val PACKAGE_NAME = "package.name"
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionPreferenceTest.kt
new file mode 100644
index 0000000..1646851
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionPreferenceTest.kt
@@ -0,0 +1,106 @@
+/*
+ * 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.settings.spa.app.appinfo
+
+import android.content.Context
+import android.content.Intent
+import android.content.pm.ApplicationInfo
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.compose.ui.test.onRoot
+import androidx.compose.ui.test.performClick
+import androidx.lifecycle.MutableLiveData
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settingslib.spa.testutils.delay
+import com.android.settingslib.spaprivileged.model.app.userHandle
+import com.google.common.truth.Truth.assertThat
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentCaptor
+import org.mockito.Mockito.any
+import org.mockito.Mockito.doNothing
+import org.mockito.Mockito.eq
+import org.mockito.Mockito.verify
+import org.mockito.Spy
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+
+@RunWith(AndroidJUnit4::class)
+class AppPermissionPreferenceTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Test
+    fun title_display() {
+        setContent()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.permissions_label))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun whenClick_startActivity() {
+        doNothing().`when`(context).startActivityAsUser(any(), any())
+
+        setContent()
+        composeTestRule.onRoot().performClick()
+        composeTestRule.delay()
+
+        val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
+        verify(context).startActivityAsUser(intentCaptor.capture(), eq(APP.userHandle))
+        val intent = intentCaptor.value
+        assertThat(intent.action).isEqualTo(Intent.ACTION_MANAGE_APP_PERMISSIONS)
+        assertThat(intent.getStringExtra(Intent.EXTRA_PACKAGE_NAME)).isEqualTo(PACKAGE_NAME)
+        assertThat(intent.getBooleanExtra(EXTRA_HIDE_INFO_BUTTON, false)).isEqualTo(true)
+    }
+
+    private fun setContent() {
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) {
+                AppPermissionPreference(
+                    app = APP,
+                    summaryLiveData = MutableLiveData(
+                        AppPermissionSummaryState(summary = SUMMARY, enabled = true)
+                    ),
+                )
+            }
+        }
+        composeTestRule.delay()
+    }
+
+    private companion object {
+        const val PACKAGE_NAME = "package.name"
+        const val SUMMARY = "Summary"
+        private const val EXTRA_HIDE_INFO_BUTTON = "hideInfoButton"
+
+        val APP = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/TestUtils.java b/tests/unit/src/com/android/settings/TestUtils.java
index d7b1ea4..151b7c1 100644
--- a/tests/unit/src/com/android/settings/TestUtils.java
+++ b/tests/unit/src/com/android/settings/TestUtils.java
@@ -15,6 +15,21 @@
  */
 package com.android.settings;
 
+import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
+import static com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag.FLAG_INCLUDE_PREF_SCREEN;
+import static com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag.FLAG_NEED_KEY;
+
+import android.annotation.XmlRes;
+import android.content.Context;
+import android.os.Bundle;
+import android.provider.SearchIndexableResource;
+
+import com.android.settings.core.PreferenceXmlParserUtils;
+import com.android.settings.search.BaseSearchIndexProvider;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Convenience methods and constants for testing.
  */
@@ -22,4 +37,30 @@
     public static final long KILOBYTE = 1024L; // TODO: Change to 1000 in O Robolectric.
     public static final long MEGABYTE = KILOBYTE * KILOBYTE;
     public static final long GIGABYTE = KILOBYTE * MEGABYTE;
+
+    public static List<String> getAllXmlKeys(
+            Context context, BaseSearchIndexProvider indexProvider)
+            throws Exception {
+        final List<SearchIndexableResource> resources = indexProvider.getXmlResourcesToIndex(
+                context, true /* not used*/);
+        if (resources == null || resources.isEmpty()) {
+            return new ArrayList<>();
+        }
+        final List<String> keys = new ArrayList<>();
+        for (SearchIndexableResource res : resources) {
+            keys.addAll(getKeysFromXml(res.xmlResId, context));
+        }
+        return keys;
+    }
+
+    private static List<String> getKeysFromXml(@XmlRes int xmlResId, Context context)
+            throws Exception {
+        final List<String> keys = new ArrayList<>();
+        final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(context, xmlResId,
+                FLAG_NEED_KEY | FLAG_INCLUDE_PREF_SCREEN);
+        for (Bundle bundle : metadata) {
+            keys.add(bundle.getString(METADATA_KEY));
+        }
+        return keys;
+    }
 }
diff --git a/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsPreferenceControllerTest.java b/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsPreferenceControllerTest.java
index 38c605c..8371eaf 100644
--- a/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/BridgedAppsPreferenceControllerTest.java
@@ -34,7 +34,6 @@
 import android.service.notification.NotificationListenerFilter;
 import android.util.ArraySet;
 
-import androidx.preference.CheckBoxPreference;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -42,6 +41,7 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import com.android.settings.notification.NotificationBackend;
+import com.android.settings.widget.AppCheckBoxPreference;
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
@@ -120,7 +120,7 @@
         when(mNm.isNotificationListenerAccessGranted(mCn)).thenReturn(true);
         when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());
 
-        CheckBoxPreference p = mock(CheckBoxPreference.class);
+        AppCheckBoxPreference p = mock(AppCheckBoxPreference.class);
         when(p.getKey()).thenReturn("pkg|12300");
         mScreen.addPreference(p);
 
@@ -161,7 +161,7 @@
 
         mController.onRebuildComplete(entries);
 
-        CheckBoxPreference actual = mScreen.findPreference("pkg|12300");
+        AppCheckBoxPreference actual = mScreen.findPreference("pkg|12300");
 
         assertThat(actual.isChecked()).isTrue();
         assertThat(actual.getTitle()).isEqualTo("hi");
@@ -178,7 +178,7 @@
         when(mNm.isNotificationListenerAccessGranted(mCn)).thenReturn(true);
         when(mNm.getListenerFilter(mCn, 0)).thenReturn(nlf);
 
-        CheckBoxPreference pref = new CheckBoxPreference(mContext);
+        AppCheckBoxPreference pref = new AppCheckBoxPreference(mContext);
         pref.setKey("pkg|567");
 
         mController.onPreferenceChange(pref, false);
@@ -204,7 +204,7 @@
         when(mNm.isNotificationListenerAccessGranted(mCn)).thenReturn(true);
         when(mNm.getListenerFilter(mCn, 0)).thenReturn(nlf);
 
-        CheckBoxPreference pref = new CheckBoxPreference(mContext);
+        AppCheckBoxPreference pref = new AppCheckBoxPreference(mContext);
         pref.setKey("pkg|567");
 
         mController.onPreferenceChange(pref, true);
diff --git a/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/PreUpgradePreferenceControllerTest.java b/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/PreUpgradePreferenceControllerTest.java
index d4008d4..1297352 100644
--- a/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/PreUpgradePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/PreUpgradePreferenceControllerTest.java
@@ -63,16 +63,7 @@
     }
 
     @Test
-    public void testAvailable_notGranted() {
-        when(mNm.isNotificationListenerAccessGranted(any())).thenReturn(false);
-        mController.setTargetSdk(Build.VERSION_CODES.S);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
     public void testAvailable_lowTargetSdk_noCustomizations() {
-        when(mNm.isNotificationListenerAccessGranted(any())).thenReturn(true);
         mController.setTargetSdk(Build.VERSION_CODES.S);
         when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());
 
@@ -81,7 +72,6 @@
 
     @Test
     public void testAvailable_lowTargetSdk_customizations() {
-        when(mNm.isNotificationListenerAccessGranted(any())).thenReturn(true);
         mController.setTargetSdk(Build.VERSION_CODES.S);
         NotificationListenerFilter nlf = new NotificationListenerFilter();
         nlf.setTypes(FLAG_FILTER_TYPE_CONVERSATIONS);
@@ -92,7 +82,6 @@
 
     @Test
     public void testAvailable_highTargetSdk_noCustomizations() {
-        when(mNm.isNotificationListenerAccessGranted(any())).thenReturn(true);
         mController.setTargetSdk(Build.VERSION_CODES.CUR_DEVELOPMENT + 1);
         when(mNm.getListenerFilter(mCn, 0)).thenReturn(new NotificationListenerFilter());
 
diff --git a/tests/unit/src/com/android/settings/communal/CommunalPreferenceControllerTest.java b/tests/unit/src/com/android/settings/communal/CommunalPreferenceControllerTest.java
index e8421d0..4d84765 100644
--- a/tests/unit/src/com/android/settings/communal/CommunalPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/communal/CommunalPreferenceControllerTest.java
@@ -28,6 +28,7 @@
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.settings.Utils;
 import com.android.settings.testutils.ResourcesUtils;
 
 import org.junit.Before;
@@ -41,6 +42,7 @@
     @Mock
     private UserManager mUserManager;
 
+    private Context mContext;
     private Resources mResources;
     private CommunalPreferenceController mController;
 
@@ -49,33 +51,33 @@
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
-        final Context context = spy(ApplicationProvider.getApplicationContext());
-        mResources = spy(context.getResources());
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = spy(mContext.getResources());
 
-        mController = new CommunalPreferenceController(context, PREF_KEY);
+        mController = new CommunalPreferenceController(mContext, PREF_KEY);
 
-        when(context.getResources()).thenReturn(mResources);
-        when(context.getSystemService(UserManager.class)).thenReturn(mUserManager);
+        when(mContext.getResources()).thenReturn(mResources);
+        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
     }
 
     @Test
-    public void isAvailable_communalEnabled_shouldBeTrueForSystemUser() {
+    public void isAvailable_communalEnabled_shouldBeTrueForDockUser() {
         setCommunalEnabled(true);
-        when(mUserManager.isSystemUser()).thenReturn(true);
+        when(Utils.canCurrentUserDream(mContext)).thenReturn(true);
         assertTrue(mController.isAvailable());
     }
 
     @Test
-    public void isAvailable_communalEnabled_shouldBeFalseForNonSystemUser() {
+    public void isAvailable_communalEnabled_shouldBeFalseForNonDockUser() {
         setCommunalEnabled(true);
-        when(mUserManager.isSystemUser()).thenReturn(false);
+        when(Utils.canCurrentUserDream(mContext)).thenReturn(false);
         assertFalse(mController.isAvailable());
     }
 
     @Test
-    public void isAvailable_communalDisabled_shouldBeFalseForSystemUser() {
+    public void isAvailable_communalDisabled_shouldBeFalseForDockUser() {
         setCommunalEnabled(false);
-        when(mUserManager.isSystemUser()).thenReturn(true);
+        when(Utils.canCurrentUserDream(mContext)).thenReturn(true);
         assertFalse(mController.isAvailable());
     }
 
diff --git a/tests/unit/src/com/android/settings/display/ScreenResolutionControllerTest.java b/tests/unit/src/com/android/settings/display/ScreenResolutionControllerTest.java
index a32904e..b5df3a2 100644
--- a/tests/unit/src/com/android/settings/display/ScreenResolutionControllerTest.java
+++ b/tests/unit/src/com/android/settings/display/ScreenResolutionControllerTest.java
@@ -35,22 +35,23 @@
 
 @RunWith(AndroidJUnit4.class)
 public class ScreenResolutionControllerTest {
-
-    private static final int FHD_WIDTH = 1080;
-    private static final int QHD_WIDTH = 1440;
-
     private ScreenResolutionController mController;
+    private int mHighWidth;
+    private int mFullWidth;
 
     @Before
     public void setUp() {
         Context context = spy(ApplicationProvider.getApplicationContext());
         mController = spy(new ScreenResolutionController(context, "test"));
+
+        mHighWidth = mController.getHighWidth();
+        mFullWidth = mController.getFullWidth();
     }
 
     @Test
     public void getAvailabilityStatus_hasFhdAndQhdModes_returnAvailable() {
-        Display.Mode modeA = new Display.Mode(0, FHD_WIDTH, 0, 0);
-        Display.Mode modeB = new Display.Mode(0, QHD_WIDTH, 0, 0);
+        Display.Mode modeA = new Display.Mode(0, mHighWidth, 0, 0);
+        Display.Mode modeB = new Display.Mode(0, mFullWidth, 0, 0);
         Display.Mode[] modes = {modeA, modeB};
         doReturn(modes).when(mController).getSupportedModes();
 
@@ -60,27 +61,25 @@
 
     @Test
     public void getAvailabilityStatus_hasOneMode_returnUnsupported() {
-        Display.Mode modeA = new Display.Mode(0, FHD_WIDTH, 0, 0);
-        Display.Mode[] modes = {modeA};
-        doReturn(modes).when(mController).getSupportedModes();
+        doReturn(0).when(mController).getHighWidth();
 
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
-    public void updateState_screenResolutionFHD_shouldSetSummaryToFHD() {
-        int width = FHD_WIDTH;
+    public void updateState_HighResolution_shouldSetSummaryToHighResolution() {
+        int width = mHighWidth;
         doReturn(width).when(mController).getDisplayWidth();
 
-        assertThat(mController.getSummary().toString()).isEqualTo("1080p FHD+");
+        assertThat(mController.getSummary().toString()).isEqualTo("High resolution");
     }
 
     @Test
-    public void updateState_screenResolutionQHD_shouldSetSummaryToQHD() {
-        int width = QHD_WIDTH;
+    public void updateState_FullResolution_shouldSetSummaryToFullResolution() {
+        int width = mFullWidth;
         doReturn(width).when(mController).getDisplayWidth();
 
-        assertThat(mController.getSummary().toString()).isEqualTo("1440p QHD+");
+        assertThat(mController.getSummary().toString()).isEqualTo("Full resolution");
     }
 }
diff --git a/tests/unit/src/com/android/settings/display/ScreenResolutionFragmentTest.java b/tests/unit/src/com/android/settings/display/ScreenResolutionFragmentTest.java
index 4e674d2..8409531 100644
--- a/tests/unit/src/com/android/settings/display/ScreenResolutionFragmentTest.java
+++ b/tests/unit/src/com/android/settings/display/ScreenResolutionFragmentTest.java
@@ -37,59 +37,62 @@
 
     private Context mContext;
     private ScreenResolutionFragment mFragment;
-
-    private static final int FHD_WIDTH = 1080;
-    private static final int QHD_WIDTH = 1440;
+    private ScreenResolutionController mController;
+    private int mHighWidth;
+    private int mFullWidth;
 
     @Before
     @UiThreadTest
     public void setup() {
         mContext = spy(ApplicationProvider.getApplicationContext());
         mFragment = spy(new ScreenResolutionFragment());
+        mController = spy(new ScreenResolutionController(mContext, "test"));
+        mHighWidth = mController.getHighWidth();
+        mFullWidth = mController.getFullWidth();
     }
 
     @Test
     @UiThreadTest
-    public void getDefaultKey_FHD() {
-        Display.Mode mode = new Display.Mode(0, FHD_WIDTH, 0, 0);
+    public void getDefaultKey_highResolution() {
+        Display.Mode mode = new Display.Mode(0, mHighWidth, 0, 0);
         doReturn(mode).when(mFragment).getDisplayMode();
         doReturn(mContext).when(mFragment).getContext();
 
         mFragment.onAttach(mContext);
-        assertThat(mFragment.getDefaultKey()).isEqualTo(mFragment.getKeyForResolution(FHD_WIDTH));
+        assertThat(mFragment.getDefaultKey()).isEqualTo(mFragment.getKeyForResolution(mHighWidth));
     }
 
     @Test
     @UiThreadTest
-    public void getDefaultKey_QHD() {
-        Display.Mode mode = new Display.Mode(0, QHD_WIDTH, 0, 0);
+    public void getDefaultKey_fullResolution() {
+        Display.Mode mode = new Display.Mode(0, mFullWidth, 0, 0);
         doReturn(mode).when(mFragment).getDisplayMode();
         doReturn(mContext).when(mFragment).getContext();
 
         mFragment.onAttach(mContext);
-        assertThat(mFragment.getDefaultKey()).isEqualTo(mFragment.getKeyForResolution(QHD_WIDTH));
+        assertThat(mFragment.getDefaultKey()).isEqualTo(mFragment.getKeyForResolution(mFullWidth));
     }
 
     @Test
     @UiThreadTest
-    public void setDefaultKey_FHD() {
+    public void setDefaultKey_highResolution() {
         doReturn(mContext).when(mFragment).getContext();
         mFragment.onAttach(mContext);
 
-        mFragment.setDefaultKey(mFragment.getKeyForResolution(FHD_WIDTH));
+        mFragment.setDefaultKey(mFragment.getKeyForResolution(mHighWidth));
 
-        verify(mFragment).setDisplayMode(FHD_WIDTH);
+        verify(mFragment).setDisplayMode(mHighWidth);
     }
 
     @Test
     @UiThreadTest
-    public void setDefaultKey_QHD() {
+    public void setDefaultKey_fullResolution() {
         doReturn(mContext).when(mFragment).getContext();
         mFragment.onAttach(mContext);
 
-        mFragment.setDefaultKey(mFragment.getKeyForResolution(QHD_WIDTH));
+        mFragment.setDefaultKey(mFragment.getKeyForResolution(mFullWidth));
 
-        verify(mFragment).setDisplayMode(QHD_WIDTH);
+        verify(mFragment).setDisplayMode(mFullWidth);
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/privacy/PrivacyDashboardFragmentTest.java b/tests/unit/src/com/android/settings/privacy/PrivacyDashboardFragmentTest.java
new file mode 100644
index 0000000..c49bb25
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privacy/PrivacyDashboardFragmentTest.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.settings.privacy;
+
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.Looper;
+
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.TestUtils;
+import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
+import com.android.settings.search.BaseSearchIndexProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.List;
+
+public class PrivacyDashboardFragmentTest {
+
+    private Context mContext;
+    private PrivacyDashboardFragment mPrivacyDashboardFragment;
+
+    @Mock
+    private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
+
+    @Before
+    @UiThreadTest
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        MockitoAnnotations.initMocks(this);
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+
+        mContext = ApplicationProvider.getApplicationContext();
+        SafetyCenterManagerWrapper.sInstance = mSafetyCenterManagerWrapper;
+        mPrivacyDashboardFragment = spy(new PrivacyDashboardFragment());
+        when(mPrivacyDashboardFragment.getContext()).thenReturn(mContext);
+    }
+
+    @Test
+    public void whenSafetyCenterIsEnabled_pageIndexExcluded() throws Exception {
+        when(mSafetyCenterManagerWrapper.isEnabled(any())).thenReturn(true);
+        BaseSearchIndexProvider indexProvider = PrivacyDashboardFragment.SEARCH_INDEX_DATA_PROVIDER;
+
+        List<String> allXmlKeys = TestUtils.getAllXmlKeys(mContext, indexProvider);
+        List<String> nonIndexableKeys = indexProvider.getNonIndexableKeys(mContext);
+        allXmlKeys.removeAll(nonIndexableKeys);
+
+        assertThat(allXmlKeys).isEmpty();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragmentSettingsTest.java b/tests/unit/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragmentSettingsTest.java
new file mode 100644
index 0000000..7ed0a02
--- /dev/null
+++ b/tests/unit/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragmentSettingsTest.java
@@ -0,0 +1,102 @@
+/*
+ * 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.settings.safetycenter;
+
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.Looper;
+
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.TestUtils;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.testutils.ResourcesUtils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.List;
+
+@RunWith(AndroidJUnit4.class)
+public class MoreSecurityPrivacyFragmentSettingsTest {
+    private static final String SCREEN_XML_RESOURCE_NAME = "more_security_privacy_settings";
+    private MoreSecurityPrivacyFragment mMoreSecurityPrivacyFragment;
+    private Context mContext;
+    @Mock
+    private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
+    @Before
+    @UiThreadTest
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        MockitoAnnotations.initMocks(this);
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+
+        mContext = ApplicationProvider.getApplicationContext();
+        SafetyCenterManagerWrapper.sInstance = mSafetyCenterManagerWrapper;
+        mMoreSecurityPrivacyFragment = spy(new MoreSecurityPrivacyFragment());
+        when(mMoreSecurityPrivacyFragment.getContext()).thenReturn(mContext);
+    }
+
+    @Test
+    public void getPreferenceXml_returnsMoreSecurityPrivacy() {
+        assertThat(mMoreSecurityPrivacyFragment.getPreferenceScreenResId())
+                .isEqualTo(getXmlResId(SCREEN_XML_RESOURCE_NAME));
+    }
+
+    @Test
+    public void whenSafetyCenterIsEnabled_pageIndexIncluded() throws Exception {
+        when(mSafetyCenterManagerWrapper.isEnabled(any())).thenReturn(true);
+        BaseSearchIndexProvider indexProvider =
+                MoreSecurityPrivacyFragment.SEARCH_INDEX_DATA_PROVIDER;
+
+        List<String> allXmlKeys = TestUtils.getAllXmlKeys(mContext, indexProvider);
+        List<String> nonIndexableKeys = indexProvider.getNonIndexableKeys(mContext);
+        allXmlKeys.removeAll(nonIndexableKeys);
+
+        assertThat(allXmlKeys).isNotEmpty();
+    }
+
+    @Test
+    public void whenSafetyCenterIsDisabled_pageIndexExcluded() throws Exception {
+        when(mSafetyCenterManagerWrapper.isEnabled(any())).thenReturn(false);
+        BaseSearchIndexProvider indexProvider =
+                MoreSecurityPrivacyFragment.SEARCH_INDEX_DATA_PROVIDER;
+
+        List<String> allXmlKeys = TestUtils.getAllXmlKeys(mContext, indexProvider);
+        List<String> nonIndexableKeys = indexProvider.getNonIndexableKeys(mContext);
+        allXmlKeys.removeAll(nonIndexableKeys);
+
+        assertThat(allXmlKeys).isEmpty();
+    }
+
+    private int getXmlResId(String resName) {
+        return ResourcesUtils.getResourcesId(mContext, "xml", resName);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/security/SecurityAdvancedSettingsTest.java b/tests/unit/src/com/android/settings/security/SecurityAdvancedSettingsTest.java
index 2efb357..9851a1a 100644
--- a/tests/unit/src/com/android/settings/security/SecurityAdvancedSettingsTest.java
+++ b/tests/unit/src/com/android/settings/security/SecurityAdvancedSettingsTest.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.security;
 
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -29,7 +30,9 @@
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.settings.TestUtils;
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
+import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.ResourcesUtils;
 import com.android.settingslib.drawer.CategoryKey;
@@ -40,6 +43,8 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.util.List;
+
 @RunWith(AndroidJUnit4.class)
 public class SecurityAdvancedSettingsTest {
     private static final String SCREEN_XML_RESOURCE_NAME = "security_advanced_settings";
@@ -100,6 +105,18 @@
                 .isEqualTo(LEGACY_CATEGORY_KEY);
     }
 
+    @Test
+    public void whenSafetyCenterIsEnabled_pageIndexExcluded() throws Exception {
+        when(mSafetyCenterManagerWrapper.isEnabled(any())).thenReturn(false);
+        BaseSearchIndexProvider indexProvider = SecurityAdvancedSettings.SEARCH_INDEX_DATA_PROVIDER;
+
+        List<String> allXmlKeys = TestUtils.getAllXmlKeys(mContext, indexProvider);
+        List<String> nonIndexableKeys = indexProvider.getNonIndexableKeys(mContext);
+        allXmlKeys.removeAll(nonIndexableKeys);
+
+        assertThat(allXmlKeys).isEmpty();
+    }
+
     private int getXmlResId(String resName) {
         return ResourcesUtils.getResourcesId(mContext, "xml", resName);
     }
diff --git a/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java b/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java
index c517884..dee90b4 100644
--- a/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java
+++ b/tests/unit/src/com/android/settings/security/SecuritySettingsTest.java
@@ -21,24 +21,18 @@
 import static android.content.pm.PackageManager.FEATURE_FACE;
 import static android.content.pm.PackageManager.FEATURE_FINGERPRINT;
 
-import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
-import static com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag.FLAG_INCLUDE_PREF_SCREEN;
-import static com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag.FLAG_NEED_KEY;
-
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import android.annotation.XmlRes;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.hardware.face.FaceManager;
 import android.hardware.fingerprint.FingerprintManager;
-import android.os.Bundle;
 import android.os.Looper;
-import android.provider.SearchIndexableResource;
 
 import androidx.lifecycle.Lifecycle;
 import androidx.preference.Preference;
@@ -48,10 +42,11 @@
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.settings.TestUtils;
 import com.android.settings.biometrics.combination.CombinedBiometricStatusPreferenceController;
 import com.android.settings.biometrics.face.FaceStatusPreferenceController;
 import com.android.settings.biometrics.fingerprint.FingerprintStatusPreferenceController;
-import com.android.settings.core.PreferenceXmlParserUtils;
+import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.security.trustagent.TrustAgentManager;
 import com.android.settings.testutils.FakeFeatureFactory;
@@ -64,7 +59,6 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
-import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(AndroidJUnit4.class)
@@ -85,6 +79,8 @@
     private FingerprintManager mFingerprintManager;
     @Mock
     private PackageManager mPackageManager;
+    @Mock
+    private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
 
     private PreferenceScreen mScreen;
 
@@ -96,6 +92,7 @@
         }
 
         MockitoAnnotations.initMocks(this);
+        SafetyCenterManagerWrapper.sInstance = mSafetyCenterManagerWrapper;
         mContext = spy(ApplicationProvider.getApplicationContext());
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mPackageManager.hasSystemFeature(FEATURE_FACE)).thenReturn(true);
@@ -132,12 +129,14 @@
     }
 
     @Test
-    public void noAlternativeFragmentAvailable_pageIndexIncluded() throws Exception {
+    public void noAlternativeFragmentAvailableAndSafetyCenterIsDisabled_pageIndexIncluded()
+            throws Exception {
         when(mSecuritySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()).thenReturn(
                 false);
+        when(mSafetyCenterManagerWrapper.isEnabled(any())).thenReturn(false);
         BaseSearchIndexProvider indexProvider = SecuritySettings.SEARCH_INDEX_DATA_PROVIDER;
 
-        List<String> allXmlKeys = getAllXmlKeys(indexProvider);
+        List<String> allXmlKeys = TestUtils.getAllXmlKeys(mContext, indexProvider);
         List<String> nonIndexableKeys = indexProvider.getNonIndexableKeys(mContext);
         allXmlKeys.removeAll(nonIndexableKeys);
 
@@ -150,7 +149,7 @@
                 true);
         BaseSearchIndexProvider indexProvider = SecuritySettings.SEARCH_INDEX_DATA_PROVIDER;
 
-        List<String> allXmlKeys = getAllXmlKeys(indexProvider);
+        List<String> allXmlKeys = TestUtils.getAllXmlKeys(mContext, indexProvider);
         List<String> nonIndexableKeys = indexProvider.getNonIndexableKeys(mContext);
         allXmlKeys.removeAll(nonIndexableKeys);
 
@@ -340,29 +339,6 @@
         assertThat(mPreferenceCombined.isVisible()).isFalse();
     }
 
-    private List<String> getAllXmlKeys(BaseSearchIndexProvider indexProvider) throws Exception {
-        final List<SearchIndexableResource> resources = indexProvider.getXmlResourcesToIndex(
-                mContext, true /* not used*/);
-        if (resources == null || resources.isEmpty()) {
-            return new ArrayList<>();
-        }
-        final List<String> keys = new ArrayList<>();
-        for (SearchIndexableResource res : resources) {
-            keys.addAll(getKeysFromXml(res.xmlResId));
-        }
-        return keys;
-    }
-
-    private List<String> getKeysFromXml(@XmlRes int xmlResId) throws Exception {
-        final List<String> keys = new ArrayList<>();
-        final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext, xmlResId,
-                FLAG_NEED_KEY | FLAG_INCLUDE_PREF_SCREEN);
-        for (Bundle bundle : metadata) {
-            keys.add(bundle.getString(METADATA_KEY));
-        }
-        return keys;
-    }
-
     boolean isFacePrefAvailable(List<AbstractPreferenceController> controllers) {
         return controllers.stream().filter(
                 controller -> controller instanceof FaceStatusPreferenceController
