9 Commits

Author SHA1 Message Date
fekt
cb009f6b0a Merge pull request
Reviewed-on: https://git.hush.is/hush/SilentDragonAndroid/pulls/15
2023-03-05 02:25:16 +00:00
Jonathan "Duke" Leto
a49728931f Merge remote-tracking branch 'fekt/main' into main 2022-12-04 11:28:10 -08:00
duke
d4b685042f Update 'README.md' 2022-12-03 18:47:43 +00:00
duke
3a4a5e3fcc Update 'README.md' 2022-12-03 18:47:03 +00:00
duke
443c93cc26 Change license to GPLv3 2022-12-03 17:58:21 +00:00
duke
1f2f68f2af Delete 'CONDUCT.md' 2022-12-03 17:54:40 +00:00
duke
8cf931db22 Delete 'responsible_disclosure.md' 2022-12-03 17:52:22 +00:00
duke
68d79dbb70 Update 'CONTRIBUTING.md' 2022-12-03 17:49:37 +00:00
duke
96b66e8f17 Update 'README.md' 2022-12-03 17:34:46 +00:00
123 changed files with 7738 additions and 27545 deletions

1
.gitignore vendored
View File

@@ -71,4 +71,3 @@ fastlane/readme.md
# misc.
backup/
.editorconfig
external/

View File

@@ -1,5 +1,5 @@
# SilentDragonXAndroid
A sample Android wallet using the [DragonX Android SDK](https://git.hush.is/dragonx/dragonx-android-wallet-sdk) which is based on the [Zcash Android SDK](https://github.com/zcash/zcash-android-wallet-sdk).
# hush-android-wallet
A sample Android wallet using the [Hush Android SDK](https://git.hush.is/hush/hush-android-wallet-sdk) which is based on the [Zcash Android SDK](https://github.com/zcash/zcash-android-wallet-sdk).
### Motivation
[Dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) - _transitive verb_ - is the practice of an organization using its own product. This app was created to help us learn.
@@ -23,39 +23,24 @@ This a sample wallet for the following set of features:
- reply-to formatted memos
# Prerequisites
- [The app code](https://git.hush.is/dragonx/SilentDragonXAndroid)
- [The SDK code](https://git.hush.is/dragonx/dragonx-android-wallet-sdk)
- [Android Studio](https://developer.android.com/studio/index.html) last tested with Android Studio Dolphin | 2021.3.1 Patch 1 or [adb](https://www.xda-developers.com/what-is-adb/)
- [The code](https://git.hush.is/hush/hush-android-wallet)
- [Android Studio](https://developer.android.com/studio/index.html) or [adb](https://www.xda-developers.com/what-is-adb/)
- An Android device or emulator. Android 10 or higher is recommended.
# Building the App
1. Clone the SDK:
```git clone https://git.hush.is/dragonx/dragonx-android-wallet-sdk.git```
2. Add any new checkpoints to the SDK - Checkpoints are located in ```dragonx-android-wallet-sdk\sdk-lib\src\main\assets\co.electriccoin.zcash\checkpoint\mainnet``` You may use the [sda_checkpoints.pl](https://git.hush.is/hush/hush3/src/branch/dev/contrib/sda_checkpoints.pl) script and modify the start and end block heights accordingly.
By default, this script will generate many checkpoints in a single file IE: ```./contrib/sda_checkpoints.pl > newcheckpoints.json```. You may then copy/paste to individual .json files named as the block height the checkpoint is for or modify this script to save individual .json files for each block height.
3. Compile and publish the SDK locally as the app's code currently relies on mavenLocal for the SDK.
```
./gradlew clean
./gradlew build
./gradlew build publishToMavenLocal
```
4. Clone the app repo:
```git clone https://git.hush.is/dragonx/SilentDragonXAndroid```
5. Open the app in Android Studio and press play to install and run on connected device. It should just work.™
6. If you want to build APKs instead of installing on a device or emulator, select Build > Build Bundle(s) / APK(s) > Build APK(s)
To run, clone the repo, open it in Android Studio and press play. It should just work.™
## Install from Android Studio
1. [Install Android Studio](https://developer.android.com/studio/install) and setup an emulator
1a. If using a device, be sure to [put it in developer mode](https://developer.android.com/studio/debug/dev-options) to enable side-loading apps
2. `Import` the SilentDragonXAndroid folder.
2. `Import` the hush-android-wallet folder.
It will be recognized as an Android project.
3. Press play (once it is done opening and indexing)
## OR Install from the command line
To build from the command line, [setup ADB](https://www.xda-developers.com/install-adb-windows-macos-linux/) and connect your device. Then simply run this and it will both build and install the app:
```bash
cd /path/to/SilentDragonXAndroid
cd /path/to/hush-android-wallet
./gradlew
```
Note: The lack of an explicit Gradle task is not a typo. A default task is configured via [build.gradle.kts](build.gradle.kts).
@@ -64,20 +49,20 @@ Tip: On macOS and Linux, Gradle is invoked with `./gradlew`. On Windows, Gradle
# Included builds
These notes are included from upstream and for reference only if looking to create an included build. To simplify implementation of SDK features in conjunction with changes to the app, a Gradle [Included Build](https://docs.gradle.org/current/userguide/composite_builds.html) can be configured.
To simplify implementation of SDK features in conjunction with changes to the app, a Gradle [Included Build](https://docs.gradle.org/current/userguide/composite_builds.html) can be configured.
1. Check out the SDK to a directory path of `../dragonx-android-wallet-sdk` relative to the root of this app's repo. For example:
1. Check out the SDK to a directory path of `../hush-android-sdk` relative to the root of this app's repo. For example:
parent/
SilentDragonXAndroid/
dragonx-android-wallet-sdk/
hush-android-wallet/
hush-android-sdk/
1. Verify that the `dragonx-android-wallet-sdk` builds correctly on its own
1. Build `SilentDragonXAndroid`, setting the Gradle property `IS_SDK_INCLUDED_BUILD=true`
1. Verify that the `hush-android-sdk` builds correctly on its own
1. Build `hush-android-wallet`, setting the Gradle property `IS_SDK_INCLUDED_BUILD=true`
There are some limitations of included builds:
1. Properties from `SilentDragonXAndroid` will override those set in `dragonx-android-wallet-sdk` with the same name
1. Modules in each project cannot share the same name. For this reason, build-conventions have different names in each repo (`dragonx-android-wallet-sdk/build-conventions` vs `other-android-wallet/build-convention`)
1. Properties from `hush-android-wallet` will override those set in `hush-android-sdk` with the same name
1. Modules in each project cannot share the same name. For this reason, build-conventions have different names in each repo (`hush-android-sdk/build-conventions` vs `other-android-wallet/build-convention`)
1. Kotlin and KSP versions will need to be coordinated between the two projects, because KSP is tightly coupled to the Kotlin version
# Contributing
@@ -90,7 +75,7 @@ Contact us on [Telegram](https://hush.is/tg) or [Matrix](https://hush.is/matrix)
# Copyright
Copyright 2016-2023 The Hush developers
Copyright 2016-2022 The Hush developers
# License

View File

@@ -6,8 +6,8 @@ apply plugin: 'kotlin-kapt'
apply plugin: "androidx.navigation.safeargs.kotlin"
apply plugin: 'com.github.ben-manes.versions'
archivesBaseName = 'dragonx-android-wallet'
group = 'dragonx.android'
archivesBaseName = 'hush-android-wallet'
group = 'hush.android'
version = Deps.versionName
android {
@@ -30,14 +30,6 @@ android {
// per https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html: If set to an empty collection, all special handling of vector drawables will be disabled.
vectorDrawables.generatedDensities = []
}
splits {
abi {
enable true
reset()
universalApk true
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
buildFeatures {
viewBinding true
}
@@ -47,13 +39,13 @@ android {
zcashtestnet {
dimension 'network'
applicationId 'cash.z.ecc.android.testnet'
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite.dragonx.is"'
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite2.hushpool.is"'
matchingFallbacks = ['zcashtestnet', 'debug']
}
zcashmainnet {
dimension 'network'
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite.dragonx.is"'
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite2.hushpool.is"'
matchingFallbacks = ['zcashmainnet', 'release']
}
}
@@ -76,7 +68,6 @@ android {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.placeholder
}
// builds for testing only in the wallet team, typically unfinished features
// this flavor can be installed alongside the others
@@ -119,8 +110,11 @@ android {
}
namespace 'cash.z.ecc.android'
applicationVariants.all { variant ->
variant.outputs.all { output ->
outputFileName = "$archivesBaseName-v${Deps.versionName}-${variant.buildType.name}-${output.getFilter("ABI")}.apk"
variant.outputs.all {
if (variant.buildType.name == "qa") {
it.versionNameOverride = "${Deps.versionName}-QA"
}
outputFileName = "$archivesBaseName-v${Deps.versionName}-${variant.buildType.name}.apk"
}
}
}
@@ -181,10 +175,7 @@ dependencies {
// Misc.
implementation Deps.Misc.LOTTIE
implementation Deps.Misc.CHIPS, {
exclude module: 'ChipsLayoutManager'
}
implementation 'com.github.BelooS:ChipsLayoutManager:v0.3.7'
implementation Deps.Misc.CHIPS
implementation Deps.Misc.Plugins.QR_SCANNER
// Tests

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -55,13 +55,7 @@ class ZcashWalletApp : Application(), CameraXConfig.Provider {
// reported by the crash reporting.
if (BuildConfig.DEBUG) {
StrictModeHelper.enableStrictMode()
}
if (BuildConfig.DEBUG) {
cash.z.ecc.android.sdk.internal.Twig.plant(
cash.z.ecc.android.sdk.internal.TroubleshootingTwig(
printer = { android.util.Log.d("@TWIG", it); Unit }
)
)
cash.z.ecc.android.sdk.internal.Twig.enabled(true)
cash.z.ecc.android.util.Twig.enabled(true)
}

View File

@@ -6,11 +6,7 @@ import cash.z.ecc.android.ZcashWalletApp
import cash.z.ecc.android.ext.Const
import cash.z.ecc.android.feedback.*
import cash.z.ecc.android.lockbox.LockBox
import cash.z.ecc.android.sdk.Initializer
import cash.z.ecc.android.sdk.Synchronizer
import cash.z.ecc.android.sdk.model.BlockHeight
import cash.z.ecc.android.sdk.model.LightWalletEndpoint
import cash.z.ecc.android.sdk.type.UnifiedViewingKey
import cash.z.ecc.android.ui.util.DebugFileTwig
import cash.z.ecc.android.util.SilentTwig
import cash.z.ecc.android.util.Twig
@@ -22,46 +18,7 @@ object DependenciesHolder {
val initializerComponent by lazy { InitializerComponent() }
private var _synchronizer: Synchronizer? = null
val synchronizer: Synchronizer
get() {
if (_synchronizer == null) {
_synchronizer = Synchronizer.newBlocking(initializerComponent.initializer)
}
return _synchronizer!!
}
/**
* Stop the current synchronizer and reinitialize with the server
* currently saved in preferences, so a new synchronizer will be
* created on next access pointing to the new server.
*/
fun resetSynchronizer() {
_synchronizer?.let {
try {
it.stop()
} catch (e: Exception) {
// Ignore errors during teardown
}
_synchronizer = null
}
// Rebuild the initializer with the new server from prefs
val host = prefs[Const.Pref.SERVER_HOST] ?: Const.Default.Server.HOST
val port = prefs[Const.Pref.SERVER_PORT] ?: Const.Default.Server.PORT
val network = ZcashWalletApp.instance.defaultNetwork
val extfvk = lockBox.getCharsUtf8(Const.Backup.VIEWING_KEY)
val extpub = lockBox.getCharsUtf8(Const.Backup.PUBLIC_KEY)
// Load the stored birthday so the processor uses the correct scan start height
val birthdayHeight: BlockHeight? = lockBox.get<Int>(Const.Backup.BIRTHDAY_HEIGHT)?.let {
BlockHeight.new(network, it.toLong())
}
if (extfvk != null && extpub != null) {
val vk = UnifiedViewingKey(extfvk = String(extfvk), extpub = String(extpub))
initializerComponent.createInitializer(Initializer.Config {
it.importWallet(vk, birthdayHeight, network, LightWalletEndpoint(host, port, true))
})
}
}
val synchronizer by lazy { Synchronizer.newBlocking(initializerComponent.initializer) }
val clipboardManager by lazy { provideAppContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager }

View File

@@ -48,13 +48,15 @@ object Const {
object Default {
object Server {
// Select a random server from list
val serverList = listOf(
"lite.dragonx.is",
"lite1.dragonx.is",
"lite2.dragonx.is",
"lite3.dragonx.is",
"lite4.dragonx.is",
"lite5.dragonx.is"
private val serverList = listOf(
"lite.hush.is",
"lite.hushpool.is",
"lite.hush.community",
"poop.granitefone.me",
"lite.myhush.org",
"wtfistheinternet.hush.is",
"lite.hush.land",
"lite2.hushpool.is"
)
private val randomIndex = Random.nextInt(serverList.size);
private val randomServer = serverList[randomIndex]

View File

@@ -5,20 +5,12 @@ import android.app.Dialog
import android.content.Context
import android.text.Html
import android.util.Log
import android.widget.ArrayAdapter
import android.widget.ListView
import android.widget.TextView
import androidx.annotation.StringRes
import androidx.appcompat.app.AlertDialog
import androidx.core.content.getSystemService
import cash.z.ecc.android.R
import cash.z.ecc.android.feedback.Report
import cash.z.ecc.android.ui.MainActivity
import cash.z.ecc.android.ui.scan.ScanFragment
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import kotlinx.coroutines.*
import java.net.InetSocketAddress
import java.net.Socket
import kotlin.system.exitProcess
fun Context.showClearDataConfirmation(onDismiss: () -> Unit = {}, onCancel: () -> Unit = {}): Dialog {
@@ -106,10 +98,16 @@ fun Context.showCriticalMessage(title: String, message: String, onDismiss: () ->
val splitError = message.split(delimiter)
var pluckedError = splitError[0]
if(pluckedError == "UNAVAILABLE" || pluckedError == "DEADLINE_EXCEEDED"){
return showServerPickerDialog(onServerSelected = { host ->
// Do NOT call onDismiss() here — it throws the original error
})
if(pluckedError == "UNAVAILABLE"){
return MaterialAlertDialogBuilder(this)
.setTitle("Server Unavailable")
.setMessage("Please close and restart the app to try another random server.")
.setCancelable(false)
.setNegativeButton("Exit") { dialog, _ ->
dialog.dismiss()
exitProcess(0)
}
.show()
}
return MaterialAlertDialogBuilder(this)
@@ -214,91 +212,3 @@ fun Context.showSharedLibraryCriticalError(e: Throwable): Dialog = showCriticalM
messageResId = R.string.dialog_error_critical_link_message,
onDismiss = { throw e }
)
fun Context.showReorgRepairDialog(onDismiss: () -> Unit = {}): Dialog {
return MaterialAlertDialogBuilder(this)
.setTitle("Incompatible Block Data")
.setMessage(
"The wallet contains block data from an old or incompatible chain. " +
"This prevents syncing.\n\n" +
"Would you like to clear the old data and sync fresh from the network?\n" +
"(Your wallet keys and addresses will be preserved)"
)
.setCancelable(false)
.setPositiveButton("Clear & Resync") { dialog, _ ->
dialog.dismiss()
onDismiss()
getSystemService<ActivityManager>()?.clearApplicationUserData()
}
.setNegativeButton("Cancel") { dialog, _ ->
dialog.dismiss()
onDismiss()
}
.show()
}
fun Context.showServerPickerDialog(onServerSelected: (String) -> Unit = {}): Dialog {
val servers = Const.Default.Server.serverList
val port = Const.Default.Server.PORT
// Display names start as "Checking..." and get updated
val displayItems = servers.map { "$it — checking..." }.toMutableList()
val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, displayItems)
val listView = ListView(this).apply {
this.adapter = adapter
setPadding(32, 16, 32, 16)
}
val dialog = MaterialAlertDialogBuilder(this)
.setTitle("Select a Server")
.setMessage("The current server is unavailable. Choose a server to connect to:")
.setView(listView)
.setCancelable(false)
.setNegativeButton("Exit") { d, _ ->
d.dismiss()
exitProcess(0)
}
.show()
// Check each server's connectivity in the background
val scope = CoroutineScope(Dispatchers.IO + SupervisorJob())
servers.forEachIndexed { index, host ->
scope.launch {
val online = try {
Socket().use { socket ->
socket.connect(InetSocketAddress(host, port), 5000)
true
}
} catch (e: Exception) {
false
}
withContext(Dispatchers.Main) {
displayItems[index] = if (online) "$host" else "$host (offline)"
adapter.notifyDataSetChanged()
}
}
}
listView.setOnItemClickListener { _, _, position, _ ->
val host = servers[position]
// Save selected server to preferences
val prefs = cash.z.ecc.android.di.DependenciesHolder.prefs
prefs[Const.Pref.SERVER_HOST] = host
prefs[Const.Pref.SERVER_PORT] = port
dialog.dismiss()
scope.cancel()
onServerSelected(host)
// Reconnect with the new server without restarting
(this as? MainActivity)?.let { activity ->
try {
cash.z.ecc.android.di.DependenciesHolder.resetSynchronizer()
activity.startSync(isRestart = true)
} catch (e: Exception) {
android.util.Log.e("SilentDragon", "Error reconnecting after server change", e)
}
}
}
return dialog
}

View File

@@ -232,12 +232,6 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
synchronizer.start(lifecycleScope)
mainViewModel.setSyncReady(true)
// When restarting (e.g. after server switch), the HomeFragment's
// flow is still bound to the old synchronizer. Signal it to rebind.
if (isRestart) {
mainViewModel.syncRestarted.value = true
}
}
} else {
twig("Ignoring request to start sync because sync has already been started!")
@@ -534,7 +528,6 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
// TODO: clean up this error handling
private var ignoredErrors = 0
private var reorgCount = 0
private fun onProcessorError(error: Throwable?): Boolean {
var notified = false
when (error) {
@@ -560,33 +553,6 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
}
}
}
is CompactBlockProcessorException.FailedReorgRepair -> {
if (dialog == null) {
notified = true
runOnUiThread {
dialog = showReorgRepairDialog {
dialog = null
}
}
}
return false // stop retrying
}
}
// Handle gRPC connectivity errors (DEADLINE_EXCEEDED, UNAVAILABLE) by showing server picker
if (!notified && error is io.grpc.StatusRuntimeException) {
val code = (error as io.grpc.StatusRuntimeException).status.code
if (code == io.grpc.Status.Code.DEADLINE_EXCEEDED || code == io.grpc.Status.Code.UNAVAILABLE) {
if (dialog == null) {
notified = true
runOnUiThread {
dialog = showServerPickerDialog { host ->
dialog = null
ignoredErrors = 0
}
}
}
return true
}
}
if (!notified) {
ignoredErrors++
@@ -607,8 +573,6 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
}
private fun onChainError(errorHeight: BlockHeight, rewindHeight: BlockHeight) {
reorgCount++
twig("Chain reorg detected (#$reorgCount): error at $errorHeight, rewinding to $rewindHeight")
feedback.report(Reorg(errorHeight, rewindHeight))
}

View File

@@ -9,7 +9,6 @@ import kotlinx.coroutines.flow.asStateFlow
class MainViewModel : ViewModel() {
private val _loadingMessage = MutableStateFlow<String?>("\u23F3 Loading...")
private val _syncReady = MutableStateFlow(false)
val syncRestarted = MutableStateFlow(false)
val loadingMessage: StateFlow<String?> get() = _loadingMessage
val isLoading get() = loadingMessage.value != null

View File

@@ -38,14 +38,11 @@ import cash.z.ecc.android.util.twig
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onCompletion
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.runningReduce
import kotlinx.coroutines.isActive
import kotlinx.coroutines.launch
import kotlin.math.roundToInt
// There are deprecations with the use of BroadcastChannel
@kotlinx.coroutines.ObsoleteCoroutinesApi
@@ -192,18 +189,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
twig("Sync ready! Monitoring synchronizer state...")
monitorUiModelChanges()
// When the synchronizer is restarted (e.g. after a server switch),
// rebind the UI flows to the new synchronizer instance.
mainActivity?.mainViewModel?.syncRestarted
?.filter { it }
?.onEach {
twig("Sync restarted detected — reinitializing HomeViewModel flows")
mainActivity?.mainViewModel?.syncRestarted?.value = false
viewModel.reinitialize()
monitorUiModelChanges()
}
?.launchIn(resumedScope)
twig("HomeFragment.onSyncReady COMPLETE")
}
@@ -255,24 +240,23 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
val sendText = when {
uiModel.status == DISCONNECTED -> getString(R.string.home_button_send_disconnected)
uiModel.isSynced || uiModel.isEffectivelySynced -> if (uiModel.hasFunds) getString(R.string.home_button_send_has_funds) else getString(
uiModel.isSynced -> if (uiModel.hasFunds) getString(R.string.home_button_send_has_funds) else getString(
R.string.home_button_send_no_funds
)
uiModel.status == STOPPED -> getString(R.string.home_button_send_idle)
uiModel.isDownloading -> {
val pct = (uiModel.totalProgress * 100).roundToInt()
when (snake.downloadProgress) {
0 -> "Preparing to download..."
else -> "Downloading... $pct% (${uiModel.lastDownloadedBlockHeight}/${uiModel.networkHeight})"
else -> getString(R.string.home_button_send_downloading, snake.downloadProgress)
}
}
uiModel.isValidating -> {
val pct = (uiModel.totalProgress * 100).roundToInt()
"Validating... $pct% (${uiModel.lastScannedBlockHeight}/${uiModel.networkHeight})"
}
uiModel.isValidating -> getString(R.string.home_button_send_validating)
uiModel.isScanning -> {
val pct = (uiModel.totalProgress * 100).roundToInt()
"Scanning... $pct% (${uiModel.lastScannedBlockHeight}/${uiModel.networkHeight})"
when (snake.scanProgress) {
0 -> "Preparing to scan..."
100 -> "Finalizing..."
else -> getString(R.string.home_button_send_scanning, snake.scanProgress)
}
}
else -> getString(R.string.home_button_send_updating)
}

View File

@@ -29,12 +29,6 @@ class HomeViewModel : ViewModel() {
var initialized = false
fun reinitialize() {
twig("HomeViewModel.reinitialize: rebinding to new synchronizer")
initialized = false
initializeMaybe()
}
fun initializeMaybe(preTypedChars: String = "0") {
twig("init called")
if (initialized) {
@@ -100,7 +94,6 @@ class HomeViewModel : ViewModel() {
)
}.onStart { emit(UiModel(orchardBalance = null, saplingBalance = null, transparentBalance = null)) }
}.conflate()
initialized = true
}
override fun onCleared() {
@@ -127,13 +120,6 @@ class HomeViewModel : ViewModel() {
val hasAutoshieldFunds: Boolean get() = (transparentBalance?.available?.value ?: 0) >= ZcashWalletApp.instance.autoshieldThreshold
val isSynced: Boolean get() = status == SYNCED
val isSendEnabled: Boolean get() = isSynced && hasFunds
// Consider the wallet synced when within 100 blocks of the tip
// so routine polling of 1-2 new blocks doesn't flash "Scanning..." text
val isEffectivelySynced: Boolean get() {
val scanned = processorInfo.lastScannedHeight?.value ?: return false
val tip = processorInfo.networkBlockHeight?.value ?: return false
return tip > 0 && (tip - scanned) < 100
}
// Processor Info
val isDownloading = status == DOWNLOADING
@@ -163,17 +149,6 @@ class HomeViewModel : ViewModel() {
}
}
}
val overallProgress: Int get() {
return processorInfo.run {
val scanned = lastScannedHeight?.value ?: return@run 0
val tip = networkBlockHeight?.value ?: return@run 0
if (tip <= 0) 0
else ((scanned.toFloat() / tip.toFloat()) * 100.0f).coerceIn(0f, 100f).roundToInt()
}
}
val lastScannedBlockHeight: Long get() = processorInfo.lastScannedHeight?.value ?: 0
val lastDownloadedBlockHeight: Long get() = processorInfo.lastDownloadedHeight?.value ?: 0
val networkHeight: Long get() = processorInfo.networkBlockHeight?.value ?: 0
val totalProgress: Float get() {
val downloadWeighted = 0.40f * (downloadProgress.toFloat() / 100.0f).coerceAtMost(1.0f)
val scanWeighted = 0.60f * (scanProgress.toFloat() / 100.0f).coerceAtMost(1.0f)

View File

@@ -66,21 +66,26 @@ class ProfileFragment : BaseFragment<FragmentProfileBinding>() {
openTelegramLink()
}
// Matrix
binding.matrixButton.setOnClickListener {
openMatrixLink()
}
// Mastodon
binding.mastodonButton.setOnClickListener {
openMastodonLink()
}
// PeerTube
binding.peertubeButton.setOnClickListener {
openPeerTubeLink()
}
// SilentDragon Gitea
binding.textBannerMessage.setOnClickListener {
openGiteaLink()
}
// Fakebook
binding.fakebookButton.setOnClickListener {
openFakebookLink()
}
// Twatter
binding.twatterButton.setOnClickListener {
openTwatterLink()
}
// Add build version
binding.textVersion.text = BuildConfig.VERSION_NAME
@@ -96,12 +101,6 @@ class ProfileFragment : BaseFragment<FragmentProfileBinding>() {
}*/
}
private fun openFakebookLink() {
getString(R.string.fakebook_url).takeUnless { it.isBlank() }?.let { url ->
mainActivity?.onLaunchUrl(url)
}
}
private fun openGiteaLink() {
getString(R.string.gitea_url).takeUnless { it.isBlank() }?.let { url ->
mainActivity?.onLaunchUrl(url)
@@ -126,12 +125,6 @@ class ProfileFragment : BaseFragment<FragmentProfileBinding>() {
}
}
private fun openTwatterLink() {
getString(R.string.twatter_url).takeUnless { it.isBlank() }?.let { url ->
mainActivity?.onLaunchUrl(url)
}
}
private fun openTelegramLink() {
getString(R.string.telegram_url).takeUnless { it.isBlank() }?.let { url ->
mainActivity?.onLaunchUrl(url)
@@ -144,12 +137,6 @@ class ProfileFragment : BaseFragment<FragmentProfileBinding>() {
}
}
private fun openYoutubeLink() {
getString(R.string.youtube_url).takeUnless { it.isBlank() }?.let { url ->
mainActivity?.onLaunchUrl(url)
}
}
override fun onResume() {
super.onResume()
resumedScope.launch {

View File

@@ -142,7 +142,7 @@ class LandingFragment : BaseFragment<FragmentLandingBinding>() {
ZcashNetwork.Mainnet -> {
seedPhrase =
"still champion voice habit trend flight survey between bitter process artefact blind carbon truly provide dizzy crush flush breeze blouse charge solid fish spread"
birthday = BlockHeight.new(ZcashNetwork.Mainnet, 420000)
birthday = BlockHeight.new(ZcashNetwork.Mainnet, 1270000)
}
ZcashNetwork.Testnet -> {
seedPhrase =

View File

@@ -127,7 +127,7 @@ class RestoreFragment : BaseFragment<FragmentRestoreBinding>(), View.OnKeyListen
mainActivity?.hideKeyboard()
val activation = ZcashWalletApp.instance.defaultNetwork.saplingActivationHeight
val seedPhrase = binding.chipsInput.selectedChips.joinToString(" ") {
it.title.trim().lowercase()
it.title
}
var birthday = binding.root.findViewById<TextView>(R.id.input_birthdate).text.toString()
.let { birthdateString ->

View File

@@ -61,11 +61,9 @@ class SeedWordAdapter : ChipsAdapter {
override fun onKeyboardActionDone(text: String?) {
if (TextUtils.isEmpty(text)) return
val normalizedText = text!!.trim().lowercase()
if (normalizedText.isEmpty()) return
if (mDataSource.originalChips.firstOrNull { it.title.equals(normalizedText, ignoreCase = true) } != null) {
mDataSource.addSelectedChip(DefaultCustomChip(normalizedText))
if (mDataSource.originalChips.firstOrNull { it.title == text } != null) {
mDataSource.addSelectedChip(DefaultCustomChip(text))
mEditText.apply {
postDelayed(
{
@@ -80,23 +78,13 @@ class SeedWordAdapter : ChipsAdapter {
// this function is called with the contents of the field, split by the delimiter
override fun onKeyboardDelimiter(text: String) {
val normalizedText = text.trim().lowercase()
if (normalizedText.isEmpty()) return
// Prefer an exact match from the word list over autocomplete
val exactMatch = mDataSource.originalChips.firstOrNull {
it.title.equals(normalizedText, ignoreCase = true)
}?.title
if (exactMatch != null) {
onKeyboardActionDone(exactMatch)
val firstMatchingWord = (mDataSource.filteredChips.firstOrNull() as? SeedWordChip)?.word?.takeUnless {
!it.startsWith(text)
}
if (firstMatchingWord != null) {
onKeyboardActionDone(firstMatchingWord)
} else {
val firstMatchingWord = (mDataSource.filteredChips.firstOrNull() as? SeedWordChip)?.word?.takeUnless {
!it.startsWith(normalizedText)
}
if (firstMatchingWord != null) {
onKeyboardActionDone(firstMatchingWord)
} else {
onKeyboardActionDone(normalizedText)
}
onKeyboardActionDone(text)
}
}

View File

@@ -20,8 +20,6 @@ import cash.z.ecc.android.sdk.type.UnifiedViewingKey
import cash.z.ecc.android.ui.setup.WalletSetupViewModel.WalletSetupState.*
import cash.z.ecc.android.util.twig
import cash.z.ecc.kotlin.mnemonic.Mnemonics
import java.net.InetSocketAddress
import java.net.Socket
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
@@ -101,15 +99,13 @@ class WalletSetupViewModel : ViewModel() {
val vk =
loadUnifiedViewingKey() ?: onMissingViewingKey(network).also { overwriteVks = true }
val birthdayHeight = loadBirthdayHeight() ?: onMissingBirthday(network)
val savedHost = prefs[Const.Pref.SERVER_HOST] ?: Const.Default.Server.HOST
val host = prefs[Const.Pref.SERVER_HOST] ?: Const.Default.Server.HOST
val port = prefs[Const.Pref.SERVER_PORT] ?: Const.Default.Server.PORT
// Check if the preferred server is reachable; if not, try others
// Run on IO dispatcher since findReachableServer does blocking Socket I/O
val host = withContext(IO) { findReachableServer(savedHost, port) }
Log.d("SilentDragon", "host: $host")
// TODO: Maybe check server availability here
twig("Done loading config variables")
return Initializer.Config {
it.importWallet(vk, birthdayHeight, network, LightWalletEndpoint(host, port, true))
@@ -117,43 +113,6 @@ class WalletSetupViewModel : ViewModel() {
}
}
/**
* Check if the preferred server is reachable via TCP. If not, try each server
* in the list until one responds. Returns the first reachable server, or falls
* back to the preferred server if none respond.
*/
private fun findReachableServer(preferredHost: String, port: Int): String {
// Try preferred server first
if (isServerReachable(preferredHost, port)) {
return preferredHost
}
twig("Preferred server $preferredHost is unreachable, trying alternatives...")
// Try each server in the list
for (server in Const.Default.Server.serverList) {
if (server != preferredHost && isServerReachable(server, port)) {
twig("Found reachable server: $server")
// Save working server to preferences for next time
prefs[Const.Pref.SERVER_HOST] = server
return server
}
}
twig("WARNING: No servers responded, using preferred: $preferredHost")
return preferredHost
}
private fun isServerReachable(host: String, port: Int): Boolean {
return try {
Socket().use { socket ->
socket.connect(InetSocketAddress(host, port), 5000)
true
}
} catch (e: Exception) {
false
}
}
private fun loadUnifiedViewingKey(): UnifiedViewingKey? {
val extfvk = lockBox.getCharsUtf8(Const.Backup.VIEWING_KEY)
val extpub = lockBox.getCharsUtf8(Const.Backup.PUBLIC_KEY)

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:color="@color/app_icon_foreground"/>
<item android:state_pressed="true" android:color="@color/app_icon_background_0" />
<item android:state_pressed="false" android:color="@color/text_dark"/>
<item android:state_pressed="true" android:color="@color/text_light" />
</selector>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:color="@color/text_light"/>
<item android:state_pressed="true" android:color="@color/app_icon_background_0" />
<item android:state_pressed="true" android:color="@color/text_dark" />
</selector>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:color="@color/text_light_dimmed"/>
<item android:state_pressed="true" android:color="@color/app_icon_background_0" />
<item android:state_pressed="true" android:color="@color/text_dark" />
</selector>

View File

@@ -16,7 +16,7 @@
android:centerY="36.01165"
android:type="radial">
<item android:offset="0" android:color="@color/app_icon_background_0"/>
<item android:offset="1" android:color="@color/ic_launcher_background"/>
<item android:offset="1" android:color="@color/app_icon_background_1"/>
</gradient>
</aapt:attr>
</path>

File diff suppressed because it is too large Load Diff

View File

@@ -2,5 +2,5 @@
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp" />
<solid android:color="@color/app_icon_background_0"/>
<solid android:color="@color/background_banner"/>
</shape>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/app_icon_background_0"/>
<stroke android:color="@color/ic_launcher_background" android:width="4dp" />
<solid android:color="#CF000000"/>
<stroke android:color="#60000000" android:width="4dp" />
</shape>

View File

@@ -3,5 +3,5 @@
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp" />
<stroke android:width="1dp" android:color="@color/background_banner_stroke"/>
<solid android:color="@color/app_icon_background_0"/>
<solid android:color="@color/background_banner"/>
</shape>

View File

@@ -3,5 +3,5 @@
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="16dp" />
<stroke android:width="1dp" android:color="#282828"/>
<solid android:color="@color/app_icon_background_0"/>
<solid android:color="@color/background_banner"/>
</shape>

View File

@@ -24,6 +24,6 @@
android:bottomRightRadius="10dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<solid android:color="@color/app_icon_background_0" />
<solid android:color="@color/background_banner" />
</shape>
</item></layer-list>

View File

@@ -2,6 +2,6 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="270"
android:endColor="@color/app_icon_background_0"
android:endColor="@color/background_banner"
android:startColor="@android:color/transparent" />
</shape>

View File

@@ -22,6 +22,6 @@
android:bottomRightRadius="0dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
<solid android:color="@color/app_icon_background_0" />
<solid android:color="@color/background_banner" />
</shape>
</item></layer-list>

View File

@@ -2,7 +2,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:endColor="@color/app_icon_background_0"
android:endColor="#000000"
android:startColor="#28282C"
android:type="radial"
android:centerY="0.36"

View File

@@ -3,5 +3,5 @@
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp" />
<stroke android:width="1dp" android:color="#282828"/>
<solid android:color="@color/app_icon_background_0"/>
<solid android:color="#171717"/>
</shape>

View File

@@ -3,5 +3,5 @@
xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="3dp" />
<stroke android:width="1dp" android:color="#282828"/>
<solid android:color="@color/app_icon_background_0"/>
<solid android:color="@color/background_banner"/>
</shape>

View File

@@ -1,5 +1,5 @@
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@color/app_icon_background_0" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z"/>
<path android:fillColor="#FF000000" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z"/>
</vector>

View File

@@ -4,6 +4,6 @@
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/app_icon_background_0"
android:fillColor="#FF000000"
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
</vector>

View File

@@ -6,7 +6,7 @@
<path
android:pathData="M13.406,0L272.594,0L286,13.364L286,270.914L272.594,285L13.406,285L0,271.641L0,13.364L13.406,0Z"
android:strokeWidth="1"
android:fillColor="@color/app_icon_background_0"
android:fillColor="#2C2C2F"
android:fillType="evenOdd"
android:strokeColor="#00000000"/>
</vector>

View File

@@ -4,6 +4,6 @@
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/app_icon_background_0"
android:fillColor="#FF000000"
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
</vector>

View File

@@ -1,949 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
android:viewportWidth="512"
android:viewportHeight="512"
android:width="512dp"
android:height="512dp">
<path
android:pathData="M233.5 0L244 0.5L233.5 1L233.5 0Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M268.5 0L279 0.5L268.5 1L268.5 0Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M223.5 1L230 1.5L223.5 2L223.5 1Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M282.5 1L289 1.5L282.5 2L282.5 1Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M216.5 2L221 2.5L216.5 3L216.5 2Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M291.5 2L296 2.5L291.5 3L291.5 2Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M210.5 3L215 3.5L210.5 4L210.5 3Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M297.5 3L302 3.5L297.5 4L297.5 3Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M205.5 4L209 4.5L205.5 5L205.5 4Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M303.5 4L307 4.5L303.5 5L303.5 4Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M200.5 5L204 5.5L200.5 6L200.5 5Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M308.5 5L312 5.5L308.5 6L308.5 5Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M196.5 6L199 6.5L196.5 7L196.5 6Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M313.5 6L316 6.5L313.5 7L313.5 6Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M192.5 7L195 7.5L192.5 8L192.5 7Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M317.5 7L320 7.5L317.5 8L317.5 7Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M188.5 8L191 8.5L188.5 9L188.5 8Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M321.5 8L324 8.5L321.5 9L321.5 8Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M184.5 9L187 9.5L181.5 11L181.5 10L184.5 9Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M325.5 9L331 10.5L328.5 11L325.5 10L325.5 9Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M166.5 15L168 15.5L164.5 17L164.5 16L166.5 15Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M344.5 15L348 16.5L346.5 17L344.5 15Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M161.5 17L163 17.5L159.5 19L159.5 18L161.5 17Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M349.5 17L353 18.5L351.5 19L349.5 17Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M156.5 19L158 19.5L154.5 21L154.5 20L156.5 19Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M354.5 19L358 20.5L356.5 21L354.5 19Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M149.5 22L151 22.5L130.5 33L131.5 31L149.5 22Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M361.5 22L382 32.5L380.5 32L361.5 23L361.5 22Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M128.5 33L127.5 35L125.5 36L126.5 34L128.5 33Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M383.5 33L387 35.5L385.5 35L383.5 33Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M123.5 36L122.5 38L120.5 39L121.5 37L123.5 36Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M388.5 36L392 38.5L390.5 38L388.5 36Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M118.5 39L117.5 41L100.5 53L103.5 49L118.5 39Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M393.5 39L412 52.5L408.5 50L394.5 41L393.5 39Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M98.5 53L95.5 57L73 76.5L53.5 99L56 95.5L76.5 72L98.5 53Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M413.5 53L440 76.5L459 98.5L455 95.5L435.5 73L416.5 57L413.5 53Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M52.5 100L50 103.5L39.5 119L40 117.5L52.5 100Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M459.5 100L473 118.5L471 117.5L459.5 100Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M38.5 120L38 121.5L36.5 124L37 122.5L38.5 120Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M473.5 120L476 123.5L474 122.5L473.5 120Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M35.5 125L35 126.5L33.5 129L34 127.5L35.5 125Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M476.5 125L479 128.5L477 127.5L476.5 125Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M32.5 130L32 131.5L22.5 151L22 149.5L32.5 130Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M479.5 130L490 150.5L489 150.5L479.5 130Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M20.5 154L21 155.5L19.5 158L19 156.5L20.5 154Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M491.5 154L493 157.5L492 157.5L491.5 154Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M18.5 159L19 160.5L17.5 163L17 161.5L18.5 159Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M493.5 159L495 162.5L494 162.5L493.5 159Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M16.5 164L17 165.5L15.5 168L15 166.5L16.5 164Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M495.5 164L497 167.5L496 167.5L495.5 164Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M10.5 181L11 183.5L9.5 187L9 184.5L10.5 181Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M501.5 181L503 186.5L502 186.5L501.5 181Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M8.5 188L9 190.5L8 190.5L8.5 188Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M503.5 188L504 190.5L503 190.5L503.5 188Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M7.5 192L8 194.5L7 194.5L7.5 192Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M504.5 192L505 194.5L504 194.5L504.5 192Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M6.5 196L7 198.5L6 198.5L6.5 196Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M505.5 196L506 198.5L505 198.5L505.5 196Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M5.5 200L6 203.5L5 203.5L5.5 200Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M506.5 200L507 203.5L506 203.5L506.5 200Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M4.5 205L5 208.5L4 208.5L4.5 205Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M507.5 205L508 208.5L507 208.5L507.5 205Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M3.5 210L4 214.5L3 214.5L3.5 210Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M508.5 210L509 214.5L508 214.5L508.5 210Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M2.5 216L3 220.5L2 220.5L2.5 216Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M509.5 216L510 220.5L509 220.5L509.5 216Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M1.5 223L2 229.5L1 229.5L1.5 223Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M510.5 223L511 229.5L510 229.5L510.5 223Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M0.5 233L1 243.5L0 243.5L0.5 233Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M511.5 233L512 243.5L511 243.5L511.5 233Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M0.5 268L1 278.5L0 278.5L0.5 268Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M511.5 268L512 278.5L511 278.5L511.5 268Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M1.5 282L2 288.5L1 288.5L1.5 282Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M510.5 282L511 288.5L510 288.5L510.5 282Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M2.5 291L3 295.5L2 295.5L2.5 291Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M509.5 291L510 295.5L509 295.5L509.5 291Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M3.5 297L4 301.5L3 301.5L3.5 297Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M508.5 297L509 301.5L508 301.5L508.5 297Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M4.5 303L5 306.5L4 306.5L4.5 303Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M507.5 303L508 306.5L507 306.5L507.5 303Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M5.5 308L6 311.5L5 311.5L5.5 308Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M506.5 308L507 311.5L506 311.5L506.5 308Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M6.5 313L7 315.5L6 315.5L6.5 313Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M505.5 313L506 315.5L505 315.5L505.5 313Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M7.5 317L8 319.5L7 319.5L7.5 317Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M504.5 317L505 319.5L504 319.5L504.5 317Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M8.5 321L9 323.5L8 323.5L8.5 321Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M503.5 321L504 323.5L503 323.5L503.5 321Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M9.5 325L11 330.5L10 330.5L9.5 325Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M502.5 325L503 327.5L501.5 331L501 328.5L502.5 325Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M15.5 344L17 347.5L16 347.5L15.5 344Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M496.5 344L497 345.5L495.5 348L495 346.5L496.5 344Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M17.5 349L19 352.5L18 352.5L17.5 349Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M494.5 349L495 350.5L493.5 353L493 351.5L494.5 349Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M19.5 354L21 357.5L20 357.5L19.5 354Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M492.5 354L493 355.5L491.5 358L491 356.5L492.5 354Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M22.5 361L33 381.5L31 380.5L22 362.5L22.5 361Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M489.5 361L490 362.5L479.5 382L480 380.5L489.5 361Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M33.5 383L36 386.5L34 385.5L33.5 383Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M478.5 383L478 384.5L476.5 387L477 385.5L478.5 383Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M36.5 388L39 391.5L37 390.5L36.5 388Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M475.5 388L475 389.5L473.5 392L474 390.5L475.5 388Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M39.5 393L53 411.5L49 408.5L39.5 393Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M472.5 393L472 394.5L459.5 412L462 408.5L472.5 393Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M53.5 413L76.5 439L99 458.5L95.5 456L72 435.5L56 417.5L53.5 413Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M458.5 413L456 416.5L435.5 440L413.5 459L416.5 455L439 435.5L458.5 413Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M100.5 459L110 466.5L107.5 465Q102 463.2 100.5 459Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M411.5 459L408.5 463L402.5 467L404.5 464L411.5 459Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M111.5 467L119 472.5L117.5 472Q112.5 470.5 111.5 467Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M400.5 467L398.5 470L393.5 473L394.5 471L400.5 467Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M120.5 473L124 475.5L122.5 475L120.5 473Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M391.5 473L390.5 475L388.5 476L389.5 474L391.5 473Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M125.5 476L151 489.5L149.5 490L126.5 478L125.5 476Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M386.5 476L385.5 478L361.5 490L361.5 489L386.5 476Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M154.5 491L158 492.5L156.5 493L154.5 491Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M356.5 491L358 491.5L354.5 493L354.5 492L356.5 491Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M159.5 493L163 494.5L161.5 495L159.5 493Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M351.5 493L353 493.5L349.5 495L349.5 494L351.5 493Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M164.5 495L168 496.5L166.5 497L164.5 495Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M346.5 495L348 495.5L344.5 497L344.5 496L346.5 495Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M181.5 501L187 502.5L184.5 503L181.5 502L181.5 501Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M328.5 501L331 501.5L325.5 503L325.5 502L328.5 501Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M188.5 503L191 503.5L188.5 504L188.5 503Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M321.5 503L324 503.5L321.5 504L321.5 503Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M192.5 504L195 504.5L192.5 505L192.5 504Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M317.5 504L320 504.5L317.5 505L317.5 504Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M196.5 505L199 505.5L196.5 506L196.5 505Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M313.5 505L316 505.5L313.5 506L313.5 505Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M200.5 506L204 506.5L200.5 507L200.5 506Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M308.5 506L312 506.5L308.5 507L308.5 506Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M205.5 507L209 507.5L205.5 508L205.5 507Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M303.5 507L307 507.5L303.5 508L303.5 507Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M210.5 508L215 508.5L210.5 509L210.5 508Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M297.5 508L302 508.5L297.5 509L297.5 508Z"
android:fillColor="#1877F2"
android:fillAlpha="0.5058824"
android:strokeColor="#1877F2"
android:strokeAlpha="0.5058824"
android:strokeWidth="1" />
<path
android:pathData="M244.5 0L267.5 0L268.5 1L290.5 2L312.5 6L343.5 15Q400.5 36.5 439 76.5Q476.5 114 497 168.5L506 199.5L510 221.5L511 243.5L512 244.5L512 267.5L511 268.5L510 290.5L506 312.5Q500.4 337.4 491 358.5Q469.9 405.4 435.5 439Q411.3 462.8 380.5 480L343.5 497L324.5 503L296.5 509L296 330L354.5 330L356 328.5L361 290.5L363 283.5L363 277.5L365 270.5L365 264.5L367 256L296 256L296 199.5Q298.8 182.8 310.5 175L317.5 171L328.5 168L370 168L370 105.5Q369.9 104.4 364.5 105L363.5 104L339.5 102L338.5 101L304.5 100L303.5 101L288.5 102L268.5 108Q249.4 116.4 237 131.5Q222.9 148.4 218 174.5L217 190.5L216 191.5L216 256L151 256L151 330L216 330L216 508.5L214.5 508L199.5 506L168.5 497L131.5 480Q98.5 461.5 73 435.5Q35.5 398 15 343.5L6 312.5L2 290.5L1 268.5L0 267.5L0 244.5L1 243.5L2 221.5L6 199.5Q11.6 174.6 21 153.5Q42.1 106.6 76.5 73Q109 41 153.5 21Q174.6 11.6 199.5 6L221.5 2L243.5 1L244.5 0Z"
android:fillColor="#1877F2"
android:strokeColor="#1877F2"
android:strokeWidth="1" />
</vector>

View File

@@ -1,966 +1,48 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
android:viewportWidth="888"
android:viewportHeight="827"
android:width="888dp"
android:height="827dp">
android:viewportWidth="345.8"
android:viewportHeight="402.5"
android:width="345.8dp"
android:height="402.5dp">
<path
android:pathData="M380.5 45L381 49.5L380 50.5L379 86.5L380 87.5L380 105.5L381 106.5L382 123.5L387 150.5L393 172.5L410 215.5L435 260L438 258.5L464 211.5L480 169.5L487 141.5L487 136.5L490 123.5L491 106.5L492 105.5L492 89.5L493 88.5L493 67.5L492 66.5Q493.7 53.8 491 45.5L493 46.5L496 65.5L503 87.5Q511.5 106 526 118.5Q518.4 126.4 514 137.5L510 151.5L510 166.5L513 176.5L519 187.5L508 202.5L492 237.5L459 292.5L492 333.5L555 402.5L574 429.5L587 457.5L594 482.5L596 500.5L597 501.5L597 510.5L598 511.5L598 548.5L597 549.5L597 558Q593.7 559.3 595 554.5Q582.1 508.4 561 470.5Q546.8 443.8 525.5 424L499 399.5Q465.2 364.8 436.5 325L434 326.5Q399.2 375.2 356.5 416L337 433.5Q295 484.3 277 558L275 557.5L275 548.5L274 547.5L274 512.5L275 511.5L276 494.5L281 470.5Q288.2 444.7 301 424.5L318 401.5L393 318.5L413 293.5L413 290.5L392 258.5Q375.4 231.6 363 200.5L353 187.5L353 185.5Q363.9 174.9 362 151.5L358 137.5L347 119.5L347 117.5Q360.9 105.4 369 87.5L375 69.5L379 46.5L380.5 45Z"
android:fillColor="#90A3B8"
android:fillAlpha="0.9607843"
android:strokeColor="#90A3B8"
android:strokeAlpha="0.9607843"
android:strokeWidth="1" />
android:pathData="M270.8 175c-26 -32.3 5 -60 37.2 -64.1c-32 -5.7 -39.1 -2.3 -58.9 13.6c-4.8 -11.2 52.9 -98.5 52.9 -98.5s-82.9 84.7 -101.9 82.9c-24 -2.3 -26.9 -71.6 -27.2 -88.1c-0.3 16.4 -3.2 85.8 -27.2 88.1C126.7 110.8 43.8 26 43.8 26s57.8 87.2 52.9 98.5c-19.8 -15.9 -26.9 -19.3 -58.9 -13.6C70.1 115 101 142.7 75 175c61.7 -8 6.8 52.3 -13.6 63c80.2 -6.9 81.4 48.8 77.5 71.6c28.5 -1 34 29.7 34 29.7s5.6 -30.7 34 -29.7c-3.9 -22.8 -2.7 -78.5 77.5 -71.6C264 227.3 209.1 167 270.8 175zM164.9 115.5c0 -3.7 3 -6.7 6.7 -6.7c0 0 0 0 0 0c3.7 0 6.7 3 6.7 6.7v22.7c0 0 -1.7 -4 -7 -4c-4.6 0 -6.4 4 -6.4 4V115.5zM164.9 154.7c0 -3.7 3 -6.7 6.7 -6.7c0 0 0 0 0 0c3.7 0 6.7 3 6.7 6.7v26.5c0 2.1 -1.3 2.5 -2.3 2.5c-1 0 -1.2 -0.1 -4.1 -3.3c-2.9 -3.2 -7 -8.1 -7 -8.1V154.7zM166.1 196.4c1.5 -0.6 2.4 0.5 3.6 2c1.2 1.4 1.6 1.8 1.6 1.8c2.9 3.2 7 8.1 7 8.1v12.1c0 3.7 -3 6.7 -6.7 6.7c-3.7 0 -6.7 -3 -6.7 -6.7v-21.1C164.9 198.3 164.6 197 166.1 196.4zM138 123.4c0 -3.7 3 -6.7 6.7 -6.7s6.7 3 6.7 6.7v55.8c0 3.7 -3 6.7 -6.7 6.7s-6.7 -3 -6.7 -6.7V123.4zM125.6 232.9c0 3.7 -3 6.7 -6.6 6.7h-0.2c-3.7 0 -6.6 -3 -6.6 -6.7v-94.8c0 -3.7 3 -6.7 6.6 -6.7h0.2c3.7 0 6.6 3 6.6 6.7V232.9zM138 246.7v-41c0 -3.7 3 -6.7 6.8 -6.7c3.7 0 6.8 3 6.8 6.7v41c0 3.7 -3 6.7 -6.8 6.7C141 253.3 138 250.4 138 246.7zM162.2 302.3c-2.7 1.9 -7.5 -0.5 -10.7 -5.2c-3.2 -4.7 -3.6 -10.1 -0.8 -11.9c2.7 -1.9 7.5 0.5 10.7 5.2C164.6 295.1 164.9 300.4 162.2 302.3zM178.4 261c0 3.7 -3 6.7 -6.8 6.7c-3.7 0 -6.8 -3 -6.8 -6.7v-23.1c0 0 2 4 6.8 4c5.1 0 6.8 -4 6.8 -4V261zM194.4 297.1c-3.2 4.7 -8 7 -10.7 5.2c-2.7 -1.9 -2.4 -7.2 0.8 -11.9c3.2 -4.7 8 -7 10.7 -5.2C197.9 287 197.6 292.4 194.4 297.1zM206 246.7c0 3.7 -2.9 6.7 -6.5 6.7H199c-3.6 0 -6.5 -3 -6.5 -6.7v-60.9c0 -3.7 2.9 -6.7 6.5 -6.7h0.5c3.6 0 6.5 3 6.5 6.7V246.7zM206 158.9c0 3.8 -3 6.9 -6.8 6.9c-3.8 0 -6.8 -3.1 -6.8 -6.9v-35.3c0 -3.8 3 -6.9 6.8 -6.9c3.8 0 6.8 3.1 6.8 6.9V158.9zM233.7 138.1l0 94.8c0 3.7 -3 6.7 -6.6 6.7h-0.2c-3.7 0 -6.6 -3 -6.6 -6.7v-94.8c0 -3.7 3 -6.7 6.6 -6.7h0.2C230.7 131.4 233.7 134.4 233.7 138.1L233.7 138.1z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M725 571L739.5 571L741 572.5L769.5 620L772 618.5L799 571L813.5 571L814 572.5L777 632.5L812 689.5L814 695L799.5 695L799 693.5L768.5 644L738.5 695L725.5 695L725 692.5L760 635.5L761 631.5L725 571Z"
android:fillColor="#90A3B8"
android:fillAlpha="0.9607843"
android:strokeColor="#90A3B8"
android:strokeAlpha="0.9607843"
android:strokeWidth="1" />
android:pathData="M188.7 55.2c0.4 3.1 0.9 6.3 1.4 9.4c0.1 0.6 0.2 1.2 0.3 1.8c12.6 2.1 24.6 6.3 35.4 12.2c2.7 -2.2 5.6 -4.6 8.9 -7.4C220.8 63.1 205.3 57.5 188.7 55.2zM287.1 132.2c-3.5 2.3 -6.4 4.9 -8.6 7.7c4.4 12.1 6.8 25.1 6.8 38.6c0 13.5 -2.4 26.5 -6.7 38.5c3.3 3 6.4 5.4 8.9 7.2c5.6 -14.2 8.7 -29.6 8.7 -45.7C296 162.2 292.9 146.5 287.1 132.2zM125.5 282.4c-16.1 -7.2 -30.2 -17.9 -41.3 -31.3c-3.1 -0.3 -6.3 -0.4 -9.7 -0.4c-1.4 0 -2.8 0 -4.2 0.1c14.1 19.7 33.7 35.1 56.6 43.9C126.8 290.9 126.4 286.7 125.5 282.4zM56.6 130.9c-6.1 14.7 -9.5 30.8 -9.5 47.7c0 16.7 3.3 32.6 9.3 47.1c2.3 -1.4 5.5 -3.7 8.9 -6.8c-4.8 -12.5 -7.4 -26.1 -7.4 -40.3c0 -14.4 2.7 -28.1 7.6 -40.8C63.1 135.2 60.1 132.9 56.6 130.9zM271.4 250.7c-4.5 0 -8.7 0.2 -12.7 0.8c-10.4 12.4 -23.3 22.5 -38 29.6c-1.1 4.3 -1.6 8.7 -1.7 12.6c21.7 -9 40.4 -24 53.9 -42.9C272.4 250.7 271.9 250.7 271.4 250.7zM110.1 70.4c3.2 2.8 6.2 5.3 8.9 7.5c11.2 -5.9 23.5 -10 36.6 -11.8c0.1 -0.4 0.2 -0.9 0.2 -1.3c0.6 -3.3 1.1 -6.6 1.5 -9.8C140.2 56.8 124.3 62.2 110.1 70.4z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M216.5 104Q235.3 163.2 276.5 200Q291.5 213 310.5 222L329.5 229L342 231.5L337.5 232Q291.2 220.3 264 189.5Q233.2 156.8 217.5 109L216.5 118L216 109.5L217 107.5L216.5 104Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M50.8 373.8c-6.1 0 -10.8 -3 -11 -8.7h7.3c0.2 2.2 1.6 3.2 3.5 3.2c2 0 3.3 -1 3.3 -2.7c0 -5.2 -14.1 -2.4 -14 -12.4c0 -5.3 4.4 -8.3 10.3 -8.3c6.1 0 10.3 3.1 10.6 8.4h-7.4c-0.1 -1.8 -1.4 -2.9 -3.3 -2.9c-1.6 0 -2.9 0.8 -2.9 2.6c0 4.9 13.9 2.7 13.9 12.1C61.1 369.8 57.4 373.8 50.8 373.8z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M655.5 104L656 106.5L655 108.5L656 109.5L656 117.5L655 117.5L654.5 110Q636.9 161.9 601.5 196Q588.2 208.7 571.5 218Q554.3 228.3 530.5 232L530.5 231L542.5 229L569.5 218Q594.8 203.8 613 182.5Q640.8 149.8 655.5 104Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M64.7 345c0 -2.1 1.6 -3.7 4.1 -3.7c2.4 0 4.1 1.6 4.1 3.7c0 2 -1.6 3.7 -4.1 3.7C66.3 348.7 64.7 347.1 64.7 345zM65.3 351.1h6.9v22.4h-6.9V351.1z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M217.5 119L218 124.5L217 124.5L217.5 119Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M77.2 343.8h6.9v29.7h-6.9V343.8z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M654.5 120L655 125.5L654 125.5L654.5 120Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M99 373.8c-6.6 0 -11.3 -4.4 -11.3 -11.5c0 -7.1 4.7 -11.5 11.3 -11.5c6.5 0 11.2 4.3 11.2 11.2c0 0.6 0 1.3 -0.1 2H94.5c0.2 2.9 2 4.3 4.3 4.3c1.9 0 3 -1 3.6 -2.2h7.3C108.6 370.4 104.6 373.8 99 373.8zM94.5 360.1h8.6c0 -2.5 -1.9 -3.9 -4.2 -3.9C96.7 356.2 94.9 357.6 94.5 360.1z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M435 124L437 124L437 129L435 129L435 124Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M129.3 361.3c0 -3.1 -1.7 -4.7 -4.3 -4.7c-2.6 0 -4.3 1.7 -4.3 4.7v12.2h-6.9v-22.4h6.9v3c1.4 -1.9 3.8 -3.2 6.8 -3.2c5.2 0 8.6 3.5 8.6 9.6v13.1h-6.8V361.3z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M218.5 126L219 130.5L218 130.5L218.5 126Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M141.9 356.8h-2.7v-5.7h2.7v-5.5h6.9v5.5h4.5v5.7h-4.5v9c0 1.3 0.6 1.9 2.1 1.9h2.5v5.8h-3.5c-4.7 0 -7.9 -2 -7.9 -7.8V356.8z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M653.5 127L654 131.5L651.5 141L651 137.5L653.5 127Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M182.5 359.4c0 8.4 -5.8 14.1 -14.8 14.1h-10.6v-28.2h10.6C176.7 345.3 182.5 351 182.5 359.4zM167.3 367.5c5.2 0 8.2 -3 8.2 -8.2c0 -5.2 -3.1 -8.2 -8.2 -8.2H164v16.4H167.3z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M434.5 130L435 134.5L433.5 140L433 135.5L434.5 130Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M193.2 373.5h-6.9v-22.4h6.9v3.7c1.6 -2.4 4 -4 7 -4v7.3h-1.9c-3.3 0 -5.1 1.1 -5.1 5V373.5z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M437.5 130L439 139.5L438 139.5L437.5 130Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M212.1 350.7c3.3 0 5.7 1.5 6.9 3.5v-3.2h6.9v22.4H219v-3.2c-1.2 2 -3.6 3.5 -6.9 3.5c-5.5 0 -9.8 -4.5 -9.8 -11.6C202.2 355.2 206.6 350.7 212.1 350.7zM214.1 356.7c-2.6 0 -4.9 1.9 -4.9 5.5c0 3.6 2.3 5.6 4.9 5.6c2.6 0 4.9 -2 4.9 -5.5C219 358.7 216.7 356.7 214.1 356.7z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M219.5 132L221 140.5L220 140.5L219.5 132Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M239.4 350.7c3.3 0 5.7 1.5 6.9 3.5v-3.2h6.9v22.4c0 6 -3.5 11.1 -11.2 11.1c-6.7 0 -11 -3.4 -11.6 -8.7h6.8c0.4 1.7 2.1 2.8 4.5 2.8c2.6 0 4.7 -1.4 4.7 -5.1v-3.2c-1.2 2 -3.6 3.5 -6.9 3.5c-5.5 0 -9.9 -4.5 -9.9 -11.6C229.5 355.2 233.8 350.7 239.4 350.7zM241.4 356.7c-2.6 0 -4.9 1.9 -4.9 5.5c0 3.6 2.3 5.6 4.9 5.6c2.6 0 4.9 -2 4.9 -5.5C246.3 358.7 244 356.7 241.4 356.7z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M432.5 141L433 145.5L431.5 151L431 146.5L432.5 141Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
android:pathData="M268.3 373.8c-6.6 0 -11.6 -4.4 -11.6 -11.5c0 -7.1 5.1 -11.5 11.6 -11.5c6.6 0 11.6 4.4 11.6 11.5C280 369.4 274.9 373.8 268.3 373.8zM268.3 367.9c2.5 0 4.7 -1.8 4.7 -5.6c0 -3.8 -2.2 -5.6 -4.7 -5.6c-2.5 0 -4.7 1.8 -4.7 5.6C263.7 366 265.8 367.9 268.3 367.9z"
android:fillColor="#FFFFFF" />
<path
android:pathData="M439.5 141L442 155.5L441 155.5L439.5 141Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M221.5 142L222 144.5L221 144.5L221.5 142Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M650.5 142L651 145.5Q636.6 202.6 598.5 236L576.5 252L533.5 273L522 283.5Q517.8 287.3 519 296.5Q522.3 304.7 529.5 309L545.5 318L562 324.5L560.5 325L533.5 313L521 302.5Q516.8 298.7 518 289.5Q520.1 282.1 525.5 278L543.5 266Q564.9 258.4 582.5 247Q600.4 234.9 614 218.5Q640 188 650.5 142Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M222.5 146L223 148.5L222 148.5L222.5 146Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M223.5 150Q238.7 205.8 277.5 238L297.5 252L330.5 267L349 280.5L354 288.5L354 296.5Q351.4 303.9 345.5 308Q330.6 319.1 310.5 325L311.5 323L316.5 322L336.5 313L351 300.5Q354.3 296.8 353 288.5L342.5 276L333.5 270L295.5 252Q275.2 239.8 260 222.5Q247.4 208.1 238 190.5L226 162.5L223.5 150Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M430.5 152L431 155.5L430 155.5L430.5 152Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M429.5 157L430 160.5L429 160.5L429.5 157Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M442.5 157L443 160.5L442 160.5L442.5 157Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M428.5 162L429 165.5L428 165.5L428.5 162Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M443.5 162L444 165.5L443 165.5L443.5 162Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M427.5 167L428 170.5L427 170.5L427.5 167Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M444.5 167L448 183.5L447 183.5L444 170.5L444.5 167Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M426.5 172L427 175.5L425.5 180L425 176.5L426.5 172Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M424.5 181L425 184.5L421.5 196L421 193.5L424.5 181Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M448.5 185L455 208.5L437 242Q434.3 243.1 435 240.5Q423.6 225.4 417 205.5L420.5 197L421 199.5L418 207.5L435 240Q437.7 241.1 437 238.5Q447.8 224.3 454 205.5L449 192.5L448.5 185Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M365.5 230Q382.3 262.7 402 292.5L356.5 346L354.5 346Q343.5 336 328.5 330L313 325.5L316.5 325Q339.6 331.4 355.5 345Q379.8 319.8 401 291.5Q381 263.5 365.5 231L362.5 234L350.5 234L350.5 233L362.5 233L365.5 230Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M506.5 230L510.5 233L522 233.5L509.5 234L506 231.5Q490.9 263.9 471 291.5Q492.2 319.8 516.5 345Q528.4 335.4 543.5 329L558.5 325L558.5 326L541.5 331Q527.6 336.6 517.5 346L515.5 346Q491.2 320.3 470 291.5Q490 262.5 506.5 230Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M343.5 232L349 232.5L343.5 233L343.5 232Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M523.5 232L529 232.5L523.5 233L523.5 232Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M435.5 341L440 344.5Q461.5 373.5 486 399.5L483 397.5Q457.6 371.5 437 342Q434.3 340.9 435 343.5Q414.3 371.3 390 395.5Q386 398 386.5 405L386 398.5Q412.6 371.6 435.5 341Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M485.5 401L486 405.5L485 405.5L485.5 401Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M387.5 406L388 413.5L387 413.5L387.5 406Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M484.5 407L485 414.5L484 414.5L484.5 407Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M388.5 417L389 431.5L388 431.5L388.5 417Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M483.5 418L484 430.5L483 430.5L483.5 418Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M484.5 435L485 437.5L470.5 447L471.5 445L484 436.5L484.5 435Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M387.5 436L401.5 446Q401.4 438.4 406.5 436L411.5 436L419 441.5Q421.8 444.2 421 450.5L417 456.5L430 473.5L435 486Q438 487.3 437 483.5Q443.7 467.7 455 456.5L451 450.5L451 445.5L455.5 439Q458.1 435.1 465.5 436Q469.9 438.1 470 444.5L469 444.5Q469.7 438.3 465.5 437L460.5 437L453 443.5L452 450.5L456 455.5L456 457.5L442 475.5L437 486.5L437 490Q433.7 491.3 435 486.5L430 475.5L416 457.5L416 455.5Q421.1 453.6 420 445.5L414.5 439Q412.5 436 406.5 437L404 439.5L403 445.5L401.5 447L387 437.5L387.5 436Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M84.5 571L133 571.5L84.5 572L84.5 571Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M134.5 572Q160.1 575.4 173 591.5Q181.8 600.7 184 616.5L183 616.5L183 613.5L178 600.5L162.5 583L146.5 575L134.5 573L134.5 572Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M96 581L127 581.5L97 582L97 683L130.5 683L130.5 684L96 684L96 581Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M129.5 582Q153.6 583.9 164 599.5L170 612.5L169 612.5Q165.6 599.9 156.5 593L142.5 585L129.5 583L129.5 582Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M245.5 596L254 596L254 610Q235 608.2 227 618.5L221 632.5L221 695L207.5 695L207 694.5L207 598.5L208 598.5L208 693.5L208.5 694L220 694L220 632.5L223 622.5L231.5 613L242.5 609L253 609L253 597L245.5 597L245.5 596Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M306.5 596L317 596.5L306.5 597L306.5 596Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M425.5 596L436 596.5L425.5 597L425.5 596Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M545.5 596L556 596.5L545.5 597L545.5 596Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M658.5 596L674 596.5L658.5 597L658.5 596Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M240.5 597L244 597.5Q232.2 599.2 226 606.5L220.5 615L220 598.5L221 598.5L221.5 611L229.5 602L240.5 597Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M300.5 597L305 597.5Q285.2 600.2 276 613.5Q267.9 622.9 266.5 639L266 633.5Q269.7 616.7 280.5 607Q288.4 599.9 300.5 597Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M318.5 597L323 597.5L318.5 598L318.5 597Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M418.5 597L423 597.5Q405.5 600.5 396 611.5Q387.9 620.4 385.5 635L385 631.5Q389.1 614.1 401.5 605L418.5 597Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M437.5 597Q454.8 598.7 463 609.5L468 616.5L468 618.5L467 618.5Q463.8 609.8 456.5 605Q449.5 599 437.5 598L437.5 597Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M539.5 597L544 597.5L539.5 598L539.5 597Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M558.5 597Q580.1 599.9 590 614.5L596 625.5L597 630.5L596 630.5Q592.6 615.9 582.5 608L569.5 600L558.5 598L558.5 597Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M654.5 597L657 597.5L654.5 598L654.5 597Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M675.5 597L681.5 598L695 606.5Q704.5 615 705 632.5L704 632.5L704 626.5L702 619.5Q698.2 609.8 690.5 604Q685.2 598.7 675.5 598L675.5 597Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M324.5 598Q338.9 601.1 346 611.5L348.5 616L349.5 598L350 618.5L348 617.5L340.5 607Q334.5 601 324.5 599L324.5 598Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M480.5 598L481 702.5L480 702.5L480.5 598Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M535.5 598L538 598.5Q520.9 602.9 512 615.5Q505 624 503.5 638L503 633.5Q507.2 615.7 519.5 606L535.5 598Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M633.5 598L634.5 611L641.5 603L652.5 598L652.5 599Q641.6 602.1 636 610.5L633.5 614L633.5 598Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M309.5 607L319 607.5L309.5 608L309.5 607Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M427.5 607L437 607.5L427.5 608L427.5 607Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M546.5 607L555 607.5L546.5 608L546.5 607Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M656.5 607Q677.8 604.8 686 615.5L691 625.5L690 625.5Q687.5 616.4 680.5 612Q672.5 606 656.5 608Q645.6 610.6 640 618.5Q635.6 624.1 634.5 633L634 629.5Q636.3 619.8 642.5 614L656.5 607Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M304.5 608L308 608.5L304.5 609L304.5 608Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M320.5 608Q336 610.5 343 621.5Q347.2 625.8 348 633.5L347 633.5Q344 621.5 335.5 615Q330.2 609.8 320.5 609L320.5 608Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M422.5 608L426 608.5Q412.1 611.1 405 620.5L399.5 631L399 629.5Q402.8 618.8 411.5 613L422.5 608Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M438.5 608L442 608.5L438.5 609L438.5 608Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M540.5 608L545 608.5Q531.4 609.9 525 618.5Q518.2 625.2 516.5 637L516 633.5Q519.3 620.8 528.5 614L540.5 608Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M556.5 608Q572.1 609.9 579 620.5L584 631.5L583 631.5Q580.6 621.4 573.5 616Q568 609.5 556.5 609L556.5 608Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M300.5 609L303 609.5Q291.2 613.2 285 622.5Q280.5 628.5 279.5 638L279 633.5Q282.4 620.9 291.5 614L300.5 609Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M443.5 609Q454.4 611.6 460 619.5Q468.1 627.9 468 644.5L467 644.5Q466.6 622.4 452.5 614L443.5 610L443.5 609Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M170.5 614L172 621.5L171 621.5L170.5 614Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M184.5 618L185 622.5L184 622.5L184.5 618Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M172.5 623L173 642.5L172 642.5L172.5 623Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M185.5 625L186 640.5L185 640.5L185.5 625Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M691.5 627L692 629.5L691 629.5L691.5 627Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M692.5 631L693 694L705 694.5L692 695L692.5 631Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M398.5 632L399 634.5L397.5 641L397 635.5L398.5 632Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M597.5 632L598 635.5L597 635.5L597.5 632Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M584.5 633L585 635.5L584 635.5L584.5 633Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M633.5 634L634 695L621 694.5L633 694L633.5 634Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M348.5 635L349 638.5L348 638.5L348.5 635Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M384.5 636L385 655.5L384 655.5L384.5 636Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M585.5 637L586 654.5L585 654.5L585.5 637Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M598.5 637L599 654.5L598 654.5L598.5 637Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M515.5 638L516 653.5L515 653.5L515.5 638Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M278.5 639L279 652.5L278 652.5L278.5 639Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M349.5 640L350 651.5L349 651.5L349.5 640Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M502.5 640L503 651.5L502 651.5L502.5 640Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M265.5 641L266 650.5L265 650.5L265.5 641Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M184.5 642L185 647.5L183.5 652L183 648.5L184.5 642Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M171.5 644L172 647.5L171 647.5L171.5 644Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M467.5 647L468 654.5L467 654.5L467.5 647Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M170.5 649L171 651.5Q167.2 665.2 157.5 673L143.5 681L132.5 683L132.5 682Q154.1 679.1 164 664.5L170.5 649Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M397.5 651L398 655.5L397 655.5L397.5 651Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M182.5 653L183 655.5Q177.2 673.2 163.5 683Q156.2 688.7 145.5 691L145.5 690Q163.4 685.4 173 672.5Q179.9 664.9 182.5 653Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M266.5 653Q269.2 676.3 284.5 687Q296.1 696.4 318 695.5L304.5 696Q286.8 692.7 277 681.5Q266.8 671.2 266.5 653Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M348.5 653L349 657.5Q345.1 671.6 334.5 679L324.5 684L321.5 684L321.5 683L329.5 681L341 671.5Q347.3 664.8 348.5 653Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M279.5 654L280 657.5L279 657.5L279.5 654Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M503.5 654Q506 674 518.5 684Q527 692.5 542 694.5L537.5 695Q521 690.5 512 678.5Q503.7 669.3 503.5 654Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M516.5 655Q518.8 669.7 528.5 677L539 682.5L537.5 683Q527.5 679.5 522 671.5Q516.5 665 516.5 655Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M466.5 656L467 658.5Q463.7 671.2 454.5 678Q445.3 686.3 426.5 685L426.5 684Q438.3 685.3 445.5 682Q455.2 677.7 461 669.5L466.5 656Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M584.5 656L585 659.5Q581 672 571.5 679L556.5 685L544.5 685L544.5 684Q567.7 685.2 577 672.5Q583 666.5 584.5 656Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M597.5 656L598 659.5L597 659.5L597.5 656Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M385.5 657Q388.5 674.5 399.5 684Q406.4 690.6 417 693.5L414.5 694Q401.6 689.4 394 679.5L386 664.5L385.5 657Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M398.5 657Q401.5 670 410.5 677Q415.9 682.1 425 683.5L421.5 684Q409.6 679.9 403 670.5Q398.3 664.9 398.5 657Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M280.5 659Q283.8 671.7 293.5 678Q298.6 682.4 307 683.5L303.5 684Q292.4 680.6 286 672.5L280 661.5L280.5 659Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M596.5 661L597 663.5Q592.1 678.6 580.5 687L569.5 693L564.5 694L564.5 693Q579.1 689.6 587 679.5Q593.6 672.1 596.5 661Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M349.5 673L350 694L362 694.5L349 695L348.5 676L338.5 688Q331.5 694 319.5 695L319.5 694L329.5 692L343 682.5L349.5 673Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M467.5 673L468 674.5L460.5 685L445.5 694L438.5 695L438.5 694Q455.8 691.3 464 679.5L467.5 673Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M540.5 683L543 683.5L540.5 684L540.5 683Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M308.5 684L320 684.5L308.5 685L308.5 684Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M141.5 691L144 691.5L141.5 692L141.5 691Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M136.5 692L140 692.5L136.5 693L136.5 692Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M127.5 693L135 693.5L127.5 694L127.5 693Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M84.5 694L122 694.5L84.5 695L84.5 694Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M418.5 694L422 694.5L418.5 695L418.5 694Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M559.5 694L563 694.5L559.5 695L559.5 694Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M423.5 695L437 695.5L423.5 696L423.5 695Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M543.5 695L558 695.5L543.5 696L543.5 695Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M467.5 697L468 704.5L467 704.5L467.5 697Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M479.5 704L480 708.5Q476.1 724.6 464.5 733Q456.3 740.3 441.5 741L441.5 740L446.5 740L453.5 738Q463.3 733.8 470 726.5L478 712.5L479.5 704Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M466.5 706L467 708.5Q463.6 719.1 455.5 725Q450.1 729.6 440.5 730L440.5 729L447.5 728L460 719.5Q465 714.5 466.5 706Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M389 708L402.5 708L403 710.5Q406.3 718.3 412.5 723Q419.2 728.3 430 729.5L425.5 730Q411.8 726.8 405 716.5L402 709L390.5 709L389.5 710L389 708Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M390.5 711L393 718.5L404.5 732Q413.9 739.1 429 740.5L423.5 741Q407.2 737.8 398 727.5L391 716.5L390.5 711Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M432.5 730L439 730.5L432.5 731L432.5 730Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M432.5 741L438 741.5L432.5 742L432.5 741Z"
android:fillColor="#F8FFFF"
android:fillAlpha="0.9490196"
android:strokeColor="#F8FFFF"
android:strokeAlpha="0.9490196"
android:strokeWidth="1" />
<path
android:pathData="M216.5 107Q234.1 160.9 270.5 196Q290.2 214.8 317.5 226L337.5 232L349.5 233L350.5 234L362.5 234L366 231.5Q381.1 263.9 401 291.5Q379.8 319.8 355.5 345Q343.9 335.1 328.5 329L312 324.5L338.5 313L351 302.5Q355.3 298.3 354 288.5L345.5 277L330.5 267Q308.2 258.8 289.5 247Q271.6 234.9 258 218.5Q238.2 194.8 227 162.5L219 131.5L218 119.5L217 118.5L217 109.5L216.5 107Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
<path
android:pathData="M654.5 110L655 119.5L647 156.5L635 186.5Q619.5 217 594.5 238L574.5 252L536.5 270L523 280.5Q516.8 284.7 518 296.5Q520.6 303.9 526.5 308Q541 318.5 560 324.5L543.5 329Q528.4 335.4 516.5 345Q492.2 319.8 471 291.5Q491 263.5 506.5 231L509.5 234L521.5 234L542.5 230Q558.5 225.5 571.5 218Q593 206 609 188.5Q638.8 156.3 654.5 110Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
<path
android:pathData="M435 129Q439 127.6 437 134.5L448 188.5L454 207.5L437 240Q434.3 241.1 435 238.5Q424.6 224.4 418 206.5L421 199.5L427 175.5L435 129Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
<path
android:pathData="M435 342Q437.7 340.9 437 343.5L486 400.5L484 407.5L483 430.5Q485.2 431.8 484 436.5L470.5 446Q470.6 438.4 465.5 436L460.5 436L454 440.5Q450.1 443.1 451 450.5L455 456.5L442 473.5L437 486Q434 487.3 435 483.5Q428.2 467.7 417 456.5L421 450.5L421 445.5L416.5 439Q413.9 435.1 406.5 436Q401.7 438.7 401.5 446L388 436.5L389 417.5L388 416.5L387 399.5Q413.4 372.6 435 342Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
<path
android:pathData="M84 572L133.5 572L146.5 575Q164.2 580.8 174 594.5Q181.2 603.8 184 617.5Q182.8 622.3 185 623.5L185 641.5L183 652.5L177 666.5L165.5 680Q153.8 689.8 135.5 693L127.5 693L126.5 694L84 694L84 572ZM96 581L96 684L131 684Q132 682 137 683Q149 680 158 673L167 662L173 643L173 624Q171 622 172 618L164 600Q156 589 143 584L127 581L96 581Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
<path
android:pathData="M244.5 597L253 597L253 609Q232.7 607.5 225 619.5L220 632.5L220 694L208.5 694L208 693.5L208 598L220 598L220 614.5L221 614.5L227.5 605Q234.1 599.1 244.5 597Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
<path
android:pathData="M305.5 597L323.5 598Q335.7 601.3 343 609.5L349.5 619L350 598L361.5 598L362 598.5L362 694L350 694L350 673.5L348 674.5L341.5 684Q334.5 691 323.5 694L304.5 695Q285.4 691.6 276 678.5Q264.8 665.2 266 639.5L268 629.5L272 619.5L283.5 606L291.5 601L305.5 597ZM310 607L301 609L292 614L282 626L278 640Q277 661 286 673Q294 682 309 685L325 684L335 679L345 668L350 652Q351 632 343 622Q334 606 310 607Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
<path
android:pathData="M423.5 597Q452.7 595.8 464 612.5L467.5 619L468 598L479.5 598L480 598.5L480 703.5Q477.2 720.7 466.5 730Q454.6 742.1 429.5 741L419.5 739L407.5 734L397 724.5Q391.6 718.3 390 709L401.5 709L402 710.5Q405.6 719.9 413.5 725L425.5 730L438.5 731L452.5 727L462 718.5L468 704.5L468 673.5L467 673.5Q463.8 682.3 456.5 687L445.5 693L437.5 695L422.5 695Q405.4 691.6 396 680.5Q387.8 671.2 385 656.5L385 635.5Q388.3 617.8 399.5 608Q408.6 599.6 423.5 597ZM428 607L417 610L412 613L400 627L397 636L397 645L396 646L398 660L403 671Q410 682 427 685Q445 686 455 678Q465 670 468 655L468 638Q466 627 460 620Q451 606 428 607Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
<path
android:pathData="M544.5 597L557.5 597L569.5 600Q580.6 604.9 588 613.5L597 631.5L598 636.5L598 655.5Q594.5 674 582.5 684Q574.8 690.8 563.5 694L558.5 695L542.5 695Q524 691.5 514 679.5Q501.5 666 503 638.5Q506.6 616.6 521.5 606L532.5 600L544.5 597ZM547 607L538 609L529 614L520 624L515 639Q513 660 522 672Q529 682 545 685L557 685L572 679Q583 671 586 655L586 638L584 630L579 621Q570 606 547 607Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
<path
android:pathData="M657.5 597Q686.5 594.5 697 610.5L702 619.5L705 633.5L705 694L693.5 694L693 693.5L693 631.5L689 619.5L683.5 613Q675.2 604.8 656.5 607Q646.8 609.3 641 615.5L636 623.5L633 634.5L633 694L621.5 694L621 693.5L621 598L633 598L633 613.5L636 611.5L643.5 603L657.5 597Z"
android:fillColor="#F8FFFF"
android:strokeColor="#F8FFFF"
android:strokeWidth="1" />
android:pathData="M299.2 361.3c0 -3.1 -1.7 -4.7 -4.3 -4.7c-2.6 0 -4.3 1.7 -4.3 4.7v12.2h-6.9v-22.4h6.9v3c1.4 -1.9 3.8 -3.2 6.8 -3.2c5.2 0 8.6 3.5 8.6 9.6v13.1h-6.8V361.3z"
android:fillColor="#FFFFFF" />
</vector>

View File

@@ -5,5 +5,5 @@
android:height="512dp">
<path
android:pathData="M433 179.11c0 -97.2 -63.71 -125.7 -63.71 -125.7 -62.52 -28.7 -228.56 -28.4 -290.48 0 0 0 -63.72 28.5 -63.72 125.7 0 115.7 -6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81 -2.8 79.32 -18.1 79.32 -18.1l-1.7 -36.9s-36.31 11.4 -77.12 10.1c-40.41 -1.4 -83 -4.4 -89.63 -54a102.54 102.54 0 0 1 -0.9 -13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12 -6.7 105 -41.3 111.23 -72.9 9.8 -49.8 9 -121.5 9 -121.5zm-75.12 125.2h-46.63v-114.2c0 -49.7 -64 -51.6 -64 6.9v62.5h-46.33V197c0 -58.5 -64 -56.6 -64 -6.9v114.2H90.19c0 -122.1 -5.2 -147.9 18.41 -175 25.9 -28.9 79.82 -30.8 103.83 6.1l11.6 19.5 11.6 -19.5c24.11 -37.1 78.12 -34.8 103.83 -6.1 23.71 27.3 18.4 53 18.4 175z"
android:fillColor="@color/app_icon_background_0" />
android:fillColor="#000000" />
</vector>

View File

@@ -13,5 +13,5 @@
android:fillAlpha="0.5" />
<path
android:pathData="M1.432 6.084v51.833h3.73v1.244H0V4.84h5.162v1.243zm20.788 16.43v2.623h0.075c0.7 -0.998 1.542 -1.774 2.53 -2.323s2.117 -0.824 3.4 -0.824c1.224 0 2.342 0.238 3.353 0.712s1.78 1.3 2.305 2.5c0.574 -0.85 1.355 -1.6 2.342 -2.248s2.154 -0.974 3.504 -0.974c1.024 0 1.973 0.125 2.848 0.375s1.623 0.65 2.248 1.2 1.1 1.268 1.462 2.154 0.525 1.955 0.525 3.204v12.964h-5.32V30.9l-0.075 -1.836c-0.05 -0.574 -0.187 -1.073 -0.412 -1.5s-0.556 -0.762 -0.993 -1.012 -1.03 -0.374 -1.78 -0.374 -1.355 0.145 -1.817 0.43a3.12 3.12 0 0 0 -1.087 1.124c-0.263 0.46 -0.437 0.987 -0.524 1.574a12 12 0 0 0 -0.131 1.78v10.8h-5.32V31.022l-0.037 -1.705c-0.025 -0.562 -0.13 -1.08 -0.32 -1.556s-0.5 -0.855 -0.937 -1.143 -1.08 -0.43 -1.93 -0.43c-0.25 0 -0.58 0.056 -0.993 0.17a3.3 3.3 0 0 0 -1.199 0.637c-0.388 0.313 -0.718 0.762 -0.993 1.35s-0.412 1.355 -0.412 2.304v11.24H17.2V22.515zm40.348 35.402V6.084h-3.73V4.84H64v54.32h-5.162v-1.244z"
android:fillColor="@color/app_icon_background_0" />
android:fillColor="#000000" />
</vector>

View File

@@ -5,5 +5,5 @@
android:height="24dp">
<path
android:pathData="M12 6.545v10.91L20.727 12M3.273 12v12L12 17.455M3.273 0v12L12 6.545"
android:fillColor="@color/app_icon_background_0" />
android:fillColor="#000000" />
</vector>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,6 @@
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/app_icon_background_0"
android:fillColor="@android:color/black"
android:pathData="M18,17L6,17v-2h12v2zM18,13L6,13v-2h12v2zM18,9L6,9L6,7h12v2zM3,22l1.5,-1.5L6,22l1.5,-1.5L9,22l1.5,-1.5L12,22l1.5,-1.5L15,22l1.5,-1.5L18,22l1.5,-1.5L21,22L21,2l-1.5,1.5L18,2l-1.5,1.5L15,2l-1.5,1.5L12,2l-1.5,1.5L9,2 7.5,3.5 6,2 4.5,3.5 3,2v20z"/>
</vector>

View File

@@ -6,7 +6,7 @@
android:width="412dp">
<path
android:fillAlpha="0.6"
android:fillColor="@color/app_icon_background_0"
android:fillColor="#000000"
android:fillType="evenOdd"
android:pathData="M412,0L412,732L0,732L0,0L412,0ZM351,135L61,135L46,150.005L46,440L61,455L351,455L366,439.184L366,150.005L351,135Z"
android:strokeAlpha="0.5108352"

View File

@@ -7,7 +7,7 @@
android:pathData="M412,0L412,732L0,732L0,0L412,0ZM327.484,157L85.516,157L73,169.473L73,410.531L85.516,423L327.484,423L340,409.853L340,169.473L327.484,157Z"
android:strokeAlpha="0.5108352"
android:strokeWidth="1"
android:fillColor="@color/app_icon_background_0"
android:fillColor="#000000"
android:fillType="evenOdd"
android:strokeColor="#00000000"
android:fillAlpha="0.6"/>

File diff suppressed because it is too large Load Diff

View File

@@ -5,5 +5,5 @@
android:height="512dp">
<path
android:pathData="M248 8C111.033 8 0 119.033 0 256S111.033 504 248 504 496 392.967 496 256 384.967 8 248 8ZM362.952 176.66c-3.732 39.215 -19.881 134.378 -28.1 178.3 -3.476 18.584 -10.322 24.816 -16.948 25.425 -14.4 1.326 -25.338 -9.517 -39.287 -18.661 -21.827 -14.308 -34.158 -23.215 -55.346 -37.177 -24.485 -16.135 -8.612 -25 5.342 -39.5 3.652 -3.793 67.107 -61.51 68.335 -66.746 0.153 -0.655 0.3 -3.1 -1.154 -4.384s-3.59 -0.849 -5.135 -0.5q-3.283 0.746 -104.608 69.142 -14.845 10.194 -26.894 9.934c-8.855 -0.191 -25.888 -5.006 -38.551 -9.123 -15.531 -5.048 -27.875 -7.717 -26.8 -16.291q0.84 -6.7 18.45 -13.7 108.446 -47.248 144.628 -62.3c68.872 -28.647 83.183 -33.623 92.511 -33.789 2.052 -0.034 6.639 0.474 9.61 2.885a10.452 10.452 0 0 1 3.53 6.716A43.765 43.765 0 0 1 362.952 176.66Z"
android:fillColor="@color/app_icon_background_0" />
android:fillColor="#000000" />
</vector>

File diff suppressed because it is too large Load Diff

View File

@@ -5,5 +5,5 @@
android:height="512dp">
<path
android:pathData="M352 256c0 22.2 -1.2 43.6 -3.3 64H163.3c-2.2 -20.4 -3.3 -41.8 -3.3 -64s1.2 -43.6 3.3 -64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8 -64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5 -8.1 64H380.8c2.1 -20.6 3.2 -42 3.2 -64s-1.1 -43.4 -3.2 -64zm112.6 -32H376.7c-10 -63.9 -29.8 -117.4 -55.3 -151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1 -36.4 15.5 -68.6 27 -94.7c10.5 -23.6 22.2 -40.7 33.5 -51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 21 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6 -3.2 42 -3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8 -43.5 8.1 -64zM194.7 446.6c-11.6 -26 -20.9 -58.2 -27 -94.6H344.3c-6.1 36.4 -15.5 68.6 -27 94.6c-10.5 23.6 -22.2 40.7 -33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6 -3.2 -27.8 -13.8c-11.3 -10.8 -23 -27.9 -33.5 -51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm358.1 0c-30 74.1 -93.6 130.9 -171.9 151.6c25.5 -34.2 45.2 -87.7 55.3 -151.6H493.4z"
android:fillColor="@color/app_icon_background_0" />
android:fillColor="#000000" />
</vector>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -383,8 +383,7 @@ text_address_part_3, text_address_part_6, text_address_part_9, text_address_part
android:layout_height="wrap_content"
android:minWidth="320dp"
android:text="@string/backup_button_primary"
android:textColor="@color/app_icon_background_0"
app:backgroundTint="@color/selector_button_text_light_dimmed"
android:textColor="@color/text_light"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/button_seedphrase_more_info" />
@@ -395,8 +394,7 @@ text_address_part_3, text_address_part_6, text_address_part_9, text_address_part
android:layout_height="wrap_content"
android:minWidth="320dp"
android:text="@string/backup_button_more_info"
android:textColor="@color/app_icon_background_0"
app:backgroundTint="@color/selector_button_text_light_to_dimmed"
android:textColor="@color/text_dark"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/guideline_buttons" />

View File

@@ -144,7 +144,7 @@
app:layout_constraintVertical_bias="0.065"
app:layout_constraintWidth_percent="0.08"
app:srcCompat="@drawable/ic_cancel"
app:tint="@color/colorAccent" />
app:tint="@color/text_light_dimmed" />
<TextView
@@ -159,7 +159,7 @@
android:textColor="@color/zcashYellow"
app:layout_constraintTop_toTopOf="@id/background_top"
app:layout_constraintEnd_toStartOf="@+id/guideline_content_end"
tools:text="Shielded DRGX" />
tools:text="Shielded HUSH" />
<TextView
android:id="@+id/text_shield_amount"

View File

@@ -71,7 +71,7 @@
android:elevation="8dp"
android:textSize="20dp"
android:gravity="center"
android:text="You should never receive DRGX in a transparent address."
android:text="You should never receive HUSH in a transparent address."
app:layout_constraintVertical_bias="0.24"
app:layout_constraintTop_toBottomOf="@id/text_title"
app:layout_constraintBottom_toBottomOf="@id/card_background"

View File

@@ -47,7 +47,7 @@
android:id="@+id/back_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:tint="@color/colorAccent"
app:tint="@color/text_light"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.05"

View File

@@ -296,7 +296,7 @@
android:paddingBottom="24dp"
android:paddingStart="56dp"
android:paddingEnd="56dp"
android:textColor="@color/colorPrimary"
android:textColor="@color/selector_button_text_dark"
android:textSize="16sp"
app:layout_constraintTop_toTopOf="@id/lottie_button_loading"
app:layout_constraintBottom_toBottomOf="@id/lottie_button_loading"
@@ -404,6 +404,7 @@
android:maxLines="1"
android:paddingStart="16dp"
android:paddingEnd="16dp"
app:autoSizeTextType="uniform"
app:layout_constraintBottom_toTopOf="@id/guideline_send_amount_bottom"
app:layout_constraintEnd_toEndOf="parent"

View File

@@ -53,7 +53,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:elevation="6dp"
app:tint="@color/colorAccent"
app:tint="@color/text_light_dimmed"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintEnd_toEndOf="parent"
@@ -70,7 +70,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:elevation="6dp"
app:tint="@color/colorAccent"
app:tint="@color/text_light_dimmed"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintEnd_toEndOf="parent"
@@ -194,7 +194,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="128dp"
android:background="@drawable/background_balance_detail_amounts_container"
android:background="@drawable/background_banner"
android:elevation="6dp"
android:paddingStart="16dp"
android:paddingTop="8dp"
@@ -262,23 +262,31 @@
app:srcCompat="@drawable/ic_telegram" />
<ImageButton
android:id="@+id/fakebookButton"
android:id="@+id/matrixButton"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_weight="1"
android:scaleType="fitCenter"
app:tint="#333333"
app:srcCompat="@drawable/ic_fakebook" />
app:srcCompat="@drawable/ic_matrix" />
<ImageButton
android:id="@+id/twatterButton"
android:id="@+id/mastodonButton"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_weight="1"
android:scaleType="fitCenter"
app:tint="#333333"
app:srcCompat="@drawable/ic_twatter" />
app:srcCompat="@drawable/ic_mastodon" />
<ImageButton
android:id="@+id/peertubeButton"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_weight="1"
android:scaleType="fitCenter"
app:tint="#333333"
app:srcCompat="@drawable/ic_peertube" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -60,7 +60,7 @@
android:id="@+id/overlay_bottom"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/app_icon_background_0"
android:background="@color/scan_overlay_background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -70,7 +70,7 @@
android:id="@+id/overlay_end"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/app_icon_background_0"
android:background="@color/scan_overlay_background"
app:layout_constraintBottom_toBottomOf="@id/spacer_overlay"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/spacer_overlay"
@@ -80,7 +80,7 @@
android:id="@+id/overlay_start"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/app_icon_background_0"
android:background="@color/scan_overlay_background"
app:layout_constraintBottom_toBottomOf="@id/spacer_overlay"
app:layout_constraintEnd_toStartOf="@id/spacer_overlay"
app:layout_constraintStart_toStartOf="parent"
@@ -90,7 +90,7 @@
android:id="@+id/overlay_top"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/app_icon_background_0"
android:background="@color/scan_overlay_background"
app:layout_constraintBottom_toTopOf="@id/spacer_overlay"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -101,7 +101,7 @@
android:id="@+id/overlay_top_left_notch"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/app_icon_background_0"
android:background="@color/scan_overlay_background"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintStart_toEndOf="@id/overlay_start"
app:layout_constraintTop_toBottomOf="@id/overlay_top"
@@ -111,7 +111,7 @@
android:id="@+id/overlay_top_right_notch"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/app_icon_background_0"
android:background="@color/scan_overlay_background"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintEnd_toStartOf="@id/overlay_end"
app:layout_constraintTop_toBottomOf="@id/overlay_top"
@@ -121,7 +121,7 @@
android:id="@+id/overlay_bottom_left_notch"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/app_icon_background_0"
android:background="@color/scan_overlay_background"
app:layout_constraintBottom_toTopOf="@id/overlay_bottom"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintStart_toEndOf="@id/overlay_start"
@@ -131,7 +131,7 @@
android:id="@+id/overlay_bottom_right_notch"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/app_icon_background_0"
android:background="@color/scan_overlay_background"
app:layout_constraintBottom_toTopOf="@id/overlay_bottom"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintEnd_toStartOf="@id/overlay_end"
@@ -173,7 +173,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:contentDescription="@string/content_description_scan_back"
app:tint="@color/colorAccent"
app:tint="@color/text_light_dimmed"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintEnd_toEndOf="parent"

View File

@@ -19,7 +19,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/content_description_send_back"
app:tint="@color/colorAccent"
app:tint="@color/text_light"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.05"
@@ -109,7 +109,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/content_description_send_arrow"
app:tint="@color/colorAccent"
app:tint="@color/colorPrimary"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/text_banner_message_end"
app:layout_constraintStart_toEndOf="@id/text_banner_message_end"
@@ -197,7 +197,7 @@
android:theme="@style/Zcash.Overlay.TextInputLayout"
app:endIconDrawable="@drawable/ic_qr_scan"
app:endIconMode="custom"
app:helperText="Enter a valid DragonX address"
app:helperText="Enter a valid Hush address"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

View File

@@ -57,7 +57,7 @@
android:theme="@style/Zcash.Overlay.TextInputLayout"
app:endIconDrawable="@drawable/ic_qrcode_24dp"
app:endIconMode="custom"
app:helperText="Enter a valid DragonX address"
app:helperText="Enter a valid Hush address"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_banner_message"
@@ -88,7 +88,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_layout_address"
app:layout_constraintWidth_percent="0.84"
tools:helperText="You have 23.23 DragonX available">
tools:helperText="You have 23.23 Hush available">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_zcash_amount"

View File

@@ -28,7 +28,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:contentDescription="@string/content_description_send_final_back"
app:tint="@color/app_icon_background_0"
app:tint="@color/zcashBlack_87"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="H,1:1"

View File

@@ -56,7 +56,7 @@
app:layout_constraintVertical_bias="0.065"
app:layout_constraintWidth_percent="0.08"
app:srcCompat="@drawable/ic_cancel"
app:tint="@color/colorAccent" />
app:tint="@color/text_light_dimmed" />
<TextView

View File

@@ -3,8 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background_home">
android:layout_height="match_parent">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_hit_area_head"
@@ -39,6 +38,7 @@
android:layout_height="0dp"
android:contentDescription="@string/content_description_settings_back"
android:elevation="6dp"
app:tint="@color/text_light_dimmed"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintEnd_toEndOf="parent"
@@ -47,8 +47,7 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.065"
app:layout_constraintWidth_percent="0.08"
app:srcCompat="@drawable/ic_cancel"
app:tint="@color/colorAccent" />
app:srcCompat="@drawable/ic_cancel" />
<TextView
android:id="@+id/text_title"
@@ -56,11 +55,11 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
tools:text="Receive HUSH"
app:layout_constraintBottom_toTopOf="@+id/guideline_hit_area_top"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline_hit_area_head"
tools:text="Receive DRGX" />
app:layout_constraintTop_toTopOf="@+id/guideline_hit_area_head" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline_hit_area_top"
@@ -73,10 +72,9 @@
android:id="@+id/tabLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/icon_exit" />
app:layout_constraintTop_toBottomOf="@+id/icon_exit"/>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"
@@ -92,9 +90,9 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/button_share_address"
style="@style/Zcash.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="0dp"
style="@style/Zcash.Button.OutlinedButton"
android:gravity="center"
android:text="Share Address"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"

View File

@@ -3,17 +3,15 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background_home">
android:layout_height="match_parent">
<TextView
android:id="@+id/text_title"
style="@style/TextAppearance.MaterialComponents.Body1"
android:textSize="18dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Your Shielded Address"
android:textSize="18dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -27,11 +25,11 @@
android:scaleType="fitXY"
android:src="@drawable/ic_background_qr"
app:layout_constraintDimensionRatio="H,1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintWidth_percent="0.64"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_title"
app:layout_constraintVertical_bias="0.3"
app:layout_constraintWidth_percent="0.64" />
app:layout_constraintVertical_bias="0.3" />
<!-- QR code placeholder -->
<ImageView

View File

@@ -72,7 +72,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/content_description_transaction_details_back"
app:tint="@color/colorAccent"
app:tint="@color/zcashWhite_40"
app:layout_constraintBottom_toTopOf="@id/text_timestamp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.05"

View File

@@ -7,7 +7,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@color/app_icon_background_0"
android:background="@color/background_banner"
android:elevation="1dp"
tools:ignore="RtlSymmetry">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<background android:drawable="@mipmap/ic_launcher_adaptive_back"/>
<foreground android:drawable="@mipmap/ic_launcher_adaptive_fore"/>
</adaptive-icon>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<background android:drawable="@mipmap/ic_launcher_round_adaptive_back"/>
<foreground android:drawable="@mipmap/ic_launcher_round_adaptive_fore"/>
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Some files were not shown because too many files have changed in this diff Show More