diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..de251274
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,16 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
+.idea
\ No newline at end of file
diff --git a/README.md b/README.md
index 3c0e0944..31f4c9ee 100644
Binary files a/README.md and b/README.md differ
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 00000000..42afabfd
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 00000000..d3eadfa6
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,56 @@
+plugins {
+ id 'com.android.application'
+ id 'org.jetbrains.kotlin.android'
+}
+
+android {
+ namespace 'com.yoosef.oblivion'
+ compileSdk 34
+
+ defaultConfig {
+ applicationId "com.yoosef.oblivion"
+ minSdk 23
+ targetSdk 34
+ versionCode 1
+ versionName "1.0"
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ vectorDrawables {
+ useSupportLibrary true
+ }
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+ buildFeatures {
+ compose true
+ }
+ composeOptions {
+ kotlinCompilerExtensionVersion '1.4.3'
+ }
+ packaging {
+ resources {
+ excludes += '/META-INF/{AL2.0,LGPL2.1}'
+ }
+ }
+}
+
+dependencies {
+ implementation 'androidx.activity:activity-compose:1.8.2'
+ implementation 'androidx.appcompat:appcompat:1.6.1'
+ implementation 'com.google.android.material:material:1.11.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation 'com.hluhovskyi.camerabutton:camerabutton:2.0.1'
+ implementation 'com.airbnb.android:lottie:4.2.2'
+}
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 00000000..481bb434
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..30b07598
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/org/bepass/oblivion/BugActivity.java b/app/src/main/java/org/bepass/oblivion/BugActivity.java
new file mode 100644
index 00000000..60241283
--- /dev/null
+++ b/app/src/main/java/org/bepass/oblivion/BugActivity.java
@@ -0,0 +1,44 @@
+
+package org.bepass.oblivion;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.yoosef.oblivion.R;
+
+import java.util.Timer;
+import java.util.TimerTask;
+
+public class BugActivity extends AppCompatActivity {
+ FileManager fileManager;
+
+ ImageView back;
+ TextView logs;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_bug);
+
+ fileManager = new FileManager(getApplicationContext());
+
+ back = findViewById(R.id.back);
+ logs = findViewById(R.id.logs);
+
+ back.setOnClickListener(v -> onBackPressed());
+ logs.setText(fileManager.getLog());
+
+ // Update Log Every 1 Second
+ new Timer().scheduleAtFixedRate(new TimerTask() {
+ @Override
+ public void run() {
+ logs.setText(fileManager.getLog());
+ }
+ }, 0, 1000);
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/bepass/oblivion/EditSheet.java b/app/src/main/java/org/bepass/oblivion/EditSheet.java
new file mode 100644
index 00000000..229b0a2e
--- /dev/null
+++ b/app/src/main/java/org/bepass/oblivion/EditSheet.java
@@ -0,0 +1,76 @@
+package org.bepass.oblivion;
+
+import android.content.Context;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+
+import com.google.android.material.bottomsheet.BottomSheetDialog;
+import com.yoosef.oblivion.R;
+
+public class EditSheet {
+
+ FileManager fileManager;
+
+ Context context;
+ BottomSheetDialog sheet;
+
+ String title;
+ String sharedPrefKey;
+
+ TextView titleView;
+ EditText value;
+ Button apply, cancel;
+
+ SheetsCallBack sheetsCallBack;
+
+ public EditSheet(Context context, String title, String sharedPrefKey, SheetsCallBack sheetsCallBack) {
+ this.context = context;
+ fileManager = new FileManager(context);
+
+ this.title = "تغییر مقدار " + title;
+ this.sharedPrefKey = sharedPrefKey;
+
+ this.sheetsCallBack = sheetsCallBack;
+
+ init();
+ }
+
+
+ private void init() {
+ // Initialize
+ sheet = new BottomSheetDialog(context);
+ sheet.setContentView(R.layout.edit_sheet);
+
+ titleView = sheet.findViewById(R.id.title);
+ value = sheet.findViewById(R.id.edittext);
+
+ apply = sheet.findViewById(R.id.applyButton);
+ cancel = sheet.findViewById(R.id.cancelButton);
+ }
+
+ public boolean isElementsNull() {
+ return titleView == null || value == null || apply == null || cancel == null;
+ }
+
+ public void start() {
+ if (isElementsNull()) {
+ return;
+ }
+
+ titleView.setText(title);
+ value.setText(fileManager.getString("USERSETTING_" + sharedPrefKey));
+
+ cancel.setOnClickListener(v -> sheet.cancel());
+ apply.setOnClickListener(v -> {
+ fileManager.set("USERSETTING_" + sharedPrefKey, value.getText().toString());
+ sheet.cancel();
+ });
+
+ sheet.show();
+ value.requestFocus();
+ sheet.setOnCancelListener(dialog -> sheetsCallBack.onSheetClosed());
+ }
+
+
+}
diff --git a/app/src/main/java/org/bepass/oblivion/FileManager.java b/app/src/main/java/org/bepass/oblivion/FileManager.java
new file mode 100644
index 00000000..5fa449a2
--- /dev/null
+++ b/app/src/main/java/org/bepass/oblivion/FileManager.java
@@ -0,0 +1,100 @@
+package org.bepass.oblivion;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+public class FileManager {
+ SharedPreferences sharedPreferences;
+ SharedPreferences sharedPreferencesAppender;
+
+ public FileManager(Context context) {
+ sharedPreferences = context.getSharedPreferences("UserData", Context.MODE_PRIVATE);
+ sharedPreferencesAppender = context.getSharedPreferences("UserData", Context.MODE_PRIVATE);
+ }
+
+ public void set(String name, String value) {
+ this.sharedPreferences.
+ edit()
+ .putString(name, value)
+ .apply();
+ }
+
+ public void set(String name, boolean value) {
+ this.sharedPreferences
+ .edit()
+ .putBoolean(name, value)
+ .apply();
+ }
+
+ public void set(String name, int value) {
+ this.sharedPreferences
+ .edit()
+ .putInt(name, value)
+ .apply();
+ }
+
+ public void set(String name, float value) {
+ this.sharedPreferences
+ .edit()
+ .putFloat(name, value)
+ .apply();
+ }
+
+ public void set(String name, double value) {
+ this.sharedPreferences
+ .edit()
+ .putLong(name, Double.doubleToRawLongBits(value))
+ .apply();
+ }
+
+ public void set(String name, long value) {
+ this.sharedPreferences
+ .edit()
+ .putLong(name, value)
+ .apply();
+ }
+
+ public double getDouble(String name) {
+ return Double.longBitsToDouble(this.sharedPreferences.getLong(name, 0));
+ }
+
+ public long getLong(String name) {
+ return this.sharedPreferences.getLong(name, 0L);
+ }
+
+ public String getString(String name) {
+ return this.sharedPreferences.getString(name, "");
+ }
+
+ public Integer getInt(String name) {
+ return this.sharedPreferences.getInt(name, 0);
+ }
+
+ public Boolean getBoolean(String name) {
+ return this.sharedPreferences.getBoolean(name, false);
+ }
+
+ public Float getFloat(String name) {
+ return this.sharedPreferences.getFloat(name, 0f);
+ }
+
+ public void resetLog() {
+ this.sharedPreferences
+ .edit()
+ .putString("APP_LOG", "")
+ .apply();
+ }
+
+ public void addLog(String log) {
+ this.sharedPreferencesAppender
+ .edit()
+ .putString("APP_LOG", log)
+ .apply();
+ }
+
+ public String getLog() {
+ return getString("APP_LOG");
+ }
+
+
+}
diff --git a/app/src/main/java/org/bepass/oblivion/InfoActivity.java b/app/src/main/java/org/bepass/oblivion/InfoActivity.java
new file mode 100644
index 00000000..074c5fde
--- /dev/null
+++ b/app/src/main/java/org/bepass/oblivion/InfoActivity.java
@@ -0,0 +1,44 @@
+package org.bepass.oblivion;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+
+import com.yoosef.oblivion.R;
+
+public class InfoActivity extends AppCompatActivity {
+
+ ImageView back;
+ RelativeLayout github, twitter, ircf;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_info);
+
+ init();
+
+ github.setOnClickListener(v -> openURL("https://github.com/bepass"));
+ twitter.setOnClickListener(v -> openURL("https://x.com/uo0sef"));
+ ircf.setOnClickListener(v -> openURL("https://ircf.space"));
+
+ back.setOnClickListener(v -> onBackPressed());
+ }
+
+ private void init() {
+ back = findViewById(R.id.back);
+ github = findViewById(R.id.github_layout);
+ twitter = findViewById(R.id.twitter_layout);
+ ircf = findViewById(R.id.ircf_layout);
+ }
+
+ protected void openURL(String url) {
+ Uri uri = Uri.parse(url);
+ Intent intent = new Intent(Intent.ACTION_VIEW, uri);
+ startActivity(intent);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/bepass/oblivion/MainActivity.java b/app/src/main/java/org/bepass/oblivion/MainActivity.java
new file mode 100644
index 00000000..08d6b872
--- /dev/null
+++ b/app/src/main/java/org/bepass/oblivion/MainActivity.java
@@ -0,0 +1,121 @@
+package org.bepass.oblivion;
+
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffColorFilter;
+import android.os.Bundle;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.airbnb.lottie.LottieAnimationView;
+import com.airbnb.lottie.LottieProperty;
+import com.airbnb.lottie.model.KeyPath;
+import com.hluhovskyi.camerabutton.CameraButton;
+import com.yoosef.oblivion.R;
+
+public class MainActivity extends AppCompatActivity {
+
+ // 1 Wait For Connect
+ // 2 Connecting
+ // 3 Connected
+ int connectionState = 1;
+
+ // Views
+ ImageView infoIcon, bugIcon, settingsIcon;
+ CameraButton switchButton;
+ LottieAnimationView switchAnimation;
+ TextView stateText;
+
+ FileManager fileManager;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+
+ init();
+ firstValueInit();
+
+ switchButton.setOnStateChangeListener(state -> {
+ if (state == CameraButton.State.START_EXPANDING || state == CameraButton.State.START_COLLAPSING) {
+ if (connectionState == 1) {
+ // From NoAction to Connecting
+ stateText.setText("در حال اتصال");
+ changeLottieAnimationColorFilterTo(0);
+ switchAnimation.playAnimation();
+ connectionState = 2;
+
+
+ // TODO handle connecting Logic here and On Connected, Call connected() method
+
+ } else if (connectionState == 2) {
+ // From Connecting to Disconnecting
+ stateText.setText("متصل نیستید");
+ changeLottieAnimationColorFilterTo(Color.WHITE);
+ connectionState = 1;
+
+ // TODO handle DisConnecting Logic here
+
+ } else if (connectionState == 3) {
+ // From Connected to Disconnecting
+ stateText.setText("متصل نیستید");
+ changeLottieAnimationColorFilterTo(Color.WHITE);
+ connectionState = 1;
+
+ // TODO handle DisConnecting Logic here
+ }
+ }
+ });
+
+
+ }
+
+ private void connected() {
+ stateText.setText("اتصال برقرار شد");
+ switchButton.cancel();
+ connectionState = 3;
+ }
+
+ private void firstValueInit() {
+ if (fileManager.getBoolean("isFirstValueInit")) return;
+
+ fileManager.set("USERSETTING_endpoint", "127.0.0.1");
+ fileManager.set("USERSETTING_port", "8086");
+
+ fileManager.set("USERSETTING_goal", false);
+ fileManager.set("USERSETTING_psiphon", false);
+ fileManager.set("USERSETTING_lan", false);
+ fileManager.set("isFirstValueInit", true);
+ }
+
+ private void init() {
+ fileManager = new FileManager(getApplicationContext());
+
+ infoIcon = findViewById(R.id.info_icon);
+ bugIcon = findViewById(R.id.bug_icon);
+ settingsIcon = findViewById(R.id.setting_icon);
+
+ switchButton = findViewById(R.id.switch_button);
+ switchAnimation = findViewById(R.id.animation);
+ stateText = findViewById(R.id.state_text);
+
+ infoIcon.setOnClickListener(v -> startActivity(new Intent(MainActivity.this, InfoActivity.class)));
+ bugIcon.setOnClickListener(v -> startActivity(new Intent(MainActivity.this, BugActivity.class)));
+ settingsIcon.setOnClickListener(v -> startActivity(new Intent(MainActivity.this, SettingsActivity.class)));
+ }
+
+ private void changeLottieAnimationColorFilterTo(int color) {
+ switchAnimation.setFrame(1);
+ switchAnimation.cancelAnimation();
+
+ switchAnimation.addValueCallback(
+ new KeyPath("**"),
+ LottieProperty.COLOR_FILTER,
+ frameInfo -> (color == 0) ? null : new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP)
+ );
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/bepass/oblivion/SettingsActivity.java b/app/src/main/java/org/bepass/oblivion/SettingsActivity.java
new file mode 100644
index 00000000..7a3bb1f5
--- /dev/null
+++ b/app/src/main/java/org/bepass/oblivion/SettingsActivity.java
@@ -0,0 +1,109 @@
+package org.bepass.oblivion;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+import android.widget.CheckBox;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.yoosef.oblivion.R;
+
+public class SettingsActivity extends AppCompatActivity {
+
+ FileManager fileManager;
+ ImageView back;
+
+ LinearLayout endpointLayout, portLayout, lanLayout, psiphonLayout, countryLayout, licenseLayout, goalLayout;
+
+ TextView endpoint, port, country, license;
+ CheckBox psiphon, lan, goal;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_settings);
+
+ init();
+
+ SheetsCallBack sheetsCallBack = this::settingBasicValuesFromSPF;
+ // Listen to Changes
+ endpointLayout.setOnClickListener(v -> (new EditSheet(this, "اندپوینت", "endpoint", sheetsCallBack)).start());
+ portLayout.setOnClickListener(v -> (new EditSheet(this, "پورت", "port", sheetsCallBack)).start());
+ countryLayout.setOnClickListener(v -> (new EditSheet(this, "کشور", "country", sheetsCallBack)).start());
+ licenseLayout.setOnClickListener(v -> (new EditSheet(this, "لایسنس", "license", sheetsCallBack)).start());
+
+ goalLayout.setOnClickListener(v -> goal.setChecked(!goal.isChecked()));
+ lanLayout.setOnClickListener(v -> lan.setChecked(!lan.isChecked()));
+ psiphonLayout.setOnClickListener(v -> psiphon.setChecked(!psiphon.isChecked()));
+
+
+ psiphon.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ fileManager.set("USERSETTING_psiphon", isChecked);
+ if (!isChecked) {
+ countryLayout.setAlpha(0.2f);
+ countryLayout.setClickable(false);
+ } else {
+ countryLayout.setAlpha(1f);
+ countryLayout.setClickable(true);
+ }
+ });
+
+ lan.setOnCheckedChangeListener((buttonView, isChecked) -> fileManager.set("USERSETTING_lan", isChecked));
+ goal.setOnCheckedChangeListener((buttonView, isChecked) -> fileManager.set("USERSETTING_goal", isChecked));
+
+ // Set Current Values
+ settingBasicValuesFromSPF();
+ }
+
+ private void settingBasicValuesFromSPF() {
+ endpoint.setText(fileManager.getString("USERSETTING_endpoint"));
+ port.setText(fileManager.getString("USERSETTING_port"));
+ country.setText(fileManager.getString("USERSETTING_country"));
+
+ String licenseKey = fileManager.getString("USERSETTING_license");
+ if (licenseKey.length() > 8)
+ license.setText(licenseKey.substring(0, 8));
+ else
+ license.setText(licenseKey);
+
+ psiphon.setChecked(fileManager.getBoolean("USERSETTING_psiphon"));
+ lan.setChecked(fileManager.getBoolean("USERSETTING_lan"));
+ goal.setChecked(fileManager.getBoolean("USERSETTING_goal"));
+
+
+ if (!psiphon.isChecked()) {
+ countryLayout.setAlpha(0.2f);
+ countryLayout.setClickable(false);
+ } else {
+ countryLayout.setAlpha(1f);
+ countryLayout.setClickable(true);
+ }
+ }
+
+ private void init() {
+
+ fileManager = new FileManager(this);
+
+ endpointLayout = findViewById(R.id.endpoint_layout);
+ portLayout = findViewById(R.id.port_layout);
+ lanLayout = findViewById(R.id.lan_layout);
+ psiphonLayout = findViewById(R.id.psiphon_layout);
+ countryLayout = findViewById(R.id.country_layout);
+ licenseLayout = findViewById(R.id.license_layout);
+ goalLayout = findViewById(R.id.goal_layout);
+
+ back = findViewById(R.id.back);
+ endpoint = findViewById(R.id.endpoint);
+ port = findViewById(R.id.port);
+ country = findViewById(R.id.country);
+ license = findViewById(R.id.license);
+
+ psiphon = findViewById(R.id.psiphon);
+ lan = findViewById(R.id.lan);
+ goal = findViewById(R.id.goal);
+
+ back.setOnClickListener(v -> onBackPressed());
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/bepass/oblivion/SheetsCallBack.java b/app/src/main/java/org/bepass/oblivion/SheetsCallBack.java
new file mode 100644
index 00000000..bfb33237
--- /dev/null
+++ b/app/src/main/java/org/bepass/oblivion/SheetsCallBack.java
@@ -0,0 +1,6 @@
+package org.bepass.oblivion;
+
+public interface SheetsCallBack {
+ void onSheetClosed();
+}
+
diff --git a/app/src/main/res/drawable-anydpi/about_item.xml b/app/src/main/res/drawable-anydpi/about_item.xml
new file mode 100644
index 00000000..093bde88
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/about_item.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/bottom_sheet_closer.xml b/app/src/main/res/drawable-anydpi/bottom_sheet_closer.xml
new file mode 100644
index 00000000..ea4340db
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/bottom_sheet_closer.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/edittext_back.xml b/app/src/main/res/drawable-anydpi/edittext_back.xml
new file mode 100644
index 00000000..167af107
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/edittext_back.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/ic_back.xml b/app/src/main/res/drawable-anydpi/ic_back.xml
new file mode 100644
index 00000000..e4e11807
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_back.xml
@@ -0,0 +1,12 @@
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/ic_bug.xml b/app/src/main/res/drawable-anydpi/ic_bug.xml
new file mode 100644
index 00000000..b45538d2
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_bug.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/ic_info.xml b/app/src/main/res/drawable-anydpi/ic_info.xml
new file mode 100644
index 00000000..58389a33
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_info.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/ic_power.xml b/app/src/main/res/drawable-anydpi/ic_power.xml
new file mode 100644
index 00000000..9847dd37
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_power.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable-anydpi/ic_settings.xml b/app/src/main/res/drawable-anydpi/ic_settings.xml
new file mode 100644
index 00000000..d1763c9a
--- /dev/null
+++ b/app/src/main/res/drawable-anydpi/ic_settings.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/app/src/main/res/drawable-hdpi/ic_back.png b/app/src/main/res/drawable-hdpi/ic_back.png
new file mode 100644
index 00000000..93751d0f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_back.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_bug.png b/app/src/main/res/drawable-hdpi/ic_bug.png
new file mode 100644
index 00000000..51cf53b4
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_bug.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_github.png b/app/src/main/res/drawable-hdpi/ic_github.png
new file mode 100644
index 00000000..ab4c3c31
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_github.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_info.png b/app/src/main/res/drawable-hdpi/ic_info.png
new file mode 100644
index 00000000..4cf2e213
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_info.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_ircf.png b/app/src/main/res/drawable-hdpi/ic_ircf.png
new file mode 100644
index 00000000..6fe6dadc
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_ircf.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_power.png b/app/src/main/res/drawable-hdpi/ic_power.png
new file mode 100644
index 00000000..60170162
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_power.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_settings.png b/app/src/main/res/drawable-hdpi/ic_settings.png
new file mode 100644
index 00000000..813a19d8
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_settings.png differ
diff --git a/app/src/main/res/drawable-hdpi/ic_twitter.png b/app/src/main/res/drawable-hdpi/ic_twitter.png
new file mode 100644
index 00000000..568e1732
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_twitter.png differ
diff --git a/app/src/main/res/drawable-hdpi/rounded_bottom_sheet.xml b/app/src/main/res/drawable-hdpi/rounded_bottom_sheet.xml
new file mode 100644
index 00000000..84eec740
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/rounded_bottom_sheet.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable-mdpi/ic_back.png b/app/src/main/res/drawable-mdpi/ic_back.png
new file mode 100644
index 00000000..9ae407f1
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_back.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_bug.png b/app/src/main/res/drawable-mdpi/ic_bug.png
new file mode 100644
index 00000000..ae25ea27
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_bug.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_github.png b/app/src/main/res/drawable-mdpi/ic_github.png
new file mode 100644
index 00000000..3ae2944e
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_github.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_info.png b/app/src/main/res/drawable-mdpi/ic_info.png
new file mode 100644
index 00000000..4db62d4f
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_info.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_ircf.png b/app/src/main/res/drawable-mdpi/ic_ircf.png
new file mode 100644
index 00000000..3e16ab23
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_ircf.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_power.png b/app/src/main/res/drawable-mdpi/ic_power.png
new file mode 100644
index 00000000..16489fd8
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_power.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_settings.png b/app/src/main/res/drawable-mdpi/ic_settings.png
new file mode 100644
index 00000000..7cccfe5b
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_settings.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_twitter.png b/app/src/main/res/drawable-mdpi/ic_twitter.png
new file mode 100644
index 00000000..3ca2b90a
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_twitter.png differ
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 00000000..05c351ca
--- /dev/null
+++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable-xhdpi/ic_back.png b/app/src/main/res/drawable-xhdpi/ic_back.png
new file mode 100644
index 00000000..c87a620a
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_back.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_bug.png b/app/src/main/res/drawable-xhdpi/ic_bug.png
new file mode 100644
index 00000000..7d5c9658
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_bug.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_github.png b/app/src/main/res/drawable-xhdpi/ic_github.png
new file mode 100644
index 00000000..25bf114d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_github.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_info.png b/app/src/main/res/drawable-xhdpi/ic_info.png
new file mode 100644
index 00000000..7757131e
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_info.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_ircf.png b/app/src/main/res/drawable-xhdpi/ic_ircf.png
new file mode 100644
index 00000000..6485687f
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_ircf.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_power.png b/app/src/main/res/drawable-xhdpi/ic_power.png
new file mode 100644
index 00000000..d50f2031
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_power.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_settings.png b/app/src/main/res/drawable-xhdpi/ic_settings.png
new file mode 100644
index 00000000..b44e437d
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_settings.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_twitter.png b/app/src/main/res/drawable-xhdpi/ic_twitter.png
new file mode 100644
index 00000000..2fee07a9
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_twitter.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_back.png b/app/src/main/res/drawable-xxhdpi/ic_back.png
new file mode 100644
index 00000000..2ad23008
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_back.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_bug.png b/app/src/main/res/drawable-xxhdpi/ic_bug.png
new file mode 100644
index 00000000..0568c34e
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_bug.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_github.png b/app/src/main/res/drawable-xxhdpi/ic_github.png
new file mode 100644
index 00000000..b8abdc41
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_github.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_info.png b/app/src/main/res/drawable-xxhdpi/ic_info.png
new file mode 100644
index 00000000..1d738ca6
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_info.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_ircf.png b/app/src/main/res/drawable-xxhdpi/ic_ircf.png
new file mode 100644
index 00000000..fb915113
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_ircf.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_power.png b/app/src/main/res/drawable-xxhdpi/ic_power.png
new file mode 100644
index 00000000..66d2cd5e
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_power.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_settings.png b/app/src/main/res/drawable-xxhdpi/ic_settings.png
new file mode 100644
index 00000000..68720511
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_settings.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_twitter.png b/app/src/main/res/drawable-xxhdpi/ic_twitter.png
new file mode 100644
index 00000000..86630782
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_twitter.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_github.png b/app/src/main/res/drawable-xxxhdpi/ic_github.png
new file mode 100644
index 00000000..c5eb2af7
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_github.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_ircf.png b/app/src/main/res/drawable-xxxhdpi/ic_ircf.png
new file mode 100644
index 00000000..45bdd089
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_ircf.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_twitter.png b/app/src/main/res/drawable-xxxhdpi/ic_twitter.png
new file mode 100644
index 00000000..7a37f1c7
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_twitter.png differ
diff --git a/app/src/main/res/drawable/background_gradient.xml b/app/src/main/res/drawable/background_gradient.xml
new file mode 100644
index 00000000..2260e7f5
--- /dev/null
+++ b/app/src/main/res/drawable/background_gradient.xml
@@ -0,0 +1,9 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 00000000..2d80bfa7
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/font/oxygenbold.ttf b/app/src/main/res/font/oxygenbold.ttf
new file mode 100644
index 00000000..feca433b
Binary files /dev/null and b/app/src/main/res/font/oxygenbold.ttf differ
diff --git a/app/src/main/res/font/oxygenlight.ttf b/app/src/main/res/font/oxygenlight.ttf
new file mode 100644
index 00000000..13524b5f
Binary files /dev/null and b/app/src/main/res/font/oxygenlight.ttf differ
diff --git a/app/src/main/res/font/oxygenregular.ttf b/app/src/main/res/font/oxygenregular.ttf
new file mode 100644
index 00000000..d03f43af
Binary files /dev/null and b/app/src/main/res/font/oxygenregular.ttf differ
diff --git a/app/src/main/res/font/shabnam.ttf b/app/src/main/res/font/shabnam.ttf
new file mode 100644
index 00000000..dd9de4fb
Binary files /dev/null and b/app/src/main/res/font/shabnam.ttf differ
diff --git a/app/src/main/res/font/shabnambold.ttf b/app/src/main/res/font/shabnambold.ttf
new file mode 100644
index 00000000..181b2f20
Binary files /dev/null and b/app/src/main/res/font/shabnambold.ttf differ
diff --git a/app/src/main/res/font/shabnamlight.ttf b/app/src/main/res/font/shabnamlight.ttf
new file mode 100644
index 00000000..7433cded
Binary files /dev/null and b/app/src/main/res/font/shabnamlight.ttf differ
diff --git a/app/src/main/res/font/shabnammedium.ttf b/app/src/main/res/font/shabnammedium.ttf
new file mode 100644
index 00000000..7529c3b1
Binary files /dev/null and b/app/src/main/res/font/shabnammedium.ttf differ
diff --git a/app/src/main/res/font/shabnamthin.ttf b/app/src/main/res/font/shabnamthin.ttf
new file mode 100644
index 00000000..cf318f62
Binary files /dev/null and b/app/src/main/res/font/shabnamthin.ttf differ
diff --git a/app/src/main/res/layout/activity_bug.xml b/app/src/main/res/layout/activity_bug.xml
new file mode 100644
index 00000000..ba26aaf4
--- /dev/null
+++ b/app/src/main/res/layout/activity_bug.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_info.xml b/app/src/main/res/layout/activity_info.xml
new file mode 100644
index 00000000..9919234f
--- /dev/null
+++ b/app/src/main/res/layout/activity_info.xml
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 00000000..17f9ae17
--- /dev/null
+++ b/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
new file mode 100644
index 00000000..20a625b5
--- /dev/null
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/edit_sheet.xml b/app/src/main/res/layout/edit_sheet.xml
new file mode 100644
index 00000000..ef917aca
--- /dev/null
+++ b/app/src/main/res/layout/edit_sheet.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 00000000..6f3b755b
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 00000000..6f3b755b
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 00000000..c209e78e
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..b2dfe3d1
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 00000000..4f0f1d64
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..62b611da
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 00000000..948a3070
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..1b9a6956
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 00000000..28d4b77f
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..9287f508
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 00000000..aa7d6427
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..9126ae37
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/raw/loading.json b/app/src/main/res/raw/loading.json
new file mode 100644
index 00000000..bfd6f112
--- /dev/null
+++ b/app/src/main/res/raw/loading.json
@@ -0,0 +1 @@
+{"nm":"01 - Wifi","ddd":0,"h":500,"w":500,"meta":{"g":"@lottiefiles/toolkit-js 0.33.2"},"layers":[{"ty":4,"nm":"Line3 Outlines 5","sr":1,"st":195,"op":384,"ip":220,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[186.596,88.467,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,205.612,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":220},{"s":[100],"t":230}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-48.732,0],[-31.716,-31.448]],"o":[[31.8,-32.072],[48.193,0],[0,0]],"v":[[-124.096,25.967],[0.53,-25.967],[124.096,24.906]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[186.596,88.467],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":220},{"s":[100],"t":260}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":0,"k":0,"ix":1},"m":1}],"ind":1},{"ty":4,"nm":"Line2 Outlines 5","sr":1,"st":195,"op":384,"ip":210,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[151.595,81.219,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,249.783,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":210},{"s":[100],"t":220}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-35.064,0],[-22.759,-22.491]],"o":[[22.842,-23.115],[34.525,0],[0,0]],"v":[[-89.095,18.719],[0.531,-18.719],[89.095,17.657]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[151.595,81.219],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":210},{"s":[100],"t":250}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":0,"k":0,"ix":1},"m":1}],"ind":2},{"ty":4,"nm":"Line1 Outlines 5","sr":1,"st":195,"op":384,"ip":200,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[113.409,73.312,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250.99900000000002,293.955,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":200},{"s":[100],"t":210}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-20.152,0],[-12.984,-12.719]],"o":[[13.069,-13.343],[19.612,0],[0,0]],"v":[[-50.908,10.811],[0.531,-10.811],[50.908,9.75]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[113.408,73.312],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":200},{"s":[100],"t":240}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":0,"k":0,"ix":1},"m":1}],"ind":3},{"ty":4,"nm":"Line3 Outlines 3","sr":1,"st":145,"op":241,"ip":170,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[186.596,88.467,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,205.612,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":170},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":180},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":230},{"s":[0],"t":240}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-48.732,0],[-31.716,-31.448]],"o":[[31.8,-32.072],[48.193,0],[0,0]],"v":[[-124.096,25.967],[0.53,-25.967],[124.096,24.906]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[186.596,88.467],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":170},{"s":[100],"t":210}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":200},{"s":[100],"t":240}],"ix":1},"m":1}],"ind":4},{"ty":4,"nm":"Line2 Outlines 3","sr":1,"st":145,"op":231,"ip":160,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[151.595,81.219,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,249.783,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":160},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":170},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":220},{"s":[0],"t":230}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-35.064,0],[-22.759,-22.491]],"o":[[22.842,-23.115],[34.525,0],[0,0]],"v":[[-89.095,18.719],[0.531,-18.719],[89.095,17.657]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[151.595,81.219],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":160},{"s":[100],"t":200}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":190},{"s":[100],"t":230}],"ix":1},"m":1}],"ind":5},{"ty":4,"nm":"Line1 Outlines 3","sr":1,"st":145,"op":222,"ip":150,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[113.409,73.312,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250.99900000000002,293.955,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":150},{"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":[100],"t":211},{"s":[0],"t":221}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-20.152,0],[-12.984,-12.719]],"o":[[13.069,-13.343],[19.612,0],[0,0]],"v":[[-50.908,10.811],[0.531,-10.811],[50.908,9.75]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[113.408,73.312],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":150},{"s":[100],"t":190}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":180},{"s":[100],"t":220}],"ix":1},"m":1}],"ind":6},{"ty":4,"nm":"Line3 Outlines 2","sr":1,"st":95,"op":191,"ip":120,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[186.596,88.467,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,205.612,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":120},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":130},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":180},{"s":[0],"t":190}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-48.732,0],[-31.716,-31.448]],"o":[[31.8,-32.072],[48.193,0],[0,0]],"v":[[-124.096,25.967],[0.53,-25.967],[124.096,24.906]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[186.596,88.467],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":120},{"s":[100],"t":160}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":150},{"s":[100],"t":190}],"ix":1},"m":1}],"ind":7},{"ty":4,"nm":"Line2 Outlines 2","sr":1,"st":95,"op":181,"ip":110,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[151.595,81.219,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,249.783,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":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":120},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":170},{"s":[0],"t":180}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-35.064,0],[-22.759,-22.491]],"o":[[22.842,-23.115],[34.525,0],[0,0]],"v":[[-89.095,18.719],[0.531,-18.719],[89.095,17.657]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[151.595,81.219],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":110},{"s":[100],"t":150}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":140},{"s":[100],"t":180}],"ix":1},"m":1}],"ind":8},{"ty":4,"nm":"Line1 Outlines 2","sr":1,"st":95,"op":172,"ip":100,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[113.409,73.312,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250.99900000000002,293.955,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":100},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":110},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":161},{"s":[0],"t":171}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-20.152,0],[-12.984,-12.719]],"o":[[13.069,-13.343],[19.612,0],[0,0]],"v":[[-50.908,10.811],[0.531,-10.811],[50.908,9.75]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[113.408,73.312],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":100},{"s":[100],"t":140}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":130},{"s":[100],"t":170}],"ix":1},"m":1}],"ind":9},{"ty":4,"nm":"Line3 Outlines","sr":1,"st":45,"op":141,"ip":70,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[186.596,88.467,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,205.612,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":70},{"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":130},{"s":[0],"t":140}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-48.732,0],[-31.716,-31.448]],"o":[[31.8,-32.072],[48.193,0],[0,0]],"v":[[-124.096,25.967],[0.53,-25.967],[124.096,24.906]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[186.596,88.467],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":70},{"s":[100],"t":110}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":100},{"s":[100],"t":140}],"ix":1},"m":1}],"ind":10},{"ty":4,"nm":"Line2 Outlines","sr":1,"st":45,"op":131,"ip":60,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[151.595,81.219,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,249.783,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":60},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":70},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":120},{"s":[0],"t":130}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-35.064,0],[-22.759,-22.491]],"o":[[22.842,-23.115],[34.525,0],[0,0]],"v":[[-89.095,18.719],[0.531,-18.719],[89.095,17.657]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[151.595,81.219],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":60},{"s":[100],"t":100}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":90},{"s":[100],"t":130}],"ix":1},"m":1}],"ind":11},{"ty":4,"nm":"Line1 Outlines","sr":1,"st":45,"op":122,"ip":50,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[113.409,73.312,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250.99900000000002,293.955,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":50},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":60},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":111},{"s":[0],"t":121}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-20.152,0],[-12.984,-12.719]],"o":[[13.069,-13.343],[19.612,0],[0,0]],"v":[[-50.908,10.811],[0.531,-10.811],[50.908,9.75]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0,0,0],"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":[113.408,73.312],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":50},{"s":[100],"t":90}],"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":80},{"s":[100],"t":120}],"ix":1},"m":1}],"ind":12},{"ty":4,"nm":"Dot Outlines","sr":1,"st":2,"op":384,"ip":50,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[18.75,18.75,0],"ix":1},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0,"y":1},"s":[0,0,100],"t":50},{"s":[100,100,100],"t":70}],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,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,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-10.217],[10.217,0],[0,10.217],[-10.217,0]],"o":[[0,10.217],[-10.217,0],[0,-10.217],[10.217,0]],"v":[[18.5,0],[0,18.5],[-18.5,0],[0,-18.5]]},"ix":2}},{"ty":"fl","bm":0,"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":[18.75,18.75],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":13},{"ty":4,"nm":"Line3 Outlines 6","sr":1,"st":-5,"op":91,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[186.596,88.467,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,205.612,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":80},{"s":[0],"t":90}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-48.732,0],[-31.716,-31.448]],"o":[[31.8,-32.072],[48.193,0],[0,0]],"v":[[-124.096,25.967],[0.53,-25.967],[124.096,24.906]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0.902,0.902,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":[186.596,88.467],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":50},{"s":[100],"t":90}],"ix":1},"m":1}],"ind":14},{"ty":4,"nm":"Line2 Outlines 6","sr":1,"st":-5,"op":81,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[151.595,81.219,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,249.783,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":70},{"s":[0],"t":80}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-35.064,0],[-22.759,-22.491]],"o":[[22.842,-23.115],[34.525,0],[0,0]],"v":[[-89.095,18.719],[0.531,-18.719],[89.095,17.657]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0.902,0.902,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":[151.595,81.219],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":40},{"s":[100],"t":80}],"ix":1},"m":1}],"ind":15},{"ty":4,"nm":"Line1 Outlines 6","sr":1,"st":-5,"op":72,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[113.409,73.312,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250.99900000000002,293.955,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":61},{"s":[0],"t":71}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-20.152,0],[-12.984,-12.719]],"o":[[13.069,-13.343],[19.612,0],[0,0]],"v":[[-50.908,10.811],[0.531,-10.811],[50.908,9.75]]},"ix":2}},{"ty":"st","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Stroke","nm":"Stroke 1","lc":2,"lj":1,"ml":10,"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":25,"ix":5},"c":{"a":0,"k":[0.902,0.902,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":[113.408,73.312],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]},{"ty":"tm","bm":0,"hd":false,"mn":"ADBE Vector Filter - Trim","nm":"Trim Paths 1","ix":2,"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"s":{"a":1,"k":[{"o":{"x":0.75,"y":0},"i":{"x":0.25,"y":1},"s":[0],"t":30},{"s":[100],"t":70}],"ix":1},"m":1}],"ind":16},{"ty":4,"nm":"Dot 2 Outlines","sr":1,"st":-48,"op":384,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[18.75,18.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,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,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-10.217],[10.217,0],[0,10.217],[-10.217,0]],"o":[[0,10.217],[-10.217,0],[0,-10.217],[10.217,0]],"v":[[18.5,0],[0,18.5],[-18.5,0],[0,-18.5]]},"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.902,0.902,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":[18.75,18.75],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":17}],"v":"5.4.2","fr":48,"op":192,"ip":0,"assets":[]}
\ No newline at end of file
diff --git a/app/src/main/res/raw/loading2.json b/app/src/main/res/raw/loading2.json
new file mode 100644
index 00000000..69b8d86e
--- /dev/null
+++ b/app/src/main/res/raw/loading2.json
@@ -0,0 +1 @@
+{"nm":"Network","ddd":0,"h":84,"w":101,"meta":{"g":"LottieFiles AE "},"layers":[{"ty":4,"nm":"4 Outlines","sr":1,"st":0,"op":900.000036657751,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[50.873,15.563,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[50.154,15.313,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":1,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":6},{"s":[98],"t":30.0000012219251}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-13.246,-13.093],[1.754,-2.246],[3.211,2.008],[0,0],[0.785,0.761],[21.992,-19.288],[2.918,0.196],[0.918,1.899],[-1.227,1.609],[0,0],[-0.672,0.579],[-17.132,0.297]],"o":[[19.117,0.258],[2.742,2.711],[-1.789,2.293],[0,0],[-0.914,-0.59],[-21.102,-20.117],[-2.129,1.867],[-2.039,-0.14],[-0.941,-1.953],[0,0],[0.555,-0.696],[13.203,-11.848],[0,0]],"v":[[-1.189,-15.312],[47.151,4.547],[48.768,12.766],[40.206,13.305],[40.202,13.309],[37.647,11.274],[-37.814,9.789],[-45.185,12.734],[-49.783,9.82],[-48.935,4.477],[-48.931,4.477],[-47.087,2.566],[-1.189,-15.313]]},"ix":2}},{"ty":"fl","bm":0,"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":[50.974,15.563],"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":"3 Outlines","sr":1,"st":0,"op":900.000036657751,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[37.175,12.451,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[51.154,34.98,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":1,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":6},{"s":[98],"t":22.0000008960784}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-9.683,-7.977],[-0.574,-1.477],[1.414,-1.629],[2.047,0.457],[1.649,1.469],[13.879,-10.613],[1.179,-1.032],[2.473,0.195],[-0.882,3.094],[0,0],[-1.23,1.097],[-12.629,0.186]],"o":[[13.168,0.266],[1.215,1],[0.735,1.879],[-1.449,1.664],[-2.199,-0.492],[-13.133,-11.754],[-1.242,0.953],[-1.813,1.585],[-3.222,-0.258],[0,0],[0.465,-1.586],[9.481,-8.711],[0,0]],"v":[[-0.32,-12.202],[33.422,1.025],[36.074,4.861],[35.512,10.26],[30.074,11.745],[24.535,8.424],[-21.949,6.471],[-25.512,9.542],[-31.833,11.917],[-36.044,5.846],[-36.036,5.854],[-33.445,1.753],[-0.32,-12.201]]},"ix":2}},{"ty":"fl","bm":0,"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":[37.175,12.452],"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":"2 Outlines","sr":1,"st":0,"op":900.000036657751,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[23.344,9.743,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[50.973,55.401,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":1,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":6},{"s":[100],"t":14.0000005702317}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-9.258,-0.012],[-4.695,-4.946],[0.657,-2.563],[2.735,2.532],[9.032,-7.496],[2.011,1.617],[-1.336,2.492],[-1.172,0.958]],"o":[[6.82,0.125],[1.656,1.73],[-0.828,3.265],[-8.515,-7.89],[-2.519,2.094],[-2.016,-1.614],[0.722,-1.344],[5.168,-4.207]],"v":[[2.289,-9.48],[20.289,-1.555],[22.437,4.695],[14.945,6.96],[-14.446,6.508],[-20.594,7.156],[-21.758,0.32],[-18.805,-3.04]]},"ix":2}},{"ty":"fl","bm":0,"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":[23.344,9.742],"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":"1 Outlines","sr":1,"st":0,"op":900.000036657751,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[50.873,41.659,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[50.659,41.718,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,"hd":false,"mn":"ADBE Vector Group","nm":"Group 1","ix":1,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0.039,-4.797],[1.566,-1.546],[2.199,0.02],[-0.078,4.715],[-4.758,-0.098]],"o":[[-0.004,2.203],[-1.563,1.547],[-4.746,-0.023],[0.078,-4.898],[4.586,0.082]],"v":[[8.352,0.281],[5.902,6.136],[0.023,8.523],[-8.312,0.07],[0.238,-8.426]]},"ix":2}},{"ty":"fl","bm":0,"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":[51.481,74.524],"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,"hd":false,"mn":"ADBE Vector Group","nm":"Group 2","ix":2,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[-9.258,-0.012],[-4.695,-4.946],[0.657,-2.563],[2.735,2.532],[9.032,-7.496],[2.012,1.617],[-1.336,2.492],[-1.172,0.958]],"o":[[6.82,0.125],[1.656,1.73],[-0.828,3.265],[-8.515,-7.89],[-2.519,2.094],[-2.016,-1.614],[0.722,-1.344],[5.168,-4.207]],"v":[[2.289,-9.48],[20.289,-1.555],[22.437,4.696],[14.945,6.961],[-14.446,6.508],[-20.594,7.157],[-21.758,0.321],[-18.805,-3.04]]},"ix":2}},{"ty":"fl","bm":0,"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":[51.309,55.118],"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,"hd":false,"mn":"ADBE Vector Group","nm":"Group 3","ix":3,"cix":2,"np":2,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-9.683,-7.977],[-0.574,-1.477],[1.414,-1.629],[2.047,0.457],[1.649,1.469],[13.879,-10.613],[1.179,-1.032],[2.473,0.195],[-0.883,3.094],[0,0],[-1.23,1.097],[-12.629,0.187]],"o":[[13.168,0.266],[1.215,1],[0.735,1.879],[-1.449,1.664],[-2.199,-0.492],[-13.133,-11.754],[-1.242,0.953],[-1.813,1.586],[-3.222,-0.258],[0,0],[0.465,-1.586],[9.481,-8.711],[0,0]],"v":[[-0.32,-12.202],[33.422,1.025],[36.074,4.861],[35.512,10.26],[30.074,11.745],[24.535,8.424],[-21.949,6.471],[-25.511,9.542],[-31.832,11.917],[-36.042,5.846],[-36.035,5.854],[-33.445,1.753],[-0.32,-12.201]]},"ix":2}},{"ty":"fl","bm":0,"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":[51.462,34.679],"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,"hd":false,"mn":"ADBE Vector Group","nm":"Group 4","ix":4,"cix":2,"np":4,"it":[{"ty":"sh","bm":0,"hd":false,"mn":"ADBE Vector Shape - Group","nm":"Path 1","ix":1,"d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-13.246,-13.093],[1.754,-2.246],[3.211,2.008],[0,0],[0.785,0.761],[21.992,-19.288],[2.918,0.196],[0.918,1.899],[-1.227,1.609],[0,0],[-0.672,0.579],[-17.132,0.297]],"o":[[19.117,0.258],[2.742,2.711],[-1.789,2.293],[0,0],[-0.914,-0.59],[-21.102,-20.117],[-2.129,1.867],[-2.039,-0.14],[-0.941,-1.953],[0,0],[0.555,-0.696],[13.203,-11.848],[0,0]],"v":[[-0.702,-15.312],[47.638,4.547],[49.255,12.766],[40.693,13.305],[40.689,13.309],[38.134,11.274],[-37.327,9.789],[-44.698,12.734],[-49.296,9.82],[-48.448,4.477],[-48.444,4.477],[-46.6,2.566],[-0.702,-15.313]]},"ix":2}},{"ty":"fl","bm":0,"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":[50.487,15.563],"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}],"v":"4.8.0","fr":29.9700012207031,"op":36.0000014663101,"ip":0,"assets":[]}
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 00000000..1b447a79
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+
+
+ #FFBB86FC
+ #FF6200EE
+ #FF3700B3
+ #FF03DAC5
+ #FF018786
+ #5E5E5E
+ #FFFFFFFF
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 00000000..a5e36b8e
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ Oblivion UI
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
new file mode 100644
index 00000000..9b778e47
--- /dev/null
+++ b/app/src/main/res/values/themes.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml
new file mode 100644
index 00000000..fa0f996d
--- /dev/null
+++ b/app/src/main/res/xml/backup_rules.xml
@@ -0,0 +1,13 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml
new file mode 100644
index 00000000..9ee9997b
--- /dev/null
+++ b/app/src/main/res/xml/data_extraction_rules.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 00000000..068a5d0f
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,5 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+plugins {
+id 'com.android.application' version '8.1.2' apply false
+ id 'org.jetbrains.kotlin.android' version '1.8.10' apply false
+}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 00000000..c22da573
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,24 @@
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app's APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Kotlin code style for this project: "official" or "obsolete":
+kotlin.code.style=official
+# Enables namespacing of each library's R class so that its R class includes only the
+# resources declared in the library itself and none from the library's dependencies,
+# thereby reducing the size of the R class for that library
+android.nonTransitiveRClass=true
+android.enableJetifier=true
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..e708b1c0
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00000000..6c97e3dc
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Wed Feb 07 16:52:07 IRST 2024
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
new file mode 100644
index 00000000..4f906e0c
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,185 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# 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
+#
+# https://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.
+#
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=`expr $i + 1`
+ done
+ case $i in
+ 0) set -- ;;
+ 1) set -- "$args0" ;;
+ 2) set -- "$args0" "$args1" ;;
+ 3) set -- "$args0" "$args1" "$args2" ;;
+ 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=`save "$@"`
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 00000000..107acd32
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,89 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 00000000..d5edfccf
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1,18 @@
+pluginManagement {
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+ maven { url 'https://jitpack.io' }
+ }
+}
+
+rootProject.name = "Oblivion UI"
+include ':app'